@charset "UTF-8";
/*!
 * Bootstrap Grid v4.0.0 (https://getbootstrap.com)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
@import url("https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css");
@import url("//fonts.googleapis.com/css?family=Cinzel");
@import url("//fonts.googleapis.com/css?family=Roboto+Condensed");
@import url("//fonts.googleapis.com/css?family=Open+Sans:400,700");
@import url("//fonts.googleapis.com/css?family=EB+Garamond");
@-ms-viewport {
  width: device-width; }
html {
  box-sizing: border-box;
  -ms-overflow-style: scrollbar; }

*,
*::before,
*::after {
  box-sizing: inherit; }

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  @media (min-width: 576px) {
    .container {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .container {
      max-width: 1140px; } }

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px; }

.no-gutters {
  margin-right: 0;
  margin-left: 0; }
  .no-gutters > .col,
  .no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0; }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px; }

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%; }

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: none; }

.col-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%; }

.col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%; }

.col-3 {
  flex: 0 0 25%;
  max-width: 25%; }

.col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%; }

.col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%; }

.col-6 {
  flex: 0 0 50%;
  max-width: 50%; }

.col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%; }

.col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%; }

.col-9 {
  flex: 0 0 75%;
  max-width: 75%; }

.col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%; }

.col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%; }

.col-12 {
  flex: 0 0 100%;
  max-width: 100%; }

.order-first {
  order: -1; }

.order-last {
  order: 13; }

.order-0 {
  order: 0; }

.order-1 {
  order: 1; }

.order-2 {
  order: 2; }

.order-3 {
  order: 3; }

.order-4 {
  order: 4; }

.order-5 {
  order: 5; }

.order-6 {
  order: 6; }

.order-7 {
  order: 7; }

.order-8 {
  order: 8; }

.order-9 {
  order: 9; }

.order-10 {
  order: 10; }

.order-11 {
  order: 11; }

.order-12 {
  order: 12; }

.offset-1 {
  margin-left: 8.3333333333%; }

.offset-2 {
  margin-left: 16.6666666667%; }

.offset-3 {
  margin-left: 25%; }

.offset-4 {
  margin-left: 33.3333333333%; }

.offset-5 {
  margin-left: 41.6666666667%; }

.offset-6 {
  margin-left: 50%; }

.offset-7 {
  margin-left: 58.3333333333%; }

.offset-8 {
  margin-left: 66.6666666667%; }

.offset-9 {
  margin-left: 75%; }

.offset-10 {
  margin-left: 83.3333333333%; }

.offset-11 {
  margin-left: 91.6666666667%; }

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }

  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }

  .col-sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%; }

  .col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%; }

  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }

  .col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%; }

  .col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%; }

  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }

  .col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%; }

  .col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%; }

  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }

  .col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%; }

  .col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%; }

  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%; }

  .order-sm-first {
    order: -1; }

  .order-sm-last {
    order: 13; }

  .order-sm-0 {
    order: 0; }

  .order-sm-1 {
    order: 1; }

  .order-sm-2 {
    order: 2; }

  .order-sm-3 {
    order: 3; }

  .order-sm-4 {
    order: 4; }

  .order-sm-5 {
    order: 5; }

  .order-sm-6 {
    order: 6; }

  .order-sm-7 {
    order: 7; }

  .order-sm-8 {
    order: 8; }

  .order-sm-9 {
    order: 9; }

  .order-sm-10 {
    order: 10; }

  .order-sm-11 {
    order: 11; }

  .order-sm-12 {
    order: 12; }

  .offset-sm-0 {
    margin-left: 0; }

  .offset-sm-1 {
    margin-left: 8.3333333333%; }

  .offset-sm-2 {
    margin-left: 16.6666666667%; }

  .offset-sm-3 {
    margin-left: 25%; }

  .offset-sm-4 {
    margin-left: 33.3333333333%; }

  .offset-sm-5 {
    margin-left: 41.6666666667%; }

  .offset-sm-6 {
    margin-left: 50%; }

  .offset-sm-7 {
    margin-left: 58.3333333333%; }

  .offset-sm-8 {
    margin-left: 66.6666666667%; }

  .offset-sm-9 {
    margin-left: 75%; }

  .offset-sm-10 {
    margin-left: 83.3333333333%; }

  .offset-sm-11 {
    margin-left: 91.6666666667%; } }
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }

  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }

  .col-md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%; }

  .col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%; }

  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }

  .col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%; }

  .col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%; }

  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }

  .col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%; }

  .col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%; }

  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }

  .col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%; }

  .col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%; }

  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%; }

  .order-md-first {
    order: -1; }

  .order-md-last {
    order: 13; }

  .order-md-0 {
    order: 0; }

  .order-md-1 {
    order: 1; }

  .order-md-2 {
    order: 2; }

  .order-md-3 {
    order: 3; }

  .order-md-4 {
    order: 4; }

  .order-md-5 {
    order: 5; }

  .order-md-6 {
    order: 6; }

  .order-md-7 {
    order: 7; }

  .order-md-8 {
    order: 8; }

  .order-md-9 {
    order: 9; }

  .order-md-10 {
    order: 10; }

  .order-md-11 {
    order: 11; }

  .order-md-12 {
    order: 12; }

  .offset-md-0 {
    margin-left: 0; }

  .offset-md-1 {
    margin-left: 8.3333333333%; }

  .offset-md-2 {
    margin-left: 16.6666666667%; }

  .offset-md-3 {
    margin-left: 25%; }

  .offset-md-4 {
    margin-left: 33.3333333333%; }

  .offset-md-5 {
    margin-left: 41.6666666667%; }

  .offset-md-6 {
    margin-left: 50%; }

  .offset-md-7 {
    margin-left: 58.3333333333%; }

  .offset-md-8 {
    margin-left: 66.6666666667%; }

  .offset-md-9 {
    margin-left: 75%; }

  .offset-md-10 {
    margin-left: 83.3333333333%; }

  .offset-md-11 {
    margin-left: 91.6666666667%; } }
@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }

  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }

  .col-lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%; }

  .col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%; }

  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }

  .col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%; }

  .col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%; }

  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }

  .col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%; }

  .col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%; }

  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }

  .col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%; }

  .col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%; }

  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; }

  .order-lg-first {
    order: -1; }

  .order-lg-last {
    order: 13; }

  .order-lg-0 {
    order: 0; }

  .order-lg-1 {
    order: 1; }

  .order-lg-2 {
    order: 2; }

  .order-lg-3 {
    order: 3; }

  .order-lg-4 {
    order: 4; }

  .order-lg-5 {
    order: 5; }

  .order-lg-6 {
    order: 6; }

  .order-lg-7 {
    order: 7; }

  .order-lg-8 {
    order: 8; }

  .order-lg-9 {
    order: 9; }

  .order-lg-10 {
    order: 10; }

  .order-lg-11 {
    order: 11; }

  .order-lg-12 {
    order: 12; }

  .offset-lg-0 {
    margin-left: 0; }

  .offset-lg-1 {
    margin-left: 8.3333333333%; }

  .offset-lg-2 {
    margin-left: 16.6666666667%; }

  .offset-lg-3 {
    margin-left: 25%; }

  .offset-lg-4 {
    margin-left: 33.3333333333%; }

  .offset-lg-5 {
    margin-left: 41.6666666667%; }

  .offset-lg-6 {
    margin-left: 50%; }

  .offset-lg-7 {
    margin-left: 58.3333333333%; }

  .offset-lg-8 {
    margin-left: 66.6666666667%; }

  .offset-lg-9 {
    margin-left: 75%; }

  .offset-lg-10 {
    margin-left: 83.3333333333%; }

  .offset-lg-11 {
    margin-left: 91.6666666667%; } }
@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }

  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }

  .col-xl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%; }

  .col-xl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%; }

  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%; }

  .col-xl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%; }

  .col-xl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%; }

  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%; }

  .col-xl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%; }

  .col-xl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%; }

  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%; }

  .col-xl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%; }

  .col-xl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%; }

  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%; }

  .order-xl-first {
    order: -1; }

  .order-xl-last {
    order: 13; }

  .order-xl-0 {
    order: 0; }

  .order-xl-1 {
    order: 1; }

  .order-xl-2 {
    order: 2; }

  .order-xl-3 {
    order: 3; }

  .order-xl-4 {
    order: 4; }

  .order-xl-5 {
    order: 5; }

  .order-xl-6 {
    order: 6; }

  .order-xl-7 {
    order: 7; }

  .order-xl-8 {
    order: 8; }

  .order-xl-9 {
    order: 9; }

  .order-xl-10 {
    order: 10; }

  .order-xl-11 {
    order: 11; }

  .order-xl-12 {
    order: 12; }

  .offset-xl-0 {
    margin-left: 0; }

  .offset-xl-1 {
    margin-left: 8.3333333333%; }

  .offset-xl-2 {
    margin-left: 16.6666666667%; }

  .offset-xl-3 {
    margin-left: 25%; }

  .offset-xl-4 {
    margin-left: 33.3333333333%; }

  .offset-xl-5 {
    margin-left: 41.6666666667%; }

  .offset-xl-6 {
    margin-left: 50%; }

  .offset-xl-7 {
    margin-left: 58.3333333333%; }

  .offset-xl-8 {
    margin-left: 66.6666666667%; }

  .offset-xl-9 {
    margin-left: 75%; }

  .offset-xl-10 {
    margin-left: 83.3333333333%; }

  .offset-xl-11 {
    margin-left: 91.6666666667%; } }
.d-none {
  display: none !important; }

.d-inline {
  display: inline !important; }

.d-inline-block {
  display: inline-block !important; }

.d-block {
  display: block !important; }

.d-table {
  display: table !important; }

.d-table-row {
  display: table-row !important; }

.d-table-cell {
  display: table-cell !important; }

.d-flex {
  display: flex !important; }

.d-inline-flex {
  display: inline-flex !important; }

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important; }

  .d-sm-inline {
    display: inline !important; }

  .d-sm-inline-block {
    display: inline-block !important; }

  .d-sm-block {
    display: block !important; }

  .d-sm-table {
    display: table !important; }

  .d-sm-table-row {
    display: table-row !important; }

  .d-sm-table-cell {
    display: table-cell !important; }

  .d-sm-flex {
    display: flex !important; }

  .d-sm-inline-flex {
    display: inline-flex !important; } }
@media (min-width: 768px) {
  .d-md-none {
    display: none !important; }

  .d-md-inline {
    display: inline !important; }

  .d-md-inline-block {
    display: inline-block !important; }

  .d-md-block {
    display: block !important; }

  .d-md-table {
    display: table !important; }

  .d-md-table-row {
    display: table-row !important; }

  .d-md-table-cell {
    display: table-cell !important; }

  .d-md-flex {
    display: flex !important; }

  .d-md-inline-flex {
    display: inline-flex !important; } }
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important; }

  .d-lg-inline {
    display: inline !important; }

  .d-lg-inline-block {
    display: inline-block !important; }

  .d-lg-block {
    display: block !important; }

  .d-lg-table {
    display: table !important; }

  .d-lg-table-row {
    display: table-row !important; }

  .d-lg-table-cell {
    display: table-cell !important; }

  .d-lg-flex {
    display: flex !important; }

  .d-lg-inline-flex {
    display: inline-flex !important; } }
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important; }

  .d-xl-inline {
    display: inline !important; }

  .d-xl-inline-block {
    display: inline-block !important; }

  .d-xl-block {
    display: block !important; }

  .d-xl-table {
    display: table !important; }

  .d-xl-table-row {
    display: table-row !important; }

  .d-xl-table-cell {
    display: table-cell !important; }

  .d-xl-flex {
    display: flex !important; }

  .d-xl-inline-flex {
    display: inline-flex !important; } }
@media print {
  .d-print-none {
    display: none !important; }

  .d-print-inline {
    display: inline !important; }

  .d-print-inline-block {
    display: inline-block !important; }

  .d-print-block {
    display: block !important; }

  .d-print-table {
    display: table !important; }

  .d-print-table-row {
    display: table-row !important; }

  .d-print-table-cell {
    display: table-cell !important; }

  .d-print-flex {
    display: flex !important; }

  .d-print-inline-flex {
    display: inline-flex !important; } }
.flex-row {
  flex-direction: row !important; }

.flex-column {
  flex-direction: column !important; }

.flex-row-reverse {
  flex-direction: row-reverse !important; }

.flex-column-reverse {
  flex-direction: column-reverse !important; }

.flex-wrap {
  flex-wrap: wrap !important; }

.flex-nowrap {
  flex-wrap: nowrap !important; }

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important; }

.justify-content-start {
  justify-content: flex-start !important; }

.justify-content-end {
  justify-content: flex-end !important; }

.justify-content-center {
  justify-content: center !important; }

.justify-content-between {
  justify-content: space-between !important; }

.justify-content-around {
  justify-content: space-around !important; }

.align-items-start {
  align-items: flex-start !important; }

.align-items-end {
  align-items: flex-end !important; }

.align-items-center {
  align-items: center !important; }

.align-items-baseline {
  align-items: baseline !important; }

.align-items-stretch {
  align-items: stretch !important; }

.align-content-start {
  align-content: flex-start !important; }

.align-content-end {
  align-content: flex-end !important; }

.align-content-center {
  align-content: center !important; }

.align-content-between {
  align-content: space-between !important; }

.align-content-around {
  align-content: space-around !important; }

.align-content-stretch {
  align-content: stretch !important; }

.align-self-auto {
  align-self: auto !important; }

.align-self-start {
  align-self: flex-start !important; }

.align-self-end {
  align-self: flex-end !important; }

.align-self-center {
  align-self: center !important; }

.align-self-baseline {
  align-self: baseline !important; }

.align-self-stretch {
  align-self: stretch !important; }

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important; }

  .flex-sm-column {
    flex-direction: column !important; }

  .flex-sm-row-reverse {
    flex-direction: row-reverse !important; }

  .flex-sm-column-reverse {
    flex-direction: column-reverse !important; }

  .flex-sm-wrap {
    flex-wrap: wrap !important; }

  .flex-sm-nowrap {
    flex-wrap: nowrap !important; }

  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important; }

  .justify-content-sm-start {
    justify-content: flex-start !important; }

  .justify-content-sm-end {
    justify-content: flex-end !important; }

  .justify-content-sm-center {
    justify-content: center !important; }

  .justify-content-sm-between {
    justify-content: space-between !important; }

  .justify-content-sm-around {
    justify-content: space-around !important; }

  .align-items-sm-start {
    align-items: flex-start !important; }

  .align-items-sm-end {
    align-items: flex-end !important; }

  .align-items-sm-center {
    align-items: center !important; }

  .align-items-sm-baseline {
    align-items: baseline !important; }

  .align-items-sm-stretch {
    align-items: stretch !important; }

  .align-content-sm-start {
    align-content: flex-start !important; }

  .align-content-sm-end {
    align-content: flex-end !important; }

  .align-content-sm-center {
    align-content: center !important; }

  .align-content-sm-between {
    align-content: space-between !important; }

  .align-content-sm-around {
    align-content: space-around !important; }

  .align-content-sm-stretch {
    align-content: stretch !important; }

  .align-self-sm-auto {
    align-self: auto !important; }

  .align-self-sm-start {
    align-self: flex-start !important; }

  .align-self-sm-end {
    align-self: flex-end !important; }

  .align-self-sm-center {
    align-self: center !important; }

  .align-self-sm-baseline {
    align-self: baseline !important; }

  .align-self-sm-stretch {
    align-self: stretch !important; } }
@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important; }

  .flex-md-column {
    flex-direction: column !important; }

  .flex-md-row-reverse {
    flex-direction: row-reverse !important; }

  .flex-md-column-reverse {
    flex-direction: column-reverse !important; }

  .flex-md-wrap {
    flex-wrap: wrap !important; }

  .flex-md-nowrap {
    flex-wrap: nowrap !important; }

  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important; }

  .justify-content-md-start {
    justify-content: flex-start !important; }

  .justify-content-md-end {
    justify-content: flex-end !important; }

  .justify-content-md-center {
    justify-content: center !important; }

  .justify-content-md-between {
    justify-content: space-between !important; }

  .justify-content-md-around {
    justify-content: space-around !important; }

  .align-items-md-start {
    align-items: flex-start !important; }

  .align-items-md-end {
    align-items: flex-end !important; }

  .align-items-md-center {
    align-items: center !important; }

  .align-items-md-baseline {
    align-items: baseline !important; }

  .align-items-md-stretch {
    align-items: stretch !important; }

  .align-content-md-start {
    align-content: flex-start !important; }

  .align-content-md-end {
    align-content: flex-end !important; }

  .align-content-md-center {
    align-content: center !important; }

  .align-content-md-between {
    align-content: space-between !important; }

  .align-content-md-around {
    align-content: space-around !important; }

  .align-content-md-stretch {
    align-content: stretch !important; }

  .align-self-md-auto {
    align-self: auto !important; }

  .align-self-md-start {
    align-self: flex-start !important; }

  .align-self-md-end {
    align-self: flex-end !important; }

  .align-self-md-center {
    align-self: center !important; }

  .align-self-md-baseline {
    align-self: baseline !important; }

  .align-self-md-stretch {
    align-self: stretch !important; } }
@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important; }

  .flex-lg-column {
    flex-direction: column !important; }

  .flex-lg-row-reverse {
    flex-direction: row-reverse !important; }

  .flex-lg-column-reverse {
    flex-direction: column-reverse !important; }

  .flex-lg-wrap {
    flex-wrap: wrap !important; }

  .flex-lg-nowrap {
    flex-wrap: nowrap !important; }

  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important; }

  .justify-content-lg-start {
    justify-content: flex-start !important; }

  .justify-content-lg-end {
    justify-content: flex-end !important; }

  .justify-content-lg-center {
    justify-content: center !important; }

  .justify-content-lg-between {
    justify-content: space-between !important; }

  .justify-content-lg-around {
    justify-content: space-around !important; }

  .align-items-lg-start {
    align-items: flex-start !important; }

  .align-items-lg-end {
    align-items: flex-end !important; }

  .align-items-lg-center {
    align-items: center !important; }

  .align-items-lg-baseline {
    align-items: baseline !important; }

  .align-items-lg-stretch {
    align-items: stretch !important; }

  .align-content-lg-start {
    align-content: flex-start !important; }

  .align-content-lg-end {
    align-content: flex-end !important; }

  .align-content-lg-center {
    align-content: center !important; }

  .align-content-lg-between {
    align-content: space-between !important; }

  .align-content-lg-around {
    align-content: space-around !important; }

  .align-content-lg-stretch {
    align-content: stretch !important; }

  .align-self-lg-auto {
    align-self: auto !important; }

  .align-self-lg-start {
    align-self: flex-start !important; }

  .align-self-lg-end {
    align-self: flex-end !important; }

  .align-self-lg-center {
    align-self: center !important; }

  .align-self-lg-baseline {
    align-self: baseline !important; }

  .align-self-lg-stretch {
    align-self: stretch !important; } }
@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important; }

  .flex-xl-column {
    flex-direction: column !important; }

  .flex-xl-row-reverse {
    flex-direction: row-reverse !important; }

  .flex-xl-column-reverse {
    flex-direction: column-reverse !important; }

  .flex-xl-wrap {
    flex-wrap: wrap !important; }

  .flex-xl-nowrap {
    flex-wrap: nowrap !important; }

  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important; }

  .justify-content-xl-start {
    justify-content: flex-start !important; }

  .justify-content-xl-end {
    justify-content: flex-end !important; }

  .justify-content-xl-center {
    justify-content: center !important; }

  .justify-content-xl-between {
    justify-content: space-between !important; }

  .justify-content-xl-around {
    justify-content: space-around !important; }

  .align-items-xl-start {
    align-items: flex-start !important; }

  .align-items-xl-end {
    align-items: flex-end !important; }

  .align-items-xl-center {
    align-items: center !important; }

  .align-items-xl-baseline {
    align-items: baseline !important; }

  .align-items-xl-stretch {
    align-items: stretch !important; }

  .align-content-xl-start {
    align-content: flex-start !important; }

  .align-content-xl-end {
    align-content: flex-end !important; }

  .align-content-xl-center {
    align-content: center !important; }

  .align-content-xl-between {
    align-content: space-between !important; }

  .align-content-xl-around {
    align-content: space-around !important; }

  .align-content-xl-stretch {
    align-content: stretch !important; }

  .align-self-xl-auto {
    align-self: auto !important; }

  .align-self-xl-start {
    align-self: flex-start !important; }

  .align-self-xl-end {
    align-self: flex-end !important; }

  .align-self-xl-center {
    align-self: center !important; }

  .align-self-xl-baseline {
    align-self: baseline !important; }

  .align-self-xl-stretch {
    align-self: stretch !important; } }
@media print, screen and (min-width: 1023px) {
  main.content .container {
    max-width: 980px;
    margin-right: auto;
    margin-left: auto; } }
@media print, screen and (min-width: 1023px) {
  main.content .container .wide-container {
    max-width: 1170px;
    margin-right: auto;
    margin-left: auto; } }
@media print, screen and (min-width: 1023px) {
  main.content .sec-other .container,
  main.content .sec-voice .container {
    max-width: 1170px;
    margin-right: auto;
    margin-left: auto; } }
@media print, screen and (min-width: 1023px) {
  main.content .sec-other .wide-container,
  main.content .sec-voice .wide-container {
    max-width: 1260px;
    margin-right: auto;
    margin-left: auto; } }

* {
  box-sizing: border-box; }

li {
  list-style: none; }

html {
  width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth; }
  @media print, screen and (min-width: 480px) {
    html {
      font-size: 62.5%; } }
  @media screen and (max-width: 479px) {
    html {
      font-size: calc(100vw / 40); } }

body {
  margin: 0;
  font-size: 18px;
  font-size: 1.8rem;
  font-family: source-han-sans-japanese,YuGothic,"Helvetica Neue", "ヒラギノ角ゴ ProN W3", Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: 200;
  font-style: normal;
  line-height: 1.7;
  color: #333;
  overflow-x: hidden; }

.bold {
  font-family: source-han-sans-japanese,sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.7; }

.body {
  position: relative; }

strong {
  font-weight: bold !important; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }
  img:hover {
    opacity: 1; }
  img.kadomaru {
    border-radius: 20px; }
  img.kadomaru40 {
    border-radius: 40px; }

a {
  color: #2E6A9A;
  text-decoration: none;
  transition: all .3s; }
  a:visited {
    color: #285c86; }
  a:hover, a:active, a:focus {
    color: #3478ae;
    text-decoration: none; }
  a:hover {
    opacity: 0.7;
    transition: all .3s; }

@media print, screen and (min-width: 480px) {
  a[href^="tel:"] {
    pointer-events: none;
    display: inline-block; } }

@media screen and (max-width: 767px) {
  .pc-show {
    display: none; } }

@media print, screen and (min-width: 768px) {
  .sp-show {
    display: none; } }

.container {
  margin: 0 auto;
  max-width: 1170px;
  padding-right: calc(20px + constant(safe-area-inset-right));
  padding-left: calc(20px + constant(safe-area-inset-left)); }
  .container .container {
    padding: 0; }
  @media screen and (max-width: 1170px) {
    .container {
      max-width: 100% !important; } }

.narrow-container {
  margin: 0 auto;
  max-width: 960px; }

@media screen and (max-width: 767px) {
  .container {
    padding-right: 5px;
    padding-left: 5px; } }
@media screen and (max-width: 767px) {
  .row {
    margin-right: -5px;
    margin-left: -5px; } }

@media screen and (max-width: 767px) {
  .col-6 {
    padding-right: 5px;
    padding-left: 5px; } }

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

.margin--2x {
  margin-top: 2em !important; }

.margin--3x {
  margin-top: 3em !important; }

.margin--4x {
  margin-top: 4em !important; }

.margin--sec {
  margin-top: 6em !important; }

@media print, screen and (min-width: 1023px) {
  a[href^="tel:"] {
    pointer-events: none; } }
.head-wrapper {
  width: 100%;
  height: 110px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  padding: 15px 0;
  /*&.is-animation{
  	background: rgba(0,0,0,1);
  	transition: 0.5s all;
  }
  
  @include mq( $tb , $pc )  {
  	height: 14vw;
  }
  @include mq( $pc , $pc-l )  {
  	height: 12vw;
  }
  @include mq( $tb , max ) {
  	background: #fff;
  	height: 70px;
  	position: fixed;
  }*/ }
  @media screen and (max-width: 1199px) {
    .head-wrapper {
      position: fixed;
      top: 0;
      left: 0;
      padding: 0; }
      .head-wrapper > .container-fluid {
        padding: 0 !important; } }
  .head-wrapper .header {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.5);
    border-radius: 16px;
    padding: 15px; }
  .head-wrapper .head-inner {
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between; }

.header {
  position: relative;
  width: 100%; }
  .header .header-logo {
    z-index: 1;
    /*@include mq( $tb , $pc-l ) {
    	width: 30vw;
    	height: 7vw;
    	
    	.logo{
    		width: 23.5vw;
    		
    		h1{
    			margin: 0;
    			padding: 5px 0;
    		}
    	}
    }*/ }
    .header .header-logo .logo a {
      color: #333;
      text-decoration: none;
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center; }
      .header .header-logo .logo a:visited {
        color: #333333; }
      .header .header-logo .logo a:hover, .header .header-logo .logo a:active, .header .header-logo .logo a:focus {
        color: #333333;
        text-decoration: none; }
    .header .header-logo .logo .icon {
      width: 173px;
      display: block; }
      .header .header-logo .logo .icon img {
        vertical-align: top; }
      @media screen and (max-width: 767px) {
        .header .header-logo .logo .icon {
          width: 120px; } }
    .header .header-logo .logo .text {
      color: #333;
      font-size: 16px;
      font-size: 1.6rem;
      display: block;
      font-weight: bold;
      line-height: 1.5;
      padding-left: 1em; }
      .header .header-logo .logo .text span {
        font-size: 11px;
        font-size: 1.1rem;
        display: block; }
      @media screen and (max-width: 767px) {
        .header .header-logo .logo .text {
          font-size: 13px;
          font-size: 1.3rem; }
          .header .header-logo .logo .text span {
            font-size: 9px;
            font-size: 0.9rem; } }
    .header .header-logo h1 {
      margin: 0;
      line-height: 1; }
    .header .header-logo ul, .header .header-logo p {
      margin: 0; }
  @media print, screen and (min-width: 1200px) {
    .header .header-nav {
      margin: 0 4.5vw 0 auto; } }
  .header .header-nav .gnavi {
    margin: 0;
    padding: 0;
    /*@media (min-width: 1200px) and (max-width: 1469px){
    	top: 4em;
    }*/ }
    @media screen and (max-width: 1199px) {
      .header .header-nav .gnavi {
        -js-display: flex;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 2em; }
        .header .header-nav .gnavi li {
          width: 50%; } }
    @media print, screen and (min-width: 1200px) {
      .header .header-nav .gnavi {
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -js-display: flex;
        display: -webkit-flex;
        display: flex; }
        .header .header-nav .gnavi li {
          margin: 0;
          font-size: 18px;
          font-size: 1.8rem;
          font-weight: bold; }
          .header .header-nav .gnavi li a {
            padding: 0 1.2vw;
            color: #333;
            text-decoration: none;
            line-height: 1;
            						/*&:before {
            							content: '';
            							display: block;
            							position: absolute;
            							bottom: -1.3em;
            							left: 0;
            							background: #559b80;
            							width: 0%;
            							height: 4px;
            							transition: 0.3s all;
            							z-index: -1;
            						}
            						&:hover {
            
            							&:before {
            								width: 100%;
            								transition: 0.3s all;
            							}
            						}*/ }
            .header .header-nav .gnavi li a:visited {
              color: #333333; }
            .header .header-nav .gnavi li a:hover, .header .header-nav .gnavi li a:active, .header .header-nav .gnavi li a:focus {
              color: #333333;
              text-decoration: none; }
          .header .header-nav .gnavi li.stay a:before {
            content: '';
            display: block;
            position: absolute;
            bottom: -1em;
            left: 0;
            background: #559b80;
            width: 100%;
            height: 4px;
            z-index: -1; } }
  .header .entry-btn {
    margin: 0; }
    .header .entry-btn a {
      font-size: 18px;
      font-size: 1.8rem;
      display: inline-block;
      text-align: center;
      padding: 1em 3.8em 1em 2em;
      transition: all .3s;
      position: relative;
      line-height: 1;
      background: #FFFB25;
      border: 1px solid #FFFB25;
      color: #2E6A9A;
      font-weight: bold;
      border-radius: 7px; }
      .header .entry-btn a:after {
        content: "";
        display: block;
        width: 18px;
        height: 18px;
        background: url("../img/icon_arrow_small.png") no-repeat center center;
        background-size: contain;
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%); }
      .header .entry-btn a:hover {
        color: #2E6A9A;
        background: #fff;
        text-decoration: none;
        opacity: 1;
        border: 1px solid #6BA6D5; }
    @media screen and (max-width: 1199px) {
      .header .entry-btn.hide-pc {
        display: block !important; }
      .header .entry-btn.hide-sp {
        display: none !important; } }
    @media print, screen and (min-width: 1200px) {
      .header .entry-btn.hide-pc {
        display: none !important; }
      .header .entry-btn.hide-sp {
        display: block !important; } }

/* -- ul#menu -------------------------------------------------------------------------------- */
@media screen and (max-width: 1199px) {
  #menu {
    list-style-type: none;
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 990;
    display: none;
    padding: 15px;
    background: rgba(46, 106, 154, 0.85); }
    #menu .entry-btn {
      text-align: center; }
    #menu .nav-menu {
      padding: 15vw 1em 7em;
      background: #fff;
      border-radius: 16px; } }
#menu li {
  text-align: center; }
  @media screen and (max-width: 1199px) {
    #menu li {
      width: 100% !important; } }
  #menu li a {
    text-decoration: none;
    display: block;
    white-space: nowrap; }
    @media screen and (max-width: 1199px) {
      #menu li a {
        padding: 1em;
        color: #333;
        font-weight: bold; } }

/* -- #sp-icon -------------------------------------------------------------------------------- */
#sp-icon {
  width: 70px;
  height: 70px;
  position: absolute;
  right: 0px;
  top: 0px;
  z-index: 999;
  display: none; }
  @media screen and (max-width: 1199px) {
    #sp-icon {
      display: block; } }
  #sp-icon.sp-open {
    top: 10px;
    right: 10px; }

#sp-icon:hover {
  cursor: pointer;
  opacity: 0.7; }

#sp-icon span,
#sp-icon span:before,
#sp-icon span:after {
  display: inline-block;
  width: 30px;
  height: 3px;
  background: #1e1e1e;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.3s; }

#sp-icon span {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); }

#sp-icon span:before {
  content: "";
  transform: translateY(-10px) rotate(0deg); }

#sp-icon span:after {
  content: "";
  transform: translateY(10px) rotate(0deg); }

.sp-open span {
  background: transparent !important; }

.sp-open span:before {
  transform: rotate(45deg) !important;
  background: #2E6A9A !important; }

.sp-open span:after {
  transform: rotate(-45deg) !important;
  background: #2E6A9A !important; }

.sec-entry {
  background: url("../img/bg_entrry.jpg") no-repeat center top;
  background-size: cover; }
  .sec-entry .inner {
    text-align: center;
    padding: 7vw 0 8vw;
    background: rgba(107, 166, 213, 0.65); }
    .sec-entry .inner .text {
      background: url("../img/entry.png") no-repeat center center;
      background-size: contain;
      padding: 1em 0; }
      .sec-entry .inner .text .copy {
        font-size: 32px;
        font-size: 3.2rem;
        color: #fff;
        text-align: center;
        margin: 0;
        font-weight: bold;
        padding: 2.5em 1em 2em; }
    @media print, screen and (min-width: 768px) {
      .sec-entry .inner .btn .btn-01 {
        width: 477px;
        padding: 1.8em 5em 1.8em 3.5em;
        border-radius: 45px; } }
  @media screen and (min-width: 768px) and (max-width: 1200px) {
    .sec-entry .inner .text .copy {
      font-size: 22px;
      font-size: 2.2rem;
      padding: 2.5em 1em 1em; } }
  @media screen and (max-width: 767px) {
    .sec-entry {
      background: url("../img/bg_entrry_sp.jpg") no-repeat center top;
      background-size: cover; }
      .sec-entry .inner {
        padding: 10px 0 50px; }
        .sec-entry .inner .text {
          background: url("../img/entry.png") no-repeat top center;
          background-size: 70% auto;
          padding: 2.5em 0 0; }
          .sec-entry .inner .text .copy {
            padding: 1em;
            font-size: 20px;
            font-size: 2rem; } }

.footer {
  width: 100%;
  background: #fff;
  color: #717171;
  color: #717171;
  text-decoration: none;
  text-align: center;
  padding: 80px 0 0; }
  .footer:visited {
    color: #717171; }
  .footer:hover, .footer:active, .footer:focus {
    color: #717171;
    text-decoration: none; }
  @media screen and (max-width: 1022px) {
    .footer {
      padding: 50px 0 0; } }
  @media print, screen and (min-width: 768px) {
    .footer .container-fluid {
      padding-left: 5.9vw;
      padding-right: 5.9vw; } }
  .footer .health-logo {
    text-align: right; }
    .footer .health-logo img {
      width: 250px; }
    @media screen and (max-width: 767px) {
      .footer .health-logo {
        text-align: center;
        margin: 0 auto; } }
    @media screen and (min-width: 768px) and (max-width: 1023px) {
      .footer .health-logo {
        width: 30%; } }
  @media screen and (max-width: 767px) {
    .footer .entry-btn .btn-01 {
      display: block; } }
  .footer .footer-wrap {
    border-left: 1px solid #DCE7ED; }
    @media print, screen and (min-width: 1023px) {
      .footer .footer-wrap {
        -js-display: flex;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: space-between;
        justify-content: space-between; } }
    @media screen and (max-width: 1022px) {
      .footer .footer-wrap {
        border: none !important; } }
    .footer .footer-wrap .footer-navi {
      width: 32%;
      text-align: left;
      padding: 15px 30px; }
      .footer .footer-wrap .footer-navi.-second {
        width: 26%;
        border-left: 1px solid #DCE7ED;
        border-right: 1px solid #DCE7ED; }
      .footer .footer-wrap .footer-navi.-third {
        width: 42%; }
      @media screen and (max-width: 1022px) {
        .footer .footer-wrap .footer-navi {
          width: 100% !important;
          border: none !important;
          padding: 0; } }
      .footer .footer-wrap .footer-navi .footer-home {
        font-weight: bold;
        font-size: 20px;
        font-size: 2rem;
        color: #2E6A9A;
        margin: 0 0 3em; }
        .footer .footer-wrap .footer-navi .footer-home a {
          color: #2E6A9A; }
        @media screen and (max-width: 1022px) {
          .footer .footer-wrap .footer-navi .footer-home {
            margin-bottom: 30px; } }
      @media print, screen and (min-width: 768px) {
        .footer .footer-wrap .footer-navi .entry-btn .btn-01 {
          display: block; } }
      .footer .footer-wrap .footer-navi .gnavi {
        margin: 0;
        padding-left: 20px; }
        .footer .footer-wrap .footer-navi .gnavi li {
          font-size: 16px;
          font-size: 1.6rem;
          text-indent: -20px;
          margin-bottom: 5px; }
          .footer .footer-wrap .footer-navi .gnavi li a {
            color: #333; }
          .footer .footer-wrap .footer-navi .gnavi li:before {
            content: "";
            width: 16px;
            height: 16px;
            background: url("../img/icon_arrow_normal.png") no-repeat center center;
            background-size: contain;
            display: inline-block;
            margin-right: 4px;
            position: relative;
            top: 2px; }
      .footer .footer-wrap .footer-navi dl {
        margin: 0;
        padding: 0; }
        .footer .footer-wrap .footer-navi dl dt {
          color: #2E6A9A;
          font-weight: bold;
          font-size: 20px;
          font-size: 2rem; }
          .footer .footer-wrap .footer-navi dl dt a {
            color: #2E6A9A; }
        .footer .footer-wrap .footer-navi dl dd {
          margin-top: 0.5em;
          margin-bottom: 2em; }
          @media screen and (max-width: 1022px) {
            .footer .footer-wrap .footer-navi dl dd {
              margin-bottom: 30px; } }
  .footer .footer-under {
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 0; }
    @media print, screen and (min-width: 768px) {
      .footer .footer-under {
        margin-top: 0; } }
    .footer .footer-under .logo {
      width: 173px; }
      @media screen and (max-width: 767px) {
        .footer .footer-under .logo {
          margin: 2em auto 0; } }
      @media screen and (min-width: 768px) and (max-width: 1023px) {
        .footer .footer-under .logo {
          width: 20%; } }
    .footer .footer-under .unavi {
      padding: 0; }
      @media screen and (max-width: 767px) {
        .footer .footer-under .unavi {
          -js-display: flex;
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          justify-content: center;
          margin: 1em auto 0;
          width: 100%; } }
      @media print, screen and (min-width: 768px) {
        .footer .footer-under .unavi {
          width: 50%;
          -js-display: flex;
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center; } }
      @media screen and (min-width: 768px) and (max-width: 1023px) {
        .footer .footer-under .unavi {
          justify-content: flex-end; } }
      .footer .footer-under .unavi li {
        padding: 0 35px;
        font-size: 14px;
        font-size: 1.4rem; }
        .footer .footer-under .unavi li a {
          color: #969696; }
        .footer .footer-under .unavi li:first-child {
          padding-left: 0; }
        @media screen and (max-width: 767px) {
          .footer .footer-under .unavi li {
            padding: 10px !important; } }

.copyright {
  color: #969696;
  font-size: 14px;
  font-size: 1.4rem;
  text-align: right;
  width: 100%;
  margin: 0;
  padding-bottom: 2em; }
  @media screen and (max-width: 1022px) {
    .copyright {
      text-align: center; } }

@media print, screen and (min-width: 1023px) {
  .body-wrap {
    margin-left: 180px;
    /*overflow-x: hidden;*/ } }

main, article {
  display: block; }

.container::after {
  content: "";
  display: block;
  clear: both; }
@media print, screen and (min-width: 1023px) {
  .container {
    max-width: 1170px;
    margin-right: auto;
    margin-left: auto; } }
@media screen and (max-width: 767px) {
  .container {
    padding-left: 5vw;
    padding-right: 5vw; } }

.narrow-container::after {
  content: "";
  display: block;
  clear: both; }
@media print, screen and (min-width: 1023px) {
  .narrow-container {
    max-width: 960px;
    margin-right: auto;
    margin-left: auto; } }
@media screen and (max-width: 767px) {
  .narrow-container {
    padding-left: 5vw;
    padding-right: 5vw; } }

@media print, screen and (min-width: 1023px) {
  .wide-container {
    max-width: 1260px;
    margin-right: auto;
    margin-left: auto; } }
@media screen and (max-width: 1022px) {
  .wide-container {
    padding-left: 10px;
    padding-right: 10px; } }

.container-breaking-out {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw); }

.section-01 {
  padding: 2em 0; }

.section-02 {
  padding: 2em 0 6em; }

.section-03 {
  padding: 4em 0; }

.sec-voice {
  padding: 1em 0 6em; }
  @media screen and (max-width: 767px) {
    .sec-voice .decoration-box {
      padding: 1.8em 1.8em 2.2em; } }
  @media print, screen and (min-width: 768px) {
    .sec-voice .decoration-box .decoration-box-wrap {
      margin-left: -35px;
      margin-right: -35px; }
      .sec-voice .decoration-box .decoration-box-wrap .decoration-box-item {
        padding: 10px 35px; } }

.sec-bg {
  padding: 4em 0;
  background: #EDF7FC; }

li.search {
  position: relative;
  top: -3px; }

.gsc-search-box table {
  margin: 0 !important; }
  .gsc-search-box table .gsc-input {
    padding-right: 0 !important; }
  .gsc-search-box table .gsib_a {
    padding: 0 10px !important; }
  .gsc-search-box table .gsc-search-button-v2 {
    border: 2.5px solid #6BA6D5;
    display: block;
    margin-left: -2px !important;
    border-radius: 0 3px 3px 0;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 6.5px; }
    @media screen and (max-width: 767px) {
      .gsc-search-box table .gsc-search-button-v2 {
        border: 3px solid #6BA6D5; } }

.deco-box {
  background: #EDF7FC;
  padding: 1.5em 2em;
  border-radius: 10px;
  font-size: 18px;
  font-size: 1.8rem;
  color: #2E6A9A; }
  @media screen and (max-width: 767px) {
    .deco-box {
      padding: 1em; } }
  .deco-box p {
    margin: 0; }
  .deco-box ul.list li {
    color: #333; }
  @media print, screen and (min-width: 768px) {
    .deco-box.w50 {
      width: 50%;
      margin: 0 auto; } }
  @media print, screen and (min-width: 768px) {
    .deco-box.w80 {
      width: 80%;
      margin: 2em auto; } }
  .deco-box.kadomaru20 {
    border-radius: 20px; }

.flex-sec {
  -js-display: flex;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .flex-sec .flex-100 {
      width: 100%; }
    .flex-sec .flex-50 {
      width: 50%; } }
  @media print, screen and (min-width: 768px) {
    .flex-sec {
      margin-left: -25px;
      margin-right: -25px; }
      .flex-sec .flex-sm {
        padding: 15px 25px; }
      .flex-sec .flex-sm100 {
        width: 100%; }
      .flex-sec .flex-sm90 {
        width: 90%; }
      .flex-sec .flex-sm80 {
        width: 80%; }
      .flex-sec .flex-sm70 {
        width: 70%; }
      .flex-sec .flex-sm60 {
        width: 60%; }
      .flex-sec .flex-sm50 {
        width: 50%; }
      .flex-sec .flex-sm40 {
        width: 40%; }
      .flex-sec .flex-sm30 {
        width: 30%; }
      .flex-sec .flex-sm20 {
        width: 20%; }
      .flex-sec .flex-sm10 {
        width: 10%; } }

.sec-wrap .sec-img .p-img {
  padding: 0 20px; }
@media print, screen and (min-width: 768px) {
  .sec-wrap {
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -30px;
    margin-right: -30px; }
    .sec-wrap .sec-img {
      width: calc(50% + 30px);
      padding: 1em 30px; }
    .sec-wrap .sec-body {
      width: calc(50% - 30px);
      padding: 1em 30px; }
    .sec-wrap.-reverse .sec-img {
      order: 2; } }
@media screen and (max-width: 767px) {
  .sec-wrap .sec-body {
    padding: 1em 2em; } }

.flex-flow {
  width: 100%;
  padding-bottom: 1em;
  position: relative; }
  .flex-flow:before {
    content: "";
    width: calc(100% - 30px);
    height: 6px;
    display: block;
    background: #B3D4EF;
    position: absolute;
    bottom: 0;
    left: 0; }
  .flex-flow:after {
    content: "";
    width: 30px;
    height: 20px;
    display: block;
    background: url("../img/flow-arrow01.png") no-repeat center center;
    background-size: contain;
    position: absolute;
    bottom: -1px;
    right: 0; }
  .flex-flow.-green:before {
    background: #B4E1EB; }
  .flex-flow.-green:after {
    background: url("../img/flow-arrow02.png") no-repeat center center;
    background-size: contain; }
  .flex-flow.-flex-flow2:before, .flex-flow.-flex-flow2:after {
    content: none !important; }
  .flex-flow .flex-flow-wrap {
    min-width: 1130px;
    display: flex; }
    .flex-flow .flex-flow-wrap .flex-flow-item {
      width: 25%; }
      .flex-flow .flex-flow-wrap .flex-flow-item .flow-box {
        padding: 1em 1.5em; }
        .flex-flow .flex-flow-wrap .flex-flow-item .flow-box .list li {
          font-size: 15px;
          font-size: 1.5rem; }
      .flex-flow .flex-flow-wrap .flex-flow-item .flow-title {
        display: flex;
        align-items: center;
        padding: 0 16px;
        background: #6BA6D5;
        position: relative; }
        .flex-flow .flex-flow-wrap .flex-flow-item .flow-title .icon {
          width: 62px;
          height: 62px;
          position: absolute;
          left: 16px; }
          .flex-flow .flex-flow-wrap .flex-flow-item .flow-title .icon img {
            border-radius: 31px; }
        .flex-flow .flex-flow-wrap .flex-flow-item .flow-title .text {
          font-size: 26px;
          font-size: 2.6rem;
          font-weight: bold;
          color: #fff;
          padding: 16px 14px 16px 90px;
          line-height: 1; }
        .flex-flow .flex-flow-wrap .flex-flow-item .flow-title:after {
          content: "";
          width: 40px;
          height: 40px;
          display: block;
          background: #6BA6D5;
          transform: rotate(45deg);
          position: absolute;
          right: -20px;
          z-index: 1; }
        .flex-flow .flex-flow-wrap .flex-flow-item .flow-title.step02 {
          background: #4D89B9; }
          .flex-flow .flex-flow-wrap .flex-flow-item .flow-title.step02:after {
            background: #4D89B9; }
          .flex-flow .flex-flow-wrap .flex-flow-item .flow-title.step02 .icon {
            left: 40px; }
          .flex-flow .flex-flow-wrap .flex-flow-item .flow-title.step02 .text {
            padding-left: 115px; }
        .flex-flow .flex-flow-wrap .flex-flow-item .flow-title.step03 {
          background: #326893; }
          .flex-flow .flex-flow-wrap .flex-flow-item .flow-title.step03:after {
            background: #326893; }
          .flex-flow .flex-flow-wrap .flex-flow-item .flow-title.step03 .icon {
            left: 40px; }
          .flex-flow .flex-flow-wrap .flex-flow-item .flow-title.step03 .text {
            padding-left: 115px; }
        .flex-flow .flex-flow-wrap .flex-flow-item .flow-title.step04 {
          background: #1F4D71; }
          .flex-flow .flex-flow-wrap .flex-flow-item .flow-title.step04:after {
            content: none; }
          .flex-flow .flex-flow-wrap .flex-flow-item .flow-title.step04 .icon {
            left: 40px; }
          .flex-flow .flex-flow-wrap .flex-flow-item .flow-title.step04 .text {
            padding-left: 115px; }
      .flex-flow .flex-flow-wrap .flex-flow-item.-threecol {
        width: calc(100% / 3); }
        .flex-flow .flex-flow-wrap .flex-flow-item.-threecol .flow-title {
          background: #6BC1D5; }
          .flex-flow .flex-flow-wrap .flex-flow-item.-threecol .flow-title:after {
            background: #6BC1D5; }
          .flex-flow .flex-flow-wrap .flex-flow-item.-threecol .flow-title.step02 {
            background: #47A0B5; }
            .flex-flow .flex-flow-wrap .flex-flow-item.-threecol .flow-title.step02:after {
              background: #47A0B5; }
          .flex-flow .flex-flow-wrap .flex-flow-item.-threecol .flow-title.step03 {
            background: #3C8491; }
            .flex-flow .flex-flow-wrap .flex-flow-item.-threecol .flow-title.step03:after {
              content: none; }
    .flex-flow .flex-flow-wrap.-flex-flow-wrap2 {
      width: 100%;
      min-width: 100%;
      /*
      @include mq( $sp , max ) {
      	flex-direction: column;
      	.flex-flow-item{
      		width: 100%;
      		.flow-title{
      			padding: 40px 16px 30px;
      			margin: 0;
      			&:after{
      				right: auto;
      				bottom: -20px;
      				z-index: 1;
      			}
      		}
      	}
      }
      */ }
      .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .item-col3 {
        width: calc(100% / 3); }
        .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .item-col3 .flow-title.step01 {
          background: #ddd; }
          .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .item-col3 .flow-title.step01:after {
            background: #ddd; }
          .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .item-col3 .flow-title.step01.stay {
            background: #4D89B9; }
            .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .item-col3 .flow-title.step01.stay:after {
              background: #4D89B9; }
        .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .item-col3 .flow-title.step02 {
          background: #ccc; }
          .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .item-col3 .flow-title.step02:after {
            background: #ccc; }
          .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .item-col3 .flow-title.step02.stay {
            background: #326893; }
            .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .item-col3 .flow-title.step02.stay:after {
              background: #326893; }
        .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .item-col3 .flow-title.step03 {
          background: #bbb; }
          .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .item-col3 .flow-title.step03:after {
            content: none; }
          .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .item-col3 .flow-title.step03.stay {
            background: #1F4D71; }
      .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .flow-title {
        height: 100%;
        justify-content: center; }
        .flex-flow .flex-flow-wrap.-flex-flow-wrap2 .flow-title .text {
          padding: 16px 14px !important;
          font-size: 20px;
          font-size: 2rem;
          text-align: center !important; }

@media screen and (max-width: 767px) {
  .one-col {
    padding: 1em 2em; } }

.sec-list .nav-within {
  margin-bottom: 4em; }
.sec-list .row {
  margin-top: 2em; }

.sec-within-top .nav-within {
  border-top: none; }
  .sec-within-top .nav-within .list-arrow01 li {
    margin: 0 20px;
    font-size: 20px;
    font-size: 2rem; }

.j-item {
  border-bottom: 1px solid #DCE7ED; }
  .j-item.-first {
    border-top: 1px solid #DCE7ED; }

.item-wrap .item-title {
  padding: 10px 20px;
  font-weight: bold;
  color: #6BA6D5;
  font-size: 22px;
  font-size: 2.2rem; }
.item-wrap .item-body {
  padding: 10px 20px; }
@media print, screen and (min-width: 768px) {
  .item-wrap {
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px; }
    .item-wrap .item-title {
      width: 20%;
      padding: 15px;
      margin: 0; }
    .item-wrap .item-body {
      width: 80%;
      padding: 15px;
      margin: 0; }
      .item-wrap .item-body p {
        margin: 0; } }

.privacy-box {
  border: 1px solid #DCE7ED;
  border-radius: 15px;
  padding: 10px;
  width: 100%;
  height: 400px;
  overflow-y: scroll; }
  .privacy-box .inner {
    padding: 1em 1.5em; }
  .privacy-box .list-bracket li {
    text-indent: -2em; }
    .privacy-box .list-bracket li .list-box {
      text-indent: 0; }
      .privacy-box .list-bracket li .list-box p {
        margin-top: 0.5em; }
  @media print, screen and (min-width: 768px) {
    .privacy-box .list-box {
      -js-display: flex;
      display: -webkit-flex;
      display: flex; }
      .privacy-box .list-box .box-1 {
        margin-right: 40px; } }
  .privacy-box .list-about {
    background: #EDF7FC;
    padding: 1em 1.5em;
    font-size: 15px;
    font-size: 1.5rem;
    margin: 1em 0; }

@media screen and (max-width: 767px) {
  .sec-worklife-balance .deco-box .col-sm-4 {
    width: 50%;
    margin: 1em auto; }
  .sec-worklife-balance .deco-box .col-sm-8 .h3-02 {
    font-size: 18px;
    font-size: 1.8rem; }
  .sec-worklife-balance .deco-box .col-sm-8 .list li {
    font-size: 14px;
    font-size: 1.4rem; } }

.sec-process {
  padding: 7em 0 8em; }
  @media screen and (max-width: 767px) {
    .sec-process {
      padding: 4em 0 5em; } }
  @media screen and (max-width: 767px) {
    .sec-process .process-wrap .process-title {
      text-align: center; }
    .sec-process .process-wrap .process-body {
      padding: 15px 20px; } }
  @media print, screen and (min-width: 768px) {
    .sec-process .process-wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
      .sec-process .process-wrap .process-title {
        width: 21%; }
        .sec-process .process-wrap .process-title .h3-01 {
          margin: 0; }
      .sec-process .process-wrap .process-body {
        width: 79%;
        padding-left: 52px; } }
  .sec-process .process-wrap .process-body .process-item:after {
    content: "";
    display: block;
    height: 17px;
    margin: 22px 0;
    background: url("../img/icon_arrow_flow.png") no-repeat center center;
    background-size: contain; }
  .sec-process .process-wrap .process-body .process-item.-last:after {
    content: none !important; }
  .sec-process .process-wrap .process-body .process-item .inner {
    background: #EDF7FC;
    border-radius: 15px;
    padding: 14px 38px; }
    @media screen and (max-width: 479px) {
      .sec-process .process-wrap .process-body .process-item .inner .inner-wrap {
        text-align: center; } }
    @media print, screen and (min-width: 480px) {
      .sec-process .process-wrap .process-body .process-item .inner .inner-wrap {
        -js-display: flex;
        display: -webkit-flex;
        display: flex;
        align-items: center; }
        .sec-process .process-wrap .process-body .process-item .inner .inner-wrap p {
          margin: 0 !important; }
        .sec-process .process-wrap .process-body .process-item .inner .inner-wrap .no {
          width: 40px; }
        .sec-process .process-wrap .process-body .process-item .inner .inner-wrap .text {
          width: calc(100% - 175px); } }
    .sec-process .process-wrap .process-body .process-item .inner .inner-wrap .no {
      font-family: "din-2014-narrow", sans-serif;
      font-weight: 400;
      /*600*/
      font-style: normal;
      font-size: 24px;
      font-size: 2.4rem;
      color: #2E6A9A;
      margin: 0; }
    .sec-process .process-wrap .process-body .process-item .inner .inner-wrap .icon {
      width: 135px;
      text-align: center;
      padding: 0 25px; }
      @media screen and (max-width: 479px) {
        .sec-process .process-wrap .process-body .process-item .inner .inner-wrap .icon {
          margin: 5px auto 10px; } }
    .sec-process .process-wrap .process-body .process-item .inner .inner-wrap .text {
      font-size: 24px;
      font-size: 2.4rem;
      color: #2E6A9A;
      font-weight: bold; }
      @media screen and (max-width: 479px) {
        .sec-process .process-wrap .process-body .process-item .inner .inner-wrap .text {
          font-size: 20px;
          font-size: 2rem; } }

@media screen and (max-width: 767px) {
  .sec-career .sec-wrap .sec-body {
    padding: 1em 0; } }

@media print, screen and (min-width: 1023px) {
  .hide-pc {
    display: none; } }

@media screen and (max-width: 1022px) {
  .hide-sp {
    display: none; } }

p, ul, ol, dl, h2, h3, h4, h5, table {
  margin-top: 1em;
  margin-bottom: 0; }
  @media screen and (max-width: 479px) {
    p, ul, ol, dl, h2, h3, h4, h5, table {
      margin-top: 0.5em; } }

dd {
  margin-left: 0; }

.center {
  text-align: center; }

.left {
  text-align: left; }

.right {
  text-align: right; }

.img-r {
  margin-bottom: 10px; }
  @media screen and (max-width: 767px) {
    .img-r {
      display: block;
      margin-left: auto;
      margin-right: auto; } }
  @media print, screen and (min-width: 768px) {
    .img-r {
      float: right;
      margin-left: 30px;
      margin-bottom: 30px; } }

.img-l {
  margin-bottom: 10px; }
  @media screen and (max-width: 767px) {
    .img-l {
      display: block;
      margin-left: auto;
      margin-right: auto; } }
  @media print, screen and (min-width: 768px) {
    .img-l {
      float: left;
      margin-right: 30px;
      margin-bottom: 30px; } }

.anchor {
  padding-left: -0.5em; }
  .anchor::before {
    color: #6BA6D5;
    font-family: ionicons;
    content: "";
    margin-right: 5px;
    font-size: 16px;
    font-size: 1.6rem;
    position: relative;
    line-height: 1; }
  .anchor.white:before {
    color: #fff; }

.arrow-icon {
  width: 20px;
  height: 20px;
  border-radius: 10px;
  color: #6BA6D5;
  border: 1px solid #6BA6D5; }
  .arrow-icon:before {
    color: #6BA6D5;
    font-family: ionicons;
    content: "";
    margin-right: 0;
    font-size: 10px;
    font-size: 1rem;
    position: absolute;
    top: calc(50% - 0.5em);
    left: 0.6em;
    line-height: 1;
    font-weight: normal; }

.arrow-icon-text {
  width: 18px;
  height: 18px;
  background: url("../img/icon_arrow_text.png") no-repeat center center;
  background-size: contain;
  display: inline-block;
  margin: 0 5px;
  position: relative;
  top: 2px; }

@media print, screen and (min-width: 768px) {
  .w20 {
    width: 20%; } }

@media print, screen and (min-width: 768px) {
  .w80 {
    width: 80%;
    margin: 0 auto; } }

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .w50 {
    width: 80%;
    margin: 0 auto; } }
@media print, screen and (min-width: 1023px) {
  .w50 {
    width: 50%;
    margin: 0 auto; } }

.large {
  font-size: 110%; }

.x-large {
  font-size: 140%; }
  @media screen and (max-width: 767px) {
    .x-large {
      font-size: 120%; } }

.xx-large {
  font-size: 170%; }
  @media screen and (max-width: 767px) {
    .xx-large {
      font-size: 130%; } }

.small {
  font-size: 84%; }

.x-small {
  font-size: 70%; }

em {
  font-weight: bold;
  font-style: normal; }

.attention {
  color: #cf000f; }

.memo {
  color: #888;
  font-size: 80%; }

.tel {
  text-align: center; }
  .tel a {
    color: #000;
    text-decoration: none; }
    .tel a:visited {
      color: black; }
    .tel a:hover, .tel a:active, .tel a:focus {
      color: black;
      text-decoration: none; }
  .tel span {
    display: inline-block; }
  .tel .label {
    font-family: 'EB Garamond', serif;
    letter-spacing: 0.2em; }
  .tel .no {
    font-family: 'EB Garamond', serif;
    font-size: 30px;
    font-size: 3rem;
    letter-spacing: 0.2em; }
  .tel .memo {
    color: #000; }
    @media print, screen and (min-width: 768px) {
      .tel .memo {
        margin-left: 20px; } }
    @media screen and (max-width: 767px) {
      .tel .memo {
        display: block; } }
  .tel .note {
    color: #999;
    font-size: 15px;
    font-size: 1.5rem;
    display: block; }

.margin__0 {
  margin-top: 0 !important; }
.margin__15x {
  margin-top: 1.5em !important; }
.margin__2x {
  margin-top: 2em !important; }
.margin__4x {
  margin-top: 4em !important; }
.margin__6x {
  margin-top: 6em !important; }

.fileicon {
  padding-left: 10px;
  padding-right: 10px; }

.fileicon:before {
  font-family: FontAwesome;
  display: inline-block;
  padding-right: 3px; }

.fileicon--docx:before {
  content: "\f1c2"; }

.fileicon--xlsx:before {
  content: "\f1c3"; }

.fileicon--pptx:before {
  content: "\f1c4"; }

.fileicon--pdf:before {
  content: "\f1c1"; }

.fileicon--zip:before {
  content: "\f1c6"; }

.googlemap {
  position: relative;
  padding-bottom: 30%;
  padding-top: 30px;
  height: 0;
  margin-top: 1em;
  overflow: hidden; }
  .googlemap iframe, .googlemap object, .googlemap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  @media screen and (max-width: 767px) {
    .googlemap {
      padding-bottom: 80%; } }

.sns {
  padding: 0;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: bold;
  margin-top: 0;
  -js-display: flex;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center; }
  .sns a {
    color: #000;
    text-decoration: none; }
    .sns a:visited {
      color: black; }
    .sns a:hover, .sns a:active, .sns a:focus {
      color: black;
      text-decoration: none; }

.main-copy {
  text-align: center;
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: bold;
  color: #333;
  margin: 3em 0; }
  @media screen and (max-width: 767px) {
    .main-copy {
      font-size: 28px;
      font-size: 2.8rem; } }

.common-copy {
  text-align: center;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  color: #333;
  margin: 3em 0; }
  @media screen and (max-width: 767px) {
    .common-copy {
      font-size: 22px;
      font-size: 2.2rem; } }

.mapin {
  color: #6BA6D5;
  display: inline-block;
  padding-left: 1em; }
  .mapin::before {
    font-size: 15px;
    font-size: 1.5rem;
    font-family: FontAwesome;
    content: "";
    margin-right: 5px;
    display: inline-block;
    color: #6BA6D5;
    position: relative;
    top: -2px; }

.page-title-wrapper {
  background: #EDF7FC;
  padding: 105px 0 50px;
  text-align: center;
  color: #2E6A9A;
  /*@include mq( $tb , $pc )  {
  	padding:12vw 0 10vw;
  }
  @include mq( $tb , max )  {
  	padding: 100px 1em 50px;
  }*/ }
  .page-title-wrapper .page-title {
    text-align: center;
    color: #2E6A9A;
    margin: 0;
    padding: 40px 0 0; }
    .page-title-wrapper .page-title h1 {
      font-size: 38px;
      font-size: 3.8rem;
      line-height: 2;
      margin: 0;
      font-weight: bold; }
      @media screen and (max-width: 767px) {
        .page-title-wrapper .page-title h1 {
          font-size: 30px;
          font-size: 3rem; } }

.topicpath {
  font-size: 1.2rem;
  line-height: 1.4;
  color: #333;
  margin: 5px 0 0;
  z-index: 3;
  text-align: left; }
  .topicpath .topicpath-list {
    background: #fff;
    border-radius: 15px;
    padding: 0.5em 2em;
    display: inline-block;
    text-align: left; }
  .topicpath ol {
    margin: 0;
    padding: 12px; }
    .topicpath ol::after {
      content: "";
      display: block;
      clear: both; }
  .topicpath li {
    list-style: none;
    margin: 0;
    display: inline-block; }
    .topicpath li a {
      color: #969696;
      text-decoration: none; }
      .topicpath li a:visited {
        color: #969696; }
      .topicpath li a:hover, .topicpath li a:active, .topicpath li a:focus {
        color: #969696;
        text-decoration: none; }
  .topicpath li:not(:last-child):after {
    content: ' > '; }

.btn-01 {
  font-size: 18px;
  font-size: 1.8rem;
  display: inline-block;
  text-align: center;
  padding: 1.5em 5em 1.5em 3.5em;
  transition: all .3s;
  position: relative;
  line-height: 1;
  background: #6BA6D5;
  border: 1px solid #6BA6D5;
  color: #fff;
  font-weight: bold;
  border-radius: 35px;
  /*
  span{
  	&::after {
  		content: "";
  		display: block;
  		background: url("../img/arrow01.png") no-repeat 50% 50%;
  		background-size: contain;
  		position: absolute;
  		width: 33px;
  		height: 6.5px;
  		top: 50%;
  		right: 17px;
  		line-height: 1em;
  		transition: all 0.3s;
  		transform: translateY(-70%);
  	}
  }
  
  &:hover{
  	span{
  		&:after{
  			background: url("../img/arrow01_blue.png") no-repeat 50% 50%;
  			background-size: contain;
  		}
  	}
  }
  
  &.-more{
  	span{
  		
  	}
  	img{
  		height: 15.5px;
  		
  		&.white{
  			display: inline-block;
  		}
  		&.blue{
  			display: none;
  		}
  		
  		@include mq( $tb , max ) {
  			height: 12px;
  		}
  	}
  	&:hover{
  		span{
  			img{
  				&.white{
  					display: none;
  				}
  				&.blue{
  					display: inline-block;
  				}
  			}
  		}
  	}
  }
  */ }
  .btn-01:visited {
    color: #fff; }
  @media screen and (max-width: 767px) {
    .btn-01 {
      font-size: 15px;
      font-size: 1.5rem; } }
  .btn-01:hover {
    color: #6BA6D5;
    background: #fff;
    text-decoration: none;
    opacity: 1; }
  .btn-01:after {
    content: "";
    display: block;
    width: 42px;
    height: 42px;
    background: url("../img/icon_arrow_white.png") no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%); }
    @media screen and (max-width: 767px) {
      .btn-01:after {
        width: 34px;
        height: 34px; } }
  .btn-01.-yellow {
    background: #FFFB25;
    color: #2E6A9A;
    border: 1px solid #FFFB25; }
    .btn-01.-yellow:hover {
      color: #2E6A9A;
      background: #fff;
      border: 1px solid #6BA6D5; }
  .btn-01.-kadomaru {
    border-radius: 5px; }
  .btn-01 input, .btn-01 span, .btn-01 a {
    cursor: pointer; }

.btn-wrap {
  padding-top: 1em; }
  @media print, screen and (min-width: 768px) {
    .btn-wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-align-items: self-end;
      align-items: self-end;
      margin-left: -2em;
      margin-right: -2em; }
      .btn-wrap .btn-item {
        width: 50%;
        padding: 1em 2em; }
        .btn-wrap .btn-item.col3 {
          width: calc(100% / 3); } }
  .btn-wrap .btn-item {
    text-align: center;
    margin: 0; }
    @media screen and (max-width: 767px) {
      .btn-wrap .btn-item {
        padding: 1em; }
        .btn-wrap .btn-item br {
          display: none; } }
    .btn-wrap .btn-item a {
      display: block;
      position: relative; }
    .btn-wrap .btn-item span.btn-01 {
      display: block; }
      .btn-wrap .btn-item span.btn-01:hover {
        background: none;
        color: #6BA6D5; }
    .btn-wrap .btn-item .no-link {
      padding: 1.7em;
      font-weight: bold;
      border-radius: 4px;
      color: #6BA6D5;
      font-size: 15px;
      font-size: 1.5rem;
      text-align: center;
      line-height: 1;
      border: 1px solid #6BA6D5;
      letter-spacing: 0.2em;
      display: block; }
    .btn-wrap .btn-item .btn-01 {
      padding: 1.7em 4.2em 1.7em 1.7em;
      font-weight: bold;
      border-radius: 4px;
      font-size: 16px;
      font-size: 1.6rem; }
      .btn-wrap .btn-item .btn-01 .arrow-icon {
        width: 36px;
        height: 36px;
        border-radius: 18px;
        right: 1.5em; }
        .btn-wrap .btn-item .btn-01 .arrow-icon:before {
          font-weight: normal;
          font-size: 14px;
          font-size: 1.4rem;
          left: 0.9em; }
      .btn-wrap .btn-item .btn-01.-double {
        padding: 0.7em 4.2em 0.7em 1.7em;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          .btn-wrap .btn-item .btn-01.-double {
            padding: 1.7em 4.2em 1.7em 1.7em; } }
      .btn-wrap .btn-item .btn-01.-triple {
        padding: 0.2em 4.2em 0.2em 1.7em;
        line-height: 1.3; }
        @media screen and (max-width: 767px) {
          .btn-wrap .btn-item .btn-01.-triple {
            padding: 1.7em 4.2em 1.7em 1.7em;
            line-height: 1.5; } }
      .btn-wrap .btn-item .btn-01.-quadruple {
        padding: 0.1em 4.2em 0.1em 1.7em;
        line-height: 1.2;
        font-size: 14px;
        font-size: 1.4rem; }
        @media screen and (max-width: 767px) {
          .btn-wrap .btn-item .btn-01.-quadruple {
            padding: 1.6em 4.2em 1.6em 1.7em;
            line-height: 1.5; } }

.btn-02 {
  color: #fff;
  text-decoration: none;
  font-size: 20px;
  font-size: 2rem;
  display: inline-block;
  text-align: center;
  border: 1px solid #6BA6D5;
  padding: 1.8em 6em 1.8em 5.8em;
  transition: all .3s;
  position: relative;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.2em;
  background: #6BA6D5;
  color: #fff;
  border-radius: 5px; }
  .btn-02:visited {
    color: white; }
  .btn-02:hover, .btn-02:active, .btn-02:focus {
    color: white;
    text-decoration: none; }
  @media screen and (max-width: 767px) {
    .btn-02 {
      display: block;
      padding: 1em 0; } }
  .btn-02:hover {
    color: #6BA6D5;
    border: 1px solid #6BA6D5;
    background: #fff; }
  .btn-02 span::after {
    content: "";
    display: block;
    background: url("../img/arrow03.png") no-repeat 50% 50%;
    background-size: contain;
    position: absolute;
    width: 10px;
    height: 20px;
    top: calc(50% - 0.6em);
    right: 35px;
    line-height: 1em;
    transition: all 0.3s; }
  .btn-02:hover span:after {
    background: url("../img/arrow03_blue.png") no-repeat 50% 50%;
    background-size: contain; }
  .btn-02.-back {
    border: 1px solid #363636;
    background: #363636; }
    .btn-02.-back span::after {
      background: url("../img/arrow03_back.png") no-repeat 50% 50%;
      background-size: contain;
      left: 35px; }
    .btn-02.-back:hover {
      color: #363636;
      border: 1px solid #363636;
      background: #fff; }
      .btn-02.-back:hover span:after {
        background: url("../img/arrow03_back_gray.png") no-repeat 50% 50%;
        background-size: contain; }

.btn-text {
  position: relative;
  display: inline-block;
  font-weight: bold;
  list-style: none;
  @incllude font-size(22);
  color: #2E6A9A;
  text-decoration: none; }
  .btn-text:visited {
    color: #2e6a9a; }
  .btn-text:hover, .btn-text:active, .btn-text:focus {
    color: #2e6a9a;
    text-decoration: underline; }
  .btn-text::before {
    content: "";
    width: 42px;
    height: 42px;
    display: inline-block;
    background: url("../img/icon_arrow_pale.png") no-repeat center center;
    background-size: contain;
    position: relative;
    top: 15px;
    margin-right: 18px; }

.btn-more {
  position: relative;
  color: #6BA6D5;
  font-family: "din-2014-narrow", sans-serif;
  font-weight: 400;
  /*600*/
  font-style: normal;
  font-size: 16px;
  font-size: 1.6rem;
  padding: 1em 58px 1em 0; }
  .btn-more:after {
    content: "";
    width: 42px;
    height: 42px;
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url("../img/icon_arrow_blue.png") no-repeat center center;
    background-size: contain; }

table.table-01 {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #d0d7db; }
  table.table-01 thead th {
    background: #6BA6D5;
    color: #fff; }
    table.table-01 thead th a {
      color: #fff; }
  table.table-01 th, table.table-01 td {
    border: none;
    border-bottom: 1px solid #d0d7db;
    padding: 0.5em 1em;
    border-left: 0; }
    @media screen and (max-width: 767px) {
      table.table-01 th, table.table-01 td {
        display: block;
        width: 100%; } }
  table.table-01 th {
    background: #EDF7FC;
    text-align: left; }
    @media print, screen and (min-width: 768px) {
      table.table-01 th {
        width: 15%; } }
  @media print, screen and (min-width: 768px) {
    table.table-01.ver2 th {
      width: 25%; } }

table.table-02 {
  width: 100%;
  border-collapse: collapse; }
  table.table-02 thead th {
    background: #6BA6D5;
    color: #fff; }
    table.table-02 thead th a {
      color: #fff; }
  table.table-02 th, table.table-02 td {
    border: 1px solid #6BA6D5;
    padding: 10px;
    font-size: 85%; }
    table.table-02 th dl.dl-01 dt, table.table-02 td dl.dl-01 dt {
      font-size: 85%; }
    table.table-02 th dl.dl-01 dd, table.table-02 td dl.dl-01 dd {
      font-size: 85%; }
  table.table-02 th {
    background: #EDF7FC;
    text-align: left; }

@media screen and (max-width: 767px) {
  .table-scroll {
    overflow-x: auto; }

  .table-02 {
    min-width: 768px; } }
.h2-01 {
  color: #2E6A9A;
  font-size: 38px;
  font-size: 3.8rem; }
  @media screen and (max-width: 767px) {
    .h2-01 {
      font-size: 28px;
      font-size: 2.8rem;
      line-height: 1.4; } }
  .h2-01.-center {
    text-align: center; }

.h3-01 {
  color: #2E6A9A;
  font-size: 32px;
  font-size: 3.2rem; }
  @media screen and (max-width: 767px) {
    .h3-01 {
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 1.4; } }
  .h3-01.-center {
    text-align: center; }

.h3-02 {
  font-size: 22px;
  font-size: 2.2rem;
  color: #2E6A9A;
  padding: 0.3em 0.8em 0.2em;
  border-left: 4px solid #6BA6D5; }
  @media screen and (max-width: 767px) {
    .h3-02 {
      font-size: 21px;
      font-size: 2.1rem; } }

.h3-03 .t {
  font-size: 23px;
  font-size: 2.3rem;
  color: #2E6A9A;
  padding: 0.3em 1.5em;
  display: inline-block;
  border-radius: 24px;
  border: 1px solid #2E6A9A;
  line-height: 1.5; }
  @media screen and (max-width: 767px) {
    .h3-03 .t {
      font-size: 21px;
      font-size: 2.1rem; } }
.h3-03 .note {
  font-size: 18px;
  font-size: 1.8rem;
  display: block;
  color: #2E6A9A;
  margin: 5px 0 0; }

.h4-01 {
  color: #2E6A9A;
  font-size: 28px;
  font-size: 2.8rem; }
  @media screen and (max-width: 767px) {
    .h4-01 {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.4; } }
  .h4-01.-center {
    text-align: center; }

.h5-01 {
  color: #2E6A9A;
  font-size: 22px;
  font-size: 2.2rem; }
  @media screen and (max-width: 767px) {
    .h5-01 {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.4; } }
  .h5-01.-center {
    text-align: center; }

.h5-02 {
  color: #2E6A9A;
  font-size: 19px;
  font-size: 1.9rem;
  padding: 0.2em 0.3em 0.5em;
  line-height: 1.5;
  border-bottom: 1px solid #6BA6D5; }
  @media screen and (max-width: 767px) {
    .h5-02 {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.4; } }
  .h5-02.-center {
    text-align: center; }

.sec-en h3.title {
  font-family: "din-2014-narrow", sans-serif;
  font-weight: 400;
  /*600*/
  font-style: normal; }
.sec-en h4.title {
  font-family: "din-2014-narrow", sans-serif;
  font-weight: 400;
  /*600*/
  font-style: normal; }

dl.dl-01 dt {
  color: #6BA6D5;
  padding-left: 1em;
  text-indent: -0.3em;
  font-weight: bold; }
  @media screen and (max-width: 767px) {
    dl.dl-01 dt {
      font-size: 15px;
      font-size: 1.5rem; } }
  dl.dl-01 dt::before {
    font-size: 10px;
    font-size: 1rem;
    font-family: FontAwesome;
    content: "";
    margin-right: 5px;
    display: inline-block;
    text-indent: -1em;
    color: #6BA6D5;
    position: relative;
    top: -2px; }
dl.dl-01 dd {
  font-size: 15px;
  font-size: 1.5rem;
  margin-bottom: 1em;
  padding-left: 1.3em;
  line-height: 1.5; }
  dl.dl-01 dd ul {
    margin: 0;
    padding: 0; }
    dl.dl-01 dd ul li {
      text-indent: -1em;
      font-size: 16px;
      font-size: 1.6rem; }
      dl.dl-01 dd ul li:before {
        content: "・"; }
  dl.dl-01 dd table {
    margin: 0; }
    dl.dl-01 dd table th {
      padding: 0 1em 0 0; }
  @media screen and (max-width: 767px) {
    dl.dl-01 dd {
      font-size: 13px;
      font-size: 1.3rem; } }

dl.list-arrow01 dt a {
  position: relative;
  display: inline-block;
  padding-left: 0;
  padding-top: 1em;
  letter-spacing: 0.1em;
  color: #6BA6D5;
  text-decoration: none;
  font-weight: bold; }
  dl.list-arrow01 dt a:visited {
    color: #6ba6d5; }
  dl.list-arrow01 dt a:hover, dl.list-arrow01 dt a:active, dl.list-arrow01 dt a:focus {
    color: #6ba6d5;
    text-decoration: underline; }
  dl.list-arrow01 dt a::before {
    color: #6BA6D5;
    font-family: ionicons;
    content: "";
    margin-right: 5px;
    font-size: 16px;
    font-size: 1.6rem;
    position: absolute;
    top: calc(50% - 0.1em);
    left: -0.8em;
    line-height: 1; }
dl.list-arrow01 dd {
  font-size: 14px;
  font-size: 1.4rem; }

dl.dl-02 dt {
  color: #6BA6D5;
  padding-left: 1em;
  text-indent: -0.3em;
  font-weight: bold; }
dl.dl-02 dd {
  font-size: 90%;
  margin-bottom: 1em;
  padding-left: 1.3em;
  line-height: 1.5; }

dl.horizontal {
  border-top: 1px solid #d0d7db;
  padding-top: 0.5em; }
  dl.horizontal dt {
    font-weight: bold;
    background: #6BA6D5;
    color: #fff;
    display: inline-block;
    padding: 0.3em 0.5em 0.2em;
    font-weight: normal;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 767px) {
      dl.horizontal dt {
        margin-top: 0.5em; } }
  dl.horizontal dd {
    margin: 0;
    padding: 0.3em 0.5em 0.7em;
    border-bottom: 1px solid #d0d7db; }
  @media print, screen and (min-width: 768px) {
    dl.horizontal::after {
      content: "";
      display: block;
      clear: both; }
    dl.horizontal dt {
      width: 5.5em;
      float: left;
      clear: left;
      display: block;
      padding: 0.3em 0.5em 0.2em;
      text-align: center;
      line-height: 1.5; }
    dl.horizontal dd {
      padding-left: 6.5em;
      margin-bottom: 0.5em;
      line-height: 1.5; } }

ol li {
  margin: 10px 0; }
ol.alpha {
  list-style-type: upper-alpha; }
ol.color {
  list-style: none;
  counter-reset: ol_li;
  /* ol_li カウンタをセットする(値もリセット) */
  padding: 0 0 0 1em; }
  ol.color li {
    text-indent: -1em; }
    ol.color li:before {
      margin-right: .25em;
      counter-increment: ol_li;
      /* ol_li カウンタの値に1加える */
      content: counter(ol_li) ".";
      /* before擬似要素のcontentで出力 */
      color: #6BA6D5;
      /* 色を変更 */
      font-weight: bold;
      font-family: "din-2014-narrow", sans-serif;
      font-weight: 400;
      /*600*/
      font-style: normal; }

li ol li {
  margin: 5px 0; }

.main ul li {
  margin: 10px 0; }

.list {
  padding-left: 0;
  list-style-type: none; }
  .list ol {
    margin: 0; }
  .list li {
    padding-left: 1em;
    text-indent: -0.3em; }
    .list li::before {
      font-size: 10px;
      font-size: 1rem;
      font-family: FontAwesome;
      content: "";
      margin-right: 5px;
      display: inline-block;
      text-indent: -1em;
      color: #6BA6D5;
      position: relative;
      top: -2px; }
  .list > li {
    margin: 0 0 0.5em; }
  .list.-green li::before {
    color: #6BC1D5; }
  .list.-line li {
    display: inline-block;
    padding-right: 1em; }
  .list.-rice li {
    line-height: 1.5;
    margin: 0 0 0.3em;
    font-size: 15px;
    font-size: 1.5rem; }
    .list.-rice li::before {
      content: "※";
      font-size: 15px;
      font-size: 1.5rem;
      color: #2E6A9A;
      top: 0; }

.list-arrow01 {
  padding-left: 0; }
  .list-arrow01 li {
    list-style: none;
    padding: 0 10px 1em 120px;
    text-indent: -60px;
    font-size: 22px; }
    .list-arrow01 li a {
      position: relative;
      display: inline-block;
      padding-left: 0;
      font-weight: bold;
      color: #2E6A9A;
      text-decoration: none; }
      .list-arrow01 li a:visited {
        color: #2e6a9a; }
      .list-arrow01 li a:hover, .list-arrow01 li a:active, .list-arrow01 li a:focus {
        color: #2e6a9a;
        text-decoration: underline; }
      .list-arrow01 li a::before {
        content: "";
        width: 42px;
        height: 42px;
        display: inline-block;
        background: url("../img/icon_arrow_pale.png") no-repeat center center;
        background-size: contain;
        position: relative;
        top: 15px;
        margin-right: 18px; }
    .list-arrow01 li ul {
      padding: 0 0 0 1em; }
  @media screen and (max-width: 767px) {
    .list-arrow01 {
      border-top: 1px solid #DCE7ED; }
      .list-arrow01 li {
        border-bottom: 1px solid #DCE7ED;
        text-indent: -40px;
        padding: 15px 10px 20px 50px;
        font-size: 20px; }
        .list-arrow01 li a {
          display: block; }
          .list-arrow01 li a:before {
            width: 30px;
            height: 30px;
            top: 8px;
            margin-right: 10px; } }

.nav-within {
  padding: 1.5em 0 2.5em; }
  @media print, screen and (min-width: 768px) {
    .nav-within {
      padding-bottom: 1.5em;
      border-top: 1px solid #DCE7ED;
      border-bottom: 1px solid #DCE7ED; } }
  @media print, screen and (min-width: 768px) {
    .nav-within .list-arrow01 {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      white-space: nowrap;
      margin-left: -40px;
      margin-right: -40px;
      margin-top: 0; }
      .nav-within .list-arrow01 li {
        margin: 0 60px; } }
  @media print, screen and (min-width: 768px) {
    .nav-within.nav-compact {
      margin-top: 1em; }
      .nav-within.nav-compact .list-arrow01 li {
        margin: 0 30px; } }

.faq {
  margin-top: 1em;
  border-top: 1px solid #DCE7ED; }
  .faq .item {
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
  .faq .faq-item {
    border-bottom: 1px solid #DCE7ED;
    padding: 1em 0; }
    .faq .faq-item:hover {
      cursor: pointer; }
    .faq .faq-item .faq-q {
      padding: 0.5em 20px; }
      .faq .faq-item .faq-q .title {
        width: 3.5%;
        color: #2E6A9A;
        font-family: "din-2014-narrow", sans-serif;
        font-weight: 400;
        /*600*/
        font-style: normal;
        -js-display: flex;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        font-size: 32px;
        font-size: 3.2rem;
        margin: 0;
        line-height: 1; }
        @media screen and (max-width: 767px) {
          .faq .faq-item .faq-q .title {
            width: 8%;
            font-size: 18px;
            font-size: 1.8rem; } }
      .faq .faq-item .faq-q .summary {
        width: 96.5%;
        padding: 0.6em 0.9em 0.5em;
        line-height: 1.3;
        font-weight: bold;
        margin: 0;
        font-size: 18px;
        font-size: 1.8rem;
        color: #2E6A9A;
        letter-spacing: 0.1em; }
        @media screen and (max-width: 767px) {
          .faq .faq-item .faq-q .summary {
            width: 92%;
            font-size: 12px;
            font-size: 1.2rem; } }
      .faq .faq-item .faq-q .item {
        position: relative; }
        .faq .faq-item .faq-q .item:after {
          content: "-";
          display: inline-block;
          font-family: "din-2014-narrow", sans-serif;
          font-weight: 400;
          /*600*/
          font-style: normal;
          font-size: 52px;
          font-size: 5.2rem;
          color: #2E6A9A;
          position: absolute;
          line-height: 1;
          top: -10px;
          right: 0; }
    .faq .faq-item .faq-a {
      background: #EDF7FC;
      display: none;
      padding: 0.5em 1em; }
      .faq .faq-item .faq-a .title {
        width: 4.4%;
        font-family: "din-2014-narrow", sans-serif;
        font-weight: 400;
        /*600*/
        font-style: normal;
        font-size: 32px;
        font-size: 3.2rem;
        color: #6BA6D5;
        text-align: center;
        margin: 0.7em 0 0;
        margin: 0;
        line-height: 1;
        padding: 20px 0; }
        @media screen and (max-width: 767px) {
          .faq .faq-item .faq-a .title {
            width: 10%;
            font-size: 18px;
            font-size: 1.8rem; } }
      .faq .faq-item .faq-a .summary {
        width: 95.6%;
        padding: 20px;
        font-size: 16px;
        font-size: 1.6rem;
        margin: 0; }
        .faq .faq-item .faq-a .summary strong {
          font-weight: bold;
          color: #6BA6D5;
          font-size: 18px;
          font-size: 1.8rem; }
        @media screen and (max-width: 767px) {
          .faq .faq-item .faq-a .summary {
            width: 90%;
            font-size: 11px;
            font-size: 1.1rem; }
            .faq .faq-item .faq-a .summary strong {
              font-size: 14px;
              font-size: 1.4rem; } }
    .faq .faq-item.open .faq-q .item:after {
      content: "+";
      font-size: 42px;
      font-size: 4.2rem; }

.box-wrap .box-item {
  padding: 2em 0; }
@media print, screen and (min-width: 768px) {
  .box-wrap {
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -45px;
    margin-right: -45px; }
    .box-wrap .box-item {
      padding: 30px 45px;
      width: 50%; } }

.sec-other {
  margin-top: 4em; }
  .sec-other .box-wrap .box-item .box02 .body, .sec-other .box-wrap .box-item .box02 .thumb {
    padding: 0.8em 1.5em; }
  @media print, screen and (min-width: 768px) {
    .sec-other .box-wrap {
      margin-left: -2em;
      margin-right: -2em; }
      .sec-other .box-wrap .box-item {
        padding: 1em 2em; }
        .sec-other .box-wrap .box-item .box02 {
          margin-left: -0.5em;
          margin-right: -0.5em; }
          .sec-other .box-wrap .box-item .box02 .body, .sec-other .box-wrap .box-item .box02 .thumb {
            padding: 0.5em; } }

.box01 .thumb {
  padding: 0;
  margin: 0; }
  .box01 .thumb img {
    border-radius: 20px; }
.box01 .title {
  padding: 1em 0 0;
  margin: 0;
  font-weight: bold;
  color: #2E6A9A;
  font-size: 24px;
  font-size: 2.4rem; }
.box01 .copy {
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: bold;
  color: #333;
  line-height: 1.5;
  margin-top: 0.5em; }
.box01 .note {
  font-size: 15px;
  font-size: 1.5rem;
  color: #969696;
  margin-top: 0.5em; }
.box01 .text {
  font-size: 18px;
  font-size: 1.8rem;
  margin: 0.5em 0 0; }
.box01 .btn {
  text-align: right; }
  .box01 .btn a {
    position: relative;
    color: #6BA6D5;
    font-family: "din-2014-narrow", sans-serif;
    font-weight: 400;
    /*600*/
    font-style: normal;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 1em 58px 1em 0; }
    .box01 .btn a:after {
      content: "";
      width: 42px;
      height: 42px;
      display: block;
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      background: url("../img/icon_arrow_blue.png") no-repeat center center;
      background-size: contain; }
.box01.-bg {
  background: #EDF7FC;
  padding: 0.8em 1.5em 1.5em;
  border-radius: 12px;
  height: 100%; }

.box02 .thumb {
  padding: 0;
  margin: 0; }
  .box02 .thumb img {
    border-radius: 20px; }
.box02 .title {
  padding: 0;
  margin: 0;
  font-weight: bold;
  color: #2E6A9A;
  font-size: 18px;
  font-size: 1.8rem; }
.box02 .copy {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  color: #333;
  line-height: 1.5;
  margin-top: 0.5em; }
.box02 .note {
  font-size: 14px;
  font-size: 1.4rem;
  color: #969696;
  margin-top: 0.5em; }
.box02 .syozoku {
  font-size: 16px;
  font-size: 1.6rem;
  margin: 0.5em 0 0;
  font-weight: bold;
  color: #6BA6D5; }
.box02 .text {
  font-size: 16px;
  font-size: 1.6rem; }
.box02 .btn {
  text-align: right; }
  .box02 .btn a {
    position: relative;
    color: #6BA6D5;
    font-family: "din-2014-narrow", sans-serif;
    font-weight: 400;
    /*600*/
    font-style: normal;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 1em 58px 1em 0; }
    .box02 .btn a:after {
      content: "";
      width: 42px;
      height: 42px;
      display: block;
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      background: url("../img/icon_arrow_blue.png") no-repeat center center;
      background-size: contain; }
@media print, screen and (min-width: 768px) {
  .box02 {
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-left: -1.5em;
    margin-right: -1.5em; }
    .box02 .thumb {
      width: 40%;
      padding: 0.5em 1.5em; }
    .box02 .body {
      width: 60%;
      padding: 0.5em 1.5em; } }

.box03 {
  border-radius: 20px;
  padding: 30px 40px;
  background: #EDF7FC;
  height: 100%; }
  .box03 .title {
    padding: 0;
    margin: 0;
    font-weight: bold;
    color: #2E6A9A;
    font-size: 20px;
    font-size: 2rem; }
  .box03 .text {
    font-size: 18px;
    font-size: 1.8rem;
    margin-top: 0.5em; }
  .box03 .copy {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    color: #333;
    line-height: 1.5;
    margin-top: 0.5em; }
  .box03 .btn {
    text-align: right;
    margin-top: 0.8em; }
    .box03 .btn a {
      position: relative;
      color: #6BA6D5;
      font-family: "din-2014-narrow", sans-serif;
      font-weight: 400;
      /*600*/
      font-style: normal;
      font-size: 16px;
      font-size: 1.6rem;
      padding: 1em 58px 1em 0; }
      .box03 .btn a:after {
        content: "";
        width: 42px;
        height: 42px;
        display: block;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        background: url("../img/icon_arrow_blue.png") no-repeat center center;
        background-size: contain; }

.summary-wrap .summary-item {
  padding: 15px; }
  .summary-wrap .summary-item .thumb img {
    border-radius: 20px; }
  .summary-wrap .summary-item .title {
    color: #6BA6D5;
    font-size: 20px;
    font-size: 2rem; }
@media print, screen and (min-width: 768px) {
  .summary-wrap {
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px; }
    .summary-wrap .summary-item {
      width: calc(100% / 3); }
      .summary-wrap .summary-item.-double {
        width: 50%; } }

.decoration-box {
  background: #EDF7FC;
  padding: 50px 55px;
  border-radius: 30px; }
  @media screen and (max-width: 767px) {
    .decoration-box.bottom {
      padding-bottom: 2em; } }
  @media print, screen and (min-width: 768px) {
    .decoration-box.bottom {
      padding-bottom: 70px; } }
  .decoration-box .title {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: bold;
    color: #2E6A9A;
    margin: 0 0 0.7em; }
  .decoration-box .item-img {
    width: 137px;
    margin: 0 auto; }
    .decoration-box .item-img .caption {
      display: block;
      padding: 5px 0;
      font-size: 11px;
      font-size: 1.1rem;
      color: #2E6A9A; }
  @media print, screen and (min-width: 768px) {
    .decoration-box .decoration-box-wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      flex-wrap: wrap;
      margin-left: -20px;
      margin-right: -20px; }
      .decoration-box .decoration-box-wrap .decoration-box-item {
        width: 50%;
        padding: 10px 20px; }
      .decoration-box .decoration-box-wrap .item-wrap {
        margin: 0; } }
  @media print, screen and (min-width: 1023px) {
    .decoration-box .item-wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      flex-wrap: wrap; }
      .decoration-box .item-wrap .item-img {
        width: 137px;
        margin: 0; }
      .decoration-box .item-wrap .item-text {
        width: calc(100% - 137px);
        padding-left: 25px;
        margin: 0; } }
  @media screen and (max-width: 767px) {
    .decoration-box {
      padding: 1em 1.5em; } }

/* ------------------------------
　　お問い合わせ
------------------------------ */
.sec-form {
  padding: 3em 0 5em; }
  .sec-form .flex-flow {
    padding-bottom: 0 !important; }
  .sec-form .flex-flow-wrap {
    width: 80% !important;
    min-width: 80% !important;
    margin: 3em auto 0 !important;
    overflow: hidden; }
    .sec-form .flex-flow-wrap .flow-title {
      margin: 0 !important; }
      .sec-form .flex-flow-wrap .flow-title .text {
        padding: 14px;
        font-size: 16px !important; }
    @media screen and (max-width: 767px) {
      .sec-form .flex-flow-wrap {
        width: 100% !important; } }
  .sec-form dl.dl-01 dd {
    font-size: 18px;
    font-size: 1.8rem; }

.contact-form {
  width: 100%;
  padding: 0;
  list-style: none;
  background: #EDF7FC;
  border-radius: 20px;
  padding: 1em 1.5em;
  margin: 3em 0; }
  .contact-form td, .contact-form th {
    padding: 15px 0; }
    @media screen and (max-width: 767px) {
      .contact-form td, .contact-form th {
        display: block; } }
  @media print, screen and (min-width: 768px) {
    .contact-form th {
      width: 30%;
      text-align: left; } }
  @media screen and (max-width: 767px) {
    .contact-form th {
      border: 0;
      text-align: left;
      padding-bottom: 0; } }
  .contact-form .full {
    width: 100%; }
  .contact-form .error {
    color: #FF8F53;
    margin: 0.5em 0 1em;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    width: 100%;
    display: block; }
  .contact-form #resume {
    margin-bottom: 0.6em; }
  .contact-form #resume, .contact-form #work_history {
    font-size: 15px;
    font-size: 1.5rem; }
    .contact-form #resume .error, .contact-form #work_history .error {
      width: 100%;
      display: block; }
    @media screen and (max-width: 767px) {
      .contact-form #resume span, .contact-form #work_history span {
        display: block; } }
    @media print, screen and (min-width: 768px) {
      .contact-form #resume, .contact-form #work_history {
        display: flex;
        align-items: center;
        flex-wrap: wrap; }
        .contact-form #resume input, .contact-form #resume button, .contact-form #work_history input, .contact-form #work_history button {
          margin: 0 8px; } }

.contact-form-label {
  display: block;
  text-align: left;
  margin: 0;
  padding: 10px 10px 0 10px;
  font-weight: normal;
  color: #6BA6D5;
  font-weight: bold;
  line-height: 1.5; }

.contact-form-control {
  display: block;
  padding: 10px; }
  .contact-form-control .list.-rice {
    margin-top: 0.5em; }
    .contact-form-control .list.-rice li {
      font-size: 14px;
      font-size: 1.4rem;
      margin-bottom: 0; }
  .contact-form-control .contact-form-control-flex select {
    margin-right: 4px; }
  @media print, screen and (min-width: 768px) {
    .contact-form-control .contact-form-control-flex {
      display: flex;
      align-items: center;
      flex-wrap: wrap; } }
  @media screen and (max-width: 767px) {
    .contact-form-control .contact-form-control-flex {
      line-height: 3; }
      .contact-form-control .contact-form-control-flex select {
        margin-bottom: 0.5em; } }

.contact-form-grid {
  margin: 0 -5px; }

.contact-form-col {
  margin: 0 0 10px 0;
  padding: 0 5px; }
  .contact-form-col:last-child {
    margin: 0; }

@media print, screen and (min-width: 768px) {
  .contact-form {
    display: table;
    width: 100%; }

  .contact-form-group {
    display: table-row; }

  .contact-form-label,
  .contact-form-control {
    display: table-cell; }

  .contact-form-label {
    width: 26%;
    padding: 25px 15px 15px 15px;
    vertical-align: top; }

  .contact-form-control {
    width: 74%;
    padding: 15px; }

  .contact-form-col {
    margin: 0; } }
/* 送信ボタン
------------------------------ */
.form-btn-box {
  margin: 0 10px;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .form-btn-box .btn-form, .form-btn-box .btn-back {
    display: inline-block;
    border: none;
    border-radius: 60px;
    min-width: 300px;
    padding: 1.1em 2em 1em;
    font-weight: bold;
    font-size: 20px;
    margin: 2em 1em;
    white-space: normal; }
    .form-btn-box .btn-form:hover, .form-btn-box .btn-back:hover {
      cursor: pointer; }
  .form-btn-box .btn-form {
    color: #fff;
    background: #6BA6D5; }
  .form-btn-box .btn-back {
    color: #2E6A9A;
    background: #FFFB25; }

.form-btn-return {
  float: left; }

.form-btn-send {
  float: right; }

@media print, screen and (min-width: 768px) {
  .form-btn-return {
    float: none; }

  .form-btn-send {
    float: none;
    max-width: 360px;
    width: 100%; } }
/* ラベル
------------------------------ */
.label-required {
  margin: 5px;
  padding: 3px 1em 2px;
  color: #FFF;
  font-size: 14px;
  border-radius: 1em;
  background: #6BA6D5;
  line-height: 1.2;
  font-weight: normal;
  border-radius: 1em; }

.label-required-red {
  margin: 0 5px 0 1.5em;
  padding: 2px 1em;
  color: #CC4848;
  font-size: 13px;
  border-radius: 1em;
  border: 1px solid #CC4848;
  line-height: 1.2;
  font-weight: normal;
  border-radius: 1em; }

@media print, screen and (min-width: 768px) {
  .label-required {
    float: right; } }
/* フォーム要素
------------------------------ */
.contact-form select {
  background-color: #fff;
  max-width: 100%; }
  .contact-form select[required]:required {
    border: 1px solid #C49511; }
  .contact-form select.focused:invalid {
    border: 1px solid #c41134; }
  .contact-form select[required]:valid {
    border: 1px solid #A7A7AA; }
.contact-form input,
.contact-form textarea {
  max-width: 100%; }
  .contact-form input[required]:required,
  .contact-form textarea[required]:required {
    background: #FFFDEB; }
  .contact-form input.focused:invalid,
  .contact-form textarea.focused:invalid {
    background: #FFEBEE; }
  .contact-form input[required]:valid,
  .contact-form textarea[required]:valid {
    background: #FFF; }
.contact-form input[type="text"],
.contact-form input[type="password"],
.contact-form input[type="datetime"],
.contact-form input[type="datetime-local"],
.contact-form input[type="date"],
.contact-form input[type="month"],
.contact-form input[type="time"],
.contact-form input[type="week"],
.contact-form input[type="number"],
.contact-form input[type="email"],
.contact-form input[type="url"],
.contact-form input[type="search"],
.contact-form input[type="tel"] {
  font-size: 16px;
  padding: 14px 5px 10px 5px;
  border: 1px solid #DCE7ED;
  border-radius: 3px;
  background: #fff;
  box-shadow: none;
  padding: 1em 1.5em !important; }
.contact-form textarea {
  border: 1px solid #DCE7ED;
  border-radius: 3px;
  background: #fff;
  box-shadow: none;
  padding: 1em 1.5em !important;
  max-width: 100%; }
  .contact-form textarea:hover {
    border: 1px solid rgba(0, 0, 0, 0.2); }
.contact-form select {
  font-size: 16px;
  border: 1px solid #DCE7ED;
  border-radius: 3px;
  background: #fff;
  box-shadow: none;
  padding: 1em 1.5em !important;
  vertical-align: top; }

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

.pager-wrap {
  margin: 2em 0 0; }

ul.pager {
  text-align: center;
  padding: 0;
  margin-top: 3em;
  margin-bottom: 2em;
  /*border-top: 1px solid #fff;*/
  font-size: 0px;
  font-size: 0rem; }
  ul.pager li {
    list-style: none;
    display: inline-block;
    font-size: 18px;
    font-size: 1.8rem;
    margin: 5px; }
    ul.pager li.arrow a {
      color: #6BA6D5;
      text-decoration: none; }
      ul.pager li.arrow a:visited {
        color: #6ba6d5; }
      ul.pager li.arrow a:hover, ul.pager li.arrow a:active, ul.pager li.arrow a:focus {
        color: #6ba6d5;
        text-decoration: none; }
    ul.pager li span {
      display: inline-block; }
      ul.pager li span a {
        display: inline-block;
        padding: 3px 13px 5px;
        color: #fff;
        text-decoration: none;
        line-height: 1.5;
        background: #2E6A9A; }
        ul.pager li span a:visited {
          color: white; }
        ul.pager li span a:hover, ul.pager li span a:active, ul.pager li span a:focus {
          color: white;
          text-decoration: none; }
      ul.pager li span.dot {
        background: none; }
    ul.pager li.cur span {
      padding: 3px 13px 5px;
      color: #fff;
      line-height: 1.5;
      background: #6BA6D5; }
