@charset "UTF-8";
html {
  font-size: 10px;
}
@media (min-width: 1000px) and (max-width: 1279.9px) {
  html {
    font-size: 0.7vw;
  }
}

body {
  font-size: 1.5rem;
}

html, body {
  line-height: 1.8666666667;
  color: #333;
  font-family: "Noto Sans JP", "-apple-system", "BlinkMacSystemFont", "Meiryo", sans-serif;
  font-weight: 300;
}

a,
a img {
  text-decoration: none;
  transition: 0.3s;
}
a,
a:visited{
  color: #333;
}
a:hover{
  text-decoration: none;
}
a:hover img {
  opacity: 0.6;
}

@media (min-width: 1000px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

dt,
th {
  font-weight: 400;
}

.button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 30rem;
  margin-left: auto;
  margin-right: auto;
  min-height: 6.5rem;
  text-align: center;
  line-height: 1;
  color: #333;
  background-color: #f7f7f7;
  border: 2px solid #ccc;
  font-size: 1.8rem;
  font-weight: 400;
}

a.button:hover {
  color: #333;
}

.button.button-lg {
  max-width: 42rem;
  min-height: 8rem;
  font-size: 2.4rem;
}

.button.button-oval {
  border-radius: 10em;
}

.button.button-first:not(.button-outline) {
  color: #fff;
  background-color: #008cce;
  border-color: #008cce;
}

a.button.button-first:not(.button-outline):hover {
  color: #008cce;
  background-color: #fff;
}

.button.button-first.button-outline {
  color: #008cce;
  background-color: #fff;
  border-color: #008cce;
}

a.button.button-first.button-outline:hover {
  color: #fff;
  background-color: #008cce;
  border-color: #008cce;
}

.button.button-important {
  color: #fff;
  background-color: #e95520;
  border-color: #e95520;
}

a.button.button-important:hover {
  color: #e95520;
  background-color: #fff;
}

.button.button-download {
  width: 30rem;
  text-indent: 2rem;
}
.button.button-download .button-icon {
  content: "";
  position: absolute;
  left: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.5rem;
  height: 3.5rem;
  background-image: url(../images/common/icon-download.svg);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
}

a.button.button-download:hover .button-icon path {
  fill: #008cce;
}

.label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1em;
  padding-right: 1em;
  min-height: 2rem;
  text-align: center;
  line-height: 1;
  color: #333;
  background-color: #f7f7f7;
  font-size: 1.3rem;
  border-radius: 0.3rem;
}
.label a.label {
  text-decoration: none;
}

.label.label-default {
  color: #fff;
  background-color: #666;
  border-color: #666;
}

.label.label-first {
  color: #fff;
  background-color: #008cce;
  border-color: #008cce;
}

.label.label-important {
  color: #fff;
  background-color: #e95520;
  border-color: #e95520;
}

.title {
  position: relative;
  line-height: 1.5;
  font-weight: 400;
}

.title.title-level-2 {
  font-size: 3.4rem;
  font-weight: 300;
}

.title.title-level-3 {
  font-size: 2.4rem;
}

.title.title-level-4 {
  font-size: 2.2rem;
}

.title.title-level-5 {
  font-size: 2rem;
}

.title.title-level-6 {
  font-size: 1.6rem;
}

.title.title-level-7 {
  font-size: 1.3rem;
}

.title.title-level-0 {
  font-size: 1em;
  line-height: inherit;
}

.title.title-style-a {
  padding-top: 1.1764705882em;
  margin-bottom: 1.1764705882em;
  border-top: 0.1rem solid #ccc;
}
.title.title-style-a::before {
  content: "";
  position: absolute;
  top: -0.2rem;
  left: 0;
  width: 10rem;
  height: 0.3rem;
  background: #008cce;
}

.title.title-style-b {
  display: flex;
  align-items: center;
  margin-bottom: 1.25em;
}
.title.title-style-b::after {
  content: "";
  flex-grow: 1;
  min-width: 2em;
  height: 0.2rem;
  background-color: #008cce;
  margin-left: 2rem;
}

.title.title-style-c {
  color: #008cce;
  text-align: center;
}

.title.title-style-d {
  color: #008cce;
  margin-top: 1.7777777778em;
  margin-bottom: 0.3333333333em;
}

.title.title-style-e {
  font-weight: 300;
}

.title.title-style-f {
  font-weight: 300;
  text-align: center;
}

.title.title-style-g {
  color: #2274b5;
  margin-top: 1.7777777778em;
  margin-bottom: 0.3333333333em;
}

.caption {
  display: table;
  margin: 0 auto 1.3333333333em;
  border: 0.1rem solid #ccc;
  padding: 0.5em;
  text-align: center;
  line-height: 1;
}

.caption.caption-first {
  border-color: #008cce;
  color: #008cce;
}
.column-media-center .caption{
  display: inline-block;
  margin: 1rem auto 2rem;
}

.body {
  word-break: break-all;
}
.body p:not(:last-child) {
  margin-bottom: 1.8666666667em;
}
.body a:not([class]) {
  color: #008cce;
  text-decoration: underline;
}
.body a:not([class]):hover {
  text-decoration: none;
}

.body h4{
  font-weight: bold;
}

.figure img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.figure.figure-square {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
}
.figure.figure-square img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.titles {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.input {
  max-width: 100%;
  min-height: 3em;
  padding-left: 1.4666666667em;
  padding-right: 1.4666666667em;
  background: #fff none;
  border: 0.1rem solid #ccc;
  color: #333;
  border-radius: 0.4rem;
  vertical-align: middle;
  -webkit-appearance: none;
  appearance: none;
}
.input ::-webkit-input-placeholder {
  color: #666;
}
.input ::placeholder {
  color: #666;
}
textarea.input {
  min-height: auto;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  line-height: 1.5;
}

.input:focus {
  background-color: #fff;
  border-color: transparent;
  outline: 0.2rem solid #008cce;
}
.input::-webkit-search-decoration {
  display: none;
}
.input.is-error, .is-error .input {
  background-color: rgba(233, 85, 32, 0.05);
  border-color: #ed0000;
  color: #ed0000;
}
.input.is-error:focus, .is-error .input:focus {
  background-color: rgba(233, 85, 32, 0.05);
  border-color: transparent;
  outline: 0.2rem solid #ed0000;
}

.checkbox {
  position: relative;
  display: inline-block;
  cursor: pointer;
  font-size: 1em;
  line-height: 1;
  margin-top: 1.5em;
}
.checkbox .checkbox-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.25em;
  height: 1.25em;
  border: 0.1rem solid #ccc;
  background-color: #fff;
  border-radius: 0.3rem;
  z-index: 4;
}
.checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
  top: -0.125em;
  left: -0.125em;
  width: 1.5em;
  height: 1.5em;
  margin: 0;
  font-size: 1em;
  -webkit-appearance: none;
  appearance: none;
  z-index: 2;
}
.checkbox input[type=checkbox]:checked + .checkbox-icon {
  background: #008cce;
  border-color: #008cce;
}
.checkbox input[type=checkbox]:checked + .checkbox-icon:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 50%;
  height: 80%;
  border-bottom: 0.2em solid #fff;
  border-right: 0.2em solid #fff;
  -webkit-transform: translate(-50%, 0) rotate(45deg);
          transform: translate(-50%, 0) rotate(45deg);
}
.checkbox input[type=checkbox]:focus {
  opacity: 1;
}
.checkbox .checkbox-label {
  position: relative;
  padding-left: 1.75em;
  z-index: 3;
}

.inner {
  width: calc( 100% - 4rem );
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
}

.inner.inner-2col {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.inner.inner-2col .inner-main {
  flex-grow: 0;
  width: calc( 100% - 33rem );
  max-width: 87rem;
}
.inner.inner-2col .inner-sub {
  flex-grow: 0;
  width: 28rem;
}

.inbox {
  width: calc( 100% - 8rem );
  margin-left: auto;
  margin-right: auto;
}
.inbox:not(:last-child) {
  margin-bottom: 4rem;
}

.section:not(:first-child) {
  margin-bottom: 7.5rem;
}

.section.section-lg:not(:first-child) {
  margin-bottom: 10rem;
}
.section.section-lg div.blog-unit h2{
  margin-top: 10rem;
}
.section.section-lg div.blog-unit .inbox{margin-bottom: 4rem;}
div.blog-unit ul.inbox{
  margin-top:3rem;
  margin-bottom: 3rem;
}
div.blog-unit ul.inbox li{
  list-style: disc;
  margin: 0 0 1.2rem 20px;
}
.section.section-lg hr{display:none;}
hr.clearHidden{display: none;}

.nav {
  font-size: 1.5rem;
}
.nav li {
  display: flex;
  width: 100%;
  height: 4.5rem;
  align-items: center;
  justify-content: flex-start;
  border-bottom: 0.1rem dashed #ccc;
  line-height: 1;
}
.nav li:first-child {
  border-top: 0.1rem dashed #ccc;
}
.nav a {
  display: flex;
  width: 100%;
  height: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
  align-items: center;
  justify-content: flex-start;
  color: #333;
  text-decoration: none;
}
.nav a:hover, .nav a:focus {
  background-color: #f4f9fe;
}

.frame {
  margin-top: 7.5rem;
  margin-bottom: 7.5rem;
  padding: 4rem;
  background-color: #f4f9fe;
}

.box {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
}
.box .box-col {
  flex-grow: 1;
}

.box.box-2 .box-col {
  max-width: calc( 50% - 2rem );
}

.box.box-3 .box-col {
  max-width: calc( 33.33333333% - 2.5rem );
}

.checklist {
  font-size: 1.0666666667em;
}
.checklist li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 3.125em;
  padding: 0.4em 2.5rem 0.5em 6.2rem;
  background-color: #fff;
  border-radius: 0.6rem;
  line-height: 1.5;
}
.checklist li:not(:first-child) {
  margin-top: 0.5em;
}
.checklist li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.25em;
  height: 1.25em;
  background-image: url(../images/common/icon-check-circle.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

.media {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
}

.media.media-reverse {
  flex-direction: row-reverse;
}

.media-image {
  width: 46.4285714286%;
}
.media-image img {
  margin-left: auto;
  margin-right: auto;
}

.media-body {
  flex-grow: 1;
  max-width: 50%;
  word-break: break-all;
}
.media-body p + * {
  margin-top: 3rem;
}
.media-body a:not([class]) {
  color: #008cce;
  text-decoration: underline;
}
.media-body a:not([class]):hover {
  text-decoration: none;
}

.media.media-guide {
  align-items: center;
  width: 100%;
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 4rem;
  background-color: #0f8cce;
  color: #fff;
  border-radius: 0.6rem;
}
.media.media-guide .media-image {
  width: 120px;
}
.media.media-guide .media-body {
  max-width: calc(100% - 145px);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.media.media-guide .media-body a:not([class]) {
  color: #fff;
}

.card {
  max-width: 54rem;
  margin-left: auto;
  margin-right: auto;
  border-radius: 1rem;
}
.card .card-image .figure {
  width: calc( 100% - 4rem );
  margin-left: auto;
  margin-right: auto;
}

.card.card-special {
  background-color: #f4f9fe;
}
.card.card-special .card-image {
  padding-top: 2.5rem;
}
.card.card-special .card-image .figure {
  width: 37.037037037%;
}
.card.card-special .card-body {
  padding-top: 2rem;
  padding-bottom: 3rem;
  word-break: break-all;
}
.card.card-special .card-subtitle {
  margin-top: 0;
  margin-bottom: 2.5rem;
  color: #008cce;
  font-size: 2rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.5;
}
.card.card-special .card-title {
  margin: 0;
  font-size: 2.6rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.8461538462;
}
.card.card-special .linkbtn {
  margin-top: 2rem;
}

.card.card-arrowed {
  display: block;
  max-width: 36rem;
  min-height: 32rem;
  padding: 1rem;
  border-radius: 0.6rem;
  border: 0.2rem solid transparent;
  background-color: #f4f9fe;
}
.card.card-arrowed:hover {
  background-color: #fff;
  border-color: #008cce;
}
.card.card-arrowed .card-image {
  margin-bottom: 1rem;
}
.card.card-arrowed .card-image .figure {
  width: 100%;
}
.card.card-arrowed .card-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.panel {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: 4rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
  background-color: #f4f9fe;
}
.panel .title {
  margin-bottom: 0.625em;
}

.panel-item {
  flex-grow: 1;
  max-width: 88rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-color: #fff;
  border: 0.1rem solid #ccc;
}

.panel-image {
  line-height: 1;
}
.panel-image img {
  display: block;
  max-width: calc( 100% - 4rem );
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
.panel-image figcaption {
  margin-top: 1em;
  text-align: center;
}

.panel-footer {
  width: 100%;
  margin-top: 1.5em;
  text-align: center;
  line-height: 1;
}

.panel.panel-2col .panel-item {
  max-width: 48rem;
}
.panel.panel-2col .panel-item + .panel-item {
  margin-left: 4rem;
}

.def {
  width: 100%;
  border-top: 0.1rem solid #ccc;
}

.def-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start;
  min-height: 8.2rem;
  padding-top: 1.7333333333em;
  padding-bottom: 1.7333333333em;
  border-bottom: 0.1rem solid #ccc;
}

.def-header {
  width: 14.7321428571%;
  max-width: 16.5rem;
  padding-left: 2rem;
  font-weight: 700;
  white-space: nowrap;
}

.def-body {
  flex-grow: 1;
  flex-basis: 0;
}
.def-body span{
  display: block;
}
.def-body span::before{
  content: "・";
}

.history {
  border-top: 0.1rem solid #ccc;
}

.history-header {
  line-height: 1;
  margin-bottom: 1em;
  padding-top: 3rem;
  font-weight: 700;
}

.history-contents {
  border-bottom: 0.1rem solid #ccc;
  padding-bottom: 2.3rem;
  padding-left: 2rem;
}

.history-item {
  position: relative;
  padding: 0 0 0 1em;
  list-style-type: none;
}
.history-item:not(:first-child) {
  margin-top: 1em;
}
.history-item:before {
  display: block;
  content: "";
  position: absolute;
  top: 1em;
  left: 0.5em;
  width: 0.15em;
  height: 0.15em;
  border-radius: 50%;
  background-color: currentColor;
}

.history.history-inline + .history {
  margin-top: -0.1rem;
}

@media (min-width: 1000px) {
  .history.history-inline {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-start;
    min-height: 8.2rem;
    margin: 0;
    padding-top: 1.7333333333em;
    padding-bottom: 1.7333333333em;
    border-bottom: 0.1rem solid #ccc;
  }
  .history.history-inline + .history {
    margin-top: -0.1rem;
  }
  .history.history-inline .history-header {
    width: 14.7321428571%;
    max-width: 16.5rem;
    margin-bottom: 0;
    padding-top: 0;
    padding-left: 2rem;
    white-space: nowrap;
  }
  .history.history-inline .history-contents {
    flex-grow: 1;
    flex-basis: 0;
    padding-left: 0;
    padding-bottom: 0;
    border-bottom: 0 none;
  }
}
.breadcrumb {
  max-width: 100%;
  overflow-x: auto;
  margin-top: 4rem;
  margin-bottom: 2.5rem;
  padding-bottom: 1rem;
}

.breadcrumb ol li {
  font-size: 1.1rem;
  color: #666;
  white-space: nowrap;
}

.breadcrumb ol li::before {
  content: "/";
  padding: 0 1rem;
}

.breadcrumb ol li:first-child::before {
  display: none;
}

.breadcrumb ol li a {
  color: #008cce;
  text-decoration: underline;
}

.breadcrumb ol li a:hover {
  text-decoration: none;
}

.paginate {
  overflow: hidden;
  max-width: 100%;
  font-size: 1.5rem;
  margin-top: 10rem;
  line-height: 1;
}
.paginate ul {
  margin-left: -0.5rem;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
}
.paginate li {
  position: relative;
  display: flex;
  justify-content: center;
  margin-left: 0.5rem;
  flex-grow: 0;
}
.paginate li.prev, .paginate li.next {
  font-size: 1.2rem;
}

.paginate a,
.paginate li.stay{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  width: 2.5rem;
  height: 2.5rem;
  border: 0.2rem solid #ccc;
  text-decoration: none;
}
.paginate a{color: #333;}
.paginate li.stay{
  color: #fff;
  background-color: #008cce;
  border-color:#008cce;
}
.paginate a:hover {
  color: #fff;
  background-color: #008cce;
}
.paginate a.current {
  color: #fff;
  background-color: #008cce;
}

.linkbtn {
  width: calc( 100% - 2rem );
  margin-top: 3rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1;
}

.linkbtn.linkbtn-left .button {
  margin-left: 0;
}

.linkbtn.linkbtn-multi {
  display: flex;
  align-items: center;
  justify-content: center;
}
.linkbtn.linkbtn-multi .button {
  margin-left: 3rem;
  margin-right: 3rem;
}

.entry-pageer{margin-top: 6rem;}
nav.serial-nav ul.serial-nav-list{
  display: flex;
  justify-content: center;
}
nav.serial-nav ul.serial-nav-list li{
  margin: 0 1rem;
}
nav.serial-nav ul.serial-nav-list li a{
  background-color: #fff;
  border: 2px solid #008cce;
  color: #008cce;
  padding:2rem 3rem;
  font-size: 1.6rem;
  font-weight: 500;
  border-radius: 40px;
}
nav.serial-nav ul.serial-nav-list li a:hover{
  background-color: #008cce;
  color: #fff;
}

.outline {
  margin-bottom: 7rem;
  padding: 3rem 2rem;
  background-color: #f7f7f7;
}
.outline a {
  color: #2274b5;
  text-decoration: underline;
}
.outline a:hover {
  text-decoration: none;
}
.outline ul,
.outline ol {
  margin-left: 3rem;
}
.outline ul li,
.outline ol li {
  margin-top: 1.25em;
  line-height: 1.25;
}
.outline ul ul,
.outline ul ol,
.outline ol ul,
.outline ol ol {
  margin-top: 0.75em;
}

.outline-title {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 400;
  display: flex;
  align-items: center;
  margin-bottom: 1.25em;
}
.outline-title::after {
  content: "";
  flex-grow: 1;
  height: 0.2rem;
  background-color: #008cce;
  margin-left: 2rem;
}

.blocklist {
  font-size: 1.8rem;
  margin: 5rem 0;
}
.blocklist li {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 3.3333333333em;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 0.5555555556em;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: 2.2222222222em;
  padding-right: 1.1111111111em;
  color: #008cce;
  font-weight: 400;
  border: 0.2rem solid #008cce;
  border-radius: 0.6rem;
  line-height: 1.5;
}
.blocklist li:before {
  display: block;
  content: "";
  position: absolute;
  top: calc(50% - 0.1em);
  left: 1.6666666667em;
  width: 0.2em;
  height: 0.2em;
  border-radius: 50%;
  background-color: currentColor;
}
.blocklist a {
  display: flex;
  width: calc(100% + ( 3.3333333333 * 1em ));
  height: 100%;
  align-items: center;
  justify-content: flex-start;
  color: #008cce !important;
  text-decoration: none !important;
  margin-left: -2.2222222222em;
  margin-right: -1.1111111111em;
  padding-left: 2.2222222222em;
}
.blocklist a:hover {
  color: #008cce !important;
  text-decoration: underline !important;
}

ol.ollist{
  font-size: 1.8rem;
  margin: 5rem 0;
}
ol.ollist li{
  list-style-type: decimal;
  list-style-position: inside;
  color: #008cce;
  font-weight: 400;
  border: 0.2rem solid #008cce;
  border-radius: 0.6rem;
  line-height: 1.5;
  padding: 3% 1%;
  margin-bottom: 2rem;
  box-sizing: border-box;
}


.entry {
  padding-top: 4rem;
}

.entry-header {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding-top: 2.5rem;
  margin-bottom: 3rem;
  border-top: 0.1rem solid #ccc;
}
.entry-header::before {
  content: "";
  position: absolute;
  top: -0.3rem;
  left: 0;
  width: 10%;
  height: 0.5rem;
  background: #008cce;
}

.entry-date {
  margin-right: 1em;
  color: #666;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
}

.entry-header .entry-title {
  margin-top: 2rem;
  width: 100%;
  display: block;
}

.entry-footer {
  margin-top: 10rem;
}

.entry-contents {
  width: 100%;
  max-width: 76.8rem;
  margin-left: auto;
  margin-right: auto;
}
.entry-contents a:not([class]) {
  color: #008cce;
  text-decoration: underline;
}
.entry-contents a:not([class]):hover {
  text-decoration: none;
}
.entry-contents strong,
.entry-contents b {
  font-weight: 400;
}
.entry-contents em,
.entry-contents i {
  font-style: normal;
  color: #e95520;
}
.entry-contents p {
  margin-bottom: 1.8666666667em;
}
.entry-contents h3:not([class]) {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  display: flex;
  align-items: center;
  margin-bottom: 1em;
}
.entry-contents h3:not([class])::after {
  content: "";
  flex-grow: 1;
  height: 0.2rem;
  background-color: #008cce;
  margin-left: 2rem;
}
.entry-contents h4:not([class]) {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  color: #008cce;
  margin-bottom: 1em;
}
.entry-contents h5:not([class]) {
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: 0.5em;
  line-height: 1.25;
}
.entry-contents h6:not([class]) {
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 0.5em;
  line-height: 1.25;
}
.entry-contents h3:not([class]):not(:first-child) {
  margin-top: 1.5em;
}
.entry-contents h4:not([class]):not(:first-child) {
  margin-top: 1.5em;
}
.entry-contents h5:not([class]):not(:first-child),
.entry-contents h6:not([class]):not(:first-child) {
  margin-top: 1em;
}
.entry-contents ul:not([class]),
.entry-contents ol:not([class]) {
  overflow: hidden;
  line-height: 1.25;
  padding-left: 0;
}
.entry-contents ul:not([class]) {
  margin-top: 0;
  margin-bottom: 1em;
}
.entry-contents ul:not([class]) > li {
  position: relative;
  margin: 0.5em 0;
  padding: 0 0 0 1.25em;
  list-style-type: none;
}
.entry-contents ul:not([class]) > li:before {
  display: block;
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0.25em;
  width: 0.2em;
  height: 0.2em;
  border-radius: 50%;
  background-color: currentColor;
}
.entry-contents ul:not([class]) > li ul,
.entry-contents ul:not([class]) > li ol {
  margin-top: 0.5em !important;
  margin-bottom: 0 !important;
}
.entry-contents ul:not([class]) li:last-child {
  margin-bottom: 0;
}
.entry-contents ol:not([class]) {
  counter-reset: ol_number;
  margin-top: 0;
  margin-bottom: 1em;
}
.entry-contents ol:not([class]) > li {
  position: relative;
  margin: 0.5em 0;
  padding: 0 0 0 1.25em;
  list-style-type: none;
}
.entry-contents ol:not([class]) > li:before {
  display: block;
  counter-increment: ol_number;
  content: counter(ol_number) ".";
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  text-align: center;
}
.entry-contents ol:not([class]) > li ul,
.entry-contents ol:not([class]) > li ol {
  margin-top: 0.5em !important;
  margin-bottom: 0 !important;
}
.entry-contents ol:not([class]) ul.blocklist {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}
.entry-contents ol:not([class]) dl:not([class]) {
  margin: 0;
  padding: 0;
}
.entry-contents ol:not([class]) dl:not([class]) > dt {
  margin: 0 0 0.5em;
  padding: 0;
}
.entry-contents ol:not([class]) dl:not([class]) > dd {
  margin: 0 0 0.5em;
  padding: 0 0 0 1.5em;
}
.entry-contents .column-media-center,
.entry .column-media-center{
  display: block;
  float: none;
  margin-right: auto;
  margin-left: auto;
  margin-top: 4rem;
  margin-bottom: 2.5rem;
  text-align: center;
}
.entry-contents [class*=column-media-left][class*="-3"],
.entry-contents [class*=column-media-right][class*="-3"] {
  width: calc( 33.33333333% + 4rem );
}
.entry-contents [class*=column-media-left][class*="-6"],
.entry-contents [class*=column-media-right][class*="-6"] {
  width: calc( 60% + 4rem );
}
.entry-contents .column-media-left {
  float: left;
  margin-top: 0.5em;
  margin-right: 4rem;
  margin-bottom: 2.5rem;
  text-align: left;
}
.entry-contents .column-media-right {
  float: right;
  margin-top: 0.5em;
  margin-left: 4rem;
  margin-bottom: 2.5rem;
  text-align: right;
}
.entry-contents .columnImage {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.custom_block{
  display: flex;
  justify-content: space-between;
}
.custom_block p.custom_block_media{
  width: 45%;
}
.custom_block p.custom_block_media img{
  max-width: 100%;
}
.custom_block div.custom_block_text{
  width: 50%;
}

/* a-blog cms: エラーメッセージ非表示時のスタイル */
.validator-result-,
[class*="validator-result-{"],
.validator-result-1,
.v-result-,
.v-result-1 {
  display: none;
}

/* a-blog cms: エラーメッセージ表示時のスタイル */
.validator-result-error,
.validator-result-0,
.v-result-error,
.v-result-0 {
  display: block;
}

.form {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 2.5rem 3rem;
  border-bottom: 0.1rem solid #ccc;
  line-height: 1;
}
.form:first-child {
  border-top: 0.1rem solid #ccc;
}
.form > * {
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: auto;
}
.form .form-label {
  width: 29rem;
  font-weight: 400;
}
.form .input,
.form .form-group {
  flex-grow: 1;
  flex-basis: 0%;
}
.form .form-group {
  margin-top: -1em;
}
.form .form-group .checkbox {
  margin-right: 2em;
}

.form-error {
  width: 100%;
  margin: 1.5em 0 0 29rem;
  font-size: 0.9333333333em;
  color: #ed0000;
  font-weight: 700;
}

/* -------------
  a-blog管理者用パーツ
--------------- */
#adminMinBox,
#adminBox{
  margin-top: 10rem;
}
/* --END --- */

.header {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  width: 100%;
  height: 10rem;
  padding-left: 2.5vw;
  padding-right: 3.125vw;
  border-bottom: 0.1rem solid #ccc;
  z-index: 99;
}

.header .header-title img {
  width: 22rem;
  height: auto;
}

.header nav {
  flex-grow: 1;
}

.header nav ul {
  display: flex;
  width: 100%;
  justify-content: flex-end;
}

.header nav ul li:not(:last-child) {
  margin-right: 3rem;
}
.header nav ul li:last-child {
  margin-right: 0.5rem;
}

.header nav ul li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  padding-left: 0.7rem;
  padding-right: 0.7rem;
  min-height: 4.5rem;
  color: #333;
}
.header nav ul li a::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 3px;
  background: #008cce;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: center top;
          transform-origin: center top;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.header nav ul li a:hover,
.header nav ul li a.stay {
  color: #008cce;
  text-decoration: none;
}
.header nav ul li a:hover::after,
.header nav ul li a.stay::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.header nav ul li.navi-contact {
  min-width: 14rem;
}

.header nav ul li.navi-contact a {
  background-color: #008cce;
  color: #fff;
  border-radius: 0.6rem;
  border: 0.2rem solid #008cce;
}

.header nav ul li.navi-contact a::after {
  display: none;
}

.header nav ul li.navi-contact a:hover {
  background-color: #fff;
  color: #008cce;
}

#nav-toggle {
  display: none;
}

.footer {
  padding-top: 4.5rem;
}

.footer-sdgs {
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 0.1rem solid #ccc;
  padding-bottom: 3rem;
}

.footer-sdgs-title {
  margin-right: 4rem;
}
.footer-sdgs-title img {
  display: block;
  width: auto;
  height: 3.2rem;
}

.footer-contents {
  margin-top: 4rem;
  margin-bottom: 3.5rem;
}

.footer-info {
  flex-grow: 0;
  width: 25%;
}

.footer-logo {
  margin-bottom: 0.8rem;
}
.footer-logo img {
  display: block;
  width: auto;
  height: 3.4rem;
}

.footer-sitemap {
  font-size: 1.3rem;
  flex-grow: 0;
  width: 70%;
}
@media (min-width: 1000px) {
  .footer-sitemap.nav ul {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 1000px) {
  .footer-sitemap.nav ul:not(:first-child) {
    margin-top: 2rem;
  }
}
.footer-sitemap.nav ul li {
  border-top-style: solid;
  border-bottom-style: solid;
}
@media (min-width: 1000px) {
  .footer-sitemap.nav ul li {
    flex-grow: 0;
    width: auto;
    height: auto;
    border: 0 none;
  }
}
@media (min-width: 1000px) {
  .footer-sitemap.nav ul li {
    margin-right: 3rem;
  }
}
@media (min-width: 1000px) {
  .footer-sitemap.nav a {
    padding: 0;
    height: 2em;
  }
}
@media (min-width: 1000px) {
  .footer-sitemap.nav a:hover, .footer-sitemap.nav a:focus {
    color: #008cce;
    text-decoration: underline;
    background-color: transparent;
  }
}

.footer-copy {
  font-size: 1.2rem;
  background-color: #2274b5;
  color: #fff;
  padding-top: 1.8rem;
  padding-bottom: 1.8rem;
  text-align: center;
  line-height: 1;
}

.main-bottom {
  margin-top: 10rem;
}
.main-bottom > *:not(:first-child) {
  margin-top: 7.5rem;
}

#mobilemenu {
  display: none;
  overflow: hidden;
  width: 0px;
}

.mobilemenu-bg {
  position: fixed;
  top: 0;
  left: 100%;
  width: 100vw;
  height: 100vh;
  background-color: #0D4877;
  opacity: 0;
  z-index: 97;
}

.mobilemenu-contents {
  position: fixed;
  top: 5rem;
  left: 100%;
  width: 100%;
  height: calc( 100vh - 5rem );
  padding: 1.8rem 2.2rem 3rem;
  color: #fff;
  opacity: 0;
  z-index: 98;
}
.mobilemenu-contents.nav {
  font-size: 1.1rem;
}
.mobilemenu-contents.nav li {
  border-top-style: solid;
  border-top-color: #788FA2;
  border-bottom-style: solid;
  border-bottom-color: #788FA2;
}
.mobilemenu-contents.nav a {
  color: #fff;
}
.mobilemenu-contents.nav a:hover, .mobilemenu-contents.nav a:focus {
  background-color: transparent;
}

.page-title {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 20rem;
  margin-top: 10rem;
  background-color: #f4f9fe;
  line-height: 1;
}
.page-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 10rem;
  height: 0.5rem;
  background-color: #008cce;
}
.page-title .page-title-label {
  font-size: 3.4rem;
  text-align: center;
}

.news-list dl {
  display: flex;
  align-items: flex-start;
  border-bottom: 0.1rem dotted #ccc;
  padding-bottom: 3.5rem;
  width: 100%;
  line-height: 2;
}
.news-list dl:not(:first-child) {
  padding-top: 3.5rem;
}
.news-list dt {
  flex-grow: 1;
  flex-shrink: 1;
  max-width: 17.8571428571%;
  font-weight: 300;
}
.news-list dt span {
  color: #666;
  font-size: 0.8em;
}
.news-list dt span:first-child::after {
  content: "/";
  margin: 0 2em;
}
.news-list dd {
  flex-grow: 1;
  flex-shrink: 1;
}
.news-list dd a {
  display: block;
}
.news-list dd a:hover {
  color: #008cce;
  text-decoration: underline;
}

.note-link a {
  position: relative;
  height: 12rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  border: 0.2rem solid #79B7AE;
  border-radius: 1rem;
  padding-left: 20%;
  font-size: 1.8rem;
}
.note-link a:before, .note-link a:after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
}
.note-link a:before {
  left: 7%;
  width: 4.5rem;
  height: 5rem;
  background-image: url(../images/common/sns-note.svg);
}
.note-link a:after {
  right: 4%;
  width: 2rem;
  height: 2rem;
  background-image: url(../images/common/icon-arrow.png);
}

.note-link a .note-link-title {
  font-size: 2.2rem;
  font-weight: 400;
}

.note-link a:hover {
  background-color: #379B88;
  border-color: #379B88;
  color: #fff;
}
.note-link a:hover:before, .note-link a:hover:after {
  -webkit-filter: brightness(80);
          filter: brightness(80);
}

.sns-link .note-link {
  width: 48.0357142857%;
}
.sns-link .sns-link-buttons {
  width: 47.3214285714%;
}

.sns-link-buttons {
  text-align: center;
}
.sns-link-buttons li {
  width: calc( 33.33333333% - 1rem );
}
.sns-link-buttons a {
  height: 12rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 0.1rem solid #ccc;
  border-radius: 1rem;
  font-weight: 400;
  line-height: 1;
}
.sns-link-buttons a:hover {
  background-color: #008cce;
  border-color: #008cce;
  color: #fff;
}

.sns-link-label {
  display: block;
  margin-top: 0.7em;
}

.sdgs-link section {
  align-items: center;
  border: 0.3rem solid #008cce;
  border-radius: 2rem;
  padding: 4.5%;
}

.sdgs-link-logo img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.sdgs-link-text {
  width: 62.6242544732%;
}

.sdgs-link-text h2 {
  font-size: 2.4rem;
}

.cta {
  width: 100%;
  max-width: 160rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 7.5rem;
  padding-top: 21rem;
  background-image: url(../images/common/bg-cta.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}
.cta .inner {
  background-color: rgba(255, 255, 255, 0.94);
  padding: 4rem 2rem 5rem;
  max-width: 60rem;
  box-sizing: border-box;
  border-radius: 3rem 3rem 0 0;
}
.cta h2 {
  font-size: 2.8rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
  text-align: center;
}
.cta .linkbtn {
  margin-top: 3.5rem;
}
.cta .sns {
  margin-top: 5rem;
  display: flex;
  justify-content: center;
}
.cta .sns li:not(:first-child) {
  padding-left: 2.2rem;
}
.cta .sns li:not(:last-child) {
  padding-right: 2.2rem;
}
.cta .sns img {
  display: block;
  width: auto;
  height: 4.5rem;
}

.service {
  margin-bottom: 10rem;
}
.service img {
  display: block;
  max-width: 100%;
  height: auto;
}

.original {
  margin-bottom: 10rem;
}

.original-contents {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  align-items: center;
  border: 0.3rem solid #e95520;
  border-radius: 2rem;
  padding: 3rem 4rem;
}

.original-image {
  width: 33.0097087379%;
}
.original-image img {
  margin-left: auto;
  margin-right: auto;
}

.original-body {
  flex-grow: 1;
  max-width: 62.1359223301%;
  font-size: 2rem;
  line-height: 1.6em;
  word-break: break-all;
}

.original-title {
  font-size: 3rem;
  color: #e95520;
  margin-bottom: 1em;
}
/*.original-title br {
  display: none;
}*/

.post .post-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.post .post-inner {
  display: block;
}
.post .post-date {
  margin-right: 1em;
  color: #666;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
}
.post .post-title {
  width: 100%;
}
.post a.post-inner:hover .post-title {
  color: #008cce;
  text-decoration: underline;
  transition: 0.3s;
}
.post a.post-inner:hover .button.button-first {
  color: #008cce;
  background-color: #fff;
  transition: 0.3s;
}

.post[class=-lg] .post-title {
  width: 100%;
}

.post.post-blog-sm {
  border-bottom: 0.1rem dashed #ccc;
}
.post.post-blog-sm:first-child {
  border-top: 0.1rem dashed #ccc;
}
.post.post-blog-sm .post-header {
  margin-bottom: 1rem;
}
.post.post-blog-sm .post-inner {
  padding: 2.5rem 2rem 3rem;
}
.post.post-blog-sm .media {
  align-items: stretch;
}
.post.post-blog-sm .media-image {
  width: 33.3333333333%;
  max-width: 16rem;
  padding-right: 2rem;
}
.post.post-blog-sm .media-body {
  width: 66.6666666667%;
  max-width: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.post.post-blog-lg .post-header {
  margin-bottom: 3rem;
}
.post.post-blog-lg + .post {
  margin-top: 4.8rem;
}
.post.post-blog-lg .media {
  align-items: stretch;
}
.post.post-blog-lg .media-image {
  width: 33.33333333%;
  max-width: 25.2rem;
  padding-right: 3.2rem;
}
.post.post-blog-lg .media-body {
  width: 66.66666666%;
  max-width: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.cards {
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  margin-top: -2rem;
  margin-left: -1rem;
  margin-right: -1rem;
}
.cards .card {
  width: 100%;
  height: 100%;
}

.cards-item {
  flex-grow: 1;
  margin-top: 2rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.cards.cards-2 .cards-item {
  max-width: 50%;
}

.cards.cards-3 .cards-item {
  max-width: 33.33333333%;
}

.widget {
  margin-bottom: 6rem;
}

/**********************************

トップページ

************************************/
.home-mainvisual {
  padding-top: 10rem;
  line-height: 1;
}

.home-mainvisual-stage {
  position: relative;
  max-width: 160rem;
  margin-left: auto;
  margin-right: auto;
  z-index: 11;
}
.home-mainvisual-stage .slick-dots {
  position: absolute;
  left: 50%;
  bottom: 2rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 12;
}
.home-mainvisual-stage .slick-dots li {
  flex-grow: 0;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.home-mainvisual-stage .slick-dots li.slick-active button {
  background-color: #fff;
  opacity: 1;
}
.home-mainvisual-stage .slick-dots button {
  overflow: hidden;
  text-indent: -999em;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background-color: transparent;
  border: 0.2rem solid #fff;
  opacity: 0.7;
  transition: opacity 0.6s, background-color 0.6s;
}

.home-mainvisual-item {
  vertical-align: bottom;
  z-index: 101;
}
.home-mainvisual-item img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.home-lead {
  position: relative;
  padding-top: 7.5rem;
  padding-bottom: 5rem;
}
.home-lead::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  background-color: #f4f9fe;
  width: 56.25%;
  height: 100%;
  z-index: 11;
}
.home-lead .inner {
  position: relative;
  z-index: 12;
}

.home-news .news-list {
  padding-top: 3rem;
}

/**********************************

初めての方へ

************************************/
.section[class*=concept-] .title.title-level-2 {
  margin-bottom: 2.0588235294em;
}

/**********************************

セミナー・研修

************************************/
.section[class*=seminar-] .title.title-level-2 {
  margin-bottom: 1.7647058824em;
}

.seminar-first .box-col {
  padding-left: 2.2rem;
  padding-right: 2.2rem;
}

.section.seminar-example .title.title-level-2 {
  margin-bottom: 0;
}
.section.seminar-example .title.title-level-3 {
  margin-top: 1em;
  margin-bottom: 2.5em;
}

.seminar-example .seminar-example-contents {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: 4rem;
  padding: 4rem 4rem 1rem;
  background-color: #f4f9fe;
}
.seminar-example .box {
  margin-bottom: 3rem;
  flex-wrap: wrap;
}
.seminar-example .box-col {
  padding: 2rem;
  background-color: #fff;
  border-radius: 1rem;
  margin-bottom: 3rem;
}
.seminar-example .box .box-col:hover{
  background-color:#008cce;
}
.seminar-example .box .box-col:hover a,
.seminar-example .box .box-col:hover a p.title.title-level-6.title-style-c.line-lg{
  color: #fff;
}

.seminar-example .title.title-level-5 {
  text-align: center;
  margin-bottom: 1em;
}
.seminar-example .title.title-level-6 {
  text-align: left;
}

.seminar-instructor .seminar-instructor-item {
  margin-bottom: 7.5rem;
}
.seminar-instructor .seminar-instructor-item .box-col:first-child {
  max-width: calc(50% - 4rem);
}
.seminar-instructor .seminar-instructor-item .box-col:not(:first-child) {
  max-width: 50%;
}
.seminar-instructor .seminar-instructor-item .note-link {
  margin-top: 2rem;
}
.seminar-instructor .seminar-instructor-item .note-link a {
  font-weight: 400;
}
.seminar-instructor .seminar-instructor-item .history {
  margin-top: 1.5rem;
  margin-bottom: 3rem;
}
.seminar-instructor .seminar-instructor-footer {
  text-align: center;
  font-size: 2rem;
  line-height: 1.4;
}

/**********************************

コンサルティング

************************************/
.consulting-case .title.title-level-2 {
  margin-bottom: 1.4705882353em;
}

.frame.consulting-case-item {
  margin-top: 0;
  margin-bottom: 3rem;
}

.consulting-case-item .media:not(.media-guide) {
  justify-content: flex-start;
}
.consulting-case-item .media:not(.media-guide) .media-image {
  width: 12rem;
  margin-right: 2.5rem;
  justify-content: flex-start;
}
.consulting-case-item .media:not(.media-guide) .media-body {
  max-width: none;
}
.consulting-case-item .checklist {
  margin-top: 2.5rem;
  margin-bottom: 4rem;
}

/**********************************

わたし達について

************************************/
.aboutus-catch {
  position: relative;
  width: 100%;
  height: 50vw;
  max-height: 80rem;
  background-color: #f4f9fd;
  background-image: url(../images/aboutus/bg_catch.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 40% 50%;
}
.aboutus-catch .inner {
  position: absolute;
  top: 32%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.aboutus-catch .aboutus-catch-logo {
  margin-bottom: 7.5rem;
}
.aboutus-catch .aboutus-catch-logo img {
  display: block;
  width: 40rem;
  max-width: 100%;
  height: auto;
}
@media (max-width: 1199.9px) {
  .aboutus-catch .aboutus-catch-logo img {
    width: 320px;
  }
}

.aboutus-mission .body {
  text-align: center;
  font-size: 1.8rem;
  line-height: 3.0555555556em;
  margin-bottom: 5.8rem;
}

.aboutus-director .aboutus-director-item {
  margin-bottom: 7.5rem;
}
.aboutus-director .aboutus-director-item .box {
  margin-bottom: 6rem;
}
.aboutus-director .aboutus-director-item .box-col:first-child {
  max-width: calc(50% - 4rem);
}
.aboutus-director .aboutus-director-item .box-col:not(:first-child) {
  max-width: 50%;
}
.aboutus-director .aboutus-director-vio-02 {
  margin-top: 4rem;
}

.aboutus-director-voice .blocklist {
  margin-bottom: 2rem;
}

.aboutus-director-voice.inbox {
  margin-bottom: 7.5rem;
}

.aboutus-director-profile .title.title-level-3 {
  margin-bottom: 1.6666666667em;
}
.aboutus-director-profile .title.title-level-4 {
  font-size: 1.8rem;
  margin-bottom: 1.3333333333em;
}
.aboutus-director-profile .body {
  margin-bottom: 4rem;
  padding: 0 4rem 4rem;
  border-bottom: 0.1rem solid #ccc;
}

/**********************************

SDGSの取り組みについて

************************************/
.sdgs-catch .sdgs-catch-logo {
  margin-bottom: 2.8rem;
}
.sdgs-catch .sdgs-catch-logo img {
  display: block;
  min-width: 24rem;
  width: 54.1071428571%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
.sdgs-catch .box.box-2 {
  max-width: 110.8rem;
  margin-left: auto;
  margin-right: auto;
}
.sdgs-catch .box.box-2 .box-col {
  max-width: 50%;
  padding: 1rem;
}
.sdgs-catch .body {
  margin-top: 5rem;
}

.sdgs-action-item:not(:last-child) {
  margin-bottom: 6.5rem;
}
.sdgs-action-item .media-image {
  width: 24rem;
  margin-right: 5rem;
}
.sdgs-action-item .media-body {
  max-width: none;
  flex-basis: 0;
}

/**********************************

お問い合わせ

************************************/
.contact-lead .body {
  text-align: center;
}

.contact-preview .frame {
  margin-top: 0;
  margin-bottom: 4rem;
}

.contact-complete .body {
  text-align: center;
}

/**********************************

プライバシーポリシー

************************************/
.policy-contents {
  margin-bottom: 7.5rem;
}
.policy-contents section {
  margin-bottom: 6.5rem;
}

@media (min-width: 1000px) {
  .mobile {
    display: none;
  }
  .pc {
    display: inherit;
  }
}


.dflex {
  display: flex;
}

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

.center {
  justify-content: center;
}

.ib {
  display: inline-block;
}

.sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

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

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

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

.margin-t-xs {
  margin-top: 0.5rem !important;
}

.margin-t-sm {
  margin-top: 1rem !important;
}

.margin-t-md {
  margin-top: 1.5rem !important;
}

.margin-t-lg {
  margin-top: 3rem !important;
}

.margin-t-xl {
  margin-top: 7.5rem !important;
}

.margin-b-xl {
  margin-bottom: 7.5rem !important;
}

.margin-b-xxl {
  margin-bottom: 10rem !important;
}

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

.margin-b-xs {
  margin-bottom: 0.5rem !important;
}

.margin-b-sm {
  margin-bottom: 1rem !important;
}

.margin-b-md {
  margin-bottom: 1.5rem !important;
}

.margin-b-lg {
  margin-bottom: 3rem !important;
}

.margin-b-xl {
  margin-bottom: 7.5rem !important;
}

.margin-b-xxl {
  margin-bottom: 10rem !important;
}

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

.padding-t-xs {
  padding-top: 0.5rem !important;
}

.padding-t-sm {
  padding-top: 1rem !important;
}

.padding-t-md {
  padding-top: 1.5rem !important;
}

.padding-t-lg {
  padding-top: 3rem !important;
}

.padding-b-xl {
  padding-bottom: 7.5rem !important;
}

.padding-b-xxl {
  padding-bottom: 10rem !important;
}

.padding-b-0 {
  padding-bottom: 0 !important;
}

.padding-b-xs {
  padding-bottom: 0.5rem !important;
}

.padding-b-sm {
  padding-bottom: 1rem !important;
}

.padding-b-md {
  padding-bottom: 1.5rem !important;
}

.padding-b-lg {
  padding-bottom: 3rem !important;
}

.padding-b-xl {
  padding-bottom: 7.5rem !important;
}

.padding-b-xxl {
  padding-bottom: 10rem !important;
}

.text-sm {
  font-size: 0.6666666667em !important;
}

.text-important {
  color: #ed0000;
}

.line-lg {
  line-height: 1.8181818182 !important;
}

.line-xl {
  line-height: 2 !important;
}
