@charset "UTF-8";
/*============================================================
  リセット
=============================================================*/
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box; }

@media only screen and (max-width: 480px) {
  html {
    font-size: 62.5%; } }

@media only screen and (min-width: 481px) and (max-width: 600px) {
  html {
    font-size: 75%; } }

@media only screen and (min-width: 601px) and (max-width: 768px) {
  html {
    font-size: 87.5%; } }

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  html {
    font-size: 50%; } }

@media only screen and (min-width: 1025px) {
  html {
    font-size: 62.5%; } }

body {
  position: relative;
  font-family: "YuGothic", '游ゴシックメイリオ', sans-serif;
  color: #085765;
  letter-spacing: .2em; }

a {
  cursor: pointer;
  text-decoration: none;
  color: #085765;
  font-size: 22.4px;
  font-size: 1.4rem; }

input[type="text"],
input[type="email"],
input[type="number"],
textarea {
  margin: 0;
  padding: 0;
  background: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 16px;
  padding: 1rem;
  border: 1.6px solid #ccc;
  border: 0.1rem solid #ccc;
  border-radius: .2rem;
  padding: 16px;
  padding: 1rem; }

input[type="checkbox"] {
  vertical-align: middle; }

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance:textfield;
}
  

select {
  width: 50%;
  margin: 0;
  padding: 0;
  background: none;
  border-radius: 0;
  outline: none;
  padding: 16px;
  padding: 1rem;
  border: 1.6px solid #ccc;
  border: 0.1rem solid #ccc;
  border-radius: .2rem; }

ul, li {
  list-style-type: none;
  letter-spacing: 0.1em; }

ul.disc li {
  list-style-type: disc; }

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

p {
  font-size: 22.4px;
  font-size: 1.4rem;
  line-height: 1.8em;
  letter-spacing: 0.1em; }

time {
  letter-spacing: 0; }

/*============================================================
COMMON
============================================================*/
.clearfix:after {
  content: "";
  display: block;
  clear: both; }

.inner-narrow {
  width: 1174.4px;
  width: 73.4rem;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .inner-narrow {
      width: calc(100vw - 4rem); } }

.inner {
  width: 1638.4px;
  width: 102.4rem;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .inner {
      width: calc(100vw - 4rem); } }

.heading--top-section {
  margin-bottom: 80px;
  margin-bottom: 5rem;
  text-align: center;
  font-family: "Avenir Next", sans-serif;
  font-size: 51.2px;
  font-size: 3.2rem;
  letter-spacing: .05em; }
  .heading--top-section.white {
    color: #fff; }

.heading-section {
  margin-bottom: 3rem;
  padding: 32px 48px;
  padding: 2rem 3rem;
  background: #e6f7e9;
  border-radius: .4rem;
  text-align: center;
  font-size: 35.2px;
  font-size: 2.2rem;
  letter-spacing: .1em; }
  @media only screen and (max-width: 768px) {
    .heading-section {
      font-size: 2rem;
      padding: 1.5rem 2rem; } }
  .heading-section time {
    display: inline-block;
    margin-left: 8px;
    margin-left: .5rem;
    font-size: 19.2px;
    font-size: 1.2rem;
    font-weight: 100; }

.button-default {
  display: inline-block;
  width: 188.8px;
  width: 11.8rem;
  height: 64px;
  height: 4rem;
  line-height: 64px;
  line-height: 4rem;
  background: #eb8f00;
  text-align: center;
  color: #fff;
  font-size: 19.2px;
  font-size: 1.2rem;
  letter-spacing: 0; }
  @media only screen and (max-width: 768px) {
    .button-default {
      width: 10rem;
      height: 3.5rem;
      line-height: 3.5rem;
      font-size: 1rem; } }
  .button-default:hover {
    opacity: .7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }

.button-submit {
  display: inline-block;
  width: 480px;
  width: 30rem;
  height: 112px;
  height: 7rem;
  line-height: 112px;
  line-height: 7rem;
  text-align: center;
  background: #eb8f00;
  color: #fff;
  font-size: 25.6px;
  font-size: 1.6rem;
  border-radius: .2rem; }

.button-back {
  display: inline-block;
  margin-right: 48px;
  margin-right: 3rem;
  width: 480px;
  width: 30rem;
  height: 112px;
  height: 7rem;
  line-height: 112px;
  line-height: 7rem;
  text-align: center;
  background: #F5F5F5;
  color: #000;
  font-size: 25.6px;
  font-size: 1.6rem;
  border-radius: .2rem; }

.tag {
  display: inline-block;
  background: #eb8f00;
  width: 160px;
  width: 10rem;
  height: 48px;
  height: 3rem;
  line-height: 48px;
  line-height: 3rem;
  text-align: center;
  font-size: 19.2px;
  font-size: 1.2rem;
  color: #fff; }
  @media only screen and (max-width: 768px) {
    .tag {
      width: 10rem;
      margin-right: 1rem;
      border-radius: .2rem; } }

.lead-text {
  margin-bottom: 48px;
  margin-bottom: 3rem;
  text-align: center; }

.table-default {
  width: 100%;
  border-collapse: separate; }
  @media only screen and (max-width: 768px) {
    .table-default tr {
      display: block;
      margin-bottom: 3rem; } }
  .table-default th, .table-default td {
    padding: 10px;
    text-align: left;
    font-size: 22.4px;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .table-default th, .table-default td {
        display: block;
        padding: 1rem 2rem; } }
  .table-default th {
    position: relative;
    overflow: hidden;
    width: 30%;
    background: #e6f7e9; }
    @media only screen and (max-width: 768px) {
      .table-default th {
        width: 100%;
        border: 0.1rem solid #ccc; } }
  .table-default td {
    background: #fff;
    border: 1.6px solid #F5F5F5;
    border: 0.1rem solid #F5F5F5; }
    @media only screen and (max-width: 768px) {
      .table-default td {
        border: 0.1rem solid #ccc;
        border-top: none; } }
    .table-default td .error {
      display: block;
      font-size: 19.2px;
      font-size: 1.2rem;
      color: #E85E38; }
  .table-default .required {
    position: absolute;
    top: -48px;
    top: -3rem;
    left: -48px;
    left: -3rem;
    transform: rotate(-45deg);
    width: 96px;
    width: 6rem;
    height: 96px;
    height: 6rem;
    padding-top: 67.2px;
    padding-top: 4.2rem;
    text-align: center;
    background: #E85E38;
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 100;
    letter-spacing: 0; }
  .table-default .alert-message {
    display: block;
    font-size: 19.2px;
    font-size: 1.2rem;
    color: #E85E38; }

@media only screen and (min-width: 769px) {
  .sp {
    display: none !important; } }

@media only screen and (max-width: 768px) {
  .pc {
    display: none !important; } }

.mb0 {
  margin-bottom: 0 !important; }

.al-center {
  text-align: center; }

.al-right {
  text-align: right; }

.strong {
  color: #E85E38; }

/*============================================================
OVERWRIDE slick-theme.css
============================================================*/
/*============================================================
LAYOUTS
============================================================*/
/*============================================================
MV
============================================================*/
#mv-underlayer {
  position: relative;
  height: 480px;
  height: 15rem;
  padding-top: 128px;
  padding-top: 8rem; }
  @media only screen and (max-width: 768px) {
    #mv-underlayer {
      height: 20rem; } }
  #mv-underlayer:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    z-index: 1;
    background: rgba(2, 10, 36, 0.8);
    width: 100%;
    height: 100%; }
  #mv-underlayer .inner {
    position: absolute;
    top: 154px;
    top: 10rem;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2; }
    @media only screen and (max-width: 768px) {
      #mv-underlayer .inner {
        top: 13rem; } }
  #mv-underlayer .page-heading {
    text-align: center;
    color: #fff;
    font-size: 64px;
    font-size: 4rem;
    font-style: italic; }
    @media only screen and (max-width: 768px) {
      #mv-underlayer .page-heading {
        font-size: 2.2rem; } }
    #mv-underlayer .page-heading .border {
      position: relative; }
      #mv-underlayer .page-heading .border:before {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        left: -352px;
        left: -22rem;
        transform: translateY(-50%);
        width: 320px;
        width: 20rem;
        height: 1.6px;
        height: .1rem;
        background: #fff; }
        @media only screen and (max-width: 768px) {
          #mv-underlayer .page-heading .border:before {
            display: none; } }
      #mv-underlayer .page-heading .border:after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: -352px;
        right: -22rem;
        transform: translateY(-50%);
        width: 320px;
        width: 20rem;
        height: 1.6px;
        height: .1rem;
        background: #fff; }
        @media only screen and (max-width: 768px) {
          #mv-underlayer .page-heading .border:after {
            display: none; } }
  #mv-underlayer .mv-text {
    margin-top: 32px;
    margin-top: 2rem;
    text-align: center;
    color: #fff; }

/*============================================================
HEADER
============================================================*/
#header {
  position: fixed;
  top: 0;
  z-index: 5;
  width: 100%;
  height: 128px;
  height: 4rem;
  background: #1d6f7d; }
  @media only screen and (max-width: 768px) {
    #header {
      height: 6rem; } }
  #header .inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    height: 100%; }
    @media only screen and (max-width: 768px) {
      #header .inner {
        -ms-flex-pack: center;
            justify-content: center; } }
  #header .logo a, #header .logo img {
    display: block; }
  #header .menu-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  #header .sp--header-right {
    position: absolute;
    right: 32px;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%); }
  #header .menu-list--item:not(:last-child) {
    margin-right: 48px;
    margin-right: 3rem; }
  #header .menu-list--item a:not(.button-default) {
    font-size: 22.4px;
    font-size: 1.4rem;
    letter-spacing: 1.0;
    color: #fff; }
  #header .button-default {
    margin-right: 32px;
    margin-right: 2rem; }
  #header .menu-btn {
    width: 40px;
    width: 2.5rem; }
  #header .menu-btn .bar {
    background: #fff;
    width: 100%;
    height: 3.2px;
    height: .2rem; }
    #header .menu-btn .bar:not(:last-child) {
      margin-bottom: 9.6px;
      margin-bottom: .6rem; }

/*============================================================
MODAL
============================================================*/
.sp-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  background: rgba(2, 10, 36, 0.8);
  overflow: scroll; }
  .sp-modal .modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .sp-modal .menu-list--item:not(:last-child) {
    margin-bottom: 48px;
    margin-bottom: 3rem;
    text-align: center; }
  .sp-modal .menu-list--item > a {
    font-size: 38.4px;
    font-size: 2.4rem;
    color: #fff; }
  .sp-modal .close-btn {
    display: inline-block;
    position: absolute;
    top: -64px;
    top: -4rem;
    right: -64px;
    right: -4rem;
    width: 48px;
    width: 3rem;
    height: 48px;
    height: 3rem;
    text-align: center;
    background: #fff;
    border-radius: 10rem; }
    .sp-modal .close-btn:before, .sp-modal .close-btn:after {
      content: "";
      display: inline-block;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 24px;
      width: 1.5rem;
      height: 3.2px;
      height: .2rem;
      background: #085765;
      transform-origin: center;
      transform: translate(-50%, -50%); }
    .sp-modal .close-btn:before {
      transform: translate(-50%, -50%) rotate(45deg); }
    .sp-modal .close-btn:after {
      transform: translate(-50%, -50%) rotate(-45deg); }

/*============================================================
FOOTER
============================================================*/
#footer {
  background: #1d6f7d;
  text-align: center; }
  #footer .footer-upper {
    padding: 56px 0;
    padding: 1.5rem 0; }
  #footer .btn-wrap {
    margin-bottom: 80px;
    margin-bottom: 1rem; }
  #footer #btn-pagetop {
    display: inline-block;
    position: relative;
    width: 80px;
    width: 5rem;
    height: 80px;
    height: 5rem;
    border: 1.6px solid #fff;
    border: 0.1rem solid #fff;
    font-size: 16px;
    font-size: 1rem;
    color: #fff; }
    #footer #btn-pagetop:hover {
      background: #fff;
      color: #085765; }
  #footer .btn-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    #footer .btn-inner:before {
      content: "";
      display: block;
      width: 0;
      height: 0;
      border-top: 0 solid transparent;
      border-right: 8.8px solid transparent;
      border-right: .55rem solid transparent;
      border-bottom: 14.4px solid;
      border-bottom: .9rem solid;
      border-left: 8.8px solid transparent;
      border-left: .55rem solid transparent;
      margin: 0 auto 8px;
      margin: 0 auto .5rem; }
  #footer .logo-wrap {
    margin-bottom: 80px;
    margin-bottom: 5rem; }
  #footer .menu-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  #footer .menu-item > a {
    font-size: 22.4px;
    font-size: 1.4rem;
    color: #fff; }
  #footer .copyright {
    height: 80px;
    height: 5rem;
    line-height: 80px;
    line-height: 5rem;
    text-align: center;
    background: #085765;
    color: #fff;
    font-size: 19.2px;
    font-size: 1.2rem;
    letter-spacing: .12em; }

/*============================================================
NEWS一覧
============================================================*/
#news .list-item {
  margin-bottom: 48px;
  margin-bottom: 3rem; }

#news .list-item > a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center; }
  #news .list-item > a:hover {
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }

#news .right {
  width: 992px;
  width: 62rem; }
  @media only screen and (max-width: 768px) {
    #news .right {
      -ms-flex: 1;
          flex: 1; } }

#news time {
  display: block;
  font-size: 19.2px;
  font-size: 1.2rem;
  color: #7D7D7D; }

#news .text {
  font-size: 22.4px;
  font-size: 1.4rem;
  color: #7D7D7D; }


