@charset "UTF-8";
body {
  font-family: "Lato", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo,
 "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  min-width: 1200px;
  font-size: 0.9em;
}

html {
  min-width: 1200px;
}

.sokei_logo {
  width: 150px;
  height: auto;
}

.sp {
  display: none !important;
}

.pc {
  display: block !important;
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.fadein1,
.fadein2,
.fadein3,
.fadein4,
.fadein5 {
  opacity: 0;
}

.fadein1.active {
  -webkit-animation: fadein 1s ease 0s forwards;
          animation: fadein 1s ease 0s forwards;
}

.fadein2.active {
  -webkit-animation: fadein 1s ease 0.2s forwards;
          animation: fadein 1s ease 0.2s forwards;
}

.fadein3.active {
  -webkit-animation: fadein 1s ease 0.4s forwards;
          animation: fadein 1s ease 0.4s forwards;
}

.fadein4.active {
  -webkit-animation: fadein 1s ease 0.6s forwards;
          animation: fadein 1s ease 0.6s forwards;
}

.fadein5.active {
  -webkit-animation: fadein 1s ease 0.8s forwards;
          animation: fadein 1s ease 0.8s forwards;
}

/*======================================
	TOPページ
=======================================*/
.top-top {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 180px;
  padding-bottom: 180px;
}

.top-top .top-title {
  background: transparent -webkit-gradient(linear, left top, right top, from(#2abec8), to(#ffffac)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(90deg, #2abec8 0%, #ffffac 100%) 0% 0% no-repeat padding-box;
  border-radius: 15px;
  opacity: 0.95;
  width: 90%;
  max-width: 1098px;
  height: 105px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: 14px 0;
}

.top-top .top-title p {
  text-align: center;
  letter-spacing: 5.91px;
  font-size: 40.74px;
  font-weight: bold;
  opacity: 1;
}

.top-top .top-title p br {
  display: none;
}

.top-top .top-title img {
  position: absolute;
  opacity: 1;
}

.top-top .top-title img:nth-of-type(1) {
  top: -30px;
  right: -35px;
}

.top-top .top-title img:nth-of-type(2) {
  bottom: -15px;
  left: 5px;
}

.top-top .top-title img:nth-of-type(3) {
  bottom: 17px;
  left: -20px;
}

.top-top > p {
  text-align: center;
  letter-spacing: 3.14px;
  font-size: 31.38px;
  font-weight: 600;
  color: #fff;
  margin: 21px 0;
  line-height: 1.6;
}

.top-top .top-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 7px 0;
}

.top-top .top-list li {
  padding: 8px 28px;
  font-size: 25.34px;
  background-color: white;
  letter-spacing: 2.53px;
  text-align: center;
  border-radius: 13px;
  margin: 0 7px;
  border: 2px solid #fed27e;
  font-weight: 500;
}

.top-top .top-list.top-list-sp {
  display: none;
}

.top-top .bx-wrapper {
  width: 100%;
  height: 701px;
  position: absolute;
  z-index: -1;
  top: 0;
  min-width: 1200px;
}

.top-top .bx-wrapper .bx-viewport {
  height: 100% !important;
  width: 100% !important;
  overflow: hidden;
}

.top-top .bx-wrapper .bx-viewport ul {
  height: 100% !important;
  width: 100% !important;
}

.top-top .bx-wrapper .bx-viewport ul li {
  position: relative;
  height: 100% !important;
  width: 100% !important;
}

.top-top .bx-wrapper .bx-viewport ul li img {
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  max-width: none !important;
}

.sp-navi {
  display: none;
}

header {
  width: 100%;
  height: 170px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

header .nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 36px 0 0;
  font-size: 16px;
}

header .nav span {
  margin: 0 20px;
}

header .nav li {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

header .nav li:hover {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}

header .header_logo {
  width: 212px;
  height: 212px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: white;
  margin: 0 70px;
}

header .header_logo a {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.contact {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.contact .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 65px;
  background-color: white;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 5px;
}

.contact .info .tel {
  width: 100%;
  font-family: serif;
  font-weight: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 5px;
  background-color: white;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.contact .info .tel p {
  margin: 0;
  color: #59aeb2;
  font-size: 31px;
}

.contact .info .tel img {
  margin: 0 5px;
}

.contact .info .time {
  font-size: 13px;
}

.contact a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 220px;
  height: 65px;
  background-color: #fff;
  color: black;
  border: 5px solid #a5cf1f;
  font-size: 15px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.contact a .mail {
  fill: #000;
  margin: 0 5px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.contact a:hover {
  background-color: #a5cf1f;
  color: #fff;
}

.contact a:hover .mail {
  fill: #fff;
}

.top-blog > h1 {
  font-size: 25px;
  color: #000;
  letter-spacing: 1.25px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 20px;
  text-align: center;
  padding: 0 20px 3px;
  font-weight: 600;
  background: linear-gradient(to top, #a5cf1f 0%, #a5cf1f 5px, transparent 5px, transparent 100%);
}

.top-blog .blogs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 5%;
  width: 100%;
}

.top-blog .blogs article {
  width: 252px;
  margin: 0 1%;
}

.top-blog .blogs article a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.top-blog .blogs article a .blog-img {
  width: 100%;
  height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  margin-top: 20px;
}

.top-blog .blogs article a .blog-img img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.top-blog .blogs article a .blog-img img:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.top-blog .blogs article a .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin: 20px 0;
}

.top-blog .blogs article a .info .blog-type {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 2px solid #a5cf1f;
  background-color: #fff;
  border-radius: 5px;
  text-align: center;
  font-size: 13px;
  color: #000;
  padding: 3px 25px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.top-blog .blogs article a .info .date {
  font-size: 15px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.top-blog .blogs article a h1 {
  width: 100%;
  font-size: 16px;
  margin-bottom: 20px;
  line-height: 28px;
}

.top-blog .blogs article a .new {
  position: absolute;
  width: 42.5px;
  height: 42.5px;
  background-color: #8dc2e6;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  top: -21px;
  left: -8px;
  z-index: 1;
}

.top-blog .blogs article a .new p {
  text-align: center;
  font-size: 14px;
  color: white;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.top-blog .blogs article a:hover .info .blog-type {
  background-color: #a5cf1f;
  color: #fff;
}

.top-blog .blogs article:nth-of-type(1) a .new {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.top-blog .btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.top-blog .btn_area .main01-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 90%;
  max-width: 295px;
  height: 47px;
  border: 1.5px solid #a5cf1f;
  background-color: white;
  font-size: 15px;
  position: relative;
  margin: 40px 0;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.top-blog .btn_area .main01-btn:hover {
  background-color: #a5cf1f;
  color: white;
}

.top-blog .btn_area .main01-btn:hover::before {
  border-color: transparent transparent transparent white;
}

.top-blog .btn_area .main01-btn::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #a5cf1f;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -6px;
}

.top-main01 {
  width: 100%;
  background-image: url("/images/top/top-main01-bg.png");
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}

.top-main01 .main01-content {
  width: 100%;
  max-width: 1200px;
  padding: 110px 0 50px;
  margin: 0 auto;
  position: relative;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.top-main01 .main01-content .main01-h1 {
  position: absolute;
  width: 247.5px;
  height: 247.5px;
  background-color: white;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: -123px;
  left: 0px;
}

.top-main01 .main01-content .main01-h1 p {
  color: #000;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  margin-top: 85px;
  margin-left: 85px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  letter-spacing: 1.25px;
  font-size: 25px;
  font-weight: 900;
  line-height: 1.4;
  white-space: nowrap;
}

.top-main01 .main01-content h1 {
  text-align: center;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 3px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 30px;
  background: linear-gradient(to top, #a5cf1f 0%, #a5cf1f 5px, transparent 5px, transparent 100%);
  margin: 0.5em 0;
}

.top-main01 .main01-content h1 br {
  display: none;
}

.top-main01 .main01-content > p {
  width: 100%;
  max-width: 780px;
  font-size: 18px;
  letter-spacing: 0.5px;
  line-height: 40px;
  margin: 0.5em 0;
  padding: 0 10px;
}

.top-main01 .main01-content h2 {
  font-size: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0.5px;
  margin: 2.4em 0 0.5em;
  font-weight: 700;
}

.top-main01 .main01-content h2::before {
  content: url("/images/top/top-main01-dec.svg");
  margin: 0 10px 5px;
}

.top-main01 .main01-content ul {
  width: 100%;
  max-width: 896px;
  background-color: white;
  border: 5px solid #6ac6c1;
  padding: 20px 0 20px 60px;
  position: relative;
}

.top-main01 .main01-content ul::before {
  content: "";
  display: block;
  width: calc(100% - 15px);
  height: calc(100% - 15px);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border: 2px solid #6ac6c1;
}

.top-main01 .main01-content ul li {
  font-size: 18px;
  position: relative;
  margin: 1.2em 0;
}

.top-main01 .main01-content ul li::before {
  content: "";
  width: 5px;
  height: 5px;
  display: block;
  background-color: #00c0b6;
  position: absolute;
  left: -20px;
  top: 0.37em;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.top-main01 .main01-content ul li span {
  position: relative;
  display: inline-block;
}

.top-main01 .main01-content ul li span::before {
  content: "";
  width: 5px;
  height: 5px;
  display: block;
  background-color: #00c0b6;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 50%;
  left: 50%;
  margin-top: -2.5px;
  margin-left: -2.5px;
}

.top-main01 .main01-content .main01-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 90%;
  max-width: 295px;
  height: 47px;
  border: 1.5px solid #56b0b2;
  background-color: white;
  font-size: 15px;
  position: relative;
  margin: 40px 0;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.top-main01 .main01-content .main01-btn:hover {
  background-color: #56b0b2;
  color: white;
}

.top-main01 .main01-content .main01-btn:hover::before {
  border-color: transparent transparent transparent white;
}

.top-main01 .main01-content .main01-btn::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #56b0b2;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -6px;
}

.top-main02 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1900px;
  margin-right: auto;
  margin-left: auto;
}

.top-main02 .main02-link {
  width: 33%;
  min-width: 350px;
  height: 400px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  overflow: hidden;
}

.top-main02 .main02-link .main02-link-content {
  background: #a6cf1fc0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 227.5px;
  height: 227.5px;
  z-index: 1;
}

.top-main02 .main02-link .main02-link-content div {
  width: 90%;
  height: 90%;
  border: 1px solid #ffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.top-main02 .main02-link .main02-link-content div p {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  font-size: 25px;
  letter-spacing: 0.5px;
  color: white;
  font-weight: 600;
}

.top-main02 .main02-link::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  background-size: cover;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.top-main02 .main02-link:nth-of-type(1)::after {
  background: url("/images/top/top-main02-link-bg-a.png") no-repeat center center;
}

.top-main02 .main02-link:nth-of-type(2)::after {
  background: url("/images/top/top-main02-link-bg-b.png") no-repeat center center;
}

.top-main02 .main02-link:nth-of-type(3)::after {
  background: url("/images/top/top-main02-link-bg-c.png") no-repeat center center;
}

.top-main02 .main02-link:hover::after {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

footer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 120px;
}

footer .footer-catch {
  width: 95%;
  max-width: 1535px;
  height: 342px;
  background-size: cover;
  background-position: center;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

footer .footer-catch .adjust-right {
  position: absolute;
  height: 171px;
  width: 171px;
  right: 0;
  top: 0;
  background: linear-gradient(45deg, transparent 0%, transparent 50%, white 50%, white 100%);
}

footer .footer-catch .adjust-right::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: -100%;
  background: linear-gradient(135deg, transparent 0%, transparent 50%, white 50%, white 100%);
}

footer .footer-catch .adjust-left {
  position: absolute;
  height: 171px;
  width: 171px;
  left: 0;
  top: 0;
  background: linear-gradient(-45deg, transparent 0%, transparent 50%, white 50%, white 100%);
}

footer .footer-catch .adjust-left::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: -100%;
  background: linear-gradient(-135deg, transparent 0%, transparent 50%, white 50%, white 100%);
}

footer .footer-catch .catch-img {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  background-image: url("/images/top/footer-catch-bg.png");
  background-repeat: no-repeat;
  background-position: right;
}

footer .footer-catch p {
  text-align: center;
  letter-spacing: 3px;
  font-size: 30px;
  font-weight: bold;
  color: #fff;
  z-index: 1;
  line-height: 1.5;
}

footer .footer-catch img:nth-of-type(1) {
  position: absolute;
  left: 10%;
  top: 56px;
}

footer .footer-catch img:nth-of-type(2) {
  position: absolute;
  left: 12%;
  top: 191.5px;
}

footer .nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px;
  margin: 100px 0;
}

footer .nav span {
  margin: 0 20px;
}

footer .nav li {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

footer .nav li:hover {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}

footer .footer {
  width: 100%;
  background-image: linear-gradient(to bottom, #a5cf1f 0%, #a5cf1f 2px, transparent 2px, transparent 100%), url("/images/top/top-main01-bg.png");
  background-size: cover;
  background-position: top;
}

footer .footer .footer-a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 60px 0;
}

footer .footer .footer-a .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

footer .footer .footer-a .logo p {
  font-size: 14px;
  margin-bottom: 10px;
}

footer .footer .footer-a .logo img {
  width: 335.15px;
  height: auto;
}

footer .footer .footer-a .footer-contact {
  position: relative;
}

footer .footer .footer-a .anchor {
  position: absolute;
  display: block;
  width: 42px;
  height: 42px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  background-color: white;
  border: 1px solid #a5cf1f;
  right: 10%;
  top: -20px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

footer .footer .footer-a .anchor p {
  color: #000;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

footer .footer .footer-a .anchor:hover {
  background-color: #a5cf1f;
}

footer .footer .footer-a .anchor:hover p {
  color: white;
}

footer .footer .footer-b {
  font-size: 12px;
  width: 100%;
  background-color: #fff;
  color: black;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

footer .footer .footer-b .produce {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 30px;
}

footer .footer .footer-b .produce p {
  margin: 0 20px;
  min-width: 60px;
}

/*======================================
	Blogページ
=======================================*/
.blog_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 50px 0;
  background: url("../images/blog/blog_bg.png");
  background-size: 100% auto;
  background-repeat: repeat-y;
  font-size: 0.85em;
}

.blog_content .page_content {
  width: 100%;
  max-width: 950px;
  position: relative;
  background-color: white;
  border-radius: 30px;
  padding: 50px 70px;
}

.blog_content .page_content::after {
  content: "";
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border: 2px solid #a6cf1f;
  border-radius: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  pointer-events: none;
}

.blog_content .page_content .blog_category {
  font-size: 1.2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.blog_content .page_content .blog_category p {
  border: 1.5px solid #a6cf1f;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 2px 20px;
  border-radius: 15px;
}

.blog_content .page_content .h1_01 {
  display: block;
  font-weight: bold;
  font-size: 3em;
  line-height: 1.4;
  padding: 5px 50px;
  clear: both;
  position: relative;
  margin-bottom: 40px;
  background: -webkit-gradient(linear, left top, right top, from(#a6cf1f75), to(rgba(255, 255, 172, 0.5)));
  background: linear-gradient(90deg, #a6cf1f75 0%, rgba(255, 255, 172, 0.5) 100%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.blog_content .page_content .h1_02 {
  display: block;
  font-weight: bold;
  font-size: 3em;
  line-height: 1.4;
  padding: 5px 50px;
  clear: both;
  position: relative;
  margin-bottom: 40px;
  background: url("../images/blog/h1_02.png") no-repeat bottom left;
  background-size: 100% auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.blog_content .page_content .h2_01 {
  background: url("../images/blog/h3.png") no-repeat bottom left;
  background-size: 100% auto;
}

.blog_content .page_content .h2_02 {
  padding: 5px 0;
  background: none;
  border-bottom: dotted 3px #f7e369;
}

.blog_content .page_content .h2_02:before, .blog_content .page_content .h2_02:after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: #f7e369;
  bottom: 0px;
}

.blog_content .page_content .h2_02:before {
  left: 0px;
  -webkit-transform: translate(-50%, calc(50% + 1.5px)) rotate(45deg);
          transform: translate(-50%, calc(50% + 1.5px)) rotate(45deg);
}

.blog_content .page_content .h2_02:after {
  right: 0px;
  -webkit-transform: translate(50%, calc(50% + 1.5px)) rotate(45deg);
          transform: translate(50%, calc(50% + 1.5px)) rotate(45deg);
}

.blog_content .page_content .blog_keywords {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 5rem;
}

.blog_content .page_content .blog_keywords p {
  margin: 0 14px;
  font-size: 1.3em;
  padding: 4px 50px 4px 20px;
  background: -webkit-gradient(linear, left top, right top, from(#f7e369), color-stop(90%, #f7e369), color-stop(90%, #eacf4b), to(#eacf4b));
  background: linear-gradient(to right, #f7e369 0%, #f7e369 90%, #eacf4b 90%, #eacf4b 100%);
  -webkit-box-shadow: 3px 3px 6px #b9b9b9;
          box-shadow: 3px 3px 6px #b9b9b9;
}

.blog_content .page_content .blog_pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 50px;
}

.blog_content .page_content .blog_pager a {
  font-size: 1.1em;
  margin: 0 2em;
  position: relative;
  color: black;
  text-decoration: none;
}

.blog_content .page_content .blog_pager a:hover {
  color: #ef9d25;
}

.blog_content .page_content .blog_pager a.prev_post::before {
  content: "";
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
  left: -30px;
  background: url("../images/blog/arrow_01.png") no-repeat top left;
  background-size: auto 100%;
  margin-top: 1px;
}

.blog_content .page_content .blog_pager a.next_post::before {
  content: "";
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -30px;
  background: url("../images/blog/arrow_01.png") no-repeat top left;
  background-size: auto 100%;
  margin-top: 1px;
}

.blog_content .page_content .recommend > h1 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  margin: 0 auto;
  font-size: 1.4em;
  padding: 3em 3em 2.5px;
  background: url("../images/blog/reccomend_ttl.png") no-repeat bottom right;
  background-size: 100% auto;
}

.blog_content .page_content .recommend .articles {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.blog_content .page_content .archive_post{
  color: #000;
  text-decoration: none;
}

.blog_content .page_content .archive_post:hover{
  color: orange;
}

.blog_content .page_content .recommend .articles article {
  width: 252px;
  margin: 10px 9px;
}

.blog_content .page_content .recommend .articles article a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  color: #000;
  text-decoration: none;
}

.blog_content .page_content .recommend .articles article a:hover  {
  color: orange !important;
}

.blog_content .page_content .recommend .articles article a .blog-img {
  width: 100%;
  height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  margin-top: 20px;
  margin-bottom: 10px;
}

.blog_content .page_content .recommend .articles article a .blog-img img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
  height: 100%;
}

.blog_content .page_content .recommend .articles article a .blog-img img:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.blog_content .page_content .recommend .articles article a .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin: 0;
}

.blog_content .page_content .recommend .articles article a .info .blog-type {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 2px solid #f7e369;
  border-radius: 50px;
  text-align: center;
  font-size: 13px;
  color: black;
  padding: 3px 25px;
  margin: 0;
}

.blog_content .page_content .recommend .articles article a .info .date {
  font-size: 1.25em;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0;
}

.blog_content .page_content .recommend .articles article a h1 {
  width: 100%;
  font-size: 1.3em;
  margin-bottom: 10px;
  line-height: 28px;
}

.blog_content .page_content .post {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.blog_content .page_content .post:hover {
  color: orange;
}

.blog_content .page_content .article_pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.blog_content .page_content .article_pager > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 34px;
  line-height: 34px;
  height: 34px;
  font-size: 1.4em;
  background-color: #f2f2f2;
  margin: 0 2px;
  padding: 0px 0.5em;
}

.blog_content .page_content .article_pager > *.current {
  background-color: #a6cf1f;
  color: white;
}

.blog_content .page_content .article_pager > *.next, .blog_content .page_content .article_pager > *.prev {
  background-color: transparent;
}

.blog_content .sidebar {
  width: 270px;
  margin-left: 30px;
  padding: 10px 0;
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  z-index: 1;
}

.blog_content .sidebar h1 {
  display: block;
  text-align: center;
  width: 100%;
  padding: 10px 0;
  font-size: 1.8em;
  background-color: white;
  border: 1.5px solid #a6cf1f;
  position: relative;
  margin-bottom: 10px;
}

.blog_content .sidebar h1::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: -webkit-gradient(linear, left top, right top, from(#a6cf1f), to(#bde3b5));
  background: linear-gradient(90deg, #a6cf1f 0%, #bde3b5 100%);
  top: 6px;
  left: 6px;
  z-index: -1;
}

.blog_content .sidebar .articles {
  margin-bottom: 60px;
}

.blog_content .sidebar .articles article {
  border-bottom: 2px solid #a6cf1f;
}

.blog_content .sidebar .articles article .date {
  font-size: 1.3em;
  margin: 1.5em 0 1em;
}

.blog_content .sidebar .articles article .title {
  font-size: 1.2em;
  margin: 1em 0;
  line-height: 1.5;
}

.blog_content .sidebar .category {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 30px;
  font-size: 1.2em;
  margin: 20px 0 60px;
}

.blog_content .sidebar .category li {
  margin: 1em 0;
  position: relative;
}

.blog_content .sidebar .category li::before {
  content: "";
  width: 0.9em;
  height: 0.9em;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #a6cf1f;
  position: absolute;
  left: -1.5em;
}

.blog_content .sidebar .select_date {
  display: block;
  font-size: 1.3em;
  background-color: white;
  border: 1.5px solid #a6cf1f;
  padding: 12px 0 12px 20px;
  border-radius: 20px;
  position: relative;
  margin-top: 30px;
  cursor: pointer;
}

.blog_content .sidebar .select_date::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #333;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -6px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.blog_content .sidebar .select_date.active::before {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.blog_content .sidebar .date_list {
  display: none;
}

.blog_content .sidebar .date_list li {
  padding: 10px 20px;
  font-size: 1.2em;
  border-bottom: 1.5px solid #a6cf1f;
}

.blog_content .sidebar a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.blog_content .sidebar a:hover {
  color: orange;
}

/*======================================
	固定ページテンプレート
=======================================*/
/* 文字装飾 */
.fo06 {
  font-size: 0.6em !important;
}

.fo07 {
  font-size: 0.7em !important;
}

.fo075 {
  font-size: 0.75em !important;
}

.fo08 {
  font-size: 0.8em !important;
}

.fo085 {
  font-size: 0.85em !important;
}

.fo088 {
  font-size: 0.875em !important;
}

.fo09 {
  font-size: 0.9em !important;
}

.fo105 {
  font-size: 1.05em !important;
}

.fo11 {
  font-size: 1.1em !important;
}

.fo115 {
  font-size: 1.15em !important;
}

.fo12 {
  font-size: 1.2em !important;
}

.fo125 {
  font-size: 1.25em !important;
}

.fo13 {
  font-size: 1.3em !important;
}

.fo14 {
  font-size: 1.4em !important;
}

.fo15 {
  font-size: 1.5em !important;
}

.fo16 {
  font-size: 1.6em !important;
}

.fo17 {
  font-size: 1.7em !important;
}

.fo18 {
  font-size: 1.8em !important;
}

.fo19 {
  font-size: 1.9em !important;
}

.fo20 {
  font-size: 2em !important;
}

.lh12 {
  line-height: 1.2;
}

.lh14 {
  line-height: 1.4;
}

.lh16 {
  line-height: 1.6;
}

.lh18 {
  line-height: 1.8;
}

.lh20 {
  line-height: 2;
}

.fo_white {
  color: #ffffff;
}

.mb00 {
  margin-bottom: 0px !important;
}

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

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

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

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

.mb25 {
  margin-bottom: 25px !important;
}

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

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

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

.mb80 {
  margin-bottom: 80px !important;
}

.container {
  max-width: 1130px;
  padding: 0px 15px;
  margin: 0px auto;
}

.left {
  float: left;
}

.right {
  float: right;
}

.pos_rel {
  position: relative;
}

.pos_ab {
  position: absolute;
}

.bold {
  font-weight: bold;
}

.ta_center {
  text-align: center;
}

.ta_right {
  text-align: right;
}

.ta_left {
  text-align: left;
}

.ta_right-s_center {
  text-align: right;
}

.ta_left-s_center {
  text-align: left;
}

.ta_center-s_left {
  text-align: center;
}

.back_white {
  background-color: #fff;
}

@media print, (min-width: 861px) {
  .hidden_l {
    display: none !important;
  }
}

/* clearFix */
.clearFix {
  zoom: 100%;
}

.clearFix:after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}

.over_hidden {
  overflow: hidden;
}

.main_contents {
  max-width: 1020px;
  margin: auto;
  padding: 0px 15px 10px;
}

.page-top {
  height: 420px;
  width: 100%;
  overflow: hidden;
}

.page-top img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.catchcopy {
  font-size: 2.2em;
  line-height: 1.6;
}

.shadow_img {
  max-width: 1200px;
  margin: auto;
}

.shadow_img img {
  border-radius: 30px;
  -webkit-box-shadow: 15px 15px 0px #ccdae2;
          box-shadow: 15px 15px 0px #ccdae2;
}

.box30 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: auto -1.5%;
}

.box30 > div {
  width: 29.3333%;
  margin: 0px 2% 50px;
}

.box50 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.box50 > div {
  width: 46%;
  margin: 0px 0px 50px;
}

.box50 .img_left_box {
  width: 48%;
}

.box80 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-self: space-between;
  margin-bottom: 30px;
}

.box80 .img {
  width: 374px;
  height: auto;
  padding: 0 20px;
  margin-bottom: 30px;
}

.box80 .img img {
  width: 100%;
}

.box80 p {
  width: 634px;
}

.page_content {
  line-height: 2;
}

.page_content p, .page_content li, .page_content blockquote {
  font-size: 18px;
}

.page_content p {
  margin-bottom: 30px;
}

.page_content .heading_square {
  background: url("../images/blog/box01.png") no-repeat left 0.35em;
  background-size: 1.2em auto;
  padding-left: 1.5em;
}

.page_content .heading_dec_a {
  display: inline-block;
  position: relative;
  padding: 6px 1em;
  font-size: 1.3em;
  font-weight: bold;
  line-height: 1.4;
  margin: 0px 10px 20px;
  border: 1.5px solid #000;
  min-width: 180px;
}

.page_content .heading_dec_a:before, .page_content .heading_dec_a:after {
  content: "";
  position: absolute;
}

.page_content .heading_dec_a:before {
  width: calc(100% - 3px);
  height: calc(100% - 3px);
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border: 1px solid #000;
}

.page_content .heading_dec_a:after {
  width: 0;
  height: 0;
  border-top: 0.5em solid #000;
  border-left: 0.5em solid #000;
  border-right: 0.5em solid transparent;
  border-bottom: 0.5em solid transparent;
  left: 0;
  top: -1.5px;
}

.page_content .heading_dec_b {
  display: inline-block;
  position: relative;
  padding: 6px 1.7em;
  font-size: 1.3em;
  font-weight: bold;
  line-height: 1.4;
  margin: 0px 10px 20px;
}

.page_content .heading_dec_b:before, .page_content .heading_dec_b:after {
  content: "";
  position: absolute;
  background: url("/images/blog/heading_dec_b.png") no-repeat center center;
  background-size: 100% auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 24px;
  height: 28px;
}

.page_content .heading_dec_b::before {
  left: 0;
}

.page_content .heading_dec_b::after {
  right: 0;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}

.img_wide {
  position: relative;
  margin: 10px 0px 40px;
}

.img_wide img {
  width: 100%;
  height: auto;
}

.img_wide:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left bottom, left top, from(#fff), color-stop(50%, transparent));
  background: linear-gradient(to top, #fff 0%, transparent 50%);
  z-index: 1;
  bottom: -1px;
}

.page_content.img_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 80px;
}

.page_content.img_box > * {
  width: 50%;
}

.page_content.img_box .box {
  width: 455px;
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.page_content.img_box .box::before {
  content: "";
  background: url("../images/blog/img_box_h_02.png") no-repeat center bottom;
  background-size: auto 100%;
  position: absolute;
  width: 113px;
  height: 62px;
  top: -60px;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}

.page_content.img_box .box::after {
  content: "";
  background: url("../images/blog/img_dec.png") no-repeat center bottom;
  background-size: auto 100%;
  position: absolute;
  width: 219px;
  height: 35px;
  bottom: -50px;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}

.page_content.img_box figure div {
  display: inline-block;
  position: relative;
}

.page_content.img_box figure div:before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: -10px;
  z-index: -1;
  background: -webkit-gradient(linear, left top, right top, from(#a6cf1f81), to(rgba(255, 255, 172, 0.5)));
  background: linear-gradient(90deg, #a6cf1f81 0%, rgba(255, 255, 172, 0.5) 100%);
  background-size: cover;
  border-radius: 0px;
}

.page_content.img_box figure img {
  max-width: initial;
  height: auto;
  border-radius: 0px;
}

.page_content.img_box h3 {
  font-size: 2em;
  padding-bottom: 0px;
  text-align: center;
  background: none;
  border-top: 1.5px solid #000;
  border-bottom: 1.5px solid #000;
  position: relative;
}

.page_content.img_box h3:before, .page_content.img_box h3:after {
  content: "";
  background: url("../images/blog/img_box_h_01.png") no-repeat center bottom;
  background-size: auto 100%;
  position: absolute;
  top: -0.1px;
  width: 13px;
  height: 100%;
  border-radius: 0px;
}

.page_content.img_box h3:before {
  left: 0px;
}

.page_content.img_box h3:after {
  right: 0px;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

.page_content.img_left figure {
  padding-right: 100px;
}

.page_content.img_left figure div {
  float: right;
}

.page_content.img_left figure div:before {
  right: -10px;
  left: 10px;
}

.page_content.img_right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
}

.page_content.img_right figure {
  padding-left: 100px;
}

.page_content.img_right figure div:before {
  left: -10px;
  right: 10px;
}

.page_content.img_right .box {
  float: right;
}

.img_left_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 80px;
}

.img_left_box > div {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 10px;
}

.img_left_box > p {
  width: 100%;
}

.img_left_box > div > * {
  width: 48%;
}

.img_left_box figure {
  text-align: center;
}

.page_content p:last-child {
  margin-bottom: 30px;
}

.page_content h2 {
  display: inline-block;
  font-weight: bold;
  font-size: 2.2em;
  line-height: 1.4;
  padding: 15px 0px;
  clear: both;
  width: 100%;
  position: relative;
  text-align: center;
  background: url("../images/blog/h2_01.png") no-repeat center bottom;
  background-size: 100% auto;
  padding-bottom: 20px;
  clear: both;
  margin-bottom: 30px;
}

.page_content h2.h2_02 {
  background: url("../images/blog/h2_02.png") no-repeat center bottom;
}

.page_content h3 {
  font-weight: bold;
  font-size: 1.6em;
  line-height: 1.4;
  background: url("../images/blog/h3.png") no-repeat center bottom;
  background-size: 100% auto;
  padding-bottom: 20px;
  clear: both;
  margin-bottom: 30px;
}

.page_content h4 {
  font-weight: bold;
  font-size: 1.8em;
  line-height: 1.4;
  padding-bottom: 15px;
  clear: both;
  position: relative;
  margin-bottom: 30px;
}

.page_content h4.h4_01 {
  border-bottom: dotted 3px #f7e369;
}

.page_content h4.h4_01:before, .page_content h4.h4_01:after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: #f7e369;
  bottom: 0px;
}

.page_content h4.h4_01:before {
  left: 0px;
  -webkit-transform: translate(-50%, calc(50% + 1.5px)) rotate(45deg);
          transform: translate(-50%, calc(50% + 1.5px)) rotate(45deg);
}

.page_content h4.h4_01:after {
  right: 0px;
  -webkit-transform: translate(50%, calc(50% + 1.5px)) rotate(45deg);
          transform: translate(50%, calc(50% + 1.5px)) rotate(45deg);
}

.page_content h4.h4_02::before {
  content: "";
  background-image: linear-gradient(to right, #ffca76, #ffca76 4px, transparent 4px, transparent 15px);
  background-size: 15px 4px;
  background-repeat: repeat-x;
  position: absolute;
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
}

.page_content h5 {
  font-weight: bold;
  font-size: 1.6em;
  line-height: 1.4;
  background: url("../images/blog/h5.png") no-repeat center bottom;
  background-size: 100% auto;
  padding-bottom: 20px;
  clear: both;
  margin-bottom: 30px;
}

.page_content h6 {
  display: inline-block;
  font-weight: bold;
  font-size: 1.5em;
  line-height: 1.4;
  position: relative;
  padding: 10px 20px;
  margin-bottom: 30px;
}

.page_content h6:before, .page_content h6:after {
  content: "";
  position: absolute;
  background-size: 100% auto;
  width: 33px;
  height: 45px;
}

.page_content h6:before {
  background: url("../images/blog/h6_01.png") no-repeat center center;
  top: -7px;
  left: -10px;
}

.page_content h6:after {
  background: url("../images/blog/h6_02.png") no-repeat center center;
  bottom: -7px;
  right: -10px;
}

.page_content p.h7 {
  display: inline-block;
  font-weight: bold;
  font-size: 1.5em;
  line-height: 1.4;
  position: relative;
  padding: 10px 0 10px 25px;
  margin-bottom: 30px;
  width: 100%;
}

.page_content p.h7::before {
  content: "";
  width: 44px;
  height: 44px;
  position: absolute;
  top: 50%;
  left: -15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("/images/top/top-main01-dec.svg");
  background-repeat: no-repeat;
}

.page_content blockquote {
  position: relative;
  padding: 30px 10% 30px;
  margin: 10px 10px 50px;
  background: #fff;
  clear: both;
  border: 1.5px solid #a6cf1f;
}

.page_content blockquote::after, .page_content blockquote::before {
  content: "";
  width: 50px;
  height: 26px;
  position: absolute;
  background: url("../images/blog/ico_blq.png") no-repeat center center;
  background-size: contain;
  background-color: white;
}

.page_content blockquote::after {
  top: -15px;
  left: 2%;
}

.page_content blockquote::before {
  bottom: -15px;
  right: 2%;
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
}

.page_content ul {
  margin-bottom: 30px;
  clear: both;
}

.page_content li {
  position: relative;
  padding-left: 20px;
}

.page_content li:before {
  content: "";
  position: absolute;
  left: 0px;
  top: 0.5em;
  width: 0.8em;
  height: 0.8em;
  background-color: #a6cf1f;
  border-radius: 100%;
}

.page_content li li {
  padding-left: 1em;
}

.page_content li li:before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 8px 5px;
  border-color: transparent transparent #000000 transparent;
  top: 0.65em;
  background: none;
  border-radius: 0px;
}

.page_content ol {
  margin-bottom: 30px;
  padding-left: 2em;
}

.page_content ol li {
  list-style: outside decimal;
}

.page_content table {
  clear: both;
  margin-bottom: 30px;
  width: 100%;
}

.page_content table th,
.page_content table td {
  padding: 5px 15px;
  vertical-align: top;
  position: relative;
}

.page_content tr {
  border-bottom: solid 2px #f9bc64;
}

.page_content table th:not(:first-child):before,
.page_content table td:not(:first-child):before {
  content: "";
  position: absolute;
  left: 0px;
  width: 2px;
  height: 100%;
  top: 0;
  background-color: #f9bc64;
}

.page_content table th {
  font-weight: bold;
  text-align: center;
}

.page_content table td {
  text-align: center;
}

.page_content .th_bg {
  background-color: #F7E37B;
}

.page_content .th_bg th {
  background-color: transparent;
}

.page_content .th_bg td {
  background-color: white;
}

.page_content .th_bg tr:not(:last-child) th {
  border-bottom: solid 2px #f9bc64;
}

.page_content .th_bg tr:first-child {
  border-top: solid 2px #f9bc64;
}

.page_content .th_bg02 tr:first-child {
  background-color: #F7E37B;
  background-size: cover;
  border-bottom: none;
}

.page_content .th_bg02 tr:first-child th:not(:first-child):before {
  background-color: #fff;
}

.page_content img {
  border-radius: 0px;
}

.page_content iframe {
  max-width: 100%;
}

.page_content strong {
  font-weight: bold;
}

.page_content em {
  font-weight: bold;
  color: #f08300;
}

.page_content a.icon {
  background: url("../images/blog/ico_link.png") no-repeat left 50%;
  padding-left: 20px;
}

.page_content a.icon:hover {
  background-image: url("../images/blog/ico_link_o.png");
}

.page_content a.box {
  border-left: solid 7px #a6cf1f;
  padding: 3px 5px 5px 35px;
  border-bottom: dashed 1px #a6cf1f;
  display: inline-block;
  background: url("../images/blog/ico_link.png") no-repeat 10px 50%;
}

.page_content a.box:hover {
  background-image: url("../images/blog/ico_link_o.png");
}

.page_content a.btn01, .page_content a.btn02, .page_content a.btn03 {
  display: inline-block;
  min-width: 215px;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-align: center;
  padding: 10px 30px;
  text-decoration: none;
  line-height: 1.6;
  font-weight: bold;
}

.page_content a.btn01:hover, .page_content a.btn03:hover {
  -webkit-transform: translate(3px, 3px);
          transform: translate(3px, 3px);
}

.page_content a.btn01 {
  background: #fff;
  border: 2px solid #a6cf1f;
  color: #000;
}

.page_content a.btn01:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 6px;
  border-color: transparent transparent transparent #a6cf1f;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.page_content a.btn02 {
  color: #000;
  border: solid 1px #a6cf1f;
  height: 45px;
  line-height: 40px;
  padding: 0px 45px 0px 15px;
  position: relative;
  background-color: white;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.page_content a.btn02:before {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: transparent;
  border: solid 1.5px #a6cf1f;
  border-left: none;
  border-bottom: none;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.page_content a.btn02:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: -webkit-gradient(linear, left top, right top, from(#a6cf1f), to(#bde3b5));
  background: linear-gradient(90deg, #a6cf1f 0%, #bde3b5 100%);
  top: 6px;
  left: 6px;
  -webkit-transform: translate3d(0, 0, -0.1px);
          transform: translate3d(0, 0, -0.1px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.page_content a.btn02:hover {
  -webkit-transform: translate3d(3px, 3px, 1px);
          transform: translate3d(3px, 3px, 1px);
}

.page_content a.btn02:hover:after {
  -webkit-transform: translate3d(-3px, -3px, -0.1px);
          transform: translate3d(-3px, -3px, -0.1px);
}

.page_content a.btn03 {
  color: black;
  background-color: #ffca76;
}

.page_content a.btn03:before {
  content: "";
  position: absolute;
  border: 1.5px solid white;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100% - 5px);
  height: calc(100% - 5px);
}

.page_content a.btn03::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: transparent;
  border: solid 2px white;
  border-left: none;
  border-bottom: none;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.page_content a {
  color: #a6cf1f;
  text-decoration: underline;
}

.page_content a:hover {
  color: #ef9d25;
}

.page_content .btn_area {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.page_content .img_left_box_a h3 {
  font-size: 1.3em;
  border: none;
  padding: 15px 5px;
  background: url("../images/blog/rec_ttl01.png") no-repeat center center;
  background-size: 100% 100%;
  display: inline-block;
  margin-bottom: 20px;
  width: 100%;
  text-align: center;
}

.page_content .img_left_box_a h3:before, .page_content .img_left_box_a h3:after {
  display: none;
}

.page_content .img_left_box_b h3 {
  font-size: 1.3em;
  border: none;
  padding: 5px 0px;
  background: none;
  background-size: 100% 100%;
  display: block;
  width: 85%;
  margin: 0 auto 20px;
  position: relative;
  border-bottom: 1px solid #bdf464;
  text-align: center;
}

.page_content .img_left_box_b h3:before, .page_content .img_left_box_b h3:after {
  content: "";
  width: 27px;
  height: 36px;
  background: url("../images/blog/rec_ttl02.png") no-repeat center center;
  background-size: 100% auto;
  position: absolute;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
}

.page_content .img_left_box_b h3::before {
  left: -30px;
}

.page_content .img_left_box_b h3::after {
  right: -30px;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}

.page_content .ico_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.page_content .ico_area img {
  width: auto;
  height: auto;
  margin: 10px;
}

.page_content .ico_area img.check_01 {
  width: 43.3px;
}

.page_content .ico_area img.check_02 {
  width: 30px;
}

.page_content .ico_area img.check_03 {
  width: 31px;
}

.page_content .ico_area img.arrow_01 {
  width: 20px;
}

.page_content .ico_area img.arrow_02 {
  width: 31px;
}

.page_content .ico_area img.arrow_03 {
  width: 15.3px;
}

.page_content .ico_area img.arrow_04 {
  width: 30px;
}

.page_content .list_check01 li,
.page_content .list_check02 li,
.page_content .list_check03 li {
  padding-left: 27px;
}

.page_content .list_check01 li:before,
.page_content .list_check02 li:before,
.page_content .list_check03 li:before {
  border-radius: 0px;
  width: 20px;
  height: 20px;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: inherit;
  top: 0.3em;
}

.page_content .list_check01 li:before {
  background-image: url("../images/blog/ico_check01.png");
}

.page_content .list_check02 li:before {
  background-image: url("../images/blog/ico_check02.png");
}

.page_content .list_check03 li:before {
  background-image: url("../images/blog/ico_check03.png");
}

.page_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.page_title h1 {
  display: inline-block;
  font-weight: bold;
  font-size: 3em;
  line-height: 1.4;
  padding: 5px 50px;
  clear: both;
  position: relative;
  margin-bottom: 40px;
  background: -webkit-gradient(linear, left top, right top, from(#a6cf1f75), to(rgba(255, 255, 172, 0.5)));
  background: linear-gradient(90deg, #a6cf1f75 0%, rgba(255, 255, 172, 0.5) 100%);
}

.page_title h2 {
  display: inline-block;
  font-weight: bold;
  font-size: 2.2em;
  line-height: 1.4;
  padding: 15px 50px;
  clear: both;
  position: relative;
  margin-bottom: 40px;
  text-align: center;
  background: none;
}

.page_title h2:before, .page_title h2:after {
  display: none;
}

.title-catch {
  width: 100%;
  max-width: 1265px;
  height: 280px;
  background-size: cover;
  background-position: center;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  background-color: #e6e6e6;
  margin-bottom: 100px;
}

.title-catch .adjust-right {
  position: absolute;
  height: 140px;
  width: 140px;
  right: 0;
  top: 0;
  background: linear-gradient(45deg, transparent 0%, transparent 50%, white 50%, white 100%);
}

.title-catch .adjust-right::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: -100%;
  background: linear-gradient(135deg, transparent 0%, transparent 50%, white 50%, white 100%);
}

.title-catch .adjust-left {
  position: absolute;
  height: 140px;
  width: 140px;
  left: 0;
  top: 0;
  background: linear-gradient(-45deg, transparent 0%, transparent 50%, white 50%, white 100%);
}

.title-catch .adjust-left::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: -100%;
  background: linear-gradient(-135deg, transparent 0%, transparent 50%, white 50%, white 100%);
}

.icon_arrow01,
.icon_arrow02,
.icon_arrow03,
.icon_arrow04 {
  padding-left: 28px;
  position: relative;
}

.icon_arrow01:before,
.icon_arrow02:before,
.icon_arrow03:before,
.icon_arrow04:before {
  content: "";
  position: absolute;
  left: 0px;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  top: 0.2em;
}

.icon_arrow01:before {
  background-image: url("../images/blog/ico_arrow01.png");
  width: 20px;
  height: 20px;
}

.icon_arrow02:before {
  background-image: url("../images/blog/ico_arrow02.png");
  width: 10px;
  height: 20px;
  left: 7px;
  top: 0.3em;
}

.icon_arrow03:before {
  background-image: url("../images/blog/ico_arrow03.png");
  width: 18px;
  height: 25px;
  top: 0.4em;
  left: 2px;
}

.icon_arrow04:before {
  background-image: url("../images/blog/ico_arrow04.png");
  width: 20px;
  height: 20px;
  top: 0.6em;
}

.faq_dl {
  margin-bottom: 60px;
}

.faq_dl .faq_ttl {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  padding-bottom: 20px;
  background-image: url("../images/blog/faq_ttl.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: left bottom;
}

.faq_dl .faq_ttl img {
  margin: 0 auto;
  display: block;
}

.faq_dl dt,
.faq_dl dd {
  padding: 7px 0px 7px 20px;
  background-size: 45px auto;
  background-repeat: no-repeat;
  background-position: left top;
  max-width: 600px;
  width: 100%;
  margin: 20px auto;
}

.faq_dl dt p:last-child,
.faq_dl dd p:last-child {
  margin-bottom: 0;
  width: calc(100% - 25px);
  display: block;
  height: 100%;
  padding: 0 10px;
}

.faq_dl dt {
  font-weight: bold;
  font-size: 1.2em;
  line-height: 1.6;
  padding-bottom: 15px;
  position: relative;
  padding: 3px 0 3px 20px;
  background: url("../images/blog/Q.svg") no-repeat bottom 10px left;
  background-size: 23px auto;
}

.faq_dl dt p:last-child {
  border-bottom: 1px solid #a6cf1f;
  padding: 23px 0 10px 10px;
}

.faq_dl dd {
  background-image: url("../images/blog/ico_a.png");
  background: url("../images/blog/A.svg") no-repeat center left;
  background-size: 30px auto;
  padding: 3px 0 3px 35px;
}

.faq_dl dd p:last-child {
  padding: 0;
}

.step_sec01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 60px;
}

.step_sec01 .num {
  background: url("../images/blog/step_ttl.png") no-repeat center center;
  width: 220px;
  height: 220px;
  font-size: 2em;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.step_sec01 .box_inner {
  width: 500px;
  padding: 0 20px;
}

.step_sec01 figure {
  width: 280px;
}

.page_content .step_sec01 h3 {
  padding-bottom: 10px;
  font-size: 1.6em;
  border-bottom: dotted 3px #f7e369;
  background: none;
  position: relative;
}

.page_content .step_sec01 h3:before, .page_content .step_sec01 h3:after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: #f7e369;
  bottom: 0px;
}

.page_content .step_sec01 h3:before {
  left: 0px;
  -webkit-transform: translate(-50%, calc(50% + 1.5px)) rotate(45deg);
          transform: translate(-50%, calc(50% + 1.5px)) rotate(45deg);
}

.page_content .step_sec01 h3:after {
  right: 0px;
  -webkit-transform: translate(50%, calc(50% + 1.5px)) rotate(45deg);
          transform: translate(50%, calc(50% + 1.5px)) rotate(45deg);
}

.step_sec02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
          align-items: flex-start;
  margin-bottom: 60px;
}

.step_sec02 figure {
  width: 325px;
  margin-right: 40px;
}

.step_sec02 figure img {
  border-radius: 100%;
  width: 100%;
  height: auto;
}

.step_sec02 figure .pos_ab {
  left: -30px;
  top: 30px;
  font-size: 2.3em;
  line-height: 1;
}

.step_sec02 .num {
  font-size: 2em;
  line-height: 0.8;
  color: #a6cf1f;
  letter-spacing: -0.1em;
  margin-left: 0.2em;
}

.step_sec02 .box_inner {
  width: 465px;
  margin-top: 3rem;
}

.step_sec02 h3:before, .step_sec02 h3:after {
  display: none;
}

.page_content .step_sec02 h3 {
  border: none;
  background: url("../images/blog/h3.png") no-repeat center bottom;
  background-size: 100% auto;
  padding-bottom: 20px;
  clear: both;
}

.hp_map p a {
  color: #000;
  text-decoration: none;
}

/*# sourceMappingURL=style.css.map */