@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@300;400;500;600&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;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  @media (max-width: 767.9px) {
    body {
      font-size: 1.4rem; } }

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

img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast; }

.spacer {
  clear: both;
  font-size: 0;
  line-height: 0; }

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

.mgT05 {
  margin-top: 5px !important; }

.mgR05 {
  margin-right: 5px !important; }

.mgB05 {
  margin-bottom: 5px !important; }

.mgL05 {
  margin-left: 5px !important; }

.pdT05 {
  padding-top: 5px !important; }

.pdR05 {
  padding-right: 5px !important; }

.pdB05 {
  padding-bottom: 5px !important; }

.pdL05 {
  padding-left: 5px !important; }

.mgT10 {
  margin-top: 10px !important; }

.mgR10 {
  margin-right: 10px !important; }

.mgB10 {
  margin-bottom: 10px !important; }

.mgL10 {
  margin-left: 10px !important; }

.pdT10 {
  padding-top: 10px !important; }

.pdR10 {
  padding-right: 10px !important; }

.pdB10 {
  padding-bottom: 10px !important; }

.pdL10 {
  padding-left: 10px !important; }

.mgT15 {
  margin-top: 15px !important; }

.mgR15 {
  margin-right: 15px !important; }

.mgB15 {
  margin-bottom: 15px !important; }

.mgL15 {
  margin-left: 15px !important; }

.mgT20 {
  margin-top: 20px !important; }

.mgR20 {
  margin-right: 20px !important; }

.mgB20 {
  margin-bottom: 20px !important; }

.mgL20 {
  margin-left: 20px !important; }

.mgT30 {
  margin-top: 30px !important; }

.mgB30 {
  margin-bottom: 30px !important; }

.mgT50 {
  margin-top: 50px !important; }

.mgT60 {
  margin-top: 60px !important; }

.mgB60 {
  margin-bottom: 60px !important; }

.mgT80 {
  margin-top: 80px !important; }

.pdT20 {
  padding-top: 20px !important; }

.pdR20 {
  padding-right: 20px !important; }

.pdB20 {
  padding-bottom: 20px !important; }

.pdL20 {
  padding-left: 20px !important; }

.pdT25 {
  padding-top: 25px !important; }

.pdR25 {
  padding-right: 25px !important; }

.pdB25 {
  padding-bottom: 25px !important; }

.pdL25 {
  padding-left: 25px !important; }

.margin-half {
  margin-bottom: 30px !important; }
  @media (max-width: 767.9px) {
    .margin-half {
      margin-bottom: 20px !important; } }

.float-left {
  float: left; }

.float-right {
  float: right; }

.clearfix:after {
  content: "";
  display: block;
  clear: both; }

.clearfix {
  display: block; }

.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: #003B88 url("/houjin/assets/images/common/icn_arrow_white.png") center center no-repeat;
    background-size: 11px 5px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    transform: rotate(-90deg); }
    .back-to-top__btn:hover {
      opacity: .3; }

.is-hidden {
  display: none; }

.breadcrumb {
  width: 100%;
  height: 100px; }
  @media (max-width: 767.9px) {
    .breadcrumb {
      height: auto;
      border-bottom: solid 1px #e5e5e5;
      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: #6f6f6f;
        padding: 25px 30px;
        display: block;
        overflow-x: scroll;
        overflow-y: hidden;
        white-space: nowrap; }
        .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: ""; } }
  @media (max-width: 767.9px) {
    .breadcrumb__item {
      display: inline-block; } }
  .breadcrumb__item:not(:last-child)::after {
    content: " / ";
    margin: 0 10px; }
  @media (max-width: 767.9px) {
    .breadcrumb__link {
      color: #6f6f6f; } }
  .breadcrumb__link:hover {
    color: #003B88; }

.kv {
  width: 100%;
  background: #003B88; }
  @media (max-width: 767.9px) {
    .kv {
      margin-bottom: 55px; } }
  .kv__in {
    max-width: 1900px;
    margin: 0 auto;
    position: relative;
    padding-top: 43px; }
  .kv__lead {
    width: 597px;
    text-align: center;
    border-radius: 5px 5px 0 0;
    background-color: #f8f8f8;
    margin: 0 auto;
    padding: 50px 0 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: #003B88;
      margin: 30px auto 0; }
      @media (max-width: 767.9px) {
        .kv__title::after {
          margin: 20px auto; } }

.top-lead {
  width: 1160px;
  margin: 0 auto 94px;
  position: relative; }
  @media (max-width: 767.9px) {
    .top-lead {
      width: 100%;
      margin-bottom: 55px;
      padding: 0 27px;
      box-sizing: border-box; } }
  .top-lead__title {
    font-size: 1.8rem;
    font-weight: 500;
    margin-bottom: 30px; }
    @media (max-width: 767.9px) {
      .top-lead__title {
        font-size: 1.6rem; } }
  @media (min-width: 768px) {
    .top-lead--kikaku {
      width: 720px; } }
  .top-lead__img--kikaku {
    margin: 48px 0 26px;
    width: 100%; }
    @media (min-width: 768px) {
      .top-lead__img--kikaku {
        width: 380px;
        height: auto;
        margin: 0;
        position: absolute;
        right: 0;
        top: 0; } }
    @media (max-width: 767.9px) {
      .top-lead__img--kikaku {
        margin: 25px auto 15px; } }
  @media (min-width: 768px) {
    .top-lead--shisetsu {
      width: 960px;
      padding: 0 100px; } }

.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: #003B88;
            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--center {
      display: flex;
      flex-wrap: wrap;
      justify-content: center; }
    .btn-list__item--index2col {
      width: 460px;
      margin-bottom: 60px; }
      .btn-list__item--index2col:not(:nth-of-type(odd)) {
        margin-left: 40px; }
    .btn-list__item--index3col {
      width: 308px;
      margin-bottom: 60px; }
      .btn-list__item--index3col:not(:nth-of-type(3n - 2)) {
        margin-left: 18px; }
    .btn-list__item--index4col {
      width: 225px;
      margin-bottom: 60px; }
      .btn-list__item--index4col:not(:nth-of-type(4n - 3)) {
        margin-left: 20px; }
    .btn-list__item--lower2col {
      width: 375px;
      margin-bottom: 60px; }
      .btn-list__item--lower2col:not(:nth-of-type(odd)) {
        margin-left: 50px; }
    .btn-list__item--lower3col {
      width: 250px;
      margin-bottom: 60px; }
      .btn-list__item--lower3col:not(:nth-of-type(3n - 2)) {
        margin-left: 25px; }
    .btn-list__img {
      width: 100%;
      height: auto; }
    .btn-list + .section {
      margin-top: 20px; } }
@media (max-width: 767.9px) {
  .btn-list__item--index2col {
    margin-bottom: 50px; }
  .btn-list__item--index3col {
    margin-bottom: 63px; }
  .btn-list__item--lower2col {
    margin-bottom: 30px; }
    .btn-list__item--lower2col:last-child {
      margin-bottom: 0px; }
  .btn-list__item--lower3col {
    margin-bottom: 43px; } }

.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; }
    @media (max-width: 767.9px) {
      .ln-list__item {
        border-bottom: solid 1px #e5e5e5; } }
  .ln-list__link {
    display: block;
    font-size: 1.4rem;
    font-weight: 300;
    padding: 23px 0; }
    @media (min-width: 768px) {
      .ln-list__link {
        line-height: 1.6;
        padding: 15px 0; } }
    @media (max-width: 767.9px) {
      .ln-list__link:not(.has-child) {
        background: url("../images/common/icn_arrow_gray.png") right 27px center no-repeat;
        background-size: 12px auto; } }
    .ln-list__link:hover {
      color: #003B88; }
    .ln-list__link.current {
      color: #003B88; }
  .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;
        height: 60px;
        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 16px;
  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: #003B88; }
    .ln-child__link.current {
      color: #003B88; }

.local-contact {
  border: solid 1px #d9d9d9;
  padding: 15px 0 15px 20px;
  margin-top: 50px; }
  .local-contact__title {
    font-size: 1.6rem;
    font-weight: 500;
    margin-bottom: 18px; }
  .local-contact__text {
    font-size: 1.2rem;
    margin-top: 12px; }

.article {
  position: relative; }
  @media (min-width: 768px) {
    .article {
      width: 800px; }
      .article::before {
        content: "";
        display: block;
        width: 272px;
        height: 3px;
        background: #003B88;
        position: absolute;
        top: -110px;
        left: 0; } }
  @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--full {
      width: 100%;
      margin-bottom: 80px; } }
  @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: #003B88; } }
    @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; }
  .lower-1col:last-child {
    margin-bottom: 0; }
  @media (max-width: 767.9px) {
    .lower-1col {
      margin-bottom: 40px; } }
  .lower-1col__img {
    max-width: 100%;
    height: auto; }
  .lower-1col::after {
    content: "";
    display: block;
    clear: both; }

@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; }
      .lower-2col__block--right img {
        margin-top: .5em; } }
  @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; }
      .lower-2col__block--left img {
        margin-top: .5em; } }
  @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 {
  font-size: 1.4rem;
  line-height: 2;
  margin-top: 23px; }
  .lower-2col__text::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2) * .5em);
    content: ""; }
  .lower-2col__text::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 2) * .5em);
    content: ""; }
.lower-2col__text--center {
  text-align: center;
  margin-top: 23px;
  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;
    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__text {
  font-size: 1.4rem;
  line-height: 2;
  margin-top: 23px; }
  .lower-3col__text::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2) * .5em);
    content: ""; }
  .lower-3col__text::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 2) * .5em);
    content: ""; }
.lower-3col__link {
  display: block; }
  .lower-3col__link:hover {
    opacity: .3; }

@media (min-width: 768px) {
  .lower-4col {
    margin-bottom: 60px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .lower-4col:last-child {
      margin-bottom: 0; } }
@media (max-width: 767.9px) {
  .lower-4col {
    margin-bottom: 40px; }
    .lower-4col:last-child {
      margin-bottom: 0; } }
@media (min-width: 768px) {
  .lower-4col__block {
    width: 185px; }
    .lower-4col__block:not(:nth-last-of-type(-n+4)) {
      margin-bottom: 60px; }
    .lower-4col__block:not(:nth-of-type(4n)) {
      margin-right: 20px; } }
@media (max-width: 767.9px) {
  .lower-4col__block {
    margin-bottom: 40px; }
    .lower-4col__block:last-child {
      margin-bottom: 0; } }
.lower-4col__img {
  width: 100%;
  height: auto; }
.lower-4col__link {
  display: block; }
  .lower-4col__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--red-s {
    color: #eb3323;
    font-size: 1.2rem;
    line-height: 1.9rem;
    padding-left: 10px;
}
  .text--blue {
    color: #003B88; }
  .text--margin-half {
    margin-bottom: 30px; }
    @media (max-width: 767.9px) {
      .text--margin-half {
        margin-bottom: 20px; } }
  .text--right {
    text-align: right; }
  .text--underline {
    border-bottom: solid 1px #d9d9d9;
    display: inline-block;
    padding-bottom: 0.5em; }

.comment {
  margin-top: 40px;
  line-height: 2; }
  .comment::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2) * .5em);
    content: ""; }
  .comment::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 2) * .5em);
    content: ""; }
  .comment:not(:last-child) {
    margin-bottom: 60px; }
    @media (max-width: 767.9px) {
      .comment:not(:last-child) {
        margin-bottom: 40px; } }
  .comment__text {
    font-size: 1rem;
    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;
    letter-spacing: .1em;
    font-weight: 400;
    padding-left: 20px;
    position: relative; }
    .comment__text--l::before {
      content: "※";
      position: absolute;
      left: 0;
      top: 0; }
  .comment__text--counter {
    counter-increment: item;
    font-size: 1rem;
    line-height: 2;
    letter-spacing: .1em;
    font-weight: 400;
    padding-left: 26px;
    position: relative; }
    .comment__text--counter::before {
      content: "※" counter(item);
      position: absolute;
      left: 0;
      top: 0; }

.alert-box {
  padding: 40px;
  background-color: #f8f8f8; }
  @media (max-width: 767.9px) {
    .alert-box {
      padding: 40px 30px; } }
  .alert-box--red {
    padding: 40px;
    border: solid 1px #eb3323;
    border-radius: 5px; }
    @media (max-width: 767.9px) {
      .alert-box--red {
        padding: 40px 30px; } }
  .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: 35px; }
  .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: 32px; }
  .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: 20px; }
      .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: 20px; }
  .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: 500; }

.border-box1 {
  border: solid 1px #d9d9d9;
  border-radius: 4px;
  padding: 35px 40px;
  box-sizing: border-box; }
  @media (max-width: 767.9px) {
    .border-box1 {
      padding: 35px 30px; } }
  .border-box1 .text {
    font-size: 1.4rem; }

.contact-box {
  border: solid 1px #d9d9d9;
  border-radius: 4px;
  padding: 60px;
  box-sizing: border-box; }
  @media (max-width: 767.9px) {
    .contact-box {
      padding: 35px 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: #003B88;
      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, .list2--wrap .list2__item {
  line-height: 2;
  position: relative;
  padding-left: 30px;
  margin-bottom: 22px; }
  .list2__item::before, .list2--wrap .list2__item::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2) * .5em);
    content: ""; }
  .list2__item::after, .list2--wrap .list2__item::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 2) * .5em);
    content: ""; }
  @media (max-width: 767.9px) {
    .list2__item, .list2--wrap .list2__item {
      font-size: 1.4rem;
      line-height: 1.857;
      padding-left: 26px; }
      .list2__item::before, .list2--wrap .list2__item::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 1.857) * .5em);
        content: ""; }
      .list2__item::after, .list2--wrap .list2__item::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 1.857) * .5em);
        content: ""; } }
  .list2__item::before, .list2--wrap .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, .list2--wrap .list2__item::before {
        top: 1.3em; } }
.list2:last-child .list2__item:last-child {
  margin-bottom: 0; }

.list2--wrap:not(:last-child) {
  margin-bottom: 50px; }
  @media (max-width: 767.9px) {
    .list2--wrap:not(:last-child) {
      margin-bottom: 30px; } }
.list2--wrap .list2__item {
  display: inline-block;
  margin-bottom: 10px;
  margin-right: 32px; }

.list3 {
  display: flex;
  flex-wrap: wrap;
  margin-left: -40px;
  margin-bottom: 60px;
  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; }

.list4:not(:last-child) {
  margin-bottom: 60px; }
  @media (max-width: 767.9px) {
    .list4:not(:last-child) {
      margin-bottom: 40px; } }
.list4__item {
  line-height: 2;
  position: relative;
  padding-left: 30px;
  text-indent: -30px;
  margin-bottom: 22px;
  counter-increment: cnt; }
  .list4__item::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2) * .5em);
    content: ""; }
  .list4__item::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 2) * .5em);
    content: ""; }
  @media (max-width: 767.9px) {
    .list4__item {
      font-size: 1.4rem;
      line-height: 1.857;
      padding-left: 26px;
      text-indent: -26px; }
      .list4__item::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 1.857) * .5em);
        content: ""; }
      .list4__item::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 1.857) * .5em);
        content: ""; } }
  .list4__item::before {
    content: "(" counter(cnt) ") "; }

.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;
    font-size: 1.4rem; }
    @media (max-width: 767.9px) {
      .accordion__content {
        padding: 15px 0 60px; } }
  .accordion__content-text {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 40px; }
    .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: ""; }
    @media (max-width: 767.9px) {
      .accordion__content-text {
        margin-bottom: 20px; } }
  .accordion__icon {
    padding-left: 56px; }
    @media (max-width: 767.9px) {
      .accordion__icon {
        padding-left: 43px; } }
  .accordion__icon--q {
    font-size: 1.4rem;
    font-family: "Quattrocento", serif;
    text-align: center;
    width: 30px;
    height: 30px;
    line-height: 30px;
    color: #fff;
    background: #003B88;
    font-weight: normal;
    display: block;
    position: absolute;
    left: 0;
    top: 19px;
    border-radius: 15px;
    box-sizing: border-box; }
    @media (max-width: 767.9px) {
      .accordion__icon--q {
        width: 28px;
        height: 28px;
        line-height: 28px;
        top: 50%;
        transform: translateY(-50%);
        border-radius: 14px; } }
  .accordion__icon--a {
    font-size: 1.4rem;
    font-family: "Quattrocento", serif;
    text-align: center;
    width: 30px;
    height: 30px;
    line-height: 30px;
    color: #003B88;
    border: solid 1px #003B88;
    font-weight: normal;
    display: block;
    position: absolute;
    left: 0;
    top: 24px;
    border-radius: 15px;
    box-sizing: border-box; }
    @media (max-width: 767.9px) {
      .accordion__icon--a {
        width: 26px;
        height: 26px;
        line-height: 24px;
        border-radius: 13px; } }

/* 正方形バージョン */
.accordion__icon--square {
  border-radius: 0 !important;
}
@media (max-width: 767.9px) {
  .accordion__icon--square {
    border-radius: 0 !important;
  }
}
@media (max-width: 767.9px) {

  .accordion__icon--q,
  .accordion__icon--a {
    top: 19px;          /* PCと揃える */
    transform: none;    /* 中央寄せ解除 */
  }

}

@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: #003B88;
  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.6rem;
  line-height: 1.4;	
  border: solid 1px #d9d9d9;
  border-radius: 5px;
  padding: 20px 50px 20px 25px;
  background: url("../images/common/btn_icn_anchor.png") right 25px center no-repeat;
  background-size: 9px auto; }
  @media (max-width: 767.9px) {
    .anchor2__link {
      font-size: 1.2rem; } }
  .anchor2__link:hover {
    color: #fff;
    border: solid 1px #003B88;
    background: #003B88 url("../images/common/btn_icn_anchor_on.png") right 25px center no-repeat;
    background-size: 9px auto; }
.anchor2__link--small {
  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--small:hover {
    color: #fff;
    border: solid 1px #003B88;
    background: #003B88 url("../images/common/btn_icn_anchor_on.png") right 25px center no-repeat;
    background-size: 9px auto; }

@media (min-width: 768px) {
  .anchor2--2col {
    flex-wrap: wrap; }
    .anchor2--2col .anchor2__item {
      flex-basis: 48%;
      margin-bottom: 20px; }
    .anchor2--2col .anchor2__item:not(:first-child) {
      margin-left: 0; } }

@media (min-width: 768px) {
  .anchor2--3col {
    flex-wrap: wrap; }
    .anchor2--3col .anchor2__item {
      flex-basis: 31%;
      margin-bottom: 20px; }
    .anchor2--3col .anchor2__item:not(:first-child) {
      margin-left: 0; } }

.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 tbody, .table-line tr {
        display: block; } }
  .table-line .table-line__th, .table-line .table-line__th--w40, .table-line .table-line__th--w100, .table-line .table-line__th--w180, .table-line .table-line__th--last {
    font-size: 1.4rem;
    line-height: 1.857;
    font-weight: 500;
    vertical-align: middle;
    padding: 8px 20px;
    white-space: nowrap;
    position: relative; }
    @media (max-width: 767.9px) {
      .table-line .table-line__th, .table-line .table-line__th--w40, .table-line .table-line__th--w100, .table-line .table-line__th--w180, .table-line .table-line__th--last {
        font-size: 1.6rem;
        display: block;
        border-right: none;
        border-top: solid 1px #ebebeb;
        padding: 20px 0 15px; } }
    @media (min-width: 768px) {
      .table-line .table-line__th::before, .table-line .table-line__th--w40::before, .table-line .table-line__th--w100::before, .table-line .table-line__th--w180::before, .table-line .table-line__th--last::before {
        content: "";
        display: block;
        border-top: solid 1px #ebebeb;
        position: absolute;
        width: 100%;
        left: 0px;
        bottom: -20px; } }
  @media (min-width: 768px) {
    .table-line__th--w40 {
      width: 40px; } }
  @media (min-width: 768px) {
    .table-line__th--w100 {
      width: 100px; } }
  @media (min-width: 768px) {
    .table-line__th--w180 {
      width: 180px; } }
  @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: 8px 30px;
    position: relative;
    word-break: break-all; }
    @media (max-width: 767.9px) {
      .table-line__td {
        display: block;
        padding: 0 0 35px; } }
    @media (min-width: 768px) {
      .table-line__td {
        border-left: solid 1px #ebebeb; }
        .table-line__td::before {
          content: "";
          display: block;
          border-top: solid 1px #ebebeb;
          position: absolute;
          width: 100%;
          left: 0px;
          bottom: -20px; } }
  @media (min-width: 768px) {
    .table-line tr:first-child .table-line__th::after, .table-line tr:first-child .table-line__th--w180::after, .table-line tr:first-child .table-line__th--w100::after, .table-line tr:first-child .table-line__th--w40::after, .table-line tr:first-child .table-line__td::after {
      content: "";
      display: block;
      border-top: solid 1px #ebebeb;
      position: absolute;
      width: 100%;
      left: 0px;
      top: -20px; } }

.table-flat {
  font-size: 1.4rem;
  width: 100%;
  border-collapse: collapse; }
 .table-flat.sp-table-fix {
    min-width: 800px; }
  @media (max-width: 767.9px) {
    .table-flat {
      font-size: 1.2rem; } }
  .table-flat__th, .table-flat__th--center, .table-flat__th--right {
    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__th::before, .table-flat__th--center::before, .table-flat__th--right::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 1.714) * .5em);
      content: ""; }
    .table-flat__th::after, .table-flat__th--center::after, .table-flat__th--right::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 1.714) * .5em);
      content: ""; }
    @media (max-width: 767.9px) {
      .table-flat__th, .table-flat__th--center, .table-flat__th--right {
        padding: 19px 16px; } }
  .table-flat__th--center {
    text-align: center; }
  .table-flat__th--right {
    text-align: right; }
  .table-flat__td, .table-flat__td--center, .table-flat__td--right {
    line-height: 1.714;
    padding: 15px 40px;
    border: solid 1px #ebebeb;
    word-break: break-all; }
    .table-flat__td::before, .table-flat__td--center::before, .table-flat__td--right::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 1.714) * .5em);
      content: ""; }
    .table-flat__td::after, .table-flat__td--center::after, .table-flat__td--right::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 1.714) * .5em);
      content: ""; }
    @media (max-width: 767.9px) {
      .table-flat__td, .table-flat__td--center, .table-flat__td--right {
        padding: 19px 16px; } }
  .table-flat__td--center {
    text-align: center; }
  .table-flat__td--right {
    text-align: right; }
    
    /* /houjin/kikaku/inquiry/index.html 学習院大学 ［目白キャンパス／戸山キャンパス］ */
.table-univ-admin .table-flat__th, .table-univ-admin .table-flat__th--center, .table-univ-admin .table-flat__th--right{
  padding: 17px 5px;
}
.table-univ-admin .table-flat__td, .table-univ-admin .table-flat__td--center, .table-univ-admin .table-flat__td--right{
  padding: 15px 5px;
}
.table-univ-admin-campus-th{
  width: 55px;
  white-space: normal;
}
@media (max-width: 767.9px) {
  .table-univ-admin-campus-th{
    white-space: nowrap;
  }
}
/* */

.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: 3px; }
    .scroll .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
      top: 0;
      height: 3px; }
    .scroll .simplebar-scrollbar::before {
      background: #003B88;
      border-radius: 1.5px;
      height: 3px; }
    .scroll .simplebar-scrollbar.simplebar-visible:before {
      opacity: 1 !important; }
    .scroll .simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
      left: 0;
      right: 0; } }

.icon-plus, .icon-minus {
  display: inline-block;
  vertical-align: middle;
  color: #003B88;
  line-height: 1;
  width: 8px;
  height: 2px;
  background: #003B88;
  position: relative;
  margin: -2px 10px 0;
  transition: all 0.3s ease; }

.icon-plus::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 2px;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
  transition: all 0.3s ease; }

@media (min-width: 768px) {
  .youtube-wrapper {
    width: 560px; } }

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

.tab-wrap {
  display: flex;
  flex-wrap: wrap; }

.tab-label {
  color: #2f2f2f;
  background-color: #fff;
  border: solid 1px #d9d9d9;
  border-radius: 5px;
  text-align: center;
  font-size: 1.6rem;
  padding: 20px;
  box-sizing: border-box;
  margin-bottom: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  order: -1;
  flex: 1; }
  @media (max-width: 767.9px) {
    .tab-label {
      font-size: 1.4rem;
      padding: 15px 8px;
      margin-bottom: 60px; } }
  .tab-label:not(:last-of-type) {
    margin-right: 5%; }

.tab-content {
  width: 100%;
  display: none; }

.tab-label:hover {
  cursor: pointer; }

.tab-label:hover {
  color: #fff;
  border: solid 1px #003B88;
  background-color: #003B88;
  position: relative; }
  .tab-label:hover::after {
    content: '';
    display: block;
    border-style: solid;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 7px solid #003b88;
    width: 0px;
    height: 0px;
    position: absolute;
    left: 50%;
    bottom: -15px;
    margin-left: -4.5px; }

.tab-switch:checked + .tab-label {
  color: #fff;
  border: solid 1px #003B88;
  background-color: #003B88;
  position: relative; }

.tab-switch:checked + .tab-label::after {
  content: '';
  display: block;
  border-style: solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 7px solid #003b88;
  width: 0px;
  height: 0px;
  position: absolute;
  left: 50%;
  bottom: -15px;
  margin-left: -4.5px; }

.tab-switch:checked + .tab-label + .tab-content {
  display: block; }

/* ラジオボタン非表示 */
.tab-switch {
  display: none; }

/* modaal */
.modaal-close {
  display: none; }

.modaal-container {
  width: auto; }

.modaal-content-container {
  padding: 0; }

.lity {
  background: rgba(0, 0, 0, 0.2); }

.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:nth-child(4) {
    position: relative;
    margin-left: 20px; }

  .gn-main__item:nth-child(4)::before {
    content: '';
    display: block;
    height: 15px;
    width: 1px;
    background: #d9d9d9;
    position: absolute;
    left: -10px;
    top: 33px; }

  .gn-main__item:hover .gn-main__link {
    color: #fff;
    background: #003B88;
    font-weight: 400; }

  .gn-main__item:hover::after {
    content: "";
    display: block;
    width: 100%;
    height: 27px; }

  .gn-main__item:hover .gn-sub {
    display: block; }

  .gn-main__link {
    font-size: 1.4rem;
    display: block;
    padding: 33px 15px;
    white-space: nowrap; }

  .gn-main__link.current {
    color: #003B88;
    font-weight: 700; } }
@media (max-width: 767.9px) {
  .gn-main {
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 9999;
    display: none; }

  .gn-main.open {
    display: block; } }
@media (min-width: 768px) {
  .gn-sub {
    display: none;
    width: 100%;
    padding: 30px 0;
    background: #f8f8f8;
    border-top: solid 1px #d9d9d9;
    position: absolute;
    left: 0;
    top: 134px;
    z-index: 9999;
    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: #003B88 url("../images/common/icn_arrow_white.png") right 13.5px center no-repeat;
    background-size: 9px auto; } }
@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 (max-width: 767.9px) {
  .gn-sub__icon--02 {
    width: 65px;
    height: 60px;
    line-height: 60px;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    background: url("../images/common/icn_arrow_gray.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/icn_arrow_blue.png") right 13.5px center no-repeat;
    background-size: 9px auto; } }
@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;
    background: #f8f8f8; } }
@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: 1.6;
    padding-left: 25px;
    color: #2f2f2f;
    box-sizing: border-box;
    position: relative;
    display: flex;
    justify-content: left;
    align-items: center; }

  .gn-sub__link::before {
    content: '';
    display: block;
    width: 25px;
    height: 25px;
    background: #fff url("../images/common/icn_arrow_blue.png") center center no-repeat;
    background-size: 9px auto;
    position: absolute;
    right: 0;
    bottom: 0; }

  .gn-sub__link:hover {
    color: #2f2f2f; }

  .gn-sub__link:hover::before {
    content: '';
    display: block;
    width: 25px;
    height: 25px;
    background: #003B88 url("../images/common/icn_arrow_white.png") center center no-repeat;
    background-size: 9px auto;
    position: absolute;
    right: 0;
    bottom: 0; } }
@media (max-width: 767.9px) {
  .gn-sub__link {
    font-size: 1.4rem;
    height: 60px;
    line-height: 60px;
    background: url("../images/common/icn_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.jpg") left center no-repeat; }

  .gn-about__item--01 {
    background: #f8f8f8 url("../images/common/gn_about_01_pc.jpg") right center no-repeat;
    background-size: contain; }

  .gn-about__item--02 {
    background: #f8f8f8 url("../images/common/gn_about_02_pc.jpg") right center no-repeat;
    background-size: contain; }

  .gn-about__item--03 {
    background: #f8f8f8 url("../images/common/gn_about_03_pc.jpg") right center no-repeat;
    background-size: contain; }

  .gn-about__item--04 {
    background: #f8f8f8 url("../images/common/gn_about_04_pc.jpg") right center no-repeat;
    background-size: contain; }

  .gn-about__item--05 {
    background: #f8f8f8 url("../images/common/gn_about_05_pc.jpg") right center no-repeat;
    background-size: contain; }

  .gn-about__item--06 {
    background: #f8f8f8 url("../images/common/gn_about_06_pc.jpg") right center no-repeat;
    background-size: contain; }

  .gn-about__item--07 {
    background: #f8f8f8 url("../images/common/gn_about_07_pc.jpg") right center no-repeat;
    background-size: contain; }

  .gn-sisetu__title-link {
    background: url("../images/common/gn_sisetu_title_pc.jpg") left center no-repeat; }

  .gn-sisetu__item--01 {
    background: #f8f8f8 url("../images/common/gn_shisetsu_01_pc.jpg") right center no-repeat;
    background-size: contain; }

  .gn-sisetu__item--02 {
    background: #f8f8f8 url("../images/common/gn_shisetsu_02_pc.jpg") right center no-repeat;
    background-size: contain; }

  .gn-sisetu__item--03 {
    background: #f8f8f8 url("../images/common/gn_shisetsu_03_pc.jpg") right center no-repeat;
    background-size: contain; }

  .gn-disclosure__title-link {
    background: url("../images/common/gn_disclosure_title_pc.jpg") left center no-repeat; }

  .gn-disclosure__item {
    background: #f8f8f8; }

  .gn-disclosure__item > .gn-sub__link {
    padding-left: 24px;
    text-align: left; } }
@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: #003B88 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: #003B88 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: #003B88 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: #003B88 url("../images/common/header_icon_search_on.png") center 17px no-repeat;
    background-size: auto 17px; } }
.gn-aside__search.open {
  color: #fff;
  background: #003B88 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; }

@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: #003B88 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 {
    padding: 0 27px 27px 27px;
    background: #f8f8f8; } }
@media (max-width: 767.9px) {
  .gn-aside__font-size-in {
    display: flex;
    justify-content: space-around;
    align-items: center;
    border-radius: 3px;
    background: #fff; } }
.gn-aside__en {
  display: block;
  width: 74px;
  height: 28px;
  padding-top: 50px;
  border-right: solid 1px #d9d9d9;
  background: #fff url("../images/common/header_icon_en.png") center 20px no-repeat;
  background-size: auto 22px; }

@media (min-width: 768px) {
  .gn-aside__en:hover {
    color: #fff;
    background: #003B88 url("../images/common/header_icon_en_on.png") center 20px no-repeat;
    background-size: auto 22px; } }
@media (max-width: 767.9px) {
  .gn-aside__en:hover {
    color: #fff;
    background: #003B88 url("../images/common/header_icon_en_on.png") center 17px no-repeat;
    background-size: auto 17px; } }
.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);
    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: #003B88 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: #003B88 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: #003B88 url("../images/common/header_icon_size_on.png") center 18px no-repeat;
  background-size: auto 10px; }

@media (max-width: 767.9px) {
  .gn-lang {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 27px 27px 10px 27px;
    background: #f8f8f8; }

  .gn-lang__item {
    width: 50%; }

  .gn-lang__item:first-child {
    margin-right: 10px; }

  .gn-lang__link {
    display: block;
    width: 100%;
    height: 90px;
    padding-top: 50px;
    text-align: center;
    border-radius: 3px;
    background: #fff url("../images/common/header_icon_en.png") center 17px no-repeat;
    background-size: auto 30px;
    box-sizing: border-box; }

  .gn-lang__link.current {
    color: #fff;
    background: #003B88 url("../images/common/header_icon_en_on.png") center 17px no-repeat;
    background-size: auto 30px; } }
@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: #003B88 url("../images/common/header_icon_drawer_on.png") center 19px no-repeat;
    background-size: auto 13px; }

  .drawer.open {
    color: #fff;
    background: #003B88 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__in {
    width: 960px;
    margin: 0 auto;
    display: flex; }

.fn-main {
  display: flex;
  width: 750px;
  margin: 0 auto; }
  .fn-main__item {
    width: 210px; }
    .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-main2 {
  width: 210px; }
  .fn-main2__item {
    width: 210px; }
    .fn-main2__item:not(:first-child) {
      margin-top: 43px; }
  .fn-main2__link {
    font-size: 1.4rem;
    font-weight: 500;
    display: block;
    margin-bottom: 23px;
    font-feature-settings: "palt"; }

.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: ""; }

.fn-sub2 {
  font-size: 1.2rem;
  line-height: 2.66;
  margin-left: 30px; }
  .fn-sub2::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2.66) * .5em);
    content: ""; }
  .fn-sub2::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 #e5e5e5; } }
  .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 #e5e5e5; }
      .ft-link__item:nth-child(odd) {
        border-right: solid 1px #e5e5e5;
        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;
    background-size: 76px auto; } }
@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; } }
  .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;
        z-index: 0; }

.ft-aside2 {
  overflow: hidden; }
  @media (min-width: 768px) {
    .ft-aside2 {
      display: flex;
      margin-top: 12px; } }
  .ft-aside2__link {
    font-size: 1.2rem; }
    @media (min-width: 768px) {
      .ft-aside2__link:not(:last-child) {
        padding-right: 16px;
        margin-right: 16px;
        position: relative; }
        .ft-aside2__link:not(:last-child)::before {
          content: "";
          display: block;
          position: absolute;
          right: 0;
          top: 1px;
          height: 10px;
          border-right: solid 1px #d9d9d9;
          z-index: 0; } }
    @media (max-width: 767.9px) {
      .ft-aside2__link {
        text-align: center;
        display: block;
        width: 100%;
        margin-top: 20px;
        padding-bottom: 20px;
        border-bottom: solid 1px #d9d9d9;
        box-sizing: border-box; }
        .ft-aside2__link:last-child {
          padding-left: 16px;
          position: relative;
          width: 50%;
          float: right; }
          .ft-aside2__link:last-child::before {
            content: "";
            display: block;
            position: absolute;
            left: 0;
            top: 1px;
            height: 10px;
            border-right: solid 1px #d9d9d9;
            z-index: 0; }
        .ft-aside2__link:nth-last-of-type(2) {
          width: 50%;
          float: left; } }

.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: #f2f2f2 url("../images/common/icn_arrow_blue.png") right 12px center no-repeat;
  background-size: 13px 6px;
  position: relative;
  text-align: center; }
  .btn1:hover {
    color: #fff;
    background: #003B88 url("../images/common/icn_arrow_white.png") right 12px center no-repeat;
    background-size: 13px 6px; }
  .btn1::before {
    content: "";
    border-right: solid 1px #d9d9d9;
    display: block;
    height: 38px;
    position: absolute;
    right: 38px;
    top: 0; }

.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 #003B88; }
    @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 #003B88;
        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 #003B88;
      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: #003B88 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: #003B88;
    border: solid 1px #003B88;
    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: #003B88 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: #003B88;
    border: solid 1px #003B88;
    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: #003B88;
    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 bottom 14px 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: url("../images/common/btn_icn_circle_arrow_blue.png") right bottom 19px no-repeat;
      background-size: 25px 25px !important;
      padding: 5px 30px 25px 0; } }
  .btn7::before {
    content: "";
    position: absolute;
    bottom: -1px;
    right: 0;
    display: block;
    width: 0;
    height: 1px;
    background-color: #003B88;
    transition: all 500ms ease; }
  .btn7:hover {
    background: url("../images/common/btn_icn_circle_arrow_blue_on.png") right bottom 14px 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%;
        height: auto;
        overflow: hidden; } }
    .btn8__in::after {
      content: "";
      width: 30px;
      height: 30px;
      background: #fff url("../images/common/icn_arrow_blue.png") center center no-repeat;
      background-size: 13px 6px;
      position: absolute;
      right: 0;
      bottom: 0;
      transition: all 0.3s ease; }
  .btn8__img {
    width: 100%;
    height: auto;
    vertical-align: bottom; }
  .btn8__title {
    font-size: 1.8rem;
    font-weight: 500;
    margin: 30px 0 0;
    line-height: 1.6; }
    .btn8__title::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 1.6) * .5em);
      content: ""; }
    .btn8__title::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 1.6) * .5em);
      content: ""; }
    @media (max-width: 767.9px) {
      .btn8__title {
        font-size: 1.6rem;
        margin: 25px 0 0; } }
  .btn8__text {
    font-size: 1.4rem;
    line-height: 2;
    margin-top: 30px; }
    .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: ""; }
    @media (max-width: 767.9px) {
      .btn8__text {
        margin-top: 25px; } }
  .btn8:hover {
    color: #2f2f2f; }
    .btn8:hover .btn8__in::after {
      background: #003B88 url("../images/common/icn_arrow_white.png") center center no-repeat;
      background-size: 13px 6px; }

.btn-list__item--index4col .btn8__in {
  width: 100%;
  height: 169px; }
  @media (max-width: 767.9px) {
    .btn-list__item--index4col .btn8__in {
      height: auto; } }

.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: #fff url("../images/common/icn_arrow_blue.png") center center no-repeat;
      background-size: 13px 6px;
      position: absolute;
      right: 0;
      bottom: 0;
      transition: all 0.3s ease; }
  .btn9__in--pdf {
    width: 250px;
    height: 187px;
    position: relative; }
    @media (max-width: 767.9px) {
      .btn9__in--pdf {
        width: 320px;
        height: 240px; } }
    .btn9__in--pdf::after {
      content: "";
      width: 30px;
      height: 30px;
      background: #fff url("../images/common/btn_icn_pdf.png") center center no-repeat;
      background-size: 12px auto;
      position: absolute;
      right: 0;
      bottom: 0; }
  .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: #003B88 url("../images/common/icn_arrow_white.png") center center no-repeat;
      background-size: 13px 6px; }
    .btn9:hover .btn9__in--pdf {
      opacity: .3; }

.btn10 {
  overflow: hidden; }
  .btn10__link, .btn10__link--img {
    text-align: center;
    display: block;
    width: 100%;
    height: 105px;
    background: #f8f8f8;
    position: relative;
    margin-bottom: 25px;
    box-sizing: border-box;
    line-height: 1.6;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media (max-width: 767.9px) {
      .btn10__link, .btn10__link--img {
        width: 100%;
        height: 75px;
        margin-bottom: 20px; } }
    .btn10__link::after, .btn10__link--img::after {
      content: "";
      width: 30px;
      height: 30px;
      background: #fff url("../images/common/icn_arrow_blue.png") center center no-repeat;
      background-size: 13px 6px;
      position: absolute;
      right: 0;
      bottom: 0;
      transition: all 0.3s ease; }
    .btn10__link:hover, .btn10__link--img:hover {
      color: #2f2f2f; }
      .btn10__link:hover::after, .btn10__link--img:hover::after {
        background: #003B88 url("../images/common/icn_arrow_white.png") center center no-repeat;
        background-size: 13px 6px; }
    .btn10__link--blank {
      text-align: center;
      line-height: 105px;
      display: block;
      width: 460px;
      height: 105px;
      background: #f8f8f8;
      position: relative;
      margin-bottom: 25px;
      box-sizing: border-box; }
      @media (max-width: 767.9px) {
        .btn10__link--blank {
          width: 100%;
          height: 75px;
          line-height: 75px; } }
      .btn10__link--blank::after {
        background: #fff url("../images/common/btn_icn_blank.png") center center no-repeat;
        background-size: 12px auto; }
      .btn10__link--blank:hover {
        opacity: .3; }
      .btn10__link--blank:hover::after {
        background: #fff url("../images/common/btn_icn_blank.png") center center no-repeat;
        background-size: 12px auto; }
  .btn10__link--img {
    padding-left: 140px; }
    @media (max-width: 767.9px) {
      .btn10__link--img {
        padding-left: 100px; } }
  .btn10__img {
    width: auto;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }
  .btn10__text {
    font-size: 1.4rem;
    line-height: 2.1; /* ← 2025/10/27Edge対策で追加 */
  overflow: visible;}/* ← 2025/10/27Edge対策で追加 */

.btn11, .btn11--blank, .btn11--photo {
  display: block; }
  .btn11__in {
    position: relative; }
    .btn11__in::after {
      content: "";
      width: 30px;
      height: 30px;
      background: #fff url("../images/common/icn_arrow_blue.png") center center no-repeat;
      background-size: 13px 6px;
      position: absolute;
      right: 0;
      bottom: 0;
      transition: all 0.3s ease; }
  .btn11__img {
    width: 100%;
    height: 100%;
    vertical-align: bottom; }
  .btn11__title {
    font-size: 1.8rem;
    font-weight: 500;
    margin: 30px 0; }
    @media (max-width: 767.9px) {
      .btn11__title {
        margin: 25px 0; } }
  .btn11__text {
    font-size: 1.4rem;
    line-height: 2; }
    .btn11__text::before {
      display: block;
      width: 0;
      height: 0;
      margin-top: calc((1 - 2) * .5em);
      content: ""; }
    .btn11__text::after {
      display: block;
      width: 0;
      height: 0;
      margin-bottom: calc((1 - 2) * .5em);
      content: ""; }
  .btn11:hover, .btn11--blank:hover, .btn11--photo:hover {
    color: #2f2f2f; }
    .btn11:hover .btn11__in::after, .btn11--blank:hover .btn11__in::after, .btn11--photo:hover .btn11__in::after {
      background: #003B88 url("../images/common/icn_arrow_white.png") center center no-repeat;
      background-size: 13px 6px; }

.btn11--blank .btn11__in::after {
  content: "";
  width: 30px;
  height: 30px;
  background: #fff url("../images/common/btn_icn_blank.png") center center no-repeat;
  background-size: 10px auto;
  position: absolute;
  right: 0;
  bottom: 0;
  transition: all 0.3s ease; }
.btn11--blank:hover {
  opacity: .3;
  color: #2f2f2f; }
  .btn11--blank:hover .btn11__in::after {
    background: #fff url("../images/common/btn_icn_blank.png") center center no-repeat;
    background-size: 10px auto; }

.btn11--photo .btn11__in::after {
  content: "";
  width: 30px;
  height: 30px;
  background: #fff url("../images/common/btn_icn_photo.png") center center no-repeat;
  background-size: 18px auto;
  position: absolute;
  right: 0;
  bottom: 0;
  transition: all 0.3s ease; }
.btn11--photo:hover {
  opacity: 1; }
  .btn11--photo:hover .btn11__in::after {
    background: #003B88 url("../images/common/btn_icn_photo_on.png") center center no-repeat;
    background-size: 18px auto; }

.btn12 {
  width: 300px;
  display: block; }
  @media (max-width: 767.9px) {
    .btn12 {
      width: 100%; } }
  .btn12__in {
    text-align: center;
    line-height: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    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;
        font-size: 1.5rem;
        margin-bottom: 20px;
        padding: 0 30px; } }
    .btn12__in::after {
      content: "";
      width: 30px;
      height: 30px;
      background: #fff url("../images/common/icn_arrow_blue.png") center center no-repeat;
      background-size: 13px 6px;
      position: absolute;
      right: 0;
      bottom: 0;
      transition: all 0.3s ease; }
  .btn12__in--blank {
    text-align: center;
    line-height: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    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;
        font-size: 1.5rem;
        margin-bottom: 20px;
        padding: 0 30px; } }
    .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__in--pdf {
    text-align: center;
    line-height: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    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--pdf {
        width: 100%;
        height: 60px;
        font-size: 1.5rem;
        margin-bottom: 20px;
        padding: 0 30px; } }
    .btn12__in--pdf::after {
      content: "";
      width: 30px;
      height: 30px;
      background: #fff url("../images/common/btn_icn_pdf.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: #003B88 url("../images/common/icn_arrow_white.png") center center no-repeat;
      background-size: 13px 6px; }
    .btn12:hover .btn12__in--blank, .btn12:hover .btn12__in--pdf {
      opacity: .3; }

.btn-pdf{
  background:#f8f8f8;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  text-align: center;
  line-height: 2;
  position: relative;
  transition: all 0.3s ease;
}
@media (min-width: 768px) {
.btn-pdf:hover{opacity: .3;}}
.btn-pdf::after{
  content: "";
  width: 30px;
  height: 30px;
  background: #fff url("../images/common/btn_icn_pdf.png") center center no-repeat;
  background-size: 12px auto;
  position: absolute;
  right: 0;
  bottom: 0;
}

.link-text {
  color: #003B88;
  border-bottom: solid 1px #003B88; }
  .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: auto 10px; }

.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-word:hover {
  opacity: .3; }
.link-word::after {
  content: "";
  display: inline-block;
  width: 22px;
  height: 16px;
  margin-left: 8px;
  background: url("../images/common/btn_icn_word.png") center center no-repeat;
  background-size: contain;
  vertical-align: middle; }

.link-excel:hover {
  opacity: .3; }
.link-excel::after {
  content: "";
  display: inline-block;
  width: 22px;
  height: 16px;
  margin-left: 8px;
  background: url("../images/common/btn_icn_excel.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: #003B88;
  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: #003B88 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: #003B88 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; }
  @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; }

.pagination {
  display: flex;
  justify-content: space-between;
  margin-top: 130px; }
  @media (max-width: 767.9px) {
    .pagination {
      margin-top: 75px; } }
  .pagination--first {
    display: flex;
    justify-content: flex-end;
    margin-top: 130px; }
    @media (max-width: 767.9px) {
      .pagination--first {
        margin-top: 75px; } }
  .pagination--last {
    display: flex;
    justify-content: flex-start;
    margin-top: 130px; }
    @media (max-width: 767.9px) {
      .pagination--last {
        margin-top: 75px; } }
  .pagination__prev {
    position: relative;
    padding-left: 31px;
    padding-bottom: 15px;
    border-bottom: solid 1px #999; }
    .pagination__prev::before {
      content: '';
      display: block;
      background: url("../images/common/icn_arrow_gray.png") center center no-repeat;
      background-size: contain;
      width: 11px;
      height: 5px;
      position: absolute;
      left: 0;
      top: calc(50% - 10px);
      margin-top: -2.5px;
      transform: scale(-1, 1); }
    .pagination__prev:hover {
      opacity: .3; }
  .pagination__next {
    position: relative;
    padding-right: 31px;
    padding-bottom: 15px;
    border-bottom: solid 1px #999; }
    .pagination__next::before {
      content: '';
      display: block;
      background: url("../images/common/icn_arrow_gray.png") center center no-repeat;
      background-size: contain;
      width: 11px;
      height: 5px;
      position: absolute;
      right: 0;
      top: calc(50% - 10px);
      margin-top: -2.5px; }
    .pagination__next:hover {
      opacity: .3; }

.popup-window {
  position: relative; }

.popup-close-btn {
  position: absolute;
  right: 20px;
  top: 20px;
  display: block;
  vertical-align: middle;
  line-height: 1;
  width: 20px;
  height: 20px;
  position: absolute;
  transition: all 0.3s ease; }
  @media (max-width: 767.9px) {
    .popup-close-btn {
      right: 10px;
      top: 10px; } }
  .popup-close-btn:hover {
    cursor: pointer;
    opacity: .3; }

.popup-close-btn::after {
  content: '';
  position: absolute;
  top: 10px;
  left: -4px;
  width: 28px;
  height: 1px;
  background: #2f2f2f;
  transform: rotate(45deg);
  transition: all 0.3s ease; }

.popup-close-btn::before {
  content: '';
  position: absolute;
  top: 10px;
  left: -4px;
  width: 28px;
  height: 1px;
  background: #2f2f2f;
  transform: rotate(-45deg);
  transition: all 0.3s ease; }

.swiper__in {
  position: relative; }

.swiper-slide img {
  width: 100%;
  height: auto; }

@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; } }
.slider {
  width: 100%; }
  @media (max-width: 767.9px) {
    .slider {
      width: calc(100% + 54px);
      margin-left: -27px; } }
  .slider a:hover {
    opacity: .7; }
  .slider__in {
    width: 100%;
    margin: 0 auto;
    position: relative; }
    @media (max-width: 767.9px) {
      .slider__in {
        width: 100%; } }
  .slider .swiper-container {
    width: 720px; }
    @media (max-width: 767.9px) {
      .slider .swiper-container {
        width: 100%; } }
  .slider .swiper-slide img {
    width: 100%;
    height: auto; }
  .slider .swiper-button-prev, .slider .swiper-button-next {
    background-image: url("../images/common/icn_arrow_blue.png");
    background-size: 16.5px auto; }
    .slider .swiper-button-prev:hover, .slider .swiper-button-next:hover {
      opacity: .3; }
  .slider .swiper-button-prev {
    transform: scale(-1, 1);
    left: 0; }
  .slider .swiper-button-next {
    right: 0; }
  .slider .swiper-pagination {
    position: relative;
    bottom: -20px; }
  .slider .swiper-pagination-clickable .swiper-pagination-bullet:not(:first-of-type) {
    margin-left: 15px; }
  .slider .swiper-pagination-bullet {
    border: solid 1px #000;
    background: none; }
  .slider .swiper-pagination-bullet-active {
    border: solid 1px #003B88;
    background: #003B88; }

@media (min-width: 768px) {
  .article--full .slider__in .swiper-container {
    width: 900px; } }