@charset "UTF-8";
.art01 {
  padding: 80px 0 100px;
}
@media only screen and (max-width: 750px) {
  .art01 {
    padding: 40px 0 50px;
  }
}
.art01--other {
  background-color: #f2f2f2;
}
.art01__inner {
  max-width: 1080px;
  width: calc(100% - 40px);
  margin: 0 auto;
}
@media only screen and (max-width: 750px) {
  .art01__inner {
    width: calc(100% - 30px);
  }
}
@media only screen and (min-width: 751px) {
  .art01__box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.art01__cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.art01__item {
  max-width: 500px;
  width: 48%;
  padding-bottom: 65px;
  background: #fff;
  box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.4);
  position: relative;
}
.art01__item:nth-child(n+3) {
  margin-top: 50px;
}
.art01__item:hover .art01__pict {
  opacity: 0.7;
}
.art01__item:hover .art01__button {
  color: #00A3F3;
  border: solid 1px #00A3F3;
}
@media only screen and (max-width: 750px) {
  .art01__item {
    width: 100%;
    margin: 0 auto;
  }
  .art01__item:nth-child(n+3) {
    margin-top: 0px;
  }
  .art01__item:nth-child(n+2) {
    margin-top: 30px;
  }
}
.art01__link {
  display: block;
}
.art01__link:hover .art01__pict {
  opacity: 0.7;
}
.art01__link:hover .art01__ttl {
  color: #00A3F3;
  background-position: 0 100%;
  background-size: 100% 1px;
}
.art01__cnt {
  padding: 25px 30px 0;
  box-sizing: border-box;
}
@media only screen and (max-width: 750px) {
  .art01__cnt {
    padding: 15px 20px;
  }
}
.art01__ttl {
  font-weight: bold;
  font-size: 20px;
  line-height: 160%;
  background-image: linear-gradient(#00A3F3, #00A3F3);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition: background-size 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: block;
  margin-bottom: 30px;
}
@media only screen and (max-width: 750px) {
  .art01__ttl {
    font-size: 18px;
    line-height: 140%;
    letter-spacing: 0.02rem;
  }
}
.art01__btn {
  max-width: 320px;
  width: 80%;
  display: table;
  margin: 0 auto;
  position: absolute;
  bottom: 25px;
  left: 0;
  right: 0;
}
.art01__button {
  padding: 15px 0;
  background-color: #fff;
  border: solid 1px #2D4262;
  transition: color 0.3s, border 0.3s;
  box-shadow: 0px 2px 7px rgba(0, 95, 154, 0.3);
}
.art01__button:hover {
  color: #00A3F3;
  border: solid 1px #00A3F3;
}
.art01__txt {
  margin-top: 10px;
  line-height: 160%;
}
@media only screen and (max-width: 750px) {
  .art01__txt {
    margin-top: 5px;
  }
}

.art02 {
  overflow: hidden;
  padding: 80px 0 100px;
}
@media only screen and (max-width: 750px) {
  .art02 {
    padding: 40px 0 50px;
  }
}
.art02__cnt {
  box-sizing: border-box;
}
.art02__ttl {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 20px;
}
.art02__btn {
  max-width: 320px;
  width: 80%;
  display: table;
  margin: 0 auto;
}
.art02__button {
  padding: 20px 0;
  background-color: #2D4262;
  color: #fff;
  font-weight: normal;
}
.art02__button:hover {
  background-color: #1a273b;
}
.art02__list {
  max-width: 1080px;
  width: calc(100% - 40px);
  margin: 0 auto;
  margin-bottom: 100px;
}
@media only screen and (min-width: 751px) {
  .art02__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 750px) {
  .art02__list {
    width: calc(100% - 30px);
  }
}
@media only screen and (max-width: 750px) {
  .art02__list {
    margin-bottom: 50px;
  }
}
.art02__item {
  max-width: 520px;
  width: 48%;
  padding: 40px 35px 30px;
  background-color: #fff;
  border: solid 2px ＄b-gray;
  box-sizing: border-box;
  box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.4);
}
@media only screen and (max-width: 750px) {
  .art02__item {
    width: 100%;
    padding: 20px 15px 10px;
    margin: 0 auto;
  }
  .art02__item:first-child {
    margin-bottom: 20px;
  }
}
.art02__link:hover .art02__img {
  transform: scale(1.12);
}
.art02__link:hover .art02__u-line {
  color: #00A3F3;
  background-position: 0 100%;
  background-size: 100% 1px;
}
.art02__img {
  transition: transform 0.3s;
}
.art02__ttl {
  margin-bottom: 15px;
}
@media only screen and (min-width: 751px) {
  .art02__ttl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.art02__pict {
  overflow: hidden;
  max-width: 187px;
  width: 45%;
}
@media only screen and (max-width: 750px) {
  .art02__pict {
    margin: 0 auto 10px;
  }
}
.art02__bld {
  max-width: 233px;
  width: 52%;
  font-size: 20px;
  line-height: 160%;
  font-weight: bold;
}
@media only screen and (max-width: 750px) {
  .art02__bld {
    font-size: 18px;
    letter-spacing: 0.02rem;
    max-width: 100%;
    width: 100%;
  }
}
.art02__u-line {
  background-image: linear-gradient(#00A3F3, #00A3F3);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition: background-size 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.art02__cnt {
  margin-bottom: 20px;
}
@media only screen and (min-width: 751px) {
  .art02__cnt {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 750px) {
  .art02__cnt {
    display: flex;
  }
}
.art02__block {
  width: 50%;
  padding: 0 0 0 4%;
  box-sizing: border-box;
}
.art02__block:first-child {
  border-right: solid 1px #A2A2A2;
  padding: 0 4% 0 0;
}
.art02__em {
  display: table;
  background-color: #A2A2A2;
  padding: 2px 8px;
  letter-spacing: 0;
  line-height: 140%;
  margin-bottom: 10px;
  color: #fff;
}
@media only screen and (max-width: 750px) {
  .art02__em {
    padding: 2px 6px;
    margin-bottom: 5px;
  }
}
.art02__cta {
  display: flex;
  justify-content: start;
  align-items: center;
  flex-wrap: wrap;
}
.art02__icon {
  border: solid 1px #00A3F3;
  margin: 0 10px 10px 0;
  padding: 3px 12px;
  box-sizing: border-box;
  font-size: 14px;
}
@media only screen and (max-width: 750px) {
  .art02__icon {
    margin: 0 8px 8px 0;
    padding: 2px 10px;
  }
}

@media only screen and (min-width: 981px) {
  .header {
    padding: 20px 0 12px;
    box-shadow: 0px 4px 3px rgba(0, 0, 0, 0.1);
  }
}

.single {
  margin-top: 80px;
}
@media only screen and (max-width: 750px) {
  .single {
    margin-top: 40px;
  }
}
.single__inner {
  max-width: 1080px;
  width: calc(100% - 40px);
  margin: 0 auto;
  margin-bottom: 60px;
}
@media only screen and (max-width: 750px) {
  .single__inner {
    width: calc(100% - 30px);
  }
}
@media only screen and (min-width: 751px) {
  .single__inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.single__left {
  max-width: 500px;
  width: 47%;
}
@media only screen and (max-width: 750px) {
  .single__left {
    max-width: 100%;
    width: 100%;
  }
}
.single__left section > br {
  display: none;
}
.single__left div.left ul {
  margin-bottom: 20px;
}
.single__left div.left ul li {
  background: url(../img/icon_li.png) 0 8px no-repeat;
  padding-left: 10px;
}
.single__left ol {
  counter-reset: list;
  list-style-type: none;
  padding: 0.5em 1em;
  margin: 5px 0 10px;
}
.single__left ol li {
  position: relative;
  line-height: 30px;
  margin: 7px 0 10px 30px;
  padding-left: 10px;
  font-weight: bold;
  background: #ecece8;
}
.single__left ol li:before {
  counter-increment: list;
  content: counter(list);
  position: absolute;
  left: -40px;
  width: 30px;
  height: 30px;
  text-align: center;
  color: #fff;
  background: #299736;
  top: 50%;
  transform: translateY(-50%);
}
.single__left ol li:after {
  content: "";
  display: block;
  position: absolute;
  left: -10px;
  height: 0;
  width: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 7px solid #299736;
  top: 50%;
  transform: translateY(-50%);
}
.single__left p {
  margin-bottom: 20px;
}
.single__left p img:not(.prof) {
  width: 100%;
}
.single__left .prof {
  max-width: 150px;
}
.single__left .midashi {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 20px;
}
@media only screen and (max-width: 750px) {
  .single__left .midashi {
    font-size: 22px;
  }
}
.single__left h2 {
  font-size: 20px;
  margin: 30px 0 30px;
  padding-bottom: 20px;
  font-weight: bold;
  position: relative;
}
.single__left h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 40px;
  height: 3px;
  background: #00A3F3;
}
.single__left h3 {
  font-weight: bold;
  font-size: 18px;
  line-height: 1.2;
  margin: 15px 0 30px;
  position: relative;
}
.single__left h3:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 100%;
  height: 1px;
  background-color: #B4BFC7;
}
.single__left h4 {
  font-weight: bold;
  display: block;
  margin-bottom: 10px;
}
.single__left mark {
  background-color: #FFFF99;
}
.single__left li {
  position: relative;
  padding-left: 13px;
  line-height: 160%;
}
.single__left li::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: #00A3F3;
  position: absolute;
  top: 10px;
  left: 0;
  border-radius: 50%;
}
.single__right {
  max-width: 550px;
  width: 51%;
}
@media only screen and (max-width: 750px) {
  .single__right {
    max-width: 100%;
    width: 100%;
  }
}
.single .downloadList ul {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.single .downloadList ul.clearfix:after {
  display: none;
}
.single .downloadList ul li {
  margin: 0 20px 20px 0;
  width: calc(25% - 15px);
}
.single .downloadList ul li:nth-of-type(4n) {
  margin: 0 0 20px;
}
.single .downloadList ul li img {
  margin: 0 0 15px;
}
.single .downloadList ul li time, .single .downloadList ul li .name, .single .downloadList ul li .toForm {
  display: block;
}
.single .downloadList ul li .name {
  color: #000;
  font-size: 13px;
  line-height: 19px;
  margin: 0 0 25px;
}
.single .downloadList ul li .toForm {
  background: url(../img/download/download.jpg) no-repeat 0 -35px;
  display: block;
  height: 35px;
  text-indent: -999em;
}
.single .downloadList ul li .toForm:hover {
  background-position: 0 0;
}/*# sourceMappingURL=index.css.map */