@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Quattrocento:wght@400;700&display=swap");
@media (min-width: 768px) {
  .sp {
    display: none !important; } }
@media (max-width: 767.9px) {
  .pc {
    display: none !important; } }
html {
  font-size: 62.5%; }

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 1;
  color: #2f2f2f;
  letter-spacing: .1em; }
  @media (max-width: 767.9px) {
    body {
      font-size: 1.4rem; } }

h1,
h2,
h3,
h4,
h5,
p {
  max-height: 100%; }

.main {
  background-color: #f8f8f8;
  display: block; }
  @media (min-width: 768px) {
    .main {
      min-width: 1360px;
      overflow: hidden; } }

p {
  line-height: 2; }
  p::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2) * .5em);
    content: ""; }
  p::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 2) * .5em);
    content: ""; }

a {
  color: #2f2f2f;
  transition: all 0.3s ease; }
  a span {
    transition: all 0.3s ease; }

.link-opacity:hover {
  opacity: .3; }

.wrapper {
  margin: 0 auto; }

.back-to-top {
  position: fixed;
  right: 0;
  bottom: 37px; }
  @media (max-width: 767.9px) {
    .back-to-top {
      bottom: 10px; } }
  .back-to-top__btn {
    width: 30px;
    height: 30px;
    background: url("/assets/images/common/btn_icn_back-to-top.png");
    background-size: cover;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block; }
    .back-to-top__btn:hover {
      opacity: .3; }

.is-hidden {
  display: none; }

.animation {
  opacity: 0;
  visibility: hidden;
  transition: 1s;
  transform: translateY(-30px); }

.animation-fadein {
  opacity: 0;
  visibility: hidden;
  transition: 1s; }

.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); }

.animation-list .active:nth-of-type(2) {
  transition-delay: 150ms; }
.animation-list .active:nth-of-type(3) {
  transition-delay: 300ms; }
.animation-list .active:nth-of-type(4) {
  transition-delay: 450ms; }
.animation-list .active:nth-of-type(5) {
  transition-delay: 600ms; }
.animation-list .active:nth-of-type(6) {
  transition-delay: 750ms; }
.animation-list .active:nth-of-type(7) {
  transition-delay: 900ms; }
.animation-list .active:nth-of-type(8) {
  transition-delay: 1050ms; }
.animation-list .active:nth-of-type(9) {
  transition-delay: 1200ms; }
.animation-list .active:nth-of-type(10) {
  transition-delay: 1350ms; }
.animation-list .active:nth-of-type(11) {
  transition-delay: 1500ms; }
.animation-list .active:nth-of-type(12) {
  transition-delay: 1650ms; }
.animation-list .active:nth-of-type(13) {
  transition-delay: 1800ms; }
.animation-list .active:nth-of-type(14) {
  transition-delay: 1950ms; }
.animation-list .active:nth-of-type(15) {
  transition-delay: 2100ms; }
.animation-list .active:nth-of-type(16) {
  transition-delay: 2250ms; }
.animation-list .active:nth-of-type(17) {
  transition-delay: 2400ms; }
.animation-list .active:nth-of-type(18) {
  transition-delay: 2550ms; }
.animation-list .active:nth-of-type(19) {
  transition-delay: 2700ms; }

.breadcrumb {
  width: 100%;
  height: 100px; }
  @media (max-width: 767.9px) {
    .breadcrumb {
      height: auto;
      border-bottom: solid 1px #d9d9d9;
      background: #f8f8f8; } }
  .breadcrumb__in {
    height: 100%;
    padding: 0 30px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 1rem;
    font-weight: 300; }
    @media (max-width: 767.9px) {
      .breadcrumb__in {
        line-height: 2;
        color: #666;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding: 25px 30px; }
        .breadcrumb__in::before {
          display: block;
          width: 0;
          height: 0;
          margin-top: calc((1 - 2) * .5em);
          content: ""; }
        .breadcrumb__in::after {
          display: block;
          width: 0;
          height: 0;
          margin-bottom: calc((1 - 2) * .5em);
          content: ""; } }
  .breadcrumb__item:not(:last-child)::after {
    content: " / ";
    margin: 0 10px; }
  @media (max-width: 767.9px) {
    .breadcrumb__link {
      color: #888; } }
  .breadcrumb__link:hover {
    color: #0087dc; }

.kv {
  width: 100%;
  background: #fff;
  padding-bottom: 17px; }
  @media (min-width: 768px) {
    .kv {
      min-width: 1440px; } }
  @media (max-width: 767.9px) {
    .kv {
      padding-bottom: 40px; } }
  .kv__in {
    max-width: 1900px;
    margin: 0 auto;
    position: relative; }
  .kv__bar {
    content: "";
    width: 135px;
    height: 550px;
    background-color: #0087dc;
    position: absolute;
    right: 0;
    top: 0; }
    @media (max-width: 767.9px) {
      .kv__bar {
        width: 50px;
        height: 280px; } }
  .kv__img {
    margin-right: 155px; }
    @media (max-width: 767.9px) {
      .kv__img {
        margin-right: 60px; } }
  .kv__img-in {
    width: 100%;
    height: 550px;
    overflow: hidden;
    background-position: center center;
    background-size: cover; }
    @media (max-width: 767.9px) {
      .kv__img-in {
        height: 280px; } }
  .kv__lead {
    width: 597px;
    height: 237px;
    text-align: center;
    border-radius: 5px;
    background-color: #fff;
    margin: -105px auto 0;
    padding: 50px 0;
    box-sizing: border-box;
    position: relative;
    z-index: 1; }
    @media (max-width: 767.9px) {
      .kv__lead {
        width: 320px;
        height: auto;
        padding: 30px 30px 0; } }
  .kv__title {
    font-size: 3.2rem;
    font-weight: 300; }
    @media (max-width: 767.9px) {
      .kv__title {
        font-size: 2.3rem; } }
    .kv__title::after {
      content: "";
      display: block;
      width: 15px;
      height: 2px;
      background-color: #0087dc;
      margin: 30px auto; }
      @media (max-width: 767.9px) {
        .kv__title::after {
          margin: 20px auto; } }

.main-block {
  width: 100%;
  position: relative;
  z-index: 0; }
  .main-block::before {
    content: "";
    position: absolute;
    width: 80%;
    height: 100%;
    right: 0;
    top: 0;
    background-color: #fff;
    z-index: 0; }
  .main-block__in {
    width: 960px;
    margin: 0 auto;
    padding: 110px 100px 50px;
    background: #fff;
    position: relative; }
    @media (max-width: 767.9px) {
      .main-block__in {
        width: 100%;
        padding: 60px 27px 30px;
        box-sizing: border-box; } }
    .main-block__in--lower {
      display: flex; }
      @media (min-width: 768px) {
        .main-block__in--lower {
          width: 1160px;
          padding: 110px 0; }
          .main-block__in--lower::before {
            content: "";
            position: absolute;
            width: 100%;
            height: 100%;
            right: 1000px;
            top: -190px;
            background-color: #0087dc;
            z-index: -1; } }
      @media (max-width: 767.9px) {
        .main-block__in--lower {
          padding: 0;
          flex-wrap: wrap;
          flex-direction: column-reverse; } }

@media (min-width: 768px) {
  .btn-list {
    display: flex;
    flex-wrap: wrap; }
    .btn-list__item--index2col {
      width: 460px;
      margin-bottom: 60px; }
      .btn-list__item--index2col:not(:nth-of-type(even)) {
        margin-right: 40px; }
    .btn-list__item--index3col {
      width: 308px;
      margin-bottom: 60px; }
      .btn-list__item--index3col:not(:nth-of-type(3n)) {
        margin-right: 18px; }
    .btn-list__item--lower2col {
      width: 375px; }
      .btn-list__item--lower2col:not(:nth-of-type(even)) {
        margin-right: 50px; }
    .btn-list__item--lower3col {
      width: 250px;
      margin-bottom: 60px; }
      .btn-list__item--lower3col:not(:nth-of-type(3n)) {
        margin-right: 25px; }
    .btn-list + .section {
      margin-top: 20px; } }
@media (max-width: 767.9px) {
  .btn-list__item--index2col {
    margin-bottom: 30px; }
    .btn-list__item--index2col:last-child {
      margin-bottom: 50px; }
  .btn-list__item--index3col {
    margin-bottom: 50px; }
  .btn-list__item--lower2col {
    margin-bottom: 30px; }
    .btn-list__item--lower2col:last-child {
      margin-bottom: 0px; }
  .btn-list__item--lower3col {
    margin-bottom: 50px; } }

/*
.btn-list__index--2col{
  .btn-list__item{
    @include pc{
      width: 460px;
      margin-bottom: 60px;
      &:not(:nth-of-type(even)){
        margin-right: 40px;
      }
    }
    @include sp{
      margin-bottom: 30px;
      &:last-child{
        margin-bottom: 0px;
      }
    }
  }
}

.btn-list__index--3col{
  @include pc{
    .btn-list__item{
        width: 308px;
        margin-bottom: 60px;
        &:not(:nth-of-type(3n)){
          margin-right: 18px;
        } 
      }
  }
}
.btn-list__lower--2col{
  .btn-list__item{
    @include pc{
      width: 375px;
      &:not(:nth-of-type(even)){
        margin-right: 50px;
      }
    }
    @include sp{
      margin-bottom: 30px;
      &:last-child{
        margin-bottom: 0px;
      }
    }
  }
}
.btn-list__lower--3col{
  @include pc{
    .btn-list__item{
        width: 250px;
        margin-bottom: 60px;
        &:not(:nth-of-type(3n)){
          margin-right: 18px;
        } 
      }
  }
}
*/
.local-nav {
  width: 218px;
  margin: 0 82px 0 60px; }
  @media (max-width: 767.9px) {
    .local-nav {
      width: 100%;
      margin: 0; } }
  .local-nav__title {
    font-size: 1.4rem;
    font-weight: 300;
    margin-bottom: 50px; }
    @media (max-width: 767.9px) {
      .local-nav__title {
        padding: 23px 27px;
        margin-bottom: 0;
        border-bottom: solid 1px #ebebeb; } }

.ln-list {
  margin-left: 16px;
  border-top: solid 1px #ebebeb;
  letter-spacing: .15em; }
  @media (max-width: 767.9px) {
    .ln-list {
      margin-left: 47px;
      border-top: none; } }
  .ln-list__item {
    border-bottom: solid 1px #ebebeb;
    position: relative; }
  .ln-list__link {
    display: block;
    font-size: 1.4rem;
    font-weight: 300;
    padding: 18px 0; }
    @media (max-width: 767.9px) {
      .ln-list__link:not(.has-child) {
        background: url("../images/common/icon_arrow_gray.png") right 27px center no-repeat;
        background-size: 12px auto; } }
    .ln-list__link:hover {
      color: #0087dc; }
    .ln-list__link.current {
      color: #0087dc; }
  .ln-list__icon {
    width: 25px;
    height: 50px;
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    background: url("../images/common/icon_close.png") right center no-repeat;
    background-size: 8px 8px;
    transition: all 0.3s ease; }
    @media (max-width: 767.9px) {
      .ln-list__icon {
        width: 65px;
        background-position: right 27px center;
        background-size: 12px auto; } }
    .ln-list__icon:hover {
      cursor: pointer;
      opacity: .3; }
    .ln-list__icon.open {
      background: url("../images/common/icon_open.png") right center no-repeat;
      background-size: 8px auto; }
      @media (max-width: 767.9px) {
        .ln-list__icon.open {
          background-position: right 27px center;
          background-size: 12px auto; } }

.ln-child {
  font-size: 1.2rem;
  padding: 10px 0 28px;
  line-height: 2;
  display: none; }
  .ln-child::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2) * .5em);
    content: ""; }
  .ln-child::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 2) * .5em);
    content: ""; }
  .ln-child__link {
    display: block;
    color: #666; }
    .ln-child__link:hover {
      color: #0087dc; }
    .ln-child__link.current {
      color: #0087dc; }

.article {
  position: relative; }
  @media (min-width: 768px) {
    .article {
      width: 800px; }
      .article::before {
        content: "";
        display: block;
        width: 0px;
        height: 3px;
        background: #0087dc;
        position: absolute;
        top: -110px;
        left: 0;
        transition: all 500ms ease; }
      .article.active::before {
        width: 272px; } }
  @media (max-width: 767.9px) {
    .article {
      width: 100%;
      margin-bottom: 80px; } }
  @media (min-width: 768px) {
    .article--full {
      width: 100%;
      padding-left: 160px; } }
  .article--full::before {
    display: none; }
  @media (max-width: 767.9px) {
    .article__in {
      padding: 0 27px; }
      .article__in--full {
        background: #fff;
        padding: 40px 30px 60px;
        border: solid 27px #f8f8f8;
        border-bottom: none; } }
  .article__header {
    position: relative; }
    @media (min-width: 768px) {
      .article__header {
        display: flex;
        justify-content: space-between; } }
  .article__title {
    font-size: 3.2rem;
    letter-spacing: 0.15em;
    font-weight: 300;
    margin: 0 0 50px;
    line-height: 1.75; }
    .article__title::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 1.75) * .5em);
      content: ""; }
    .article__title::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 1.75) * .5em);
      content: ""; }
    @media (max-width: 767.9px) {
      .article__title {
        font-size: 2.3rem;
        margin-bottom: 40px;
        padding: 20px 27px;
        color: #fff;
        background: #0087dc; } }
    @media (max-width: 767.9px) {
      .article__title--nobg {
        margin: 0 0 26px;
        padding: 0;
        color: #2f2f2f;
        background: none; } }
  .article__date {
    font-size: 1.4rem;
    color: #666; }
    @media (min-width: 768px) {
      .article__date {
        margin-top: 1.3em; } }
    @media (max-width: 767.9px) {
      .article__date {
        font-size: 1.2rem;
        padding: 0 27px;
        margin-bottom: 25px; } }
  .article__lead {
    margin-bottom: 60px; }
    @media (max-width: 767.9px) {
      .article__lead {
        margin-bottom: 40px; } }

.section {
  margin-top: 80px; }
  @media (max-width: 767.9px) {
    .section {
      margin-top: 60px; } }
  @media (min-width: 768px) {
    .section--extra-margin-pc {
      margin-top: 100px; } }

.lower-1col {
  margin-bottom: 60px; }
  @media (max-width: 767.9px) {
    .lower-1col {
      margin-bottom: 40px; }
      .lower-1col:last-child {
        margin-bottom: 0; } }
  .lower-1col__img {
    max-width: 100%;
    height: auto; }

@media (min-width: 768px) {
  .lower-2col {
    margin-bottom: 60px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .lower-2col:last-child {
      margin-bottom: 0; } }
@media (max-width: 767.9px) {
  .lower-2col {
    margin-bottom: 40px; }
    .lower-2col:last-child {
      margin-bottom: 0; } }
.lower-2col__block {
  display: block; }
  @media (min-width: 768px) {
    .lower-2col__block {
      width: 380px; }
      .lower-2col__block:not(:nth-last-of-type(-n+2)) {
        margin-bottom: 60px; }
      .lower-2col__block:nth-child(odd) {
        margin-right: 40px; } }
  @media (max-width: 767.9px) {
    .lower-2col__block {
      margin-bottom: 40px; }
      .lower-2col__block:last-child {
        margin-bottom: 0; } }
.lower-2col__block--right {
  display: block; }
  @media (min-width: 768px) {
    .lower-2col__block--right {
      width: 380px;
      margin-left: 40px;
      float: right; }
      .lower-2col__block--right:not(:nth-last-of-type(-n+2)) {
        margin-bottom: 60px; } }
  @media (max-width: 767.9px) {
    .lower-2col__block--right {
      margin-bottom: 40px; }
      .lower-2col__block--right:last-child {
        margin-bottom: 0; } }
.lower-2col__block--left {
  display: block; }
  @media (min-width: 768px) {
    .lower-2col__block--left {
      width: 380px;
      margin-right: 40px;
      float: left; }
      .lower-2col__block--left:not(:nth-last-of-type(-n+2)) {
        margin-bottom: 60px; } }
  @media (max-width: 767.9px) {
    .lower-2col__block--left {
      margin-bottom: 40px; }
      .lower-2col__block--left:last-child {
        margin-bottom: 0; } }
.lower-2col__img {
  width: 100%;
  height: auto; }
.lower-2col__link {
  display: block; }
  .lower-2col__link:hover {
    opacity: .3; }
.lower-2col__text--center {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 0; }
  @media (max-width: 767.9px) {
    .lower-2col__text--center {
      margin-top: 25px; } }

@media (min-width: 768px) {
  .lower-3col {
    margin-bottom: 60px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .lower-3col:last-child {
      margin-bottom: 0; } }
@media (max-width: 767.9px) {
  .lower-3col {
    margin-bottom: 40px; }
    .lower-3col:last-child {
      margin-bottom: 0; } }
@media (min-width: 768px) {
  .lower-3col__block {
    width: 250px; }
    .lower-3col__block:not(:nth-last-of-type(-n+3)) {
      margin-bottom: 60px; }
    .lower-3col__block:not(:nth-of-type(3n)) {
      margin-right: 25px; } }
@media (max-width: 767.9px) {
  .lower-3col__block {
    margin-bottom: 40px; }
    .lower-3col__block:last-child {
      margin-bottom: 0; } }
.lower-3col__img {
  width: 100%;
  height: auto; }
.lower-3col__link {
  display: block; }
  .lower-3col__link:hover {
    opacity: .3; }

.text {
  letter-spacing: .1em;
  margin-bottom: 60px;
  font-weight: 400; }
  @media (max-width: 767.9px) {
    .text {
      margin-bottom: 40px; } }
  .text--small1 {
    font-size: 1.4rem; }
  .text--small2 {
    font-size: 1.2rem; }
  .text--small3 {
    font-size: 1rem; }
  .text:last-child {
    margin-bottom: 0; }
  .text--red {
    color: #eb3323; }
  .text--margin-half {
    margin-bottom: 30px; }
    @media (max-width: 767.9px) {
      .text--margin-half {
        margin-bottom: 20px; } }
  .text--right {
    text-align: right; }

.comment__text {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: .1em;
  font-weight: 400;
  padding-left: 20px;
  position: relative; }
  .comment__text::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0; }
.comment__text--l {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: .1em;
  font-weight: 400;
  padding-left: 20px;
  position: relative; }
  .comment__text--l::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0; }

.alert-box {
  padding: 40px;
  background-color: #f8f8f8; }
  .alert-box__text {
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.15em;
    color: #eb3323; }
    .alert-box__text::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 2) * .5em);
      content: ""; }
    .alert-box__text::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 2) * .5em);
      content: ""; }

.indent-2 {
  text-indent: 2em; }

.h2, .h2--line {
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.15em;
  margin-bottom: 40px; }
  .h2::before, .h2--line::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 1.6) * .5em);
    content: ""; }
  .h2::after, .h2--line::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 1.6) * .5em);
    content: ""; }
  @media (max-width: 767.9px) {
    .h2, .h2--line {
      font-size: 2.1rem; } }
  .h2--line {
    border-top: solid 1px #ebebeb;
    padding-top: 50px; }
    @media (max-width: 767.9px) {
      .h2--line {
        padding-top: 40px; } }

.h3, .h3--line {
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.15em;
  margin-bottom: 40px; }
  .h3::before, .h3--line::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 1.7) * .5em);
    content: ""; }
  .h3::after, .h3--line::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 1.7) * .5em);
    content: ""; }
  @media (max-width: 767.9px) {
    .h3, .h3--line {
      font-size: 1.8rem;
      line-height: 1.7;
      margin-bottom: 50px; }
      .h3::before, .h3--line::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 1.7) * .5em);
        content: ""; }
      .h3::after, .h3--line::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 1.7) * .5em);
        content: ""; } }
  .h3--line {
    padding-top: 50px;
    border-top: solid 1px #d9d9d9; }
    @media (max-width: 767.9px) {
      .h3--line {
        padding-top: 40px; } }

.h4 {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.15em;
  margin-bottom: 30px; }
  .h4::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 1.8) * .5em);
    content: ""; }
  .h4::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 1.8) * .5em);
    content: ""; }
  @media (max-width: 767.9px) {
    .h4 {
      font-size: 1.6rem;
      line-height: 1.6;
      margin-bottom: 25px; }
      .h4::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 1.6) * .5em);
        content: ""; }
      .h4::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 1.6) * .5em);
        content: ""; } }

.h5 {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.15em;
  margin-bottom: 25px; }
  .h5::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 1.8) * .5em);
    content: ""; }
  .h5::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 1.8) * .5em);
    content: ""; }
  .h5:last-child {
    margin-top: 20px;
    margin-bottom: 0; }
  @media (max-width: 767.9px) {
    .h5 {
      font-size: 1.4rem; }
      .h5:last-child {
        margin-top: 25px;
        margin-bottom: 0; } }

.bold {
  font-weight: bold; }

.border-box1 {
  border: solid 1px #ebebeb;
  border-radius: 4px;
  padding: 60px; }
  @media (max-width: 767.9px) {
    .border-box1 {
      padding: 40px 30px; } }

@media (min-width: 768px) {
  .float-l {
    float: left; } }

@media (min-width: 768px) {
  .float-r {
    float: right; } }

.list1 {
  counter-reset: item 0;
  padding-left: 80px;
  margin-bottom: 60px; }
  @media (max-width: 767.9px) {
    .list1 {
      padding-left: 60px;
      margin-bottom: 40px; } }
  .list1__item {
    font-size: 1.8rem;
    line-height: 1.77;
    font-weight: 500;
    letter-spacing: .15em;
    border-bottom: solid 1px #ebebeb;
    padding: 33px 0;
    position: relative; }
    @media (max-width: 767.9px) {
      .list1__item {
        font-size: 1.4rem;
        padding: 25px 0; } }
    .list1__item::before {
      counter-increment: item 1;
      content: counter(item);
      font-size: 1.4rem;
      text-align: center;
      line-height: 40px;
      color: #fff;
      background: #0087dc;
      display: block;
      width: 40px;
      height: 40px;
      position: absolute;
      left: -80px;
      top: 50%;
      margin-top: -20px; }
      @media (max-width: 767.9px) {
        .list1__item::before {
          left: -60px; } }

.list2:not(:last-child) {
  margin-bottom: 60px; }
  @media (max-width: 767.9px) {
    .list2:not(:last-child) {
      margin-bottom: 40px; } }
.list2__item {
  line-height: 2;
  position: relative;
  padding-left: 30px;
  margin-bottom: 22px; }
  .list2__item::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2) * .5em);
    content: ""; }
  .list2__item::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 2) * .5em);
    content: ""; }
  @media (max-width: 767.9px) {
    .list2__item {
      font-size: 1.4rem;
      line-height: 1.857;
      padding-left: 26px; }
      .list2__item::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 1.857) * .5em);
        content: ""; }
      .list2__item::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 1.857) * .5em);
        content: ""; } }
  .list2__item::before {
    content: "";
    width: 5px;
    height: 2px;
    background: #888;
    position: absolute;
    left: 8px;
    top: 1.5em; }
    @media (max-width: 767.9px) {
      .list2__item::before {
        top: 1.3em; } }
.list2:last-child .list2__item:last-child {
  margin-bottom: 0; }

.list3 {
  display: flex;
  flex-wrap: wrap;
  margin-left: -40px;
  line-height: 2; }
  .list3__item {
    margin-left: 40px; }
  .list3__item--2col {
    margin-left: 40px; }
    @media (min-width: 768px) {
      .list3__item--2col {
        width: 40%; } }
  .list3__link {
    padding-right: 20px;
    background: url("../images/common/btn_icn_arrow_blue.png") right center no-repeat;
    background-size: 11px auto; }
    .list3__link:hover {
      opacity: .3; }

.accordion {
  border-bottom: solid 1px #ebebeb; }
  .accordion__title {
    border-top: solid 1px #ebebeb; }
    .accordion__title--in {
      padding: 25px 50px 25px 0;
      display: block;
      position: relative;
      background: url("../images/common/icon_close.png") right 20px center no-repeat;
      background-size: 12px auto !important;
      transition: all 0.3s ease; }
      @media (min-width: 768px) {
        .accordion__title--in:hover {
          cursor: pointer;
          opacity: .3; } }
  .accordion__title.open .accordion__title--in {
    background: url("../images/common/icon_open.png") right 20px center no-repeat; }
  .accordion__title-text {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.77; }
    .accordion__title-text::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 1.77) * .5em);
      content: ""; }
    .accordion__title-text::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 1.77) * .5em);
      content: ""; }
    @media (max-width: 767.9px) {
      .accordion__title-text {
        font-size: 1.6rem; } }
  .accordion__content {
    padding: 25px 0 60px;
    position: relative;
    display: none; }
    @media (max-width: 767.9px) {
      .accordion__content {
        padding: 15px 0 60px; } }
  .accordion__content-text {
    font-size: 1.4rem;
    line-height: 2; }
    .accordion__content-text::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 2) * .5em);
      content: ""; }
    .accordion__content-text::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 2) * .5em);
      content: ""; }
  .accordion__icon {
    padding-left: 56px; }
    @media (max-width: 767.9px) {
      .accordion__icon {
        padding-left: 43px; } }
  .accordion__icon--q {
    font-size: 1.4rem;
    text-align: center;
    width: 36px;
    height: 36px;
    line-height: 34px;
    color: #fff;
    background: #0087dc;
    font-weight: normal;
    display: block;
    position: absolute;
    left: 0;
    top: 15px; }
    @media (max-width: 767.9px) {
      .accordion__icon--q {
        width: 28px;
        height: 28px;
        line-height: 28px;
        top: 50%;
        transform: translateY(-50%); } }
  .accordion__icon--a {
    font-size: 1.4rem;
    text-align: center;
    width: 34px;
    height: 34px;
    line-height: 32px;
    color: #0087dc;
    border: solid 1px #0087dc;
    font-weight: normal;
    display: block;
    position: absolute;
    left: 0;
    top: 15px; }
    @media (max-width: 767.9px) {
      .accordion__icon--a {
        width: 26px;
        height: 26px;
        line-height: 24px; } }

@media (min-width: 768px) {
  .anchor1 {
    display: flex;
    justify-content: space-between; } }
.anchor1__item {
  width: 100%;
  position: relative; }
  @media (min-width: 768px) {
    .anchor1__item {
      margin-top: 15px; }
      .anchor1__item:not(:first-child) {
        margin-left: 25px; } }
  @media (max-width: 767.9px) {
    .anchor1__item {
      padding-left: 20px;
      margin-bottom: 20px;
      box-sizing: border-box; } }
.anchor1__link {
  display: block;
  border: solid 1px #ebebeb;
  height: 100%;
  border-radius: 4px;
  padding: 0 23px;
  box-sizing: border-box;
  background: url("../images/common/btn_icn_anchor.png") right 25px bottom 25px no-repeat;
  background-size: 9px auto; }
  .anchor1__link:hover {
    opacity: .3; }
  @media (max-width: 767.9px) {
    .anchor1__link {
      padding: 25px 25px 25px 53px;
      background: url("../images/common/btn_icn_anchor.png") right 14px bottom 14px no-repeat;
      background-size: 9px auto; } }
.anchor1__icon {
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  width: 70px;
  height: 70px;
  border-radius: 3px;
  color: #fff;
  background: #0087dc;
  display: block;
  margin: -15px auto 20px; }
  @media (max-width: 767.9px) {
    .anchor1__icon {
      font-size: 0.7rem;
      width: 52px;
      height: 52px;
      margin: -26px 0 0 0;
      position: absolute;
      left: 0;
      top: 50%; } }
.anchor1__number {
  font-size: 1.6rem;
  display: block;
  margin: 0 auto;
  padding: 18px 0 7px;
  line-height: 1; }
  @media (max-width: 767.9px) {
    .anchor1__number {
      font-size: 1.2rem;
      padding: 12px 0 5px; } }
@media (min-width: 768px) {
  .anchor1__content {
    border-top: solid 1px #ebebeb;
    padding: 30px 0 58px; } }
@media (max-width: 767.9px) {
  .anchor1__content {
    border-left: solid 1px #ebebeb;
    padding-left: 30px; } }
.anchor1__text {
  font-size: 1.2rem;
  line-height: 2.33; }
  .anchor1__text::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2.33) * .5em);
    content: ""; }
  .anchor1__text::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 2.33) * .5em);
    content: ""; }

@media (min-width: 768px) {
  .anchor2 {
    display: flex;
    justify-content: space-between; } }
.anchor2__item {
  width: 100%; }
  @media (min-width: 768px) {
    .anchor2__item:not(:first-child) {
      margin-left: 25px; } }
  @media (max-width: 767.9px) {
    .anchor2__item {
      margin-bottom: 20px; } }
.anchor2__link {
  display: block;
  font-size: 1.2rem;
  border: solid 1px #d9d9d9;
  border-radius: 5px;
  padding: 25px 50px 25px 25px;
  background: url("../images/common/btn_icn_anchor.png") right 25px center no-repeat;
  background-size: 9px auto; }
  .anchor2__link:hover {
    opacity: .3; }

.table-line {
  width: 100%; }
  @media (min-width: 768px) {
    .table-line {
      border-collapse: separate;
      border-spacing: 0px 40px;
      margin-top: -20px;
      margin-bottom: -20px; } }
  @media (max-width: 767.9px) {
    .table-line {
      display: block;
      border-bottom: solid 1px #ebebeb; } }
  .table-line .table-line__th, .table-line .table-line__th--w100, .table-line .table-line__th--last, .table-line .table-flat__th, .table-line .table-flat__th--center {
    font-size: 1.4rem;
    line-height: 1.857;
    font-weight: 500;
    vertical-align: middle;
    padding: 20px;
    white-space: nowrap;
    border-right: solid 1px #ebebeb;
    position: relative; }
    @media (max-width: 767.9px) {
      .table-line .table-line__th, .table-line .table-line__th--w100, .table-line .table-line__th--last, .table-line .table-flat__th, .table-line .table-flat__th--center {
        display: block;
        border-right: none;
        border-top: solid 1px #ebebeb;
        padding: 30px 0 25px; } }
    @media (min-width: 768px) {
      .table-line .table-line__th::before, .table-line .table-line__th--w100::before, .table-line .table-line__th--last::before, .table-line .table-flat__th::before, .table-line .table-flat__th--center::before {
        content: "";
        display: block;
        border-top: solid 1px #ebebeb;
        position: absolute;
        width: 100%;
        left: 0px;
        top: -20px; } }
  @media (min-width: 768px) {
    .table-line__th--w100 {
      width: 100px; } }
  @media (min-width: 768px) {
    .table-line__th--last::after {
      content: "";
      display: block;
      border-top: solid 1px #ebebeb;
      position: absolute;
      width: 100%;
      left: 0px;
      bottom: -20px; } }
  .table-line__td {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.857;
    padding: 20px;
    position: relative; }
    @media (max-width: 767.9px) {
      .table-line__td {
        display: block;
        padding: 0 0 40px; } }
    @media (min-width: 768px) {
      .table-line__td::before {
        content: "";
        display: block;
        border-top: solid 1px #ebebeb;
        position: absolute;
        width: 100%;
        left: 0px;
        top: -20px; } }
  @media (min-width: 768px) {
    .table-line tr:last-child .table-line__th::after, .table-line tr:last-child .table-line__td::after {
      content: "";
      display: block;
      border-top: solid 1px #ebebeb;
      position: absolute;
      width: 100%;
      left: 0px;
      bottom: -20px; } }

.table-flat {
  font-size: 1.4rem;
  width: 100%;
  border-collapse: collapse; }
  @media (max-width: 767.9px) {
    .table-flat {
      font-size: 1.2rem; } }
  .table-flat .table-line__th, .table-flat .table-line__th--w100, .table-flat .table-line__th--last, .table-flat .table-flat__th, .table-flat .table-flat__th--center {
    line-height: 1.714;
    font-weight: 500;
    padding: 17px 40px;
    background: #f8f8f8;
    border-top: solid 1px #fff;
    border-left: solid 1px #fff;
    white-space: nowrap;
    width: 100px; }
    .table-flat .table-line__th::before, .table-flat .table-line__th--w100::before, .table-flat .table-line__th--last::before, .table-flat .table-flat__th::before, .table-flat .table-flat__th--center::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 1.714) * .5em);
      content: ""; }
    .table-flat .table-line__th::after, .table-flat .table-line__th--w100::after, .table-flat .table-line__th--last::after, .table-flat .table-flat__th::after, .table-flat .table-flat__th--center::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 1.714) * .5em);
      content: ""; }
    @media (max-width: 767.9px) {
      .table-flat .table-line__th, .table-flat .table-line__th--w100, .table-flat .table-line__th--last, .table-flat .table-flat__th, .table-flat .table-flat__th--center {
        padding: 19px 16px; } }
  .table-flat__th--center {
    text-align: center; }
  .table-flat .table-flat__td, .table-flat .table-flat__td--center {
    line-height: 1.714;
    padding: 15px 40px;
    border: solid 1px #ebebeb; }
    .table-flat .table-flat__td::before, .table-flat .table-flat__td--center::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 1.714) * .5em);
      content: ""; }
    .table-flat .table-flat__td::after, .table-flat .table-flat__td--center::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 1.714) * .5em);
      content: ""; }
    @media (max-width: 767.9px) {
      .table-flat .table-flat__td, .table-flat .table-flat__td--center {
        padding: 19px 16px; } }
  .table-flat__td--center {
    text-align: center; }

.table-caption {
  font-size: 1rem;
  color: #666;
  text-align: right;
  margin-top: 10px; }

.nowrap {
  white-space: nowrap; }

@media (min-width: 768px) {
  .scroll .simplebar-track {
    display: none; } }
@media (max-width: 767.9px) {
  .scroll {
    width: 100%;
    padding-bottom: 30px; }
    .scroll .simplebar-track.simplebar-horizontal {
      background: #d9d9d9;
      border-radius: 0px;
      height: 2px; }
    .scroll .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
      top: 0;
      height: 2px; }
    .scroll .simplebar-scrollbar::before {
      background: #0087dc;
      border-radius: 0px;
      height: 2px; } }

@media (min-width: 768px) {
  .lower-2col__block.swiper-slide {
    width: 380px; } }
@media (max-width: 767.9px) {
  .content-swiper {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0 0 28px;
    margin-bottom: -28px;
    z-index: 1; }
    .content-swiper .swiper-slide {
      margin-bottom: 0; }
      .content-swiper .swiper-slide img {
        width: 100%;
        height: auto; }
    .content-swiper .swiper-pagination {
      text-align: right; }
    .content-swiper .swiper-pagination-bullet {
      border-radius: 2px; }
    .content-swiper.swiper-container-horizontal > .swiper-pagination-bullets {
      bottom: 0px; }
    .content-swiper + .text {
      margin-top: 60px; }
    .content-swiper + .btn-list {
      margin-top: 60px; } }
.header {
  position: relative;
  display: flex;
  align-content: space-between;
  width: 100%; }
  @media (min-width: 768px) {
    .header {
      min-width: 1360px; } }
  @media (min-width: 768px) {
    .header__in {
      width: 100%;
      max-width: 1900px;
      margin: 27px auto;
      padding: 0 30px;
      height: 80px;
      display: flex;
      justify-content: space-between;
      box-sizing: border-box; } }
  @media (max-width: 767.9px) {
    .header__in {
      width: 100%;
      position: relative; } }

.header__logo {
  display: block;
  width: 240px;
  height: 47px;
  margin-top: 16px; }
  @media (max-width: 767.9px) {
    .header__logo {
      width: 150px;
      height: 30px;
      margin: 20px 24px; } }
  .header__logo img {
    display: block;
    width: 100%;
    height: 100%; }

@media (min-width: 768px) {
  .gn {
    display: flex; } }

.gn-main {
  font-feature-settings: "palt"; }
  @media (min-width: 768px) {
    .gn-main {
      display: flex;
      justify-content: flex-end;
      margin-right: 35px; }
      .gn-main__item:hover .gn-main__link {
        color: #fff;
        background: #0087dc;
        font-weight: 400; }
      .gn-main__item:hover::after {
        content: "";
        display: block;
        width: 100%;
        height: 27px; }
      .gn-main__item:hover .gn-sub {
        opacity: 1;
        visibility: visible; }
      .gn-main__link {
        font-size: 1.4rem;
        display: block;
        padding: 33px 15px;
        white-space: nowrap; }
        .gn-main__link.current {
          color: #0087dc;
          font-weight: 700; } }
  @media (max-width: 767.9px) {
    .gn-main {
      position: absolute;
      top: 70px;
      left: 0;
      width: 100%;
      background: #fff;
      z-index: 99;
      opacity: 0;
      visibility: hidden;
      transition: opacity .3s,visibility .3s; }
      .gn-main.open {
        opacity: 1;
        visibility: visible; } }

@media (min-width: 768px) {
  .gn-sub {
    opacity: 0;
    visibility: hidden;
    width: 100%;
    padding: 30px 0;
    background: #f8f8f8;
    border-top: solid 1px #d9d9d9;
    position: absolute;
    left: 0;
    top: 134px;
    z-index: 99;
    transition: opacity .3s,visibility .3s;
    box-shadow: 0px 15px 30px -10px rgba(0, 0, 0, 0.3); } }
@media (min-width: 768px) {
  .gn-sub__in {
    width: 1340px;
    margin: 0 auto;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start; } }
@media (min-width: 768px) {
  .gn-sub__title {
    margin-right: 25px; } }
@media (max-width: 767.9px) {
  .gn-sub__title {
    border-top: solid 1px #d9d9d9;
    position: relative; } }
.gn-sub__title-link {
  display: block; }
  @media (min-width: 768px) {
    .gn-sub__title-link {
      padding: 24px 0 206px 90px; }
      .gn-sub__title-link:hover .gn-sub__title-in {
        color: #fff;
        background: #0087dc url("../images/common/btn_icn_sq_arrow_blue_on.png") right center no-repeat;
        background-size: 25px 25px; } }
  @media (max-width: 767.9px) {
    .gn-sub__title-link {
      font-size: 1.4rem;
      height: 60px;
      line-height: 60px; }
      .gn-sub__title-link:hover {
        opacity: .3; } }
@media (max-width: 767.9px) {
  .gn-sub__icon {
    width: 65px;
    height: 60px;
    line-height: 60px;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    background: url("../images/common/icon_close.png") right 27px center no-repeat;
    background-size: 12px auto; }
    .gn-sub__icon:hover {
      opacity: .3;
      cursor: pointer; }
    .gn-sub__icon.open {
      background: url("../images/common/icon_open.png") right 27px center no-repeat;
      background-size: 12px auto; } }
@media (min-width: 768px) {
  .gn-sub__title-in {
    font-size: 1.4rem;
    letter-spacing: 0.15em;
    display: block;
    width: 205px;
    height: 80px;
    line-height: 80px;
    padding-left: 20px;
    color: #2f2f2f;
    background: #fff url("../images/common/btn_icn_sq_arrow_blue.png") right center no-repeat;
    background-size: 25px 25px; } }
@media (max-width: 767.9px) {
  .gn-sub__title-in {
    padding-left: 27px; } }
@media (min-width: 768px) {
  .gn-sub__list {
    background: #fff;
    width: 960px;
    padding: 25px 15px 15px 25px;
    display: flex !important;
    flex-wrap: wrap; } }
@media (max-width: 767.9px) {
  .gn-sub__list {
    display: none;
    border-top: solid 1px #d9d9d9; } }
@media (min-width: 768px) {
  .gn-sub__item {
    width: 310px;
    height: 80px;
    margin: 0 10px 10px 0; } }
@media (max-width: 767.9px) {
  .gn-sub__item {
    margin-left: 47px; }
    .gn-sub__item:not(:last-child) {
      border-bottom: solid 1px #d9d9d9; } }
.gn-sub__link {
  display: block; }
  @media (min-width: 768px) {
    .gn-sub__link {
      font-size: 1.4rem;
      letter-spacing: 0.15em;
      width: 310px;
      height: 80px;
      line-height: 80px;
      padding-left: 132px;
      color: #2f2f2f;
      box-sizing: border-box;
      background: url("../images/common/btn_icn_sq_arrow_blue.png") right bottom no-repeat;
      background-size: 25px 25px; }
      .gn-sub__link:hover {
        color: #2f2f2f;
        background: url("../images/common/btn_icn_sq_arrow_blue_on.png") right bottom no-repeat;
        background-size: 25px 25px; } }
  @media (max-width: 767.9px) {
    .gn-sub__link {
      font-size: 1.4rem;
      height: 60px;
      line-height: 60px;
      background: url("../images/common/icon_arrow_gray.png") right 27px center no-repeat;
      background-size: 12px auto; } }

@media (min-width: 768px) {
  .gn-about__title-link {
    background: url("../images/common/gn_about_title_pc.png") left center no-repeat; }
  .gn-about__item--01 {
    background: #f8f8f8 url("../images/common/gn_about_01_pc.jpg") left center no-repeat; }
  .gn-about__item--02 {
    background: #f8f8f8 url("../images/common/gn_about_02_pc.jpg") left center no-repeat; }
  .gn-about__item--03 {
    background: #f8f8f8 url("../images/common/gn_about_03_pc.jpg") left center no-repeat; }
  .gn-about__item--04 {
    background: #f8f8f8 url("../images/common/gn_about_04_pc.jpg") left center no-repeat; }
  .gn-about__item--05 {
    background: #f8f8f8 url("../images/common/gn_about_05_pc.jpg") left center no-repeat; }

  .gn-edu__title-link {
    background: url("../images/common/gn_edu_title_pc.jpg") left center no-repeat; }
  .gn-edu__item--01 {
    background: #f8f8f8 url("../images/common/gn_edu_01_pc.jpg") left center no-repeat; }
  .gn-edu__item--02 {
    background: #f8f8f8 url("../images/common/gn_edu_02_pc.jpg") left center no-repeat; }
  .gn-edu__item--03 {
    background: #f8f8f8 url("../images/common/gn_edu_03_pc.jpg") left center no-repeat; }
  .gn-edu__item--04 {
    background: #f8f8f8 url("../images/common/gn_edu_04_pc.jpg") left center no-repeat; }

  .gn-slife__title-link {
    background: url("../images/common/gn_slife_title_pc.jpg") left center no-repeat; }
  .gn-slife__item--01 {
    background: #f8f8f8 url("../images/common/gn_slife_01_pc.jpg") left center no-repeat; }
  .gn-slife__item--02 {
    background: #f8f8f8 url("../images/common/gn_slife_02_pc.jpg") left center no-repeat; }
  .gn-slife__item--03 {
    background: #f8f8f8 url("../images/common/gn_slife_03_pc.jpg") left center no-repeat; }
  .gn-slife__item--04 {
    background: #f8f8f8 url("../images/common/gn_slife_04_pc.jpg") left center no-repeat; }
  .gn-slife__item--05 {
    background: #f8f8f8 url("../images/common/gn_slife_05_pc.jpg") left center no-repeat; }
  .gn-slife__item--06 {
    background: #f8f8f8 url("../images/common/gn_slife_06_pc.jpg") left center no-repeat; }
  .gn-slife__item--07 {
    background: #f8f8f8 url("../images/common/gn_slife_07_pc.jpg") left center no-repeat; }

  .gn-admission__title-link {
    background: url("../images/common/gn_admission_title_pc.jpg") left center no-repeat; }
  .gn-admission__item {
    background: #f8f8f8; }
    .gn-admission__item > .gn-sub__link {
      padding-left: 24px;
      text-align: left; }

  .gn-ob__title-link {
    background: url("../images/common/gn_ob_title_pc.jpg") left center no-repeat; }
  .gn-ob__item--01 {
    background: #f8f8f8 url("../images/common/gn_ob_01_pc.jpg") left center no-repeat; }
  .gn-ob__item--02 {
    background: #f8f8f8 url("../images/common/gn_ob_02_pc.jpg") left center no-repeat; } }
@media (max-width: 767.9px) {
  .gn-ob {
    border-bottom: solid 1px #d9d9d9; } }
.gn-aside {
  background-color: #ffffff;
  font-size: 1rem;
  text-align: center;
  border-radius: 3px; }
  @media (min-width: 768px) {
    .gn-aside {
      height: 78px;
      border: solid 1px #d9d9d9;
      position: relative;
      display: flex; } }
  @media (max-width: 767.9px) {
    .gn-aside {
      border-radius: 0; } }
  .gn-aside__access {
    display: block;
    width: 74px;
    height: 28px;
    padding-top: 50px;
    border-right: solid 1px #d9d9d9;
    background: #fff url("../images/common/header_icon_access.png") center 20px no-repeat;
    background-size: auto 20px; }
    @media (max-width: 767.9px) {
      .gn-aside__access {
        position: absolute;
        top: 0;
        right: 117px;
        width: 58px;
        height: 26px;
        padding-top: 44px;
        border-left: solid 1px #d9d9d9;
        background: #fff url("../images/common/header_icon_access.png") center 17px no-repeat;
        background-size: auto 17px; } }
    @media (min-width: 768px) {
      .gn-aside__access:hover {
        color: #fff;
        background: #0087dc url("../images/common/header_icon_access_on.png") center 20px no-repeat;
        background-size: auto 20px; } }
    @media (max-width: 767.9px) {
      .gn-aside__access:hover {
        color: #fff;
        background: #0087dc url("../images/common/header_icon_access_on.png") center 17px no-repeat;
        background-size: auto 17px; } }
  .gn-aside__search {
    display: block;
    width: 74px;
    height: 28px;
    padding-top: 50px;
    border-right: solid 1px #d9d9d9;
    background: #fff url("../images/common/header_icon_search.png") center 20px no-repeat;
    background-size: auto 20px; }
    @media (max-width: 767.9px) {
      .gn-aside__search {
        position: absolute;
        top: 0;
        right: 58px;
        width: 58px;
        height: 26px;
        padding-top: 44px;
        background: #fff url("../images/common/header_icon_search.png") center 17px no-repeat;
        background-size: auto 17px; } }
    @media (min-width: 768px) {
      .gn-aside__search:hover {
        color: #fff;
        background: #0087dc url("../images/common/header_icon_search_on.png") center 20px no-repeat;
        background-size: auto 20px; } }
    @media (max-width: 767.9px) {
      .gn-aside__search:hover {
        color: #fff;
        background: #0087dc url("../images/common/header_icon_search_on.png") center 17px no-repeat;
        background-size: auto 17px; } }
    .gn-aside__search.open {
      color: #fff;
      background: #0087dc url("../images/common/header_icon_close.png") center 20px no-repeat;
      background-size: auto 20px; }
      @media (max-width: 767.9px) {
        .gn-aside__search.open {
          background-size: auto 12px; } }
  .gn-aside__search-form {
    position: absolute;
    right: 0;
    top: 93px;
    width: 480px;
    height: 60px;
    background: #fff;
    border: solid 1px #d9d9d9;
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s,visibility .3s; }
    @media (min-width: 768px) {
      .gn-aside__search-form {
        border-radius: 3px;
        box-shadow: 0px 15px 30px -10px rgba(0, 0, 0, 0.3); } }
    @media (max-width: 767.9px) {
      .gn-aside__search-form {
        top: 70px;
        width: 100%;
        height: 61px; } }
    .gn-aside__search-form.open {
      opacity: 1;
      visibility: visible; }
    .gn-aside__search-form input[type="text"] {
      width: 400px;
      height: 60px;
      padding: 5px 20px;
      border: none;
      border-radius: 3px;
      box-sizing: border-box; }
      @media (max-width: 767.9px) {
        .gn-aside__search-form input[type="text"] {
          width: 82%;
          padding: 5px 10px; } }
    .gn-aside__search-form input::placeholder {
      color: #ccc; }
      @media (max-width: 767.9px) {
        .gn-aside__search-form input::placeholder {
          font-size: 1.2rem; } }
    .gn-aside__search-form input::-ms-input-placeholder {
      color: #ccc; }
      @media (max-width: 767.9px) {
        .gn-aside__search-form input::-ms-input-placeholder {
          font-size: 1.2rem; } }
    .gn-aside__search-form input:-ms-input-placeholder {
      color: #ccc; }
      @media (max-width: 767.9px) {
        .gn-aside__search-form input:-ms-input-placeholder {
          font-size: 1.2rem; } }
  .gn-aside__search-btn {
    background: url("../images/common/header_icon_search_gray.png") center center no-repeat;
    background-size: 20px 20px;
    border: 0;
    width: 40px;
    height: 40px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    margin: 0 10px; }
    @media (max-width: 767.9px) {
      .gn-aside__search-btn {
        background-size: 16px 16px; } }
  .gn-aside__font-size {
    display: block;
    cursor: pointer; }
    @media (min-width: 768px) {
      .gn-aside__font-size {
        width: 74px;
        height: 28px;
        padding-top: 50px;
        background: url("../images/common/header_icon_size.png") center 20px no-repeat;
        background-size: auto 16px; }
        .gn-aside__font-size:hover {
          color: #fff;
          background: #0087dc url("../images/common/header_icon_size_on.png") center 20px no-repeat;
          background-size: auto 16px; }
          .gn-aside__font-size:hover .font-size-list {
            opacity: 1;
            visibility: visible; }
          .gn-aside__font-size:hover::after {
            content: "";
            display: block;
            width: 74px;
            height: 34px; } }
    @media (max-width: 767.9px) {
      .gn-aside__font-size {
        display: flex;
        justify-content: space-around;
        align-items: center;
        border: solid 27px #f8f8f8; } }

.font-size-list {
  display: flex;
  height: 60px;
  background: #fff;
  text-align: center; }
  @media (min-width: 768px) {
    .font-size-list {
      opacity: 0;
      visibility: hidden;
      position: absolute;
      right: 0;
      top: 93px;
      z-index: 99;
      border: solid 1px #d9d9d9;
      border-radius: 3px;
      box-shadow: 0px 15px 30px -10px rgba(0, 0, 0, 0.3);
      transition: all .3s;
      overflow: hidden; } }
  @media (max-width: 767.9px) {
    .font-size-list {
      margin: 15px 0; } }
  .font-size-list__item {
    display: block;
    width: 46px;
    height: 60px;
    box-sizing: border-box;
    position: relative;
    border: none;
    cursor: pointer; }
    @media (max-width: 767.9px) {
      .font-size-list__item {
        border: solid 1px #d9d9d9;
        border-radius: 3px;
        margin-right: 5px; } }
    .font-size-list__item:focus {
      outline: none; }
    .font-size-list__item--l {
      padding-top: 24px;
      font-size: 1.4rem;
      background: url("../images/common/header_icon_size.png") center 11px no-repeat;
      background-size: auto 16px; }
      .font-size-list__item--l:hover {
        color: #fff;
        background: #0087dc url("../images/common/header_icon_size_on.png") center 11px no-repeat;
        background-size: auto 16px; }
      @media (min-width: 768px) {
        .font-size-list__item--l {
          margin-right: 1px; }
          .font-size-list__item--l::before {
            content: "";
            height: 40px;
            border-right: solid 1px #ebebeb;
            position: absolute;
            right: -1px;
            top: 10px; } }
    .font-size-list__item--m {
      padding-top: 25px;
      font-size: 1.2rem;
      background: url("../images/common/header_icon_size.png") center 14px no-repeat;
      background-size: auto 13px; }
      .font-size-list__item--m:hover {
        color: #fff;
        background: #0087dc url("../images/common/header_icon_size_on.png") center 14px no-repeat;
        background-size: auto 13px; }
      @media (min-width: 768px) {
        .font-size-list__item--m {
          margin-right: 1px; }
          .font-size-list__item--m::before {
            content: "";
            height: 40px;
            border-right: solid 1px #ebebeb;
            position: absolute;
            right: -1px;
            top: 10px; } }
    .font-size-list__item--s {
      padding-top: 26px;
      font-size: 1rem;
      background: url("../images/common/header_icon_size.png") center 18px no-repeat;
      background-size: auto 10px; }
      .font-size-list__item--s:hover {
        color: #fff;
        background: #0087dc url("../images/common/header_icon_size_on.png") center 18px no-repeat;
        background-size: auto 10px; }

@media (max-width: 767.9px) {
  .drawer {
    position: absolute;
    right: 0;
    top: 0;
    font-size: 1rem;
    text-align: center;
    width: 58px;
    height: 26px;
    padding-top: 44px;
    background: #fff url("../images/common/header_icon_drawer.png") center 19px no-repeat;
    background-size: auto 13px; }
    .drawer:hover {
      color: #fff;
      cursor: pointer;
      background: #0087dc url("../images/common/header_icon_drawer_on.png") center 19px no-repeat;
      background-size: auto 13px; }
    .drawer.open {
      color: #fff;
      background: #0087dc url("../images/common/header_icon_close.png") center 20px no-repeat;
      background-size: auto 12px; } }
/* FOOTER */
.footer {
  width: 100%; }
  @media (min-width: 768px) {
    .footer {
      min-width: 1360px; } }
  .footer a {
    color: #2f2f2f; }
    .footer a:hover {
      color: rgba(47, 47, 47, 0.3); }

.fn {
  padding: 80px 0;
  background: #f8f8f8;
  border-bottom: solid 1px #f2f2f2; }

.fn-main {
  display: flex;
  width: 960px;
  margin: 0 auto; }
  .fn-main__item {
    width: 160px; }
    .fn-main__item:not(:last-child) {
      margin-right: 40px; }
  .fn-main__link {
    font-size: 1.4rem;
    font-weight: 500;
    border-bottom: solid 1px #ebebeb;
    position: relative;
    display: block;
    padding-bottom: 20px;
    margin-bottom: 30px;
    font-feature-settings: "palt"; }
    .fn-main__link::before {
      content: "";
      display: block;
      left: 0;
      bottom: -1px;
      position: absolute;
      width: 5px;
      border-bottom: solid 1px #a4a4a4; }

.fn-sub {
  font-size: 1.2rem;
  line-height: 2.66; }
  .fn-sub::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2.66) * .5em);
    content: ""; }
  .fn-sub::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 2.66) * .5em);
    content: ""; }

.ft-link {
  width: 100%; }
  @media (min-width: 768px) {
    .ft-link {
      border-bottom: solid 1px #f2f2f2; } }
  @media (max-width: 767.9px) {
    .ft-link {
      margin-top: 0; } }
  @media (min-width: 768px) {
    .ft-link__in {
      display: flex;
      justify-content: space-between;
      margin: 40px auto;
      padding-left: 40px;
      width: 1000px; } }
  @media (max-width: 767.9px) {
    .ft-link__in {
      padding-bottom: 20px;
      background-color: #f8f8f8; } }
  .ft-link__title {
    font-size: 1.6rem;
    font-family: "Quattrocento", serif;
    color: #84949e; }
    @media (max-width: 767.9px) {
      .ft-link__title {
        text-align: center;
        padding: 25px;
        background-color: #f8f8f8;
        border-bottom: solid 1px #d9d9d9; } }
  .ft-link__list {
    display: flex; }
    @media (min-width: 768px) {
      .ft-link__list {
        justify-content: space-between;
        width: 820px; } }
    @media (max-width: 767.9px) {
      .ft-link__list {
        flex-wrap: wrap;
        background: #fff; } }
  @media (max-width: 767.9px) {
    .ft-link__item {
      width: 50%;
      text-align: center;
      border-bottom: solid 1px #d9d9d9; }
      .ft-link__item:nth-child(odd) {
        border-right: solid 1px #d9d9d9;
        margin-right: -1px; } }
  .ft-link__link {
    font-size: 1.2rem;
    font-family: "Noto Serif JP", serif; }
    @media (max-width: 767.9px) {
      .ft-link__link {
        display: block;
        padding: 17px 0; } }

@media (min-width: 768px) {
  .ft-address {
    margin: 60px auto 43px;
    width: 880px;
    padding: 25px 0 0 280px;
    background: url("../images/common/footer_logo.png") left 122px top no-repeat; } }
@media (max-width: 767.9px) {
  .ft-address {
    margin: 20px 27px;
    background: url("../images/common/footer_logo.png") right top no-repeat;
    background-size: 40px auto; } }
.ft-address__title {
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 40px;
  letter-spacing: 0.15em; }
  @media (max-width: 767.9px) {
    .ft-address__title {
      font-size: 2.1rem;
      font-weight: 400;
      margin-bottom: 20px;
      padding-top: 45px; } }
.ft-address__text {
  font-family: "Noto Serif JP", serif;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.15em;
  padding-bottom: 45px;
  margin-bottom: 45px;
  border-bottom: solid 1px #d9d9d9; }
  .ft-address__text::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2) * .5em);
    content: ""; }
  .ft-address__text::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 2) * .5em);
    content: ""; }
  @media (max-width: 767.9px) {
    .ft-address__text {
      font-size: 1rem;
      padding-bottom: 20px;
      margin-bottom: 20px; } }

.ft-aside {
  display: flex; }
  @media (max-width: 767.9px) {
    .ft-aside {
      border-bottom: solid 1px #d9d9d9;
      padding-bottom: 20px;
      margin-bottom: 20px; } }
  .ft-aside__link {
    font-size: 1.2rem; }
    .ft-aside__link:first-child {
      padding-right: 16px;
      margin-right: 16px;
      position: relative; }
      .ft-aside__link:first-child::before {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        top: 1px;
        height: 10px;
        border-right: solid 1px #d9d9d9; }

.copyright {
  font-size: 1rem;
  font-family: "Quattrocento", serif;
  text-align: right;
  margin: 0 auto; }
  @media (min-width: 768px) {
    .copyright {
      width: 1160px;
      padding-bottom: 37px; } }
  @media (max-width: 767.9px) {
    .copyright {
      text-align: left;
      margin: 20px 27px;
      transform: scale(0.6);
      transform-origin: 0 0; } }

.btn1 {
  width: 70px;
  height: 38px;
  display: block;
  padding-right: 38px;
  font-size: 1.4rem;
  line-height: 38px;
  background: #fff url("../images/common/btn_icn_sq_arrow_blue.png") right top no-repeat;
  background-size: contain;
  position: relative; }
  @media (max-width: 767.9px) {
    .btn1 {
      font-size: 1.2rem;
      width: 56px;
      height: 30px;
      line-height: 30px;
      padding-right: 30px; } }
  .btn1:hover {
    color: #fff;
    background: #0087dc url("../images/common/btn_icn_sq_arrow_blue_on.png") right top no-repeat;
    background-size: contain; }
  .btn1::before {
    content: "";
    border-right: solid 1px #f8f8f8;
    display: block;
    height: 38px;
    position: absolute;
    right: 38px;
    top: 0; }
    @media (max-width: 767.9px) {
      .btn1::before {
        height: 30px;
        right: 30px; } }

.btn3 {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  background-repeat: no-repeat !important; }
  .btn3__in {
    font-size: 2rem;
    color: #2f2f2f;
    line-height: 75px;
    text-align: left;
    letter-spacing: 0.2em;
    padding-left: 45px;
    display: block;
    position: absolute;
    right: 0;
    bottom: -30px;
    width: 278px;
    height: 65px;
    background: #fff url("../images/common/btn_icn_circle_arrow_blue.png") right 30px center no-repeat;
    background-size: 28px auto;
    border-top: solid 5px #0087dc; }
    @media (max-width: 767.9px) {
      .btn3__in {
        font-size: 1.6rem;
        line-height: 1;
        width: 87.5%;
        height: 57px;
        padding-left: 30px;
        padding-top: 25px;
        box-sizing: border-box;
        bottom: -26px;
        border-top: solid 3px #0087dc;
        background-size: 25px auto;
        background-position: right 20px top 20px; } }
    .btn3__in::before {
      content: "";
      position: absolute;
      top: -5px;
      right: 0;
      display: block;
      width: 0;
      height: 5px;
      background-color: #dfdfdf;
      transition: all 500ms ease; }
    .btn3__in::after {
      content: "";
      display: block;
      width: 20px;
      border-top: solid 1px #0087dc;
      position: absolute;
      right: 34px;
      bottom: 0; }
      @media (max-width: 767.9px) {
        .btn3__in::after {
          width: 17px;
          right: 24px; } }
  .btn3:hover .btn3__in {
    background: #fff url("../images/common/btn_icn_circle_arrow_blue_on.png") right 30px center no-repeat;
    background-size: 28px auto; }
    @media (max-width: 767.9px) {
      .btn3:hover .btn3__in {
        background-size: 25px auto;
        background-position: right 20px top 20px; } }
    .btn3:hover .btn3__in::before {
      left: 0px;
      width: 100%; }

.btn4 {
  display: block;
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  line-height: 90px;
  letter-spacing: 0.15em;
  width: 170px;
  height: 90px;
  border-radius: 5px;
  background: #0087dc url("../images/top/sns_icn_facebook.png") 32px 32px no-repeat;
  background-size: 14px 26px;
  margin-right: 20px;
  padding-left: 30px;
  box-sizing: border-box; }
  @media (max-width: 767.9px) {
    .btn4 {
      font-size: 0.9rem;
      line-height: 58px;
      width: 110px;
      height: 58px;
      background-position: 20px 21px;
      background-size: 9px auto; } }
  .btn4:hover {
    color: #0087dc;
    border: solid 1px #0087dc;
    background: #fff url("../images/top/sns_icn_facebook_blue.png") 32px 32px no-repeat;
    background-size: 14px 26px; }

.btn5 {
  display: block;
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  line-height: 90px;
  letter-spacing: 0.15em;
  width: 170px;
  height: 90px;
  border-radius: 5px;
  background: #0087dc url("../images/top/sns_icn_twitter.png") 32px 35px no-repeat;
  background-size: 25px 20px;
  padding-left: 30px;
  box-sizing: border-box; }
  @media (max-width: 767.9px) {
    .btn5 {
      font-size: 0.9rem;
      line-height: 58px;
      width: 110px;
      height: 58px;
      background-position: 20px 22px;
      background-size: 18px auto; } }
  .btn5:hover {
    color: #0087dc;
    border: solid 1px #0087dc;
    background: #fff url("../images/top/sns_icn_twitter_blue.png") 32px 35px no-repeat;
    background-size: 25px 20px; }

.btn6 {
  display: flex;
  align-items: center; }
  @media (max-width: 767.9px) {
    .btn6 {
      flex-wrap: wrap;
      flex-direction: column-reverse; } }
  .btn6__link {
    display: block;
    font-size: 1.6rem;
    text-align: center;
    width: 524px;
    height: 90px;
    padding-left: 120px;
    line-height: 90px;
    color: #fff;
    background: #0087dc;
    position: relative;
    box-sizing: border-box; }
    @media (max-width: 767.9px) {
      .btn6__link {
        font-size: 1.4rem;
        font-weight: 300;
        width: 100%;
        padding-left: 75px;
        box-sizing: border-box; } }
    .btn6__link:hover {
      color: #fff;
      opacity: .3; }
    .btn6__link::before {
      content: "";
      display: block;
      height: 90px;
      position: absolute;
      top: 0;
      left: 120px;
      border-right: solid 1px #fff; }
      @media (max-width: 767.9px) {
        .btn6__link::before {
          left: 75px; } }
    .btn6__link::after {
      content: "";
      display: block;
      width: 30px;
      height: 30px;
      background: #fff url("../images/common/btn_icn_blank.png") center center no-repeat;
      background-size: 12px auto;
      position: absolute;
      right: 0;
      bottom: 0; }
    .btn6__link--white {
      color: #2f2f2f;
      background: #fff; }
      .btn6__link--white:hover {
        color: #2f2f2f; }
    .btn6__link--online {
      background: #0087dc url("../images/top/inquery_link1.png") 36px center no-repeat;
      background-size: 50px auto; }
      @media (max-width: 767.9px) {
        .btn6__link--online {
          background: #0087dc url("../images/top/inquery_link1.png") 17px center no-repeat;
          background-size: 40px auto; } }
  .btn6__logo {
    position: relative;
    height: 23px; }
    @media (min-width: 768px) {
      .btn6__logo {
        margin-left: 110px; } }
    @media (max-width: 767.9px) {
      .btn6__logo {
        width: 100%;
        margin-bottom: 25px;
        text-align: right; } }
    .btn6__logo::before {
      content: "";
      display: block;
      height: 20px;
      border-right: solid 1px #d9d9d9;
      position: absolute;
      left: -40px;
      top: 0px; }
      @media (max-width: 767.9px) {
        .btn6__logo::before {
          height: 1px;
          width: 62.3%;
          left: 0;
          top: 11px;
          border-right: none;
          border-bottom: solid 1px #d9d9d9; } }
  .btn6__img {
    width: 98px;
    height: 23px; }

.btn7 {
  display: block;
  border-bottom: solid 1px #999;
  background: url("../images/common/btn_icn_circle_arrow_blue.png") right top no-repeat;
  background-size: 28px 28px;
  padding: 5px 0 22px;
  letter-spacing: .15em;
  position: relative; }
  @media (max-width: 767.9px) {
    .btn7 {
      font-size: 1.6rem;
      background-size: 25px 25px !important;
      padding: 5px 0 25px; } }
  .btn7::before {
    content: "";
    position: absolute;
    bottom: -1px;
    right: 0;
    display: block;
    width: 0;
    height: 1px;
    background-color: #0087dc;
    transition: all 500ms ease; }
  .btn7:hover {
    background: url("../images/common/btn_icn_circle_arrow_blue_on.png") right top no-repeat;
    background-size: 28px 28px; }
    .btn7:hover::before {
      left: 0px;
      width: 100%; }

.btn8 {
  display: block; }
  .btn8__in {
    width: 308px;
    height: 231px;
    position: relative; }
    @media (max-width: 767.9px) {
      .btn8__in {
        width: 100%;
        max-width: 320px;
        height: 240px;
        overflow: hidden; } }
    .btn8__in::after {
      content: "";
      width: 30px;
      height: 30px;
      background: url("../images/common/btn_icn_sq_arrow_blue.png") 0 0 no-repeat;
      background-size: cover;
      position: absolute;
      right: 0;
      bottom: 0;
      transition: all 0.3s ease; }
  .btn8__img {
    width: auto;
    height: 100%; }
  .btn8__title {
    font-size: 1.8rem;
    font-weight: 500;
    margin: 30px 0; }
    @media (max-width: 767.9px) {
      .btn8__title {
        margin: 25px 0; } }
  .btn8__text {
    font-size: 1.4rem;
    line-height: 2; }
    .btn8__text::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 2) * .5em);
      content: ""; }
    .btn8__text::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 2) * .5em);
      content: ""; }
  .btn8:hover {
    color: #2f2f2f; }
    .btn8:hover .btn8__in::after {
      background: url("../images/common/btn_icn_sq_arrow_blue_on.png") 0 0 no-repeat;
      background-size: cover; }

.btn9 {
  display: block; }
  .btn9__in {
    width: 250px;
    height: 187px;
    position: relative; }
    @media (max-width: 767.9px) {
      .btn9__in {
        width: 320px;
        height: 240px; } }
    .btn9__in::after {
      content: "";
      width: 30px;
      height: 30px;
      background: url("../images/common/btn_icn_sq_arrow_blue.png") 0 0 no-repeat;
      background-size: cover;
      position: absolute;
      right: 0;
      bottom: 0;
      transition: all 0.3s ease; }
  .btn9__img {
    width: 100%;
    height: 100%; }
  .btn9__title {
    font-size: 1.6rem;
    font-weight: 500;
    margin: 20px 0 0; }
    @media (max-width: 767.9px) {
      .btn9__title {
        margin: 25px 0; } }
  .btn9__text {
    font-size: 1.4rem;
    margin-top: 30px; }
  .btn9:hover {
    color: #2f2f2f; }
    .btn9:hover .btn9__in::after {
      background: url("../images/common/btn_icn_sq_arrow_blue_on.png") 0 0 no-repeat;
      background-size: cover; }

.btn10 {
  text-align: center;
  line-height: 105px;
  display: block;
  width: 460px;
  height: 105px;
  background: #f8f8f8;
  position: relative;
  margin-bottom: 25px;
  padding-left: 140px;
  box-sizing: border-box; }
  @media (max-width: 767.9px) {
    .btn10 {
      width: 100%;
      height: 75px;
      line-height: 75px;
      padding-left: 100px; } }
  .btn10__img {
    width: auto;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }
  .btn10__text {
    font-size: 1.4rem; }
  .btn10::after {
    content: "";
    width: 30px;
    height: 30px;
    background: url("../images/common/btn_icn_sq_arrow_blue.png") 0 0 no-repeat;
    background-size: cover;
    position: absolute;
    right: 0;
    bottom: 0;
    transition: all 0.3s ease; }
  .btn10:hover {
    color: #2f2f2f; }
    .btn10:hover::after {
      background: url("../images/common/btn_icn_sq_arrow_blue_on.png") 0 0 no-repeat;
      background-size: cover; }
  .btn10--blank::after {
    background: #fff url("../images/common/btn_icn_blank.png") center center no-repeat;
    background-size: 12px auto; }
  .btn10--blank:hover {
    opacity: .3; }
  .btn10--blank:hover::after {
    background: #fff url("../images/common/btn_icn_blank.png") center center no-repeat;
    background-size: 12px auto; }

.btn12 {
  width: 300px;
  display: block; }
  @media (max-width: 767.9px) {
    .btn12 {
      width: 100%; } }
  .btn12__in {
    text-align: center;
    line-height: 80px;
    display: block;
    height: 80px;
    background: #f8f8f8;
    position: relative;
    margin-bottom: 25px;
    box-sizing: border-box;
    font-size: 1.6rem; }
    @media (max-width: 767.9px) {
      .btn12__in {
        width: 100%;
        height: 60px;
        line-height: 60px;
        font-size: 1.5rem;
        margin-bottom: 20px; } }
    .btn12__in::after {
      content: "";
      width: 30px;
      height: 30px;
      background: url("../images/common/btn_icn_sq_arrow_blue.png") 0 0 no-repeat;
      background-size: cover;
      position: absolute;
      right: 0;
      bottom: 0;
      transition: all 0.3s ease; }
  .btn12__in--blank {
    text-align: center;
    line-height: 80px;
    display: block;
    height: 80px;
    background: #f8f8f8;
    position: relative;
    margin-bottom: 25px;
    box-sizing: border-box;
    font-size: 1.6rem;
    transition: all 0.3s ease; }
    @media (max-width: 767.9px) {
      .btn12__in--blank {
        width: 100%;
        height: 60px;
        line-height: 60px;
        font-size: 1.5rem;
        margin-bottom: 20px; } }
    .btn12__in--blank::after {
      content: "";
      width: 30px;
      height: 30px;
      background: #fff url("../images/common/btn_icn_blank.png") center center no-repeat;
      background-size: 12px auto;
      position: absolute;
      right: 0;
      bottom: 0; }
  .btn12__text {
    font-size: 1.4rem;
    line-height: 2; }
    .btn12__text::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 2) * .5em);
      content: ""; }
    .btn12__text::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 2) * .5em);
      content: ""; }
  .btn12:hover {
    color: #2f2f2f; }
    .btn12:hover .btn12__in::after {
      background: url("../images/common/btn_icn_sq_arrow_blue_on.png") 0 0 no-repeat;
      background-size: cover; }
    .btn12:hover .btn12__in--blank {
      opacity: .3; }

.btn-sitemap1 {
  width: 480px; }

.link-text {
  color: #0087dc;
  border-bottom: solid 1px #0087dc; }
  .link-text:hover {
    opacity: .3; }

.link-blank:hover {
  color: #2f2f2f;
  opacity: .3; }
.link-blank::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 10px;
  margin-left: 8px;
  margin-right: 8px;
  background: url("../images/common/btn_icn_blank.png") center center no-repeat;
  background-size: 12px auto; }

.link-pdf:hover {
  opacity: .3; }
.link-pdf::after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 16px;
  margin-left: 8px;
  background: url("../images/common/btn_icn_pdf.png") center center no-repeat;
  background-size: contain;
  vertical-align: middle; }

.link-ebook:hover {
  opacity: .3; }
.link-ebook::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 16px;
  margin-left: 8px;
  background: url("../images/common/btn_icn_ebook.png") center center no-repeat;
  background-size: contain;
  vertical-align: middle; }

.link-map:hover {
  opacity: .3; }
.link-map::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 16px;
  margin-left: 8px;
  background: url("../images/common/btn_icn_map.png") center center no-repeat;
  background-size: contain;
  vertical-align: middle; }

.inquery {
  margin: 0 auto;
  align-items: center; }
  @media (min-width: 768px) {
    .inquery {
      padding: 32px 32px 12px;
      border: solid 1px #d9d9d9;
      border-radius: 3px;
      width: 734px; } }
  @media (max-width: 767.9px) {
    .inquery {
      flex-wrap: wrap;
      flex-flow: column-reverse; } }

@media (min-width: 768px) {
  .inquery-list {
    display: flex;
    flex-wrap: wrap; } }
@media (max-width: 767.9px) {
  .inquery-list {
    width: 100%; } }
.inquery-list__item {
  width: 357px;
  height: 70px;
  margin-bottom: 20px; }
  @media (min-width: 768px) {
    .inquery-list__item:nth-child(odd) {
      margin-right: 20px; } }
  @media (max-width: 767.9px) {
    .inquery-list__item {
      width: 100%; }
      .inquery-list__item:not(:last-child) {
        margin-bottom: 25px; } }
.inquery-list__link {
  display: block;
  font-size: 1.2rem;
  text-align: center;
  width: 263px;
  height: 70px;
  padding-left: 94px;
  line-height: 70px;
  color: #fff;
  background: #0087dc;
  position: relative; }
  @media (max-width: 767.9px) {
    .inquery-list__link {
      font-size: 1.4rem;
      font-weight: 300;
      width: 100%;
      padding-left: 75px;
      box-sizing: border-box; } }
  .inquery-list__link:hover {
    color: #fff;
    opacity: .3; }
  .inquery-list__link::before {
    content: "";
    display: block;
    height: 70px;
    position: absolute;
    top: 0;
    left: 94px;
    border-right: solid 1px #fff; }
    @media (max-width: 767.9px) {
      .inquery-list__link::before {
        left: 75px; } }
  .inquery-list__link::after {
    content: "";
    display: block;
    width: 21px;
    height: 21px;
    background: #fff url("../images/common/btn_icn_blank.png") center center no-repeat;
    background-size: 8px auto;
    position: absolute;
    right: 0;
    bottom: 0; }
.inquery-list__link--01 {
  background: #0087dc url("../images/top/inquery_link1.png") 31px 22px no-repeat;
  background-size: 33px 27px; }
  @media (max-width: 767.9px) {
    .inquery-list__link--01 {
      background-position: 17px center;
      background-size: 40px auto; } }
.inquery-list__link--02 {
  background: #0087dc url("../images/top/inquery_link2.png") 32px 22px no-repeat; }
  @media (min-width: 768px) {
    .inquery-list__link--02 {
      background-size: 31px 26px; } }
  @media (max-width: 767.9px) {
    .inquery-list__link--02 {
      background-position: 18px center;
      background-size: 38px auto; } }
.inquery-list__link--03 {
  background: #fff url("../images/top/inquery_link3_pc.jpg") 0 0 no-repeat;
  color: #2f2f2f;
  border: solid 1px #d9d9d9; }
  .inquery-list__link--03:hover {
    color: #2f2f2f; }
  @media (max-width: 767.9px) {
    .inquery-list__link--03 {
      background: #fff url("../images/top/inquery_link3_sp.jpg") 0 0 no-repeat;
      background-size: contain; } }
.inquery-list__link--04 {
  background: #fff url("../images/top/inquery_link4_pc.jpg") 0 0 no-repeat;
  color: #2f2f2f;
  border: solid 1px #d9d9d9; }
  .inquery-list__link--04:hover {
    color: #2f2f2f; }
  @media (max-width: 767.9px) {
    .inquery-list__link--04 {
      background: #fff url("../images/top/inquery_link4_sp.jpg") 0 0 no-repeat;
      background-size: contain; } }

.miraicompass {
  position: relative;
  height: 23px;
  margin-bottom: 20px;
  text-align:right; }
  @media (max-width: 767.9px) {
    .miraicompass {
      width: 100%;
      margin-bottom: 25px;
      text-align: right; } }
  @media (max-width: 767.9px) {
    .miraicompass::before {
      content: "";
      display: block;
      height: 1px;
      width: 62.3%;
      position: absolute;
      left: 0;
      top: 11px;
      border-right: none;
      border-bottom: solid 1px #d9d9d9; } }
  .miraicompass__logo {
    width: 98px;
    height: 23px; }

.history {
  padding-top: 100px; }
  .history__block {
    display: flex;
    flex-wrap: wrap;
    position: relative; }
  .history__era {
    width: 100px;
    height: 100px;
    font-size: 1.8rem;
    line-height: 100px;
    letter-spacing: .3em;
    font-weight: 300;
    text-align: center;
    color: #fff;
    background: #0087dc;
    border-radius: 3px;
    position: absolute;
    left: 0;
    top: -70px; }
    @media (max-width: 767.9px) {
      .history__era {
        width: 60px;
        height: 60px;
        font-size: 1.2rem;
        line-height: 60px;
        margin-left: 9.375%;
        top: -80px; } }
  .history__item {
    display: flex;
    width: 100%; }
    @media (min-width: 768px) {
      .history__item {
        width: 663px;
        margin-left: 137px; } }
  .history__year {
    font-family: "Quattrocento", serif;
    color: #0087dc;
    font-size: 2.2rem;
    font-weight: 700;
    text-align: center;
    padding-right: 22px;
    width: 57px;
    position: relative;
    letter-spacing: .05em; }
    .history__year::before {
      content: "";
      display: block;
      width: 7px;
      height: 7px;
      border-radius: 2px;
      background-color: #0087dc;
      position: absolute;
      right: -4px;
      top: 14px; }
    .history__year::after {
      content: "";
      display: block;
      height: 100%;
      border-right: solid 1px #0087dc;
      position: absolute;
      right: -1px;
      top: 14px;
      opacity: .3; }
    @media (max-width: 767.9px) {
      .history__year {
        font-size: 2rem;
        margin-left: 0;
        padding-right: 0;
        width: 18.75%;
        box-sizing: border-box;
        text-align: left; } }
    .history__year--jp {
      font-size: 1.2rem;
      display: block;
      margin-top: 10px; }
      @media (max-width: 767.9px) {
        .history__year--jp {
          font-size: 1.1rem; } }
    .history__year--noborder::after {
      display: none; }
  .history__description {
    margin-top: 10px;
    margin-left: 50px;
    width: 534px;
    padding-bottom: 20px;
    position: relative; }
    @media (max-width: 767.9px) {
      .history__description {
        width: 68.75%;
        margin-left: 12.5%; } }
    .history__description::before {
      content: "";
      display: block;
      opacity: 0.3;
      width: 24px;
      border-top: solid 1px #0087dc;
      position: absolute;
      left: -48px;
      top: 7px; }
      @media (max-width: 767.9px) {
        .history__description::before {
          width: 24px;
          left: -18%; } }
    .history__description--noborder {
      margin-bottom: 0 !important;
      border-bottom: none !important; }
  .history__text {
    font-weight: 500;
    margin-bottom: 30px;
    line-height: 1.875;
    letter-spacing: .15em; }
    .history__text::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 1.875) * .5em);
      content: ""; }
    .history__text::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 1.875) * .5em);
      content: ""; }
  @media (min-width: 768px) {
    .history__text--2col-pc {
      width: 310px;
      float: left; } }
  .history__fig {
    text-align: right;
    margin: 0 0 30px; }
  .history__img {
    max-width: 100%;
    height: auto; }
  .history__caption {
    color: #666666;
    font-size: 10px;
    font-weight: 400;
    margin-top: 10px; }

@media (max-width: 767.9px) {
  .history__block:first-child .history__era::before {
    content: "";
    display: block;
    height: 35px;
    border-right: solid 1px #0087dc;
    position: absolute;
    left: 50%;
    bottom: -35px;
    opacity: .3;
    transform: translateX(-1px); } }
.history__item:last-child .history__description {
  margin-bottom: 70px;
  border-bottom: solid 1px #d9d9d9;
  padding-bottom: 30px; }
  @media (max-width: 767.9px) {
    .history__item:last-child .history__description {
      margin-bottom: 50px; } }

.syllabus-table {
  background: #f8f8f8;
  padding: 60px; }
  @media (max-width: 767.9px) {
    .syllabus-table {
      padding: 40px;
      width: 460px; } }
  .syllabus-table__img {
    width: 100%;
    height: auto; }

@media (min-width: 768px) {
  .slife-events {
    margin-bottom: 60px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .slife-events:last-child {
      margin-bottom: 0; } }
@media (max-width: 767.9px) {
  .slife-events {
    margin-bottom: 40px; }
    .slife-events:last-child {
      margin-bottom: 0; } }
.slife-events__item {
  position: relative; }
  @media (min-width: 768px) {
    .slife-events__item {
      width: 380px;
      margin-bottom: 50px; }
      .slife-events__item:nth-child(odd) {
        margin-right: 40px; } }
  @media (max-width: 767.9px) {
    .slife-events__item {
      margin-bottom: 40px; }
      .slife-events__item:last-child {
        margin-bottom: 0; } }
.slife-events__icon {
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
  line-height: 50px;
  color: #fff;
  background: #0087dc;
  width: 50px;
  height: 50px;
  display: block;
  border-radius: 3px;
  position: absolute;
  right: 15px;
  top: 15px; }
.slife-events__icon--month {
  font-size: 1rem;
  font-weight: 300; }
.slife-events__img {
  width: 100%;
  height: auto; }
.slife-events__link {
  display: block; }
.slife-events__link:hover {
  opacity: .3; }

.sitemap-title {
  width: 480px;
  margin: 20px 0 40px; }
  @media (max-width: 767.9px) {
    .sitemap-title {
      width: 100%; } }
  .sitemap-title__link {
    display: block;
    border-bottom: solid 1px #999;
    background: url("../images/common/btn_icn_circle_arrow_blue.png") right top no-repeat;
    background-size: 28px 28px;
    padding: 5px 0 22px;
    letter-spacing: .15em;
    position: relative;
    font-size: 2rem; }
    @media (max-width: 767.9px) {
      .sitemap-title__link {
        background-size: 25px 25px !important;
        padding: 5px 0 25px; } }
    .sitemap-title__link::before {
      content: "";
      position: absolute;
      bottom: -1px;
      right: 0;
      display: block;
      width: 0;
      height: 1px;
      background-color: #0087dc;
      transition: all 500ms ease; }
    .sitemap-title__link:hover {
      background: url("../images/common/btn_icn_circle_arrow_blue_on.png") right top no-repeat;
      background-size: 28px 28px; }
      .sitemap-title__link:hover::before {
        left: 0px;
        width: 100%; }

@media (min-width: 768px) {
  .sitemap-list {
    display: flex;
    flex-wrap: wrap; } }
@media (min-width: 768px) {
  .sitemap-list:last-child .sitemap-list__item {
    margin-bottom: 0; } }
@media (max-width: 767.9px) {
  .sitemap-list:last-child .sitemap-list__item:last-child {
    margin-bottom: 80px; } }
@media (min-width: 768px) {
  .sitemap-list__item {
    width: 320px;
    margin-bottom: 60px; }
    .sitemap-list__item:not(:nth-of-type(3n)) {
      margin-right: 20px; } }
@media (max-width: 767.9px) {
  .sitemap-list__item {
    margin-bottom: 40px; } }
.sitemap-list__link {
  text-align: center;
  line-height: 80px;
  width: 100%;
  display: block;
  height: 80px;
  background: #f8f8f8;
  position: relative;
  box-sizing: border-box;
  font-size: 1.6rem; }
  @media (max-width: 767.9px) {
    .sitemap-list__link {
      height: 60px;
      line-height: 60px;
      font-size: 1.5rem; } }
  .sitemap-list__link::after {
    content: "";
    width: 30px;
    height: 30px;
    background: url("../images/common/btn_icn_sq_arrow_blue.png") 0 0 no-repeat;
    background-size: cover;
    position: absolute;
    right: 0;
    bottom: 0;
    transition: all 0.3s ease; }
  .sitemap-list__link:hover::after {
    background: url("../images/common/btn_icn_sq_arrow_blue_on.png") 0 0 no-repeat;
    background-size: cover; }
