@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: top;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  margin: 0;
  padding: 0; }

input, select {
  margin: 0;
  padding: 0;
  vertical-align: middle; }

textarea {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: middle; }

img {
  vertical-align: bottom;
  font-size: 0;
  line-height: 0; }

span,
small {
  font-weight: inherit; }

strong {
  font-weight: bold; }

address {
  font-style: normal; }

sup {
  vertical-align: text-top; }

em {
  font-style: normal; }

html {
  font-size: 62.5%; }

* {
  box-sizing: border-box; }

body {
  font-size: 1.6rem;
  color: #151E2F;
  line-height: 1.5;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  visibility: hidden; }
  @media screen and (max-width: 767px) {
    body {
      width: 100%;
      -webkit-text-size-adjust: 100%; } }

strong {
  font-weight: 600; }

img {
  max-width: 100%;
  height: auto; }
  @media screen and (max-width: 767px) {
    img {
      width: 100%; } }

sup,
sub {
  height: 0;
  line-height: 1;
  vertical-align: baseline;
  position: relative; }

sup {
  bottom: 1ex; }

sub {
  top: .5ex; }

.asterisk {
  font-family: 'Liberation Serif', 'Noto Sans CJK JP', 'TakaoGothic', 'VL Gothic', 'Yu Gothic', 'MS Gothic', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Osaka-Mono', 'Noto Sans JP', Monospace; }

.pcNone {
  display: none; }
  @media screen and (max-width: 767px) {
    .pcNone {
      display: block !important; } }

@media screen and (max-width: 767px) {
  .spNone {
    display: none !important; } }

.color01 {
  color: #f00; }

.right {
  text-align: right !important; }

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

@media screen and (max-width: 767px) {
  .left-sp {
    text-align: left !important; } }
a {
  color: #000;
  text-decoration: underline; }
  a:hover, a:active {
    text-decoration: none; }

.hover a img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: opacity .3s; }
@media screen and (min-width: 768px) {
  .hover a:hover img {
    opacity: .7; } }

.header01 {
  position: relative; }
  @media screen and (min-width: 768px) {
    .header01 {
      min-height: 141px; } }
  @media screen and (max-width: 767px) {
    .header01 {
      background: linear-gradient(90deg, #6eac2c 0%, #197a4b 100%);
      overflow-x: hidden;
			width: 100%;
    	position: fixed;
    	z-index: 5;} }
  .header01 > .inner01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (min-width: 768px) {
      .header01 > .inner01 {
        width: calc(100% - 44px);
        margin-left: auto;
        margin-right: auto;
        padding: 22px 0 10px; } }
    @media screen and (max-width: 767px) {
      .header01 > .inner01 {
        padding: 16px 8px; } }
    .header01 > .inner01 .logo {
      width: 193px; }
      @media screen and (max-width: 767px) {
        .header01 > .inner01 .logo {
          width: 118px; } }
      .header01 > .inner01 .logo a {
        transition: opacity .3s; }
        @media screen and (min-width: 768px) {
          .header01 > .inner01 .logo a:hover {
            opacity: .7; } }
    .header01 > .inner01 > .inner02 {
      width: calc(100% - 193px); }
    @media screen and (max-width: 767px) {
      .header01 > .inner01 .gnav01 {
        display: none; } }
    @media screen and (min-width: 768px) {
      .header01 > .inner01 .gnav01 {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 1px;
        margin-top: 2px; }
        .header01 > .inner01 .gnav01 > li {
          position: relative; }
          .header01 > .inner01 .gnav01 > li > span,
          .header01 > .inner01 .gnav01 > li a {
            display: block;
            font-family: "Noto Sans JP", sans-serif;
            font-optical-sizing: auto;
            font-weight: 400;
            font-style: normal;
            font-size: 1.8rem;
            padding: 0 1.15em 8px;
            text-decoration: none;
            color: #333; }
          .header01 > .inner01 .gnav01 > li:hover > span, .header01 > .inner01 .gnav01 > li:hover > a, .header01 > .inner01 .gnav01 > li.current a {
            font-family: "Noto Sans JP", sans-serif;
            font-optical-sizing: auto;
            font-weight: 900;
            font-style: normal; }
            .header01 > .inner01 .gnav01 > li:hover > span::after, .header01 > .inner01 .gnav01 > li:hover > a::after, .header01 > .inner01 .gnav01 > li.current a::after {
              content: '';
              position: absolute;
              bottom: 0;
              left: 0;
              width: 100%;
              height: 2px;
              background: linear-gradient(90deg, #6eac2c 0%, #197a4b 100%);
              z-index: 11; }
          .header01 > .inner01 .gnav01 > li ul {
            display: none;
            position: absolute;
            top: 100%;
            left: 0;
            z-index: 10; }
            .header01 > .inner01 .gnav01 > li ul li + li {
              margin-top: 2px; }
            .header01 > .inner01 .gnav01 > li ul li a {
              white-space: nowrap;
              font-family: "Noto Sans JP", sans-serif;
              font-optical-sizing: auto;
              font-weight: 400;
              font-style: normal;
              font-size: 1.5rem;
              padding: 0.75rem 2.2rem 0.75rem 2.2rem;
              background: url("../img/ic_arrow03.svg") no-repeat 10px 50%;
              background-color: #E7F5EE; }
              .header01 > .inner01 .gnav01 > li ul li a:hover {
                background-color: #9BD4B5; }
          .header01 > .inner01 .gnav01 > li:hover > ul {
            display: block; } }
    @media screen and (min-width: 768px) {
      .header01 > .inner01 .fixMenu .closeBtn {
        display: none; } }
    @media screen and (max-width: 767px) {
      .header01 > .inner01 .fixMenu {
        position: fixed;
        top: 0;
        right: 0;
        background: #EBF0F4;
        transition: transform 0.6s cubic-bezier(0.15, 0.85, 0.25, 1);
        transform: translateX(100%);
        width: 324px;
        height: 100%;
        padding: 86px 38px;
        z-index: 10; }
        .header01 > .inner01 .fixMenu.active {
          transform: translateX(0); }
          .header01 > .inner01 .fixMenu.active .gnav01 {
            display: block; }
          .header01 > .inner01 .fixMenu.active .closeBtn {
            display: block; }
        .header01 > .inner01 .fixMenu .closeBtn {
          display: none;
          position: absolute;
          top: 0;
          right: 0;
          background: url("../img/btn_close.svg") no-repeat 0 0;
          width: 50px;
          height: 50px; }
          .header01 > .inner01 .fixMenu .closeBtn span {
            display: block;
            text-indent: 100%;
            white-space: nowrap;
            overflow: hidden; }
        .header01 > .inner01 .fixMenu .gnav01 > li {
          position: relative;
          padding-left: 16px; }
          .header01 > .inner01 .fixMenu .gnav01 > li + li {
            margin-top: 17px; }
          .header01 > .inner01 .fixMenu .gnav01 > li.hasSubmenu + li {
            margin-top: 10px; }
          .header01 > .inner01 .fixMenu .gnav01 > li::before {
            content: '';
            position: absolute;
            top: 9px;
            left: 0;
            width: 9px;
            height: 9px;
            background: #FF7628;
            border-radius: 50%; }
          .header01 > .inner01 .fixMenu .gnav01 > li.hasSubmenu > span,
          .header01 > .inner01 .fixMenu .gnav01 > li a {
            display: block;
            font-family: "Noto Sans JP", sans-serif;
            font-optical-sizing: auto;
            font-weight: 700;
            font-style: normal;
            font-size: 1.6rem;
            padding: 0 0 6px;
            text-decoration: none;
            color: #333;
            border-bottom: 1px solid #D1D1D1; }
            .header01 > .inner01 .fixMenu .gnav01 > li.hasSubmenu > span > span,
            .header01 > .inner01 .fixMenu .gnav01 > li a > span {
              display: inline-block;
              /*max-width: 9em;*/
              background: linear-gradient(90deg, #6eac2c 0%, #197a4b 100%);
              -webkit-background-clip: text;
              -webkit-text-fill-color: transparent;
              background-clip: text;
              color: transparent; }
          .header01 > .inner01 .fixMenu .gnav01 > li.current > a span {
            background: none;
            -webkit-background-clip: inherit;
            -webkit-text-fill-color: inherit;
            background-clip: inherit;
            color: #6EAC2C; }
          .header01 > .inner01 .fixMenu .gnav01 > li.hasSubmenu.active > span {
            background: url("../img/ic_arrow04.svg") no-repeat calc(100% - 3px) calc(100% - 7px); }
          .header01 > .inner01 .fixMenu .gnav01 > li.hasSubmenu.active ul {
            max-height: 80px;
            padding-bottom: 6px; }
          .header01 > .inner01 .fixMenu .gnav01 > li.hasSubmenu > span {
            background: url("../img/ic_arrow05.svg") no-repeat calc(100% - 3px) calc(100% - 7px); }
          .header01 > .inner01 .fixMenu .gnav01 > li ul {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
            padding-top: 7px;
            margin-left: 5px; }
            .header01 > .inner01 .fixMenu .gnav01 > li ul li + li {
              margin-top: 6px; }
            .header01 > .inner01 .fixMenu .gnav01 > li ul li a {
              font-family: "Noto Sans JP", sans-serif;
              font-optical-sizing: auto;
              font-weight: 700;
              font-style: normal;
              font-size: 1.6rem;
              background: url("../img/ic_arrow05.svg") no-repeat calc(100% - 6px) calc(100% - 5px); } }
    .header01 > .inner01 .menuBtn {
      cursor: pointer;
      position: relative; }
      @media screen and (min-width: 768px) {
        .header01 > .inner01 .menuBtn {
          display: none; } }
      @media screen and (max-width: 767px) {
        .header01 > .inner01 .menuBtn {
          width: 50px;
          height: 50px;
          margin: -9px 0 -8px 0;
					color: #FFF;
					font-size: 1.2rem;
					font-weight: 700;
					font-family: "Noto Sans JP", sans-serif;
					text-align: center;}
        .header01 > .inner01 .fixMenu .gnav01 > li > span > span > span {
					display: inline-block !important;
					font-size: 1.3rem;
    			margin-left: 2rem;
				}
      }
      .header01 > .inner01 .menuBtn > span {
        position: absolute;
        top: calc(50% - 2px);
        left: calc(50% - 12px);
        width: 24px;
        height: 2px;
        background: #fff; }
        .header01 > .inner01 .menuBtn > span + span {
          position: absolute;
          top: calc(50% - -8px); }
          .header01 > .inner01 .menuBtn > span + span + span {
            position: absolute;
            top: calc(50% + 18px); }

.footer01 > .inner01 {
  background: url("../img/bg01.jpg") no-repeat 0 0/cover;
  padding-top: 130px; }
  @media screen and (min-width: 768px) {
    .footer01 > .inner01 {
      height: 490px; } }
  @media screen and (max-width: 767px) {
    .footer01 > .inner01 {
      background: url("../img/bg01s.jpg") no-repeat 50% 0/cover;
      padding-top: 45px;
      padding-bottom: 36px;
			background-position: center;} }
  .footer01 > .inner01 .hdg01 {
    text-align: center;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    font-size: 5.4rem;
    line-height: 1; }
  .footer01 > .inner01 .snsList01 {
    display: flex;
    flex-wrap: wrap;
    margin-top: 59px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (min-width: 768px) {
      .footer01 > .inner01 .snsList01 {
        justify-content: space-between;
        max-width: 721px; } }
    @media screen and (max-width: 767px) {
      .footer01 > .inner01 .snsList01 {
        justify-content: center;
        gap: 25px 0;
        margin-top: 50px; } }
    @media screen and (max-width: 767px) {
      .footer01 > .inner01 .snsList01 > li {
        width: 30%; } }
    .footer01 > .inner01 .snsList01 > li > a {
      display: block;
      text-decoration: none;
      text-align: center;
      transition: opacity .3s; }
      .footer01 > .inner01 .snsList01 > li > a img {
        width: 80px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 20px; }
      .footer01 > .inner01 .snsList01 > li > a span {
        text-align: center;
        display: block;
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 500;
        font-style: normal;
        font-size: 2rem; }
@media screen and (max-width: 767px) {
	.footer01 > .inner01 .hdg01 {
		font-size: 4.2rem;
	}
	.footer01 > .inner01 .snsList01 > li > a span {
		font-size: 1.8rem;
	}
	.footer01 > .inner01 .snsList01 > li > a img {
		width: 56px;
		margin-bottom: 4px;
	}
}
      @media screen and (min-width: 768px) {
        .footer01 > .inner01 .snsList01 > li > a:hover {
          opacity: .7; } }
.footer01 > .inner02 {
  background: #197A4B;
  color: #fff;
  padding-top: 40px;
  padding-bottom: 30px; }
  @media screen and (max-width: 767px) {
    .footer01 > .inner02 {
      padding-top: 26px;
      padding-bottom: 75px;
      position: relative; } }
  .footer01 > .inner02 .inner03 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    padding: 0 7px 40px 0;
    border-bottom: 1px solid #fff; }
    @media screen and (max-width: 767px) {
      .footer01 > .inner02 .inner03 {
        padding: 0 0 14px 0; } }
    .footer01 > .inner02 .inner03 .hdg01 {
      color: #fff;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 900;
      font-style: normal;
      font-size: 4rem;
      line-height: 1.4; }
    .footer01 > .inner02 .inner03 .btn02 {
      margin-bottom: 16px; }
      @media screen and (max-width: 767px) {
        .footer01 > .inner02 .inner03 .btn02 {
          margin-top: 33px;
          margin-left: auto;
          margin-right: auto; } }
  .footer01 > .inner02 .inner04 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 30px 0 0 5px; }
    @media screen and (max-width: 767px) {
      .footer01 > .inner02 .inner04 {
        padding: 32px 0 0 5px; } }
    .footer01 > .inner02 .inner04 ul {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5em 2.75em; }
      @media screen and (max-width: 767px) {
        .footer01 > .inner02 .inner04 ul {
          justify-content: space-between;
          gap: 0;
          margin-bottom: 24px; } }
      @media screen and (max-width: 767px) {
        .footer01 > .inner02 .inner04 ul li {
          width: 36%; }
          .footer01 > .inner02 .inner04 ul li:nth-child(3n + 1), .footer01 > .inner02 .inner04 ul li:nth-child(3n + 2) {
            width: 32%; } }
      .footer01 > .inner02 .inner04 ul li a {
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 400;
        font-style: normal;
        font-size: 1.2rem;
        color: #fff;
        text-decoration: none; }
    .footer01 > .inner02 .inner04 .copyright {
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 400;
      font-style: normal;
      font-size: 1rem;
      margin-top: 12px; }
      @media screen and (max-width: 767px) {
        .footer01 > .inner02 .inner04 .copyright {
          position: absolute;
          bottom: 24px;
          left: 0;
          width: 100%;
          text-align: center;
          margin-top: 0; } }
    .footer01 > .inner02 .inner04 .inner05 {
      width: 43.6241610738%; }
      @media screen and (max-width: 767px) {
        .footer01 > .inner02 .inner04 .inner05 {
          width: 100%; } }
    .footer01 > .inner02 .inner04 .inner06 {
      width: 55.2013422819%; }
      @media screen and (max-width: 767px) {
        .footer01 > .inner02 .inner04 .inner06 {
          width: 100%; } }
      .footer01 > .inner02 .inner04 .inner06 .hdg02 {
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal;
        font-size: 1.2rem;
        line-height: 1.4;
        margin-bottom: 10px; }
        @media screen and (max-width: 767px) {
          .footer01 > .inner02 .inner04 .inner06 .hdg02 {
            margin-bottom: 15px; } }
      .footer01 > .inner02 .inner04 .inner06 dl {
        display: flex;
        flex-wrap: wrap; }
        @media screen and (max-width: 767px) {
          .footer01 > .inner02 .inner04 .inner06 dl + dl {
            margin-top: 16px; } }
  @media screen and (max-width: 767px) and (max-width: 767px) {
    .footer01 > .inner02 .inner04 .inner06 dl + dl {
      margin-top: 20px; } }

        .footer01 > .inner02 .inner04 .inner06 dl dt,
        .footer01 > .inner02 .inner04 .inner06 dl dd {
          font-family: "Noto Sans JP", sans-serif;
          font-optical-sizing: auto;
          font-weight: 500;
          font-style: normal;
          font-size: 1.2rem;
          line-height: 1.6666666667; }
        .footer01 > .inner02 .inner04 .inner06 dl dt {
          width: 6em; }
        .footer01 > .inner02 .inner04 .inner06 dl.type02 dt {
          width: 22.5em; }
          @media screen and (max-width: 767px) {
            .footer01 > .inner02 .inner04 .inner06 dl.type02 dt {
              width: 100%; } }
        .footer01 > .inner02 .inner04 .inner06 dl.type02 dd {
          width: calc(100% - 22.5em); }
          @media screen and (max-width: 767px) {
            .footer01 > .inner02 .inner04 .inner06 dl.type02 dd {
              width: 100%; } }

.pagetop01 {
  position: fixed;
  bottom: 20px;
  right: 20px;
  opacity: 0;
  visibility: hidden;
  transition: all .5s; }
  .pagetop01.fadeIn {
    opacity: 1.0;
    visibility: visible; }

.wrap01 {
  display: flex;
  flex-wrap: wrap; }
  .wrap01:not(:first-child) {
    margin-top: 50px; }
  [class*="heading"] + .wrap01 {
    margin-top: 40px; }
  .wrap01.bC {
    justify-content: center; }
  .wrap01.between {
    justify-content: space-between; }
  .wrap01.aC {
    align-items: center; }
  .wrap01.aEnd {
    align-items: flex-end; }
  .wrap01.reverse {
    flex-direction: row-reverse; }

.areaLink {
  cursor: pointer;
  transition: opacity .3s; }
  @media screen and (min-width: 768px) {
    .areaLink:hover {
      opacity: .7; } }

.footer01 .CSInner00,
.footer01 .CSInner01,
.footer01 .CSInner02,
.footer01 .CSInner03,
.footer01 .CSInner04,
.footer01 .CSInner05,
.footer01 .CSInner06,
.CSection .CSInner00,
.CSection .CSInner01,
.CSection .CSInner02,
.CSection .CSInner03,
.CSection .CSInner04,
.CSection .CSInner05,
.CSection .CSInner06 {
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (max-width: 767px) {
    .footer01 .CSInner00,
    .footer01 .CSInner01,
    .footer01 .CSInner02,
    .footer01 .CSInner03,
    .footer01 .CSInner04,
    .footer01 .CSInner05,
    .footer01 .CSInner06,
    .CSection .CSInner00,
    .CSection .CSInner01,
    .CSection .CSInner02,
    .CSection .CSInner03,
    .CSection .CSInner04,
    .CSection .CSInner05,
    .CSection .CSInner06 {
      padding-left: 8px;
      padding-right: 8px; } }
.footer01 .CSInner01,
.CSection .CSInner01 {
  max-width: 857px; }
.footer01 .CSInner02,
.CSection .CSInner02 {
  max-width: 1138px; }
.footer01 .CSInner03,
.CSection .CSInner03 {
  max-width: 1186px; }
.footer01 .CSInner04,
.CSection .CSInner04 {
  max-width: 1232px; }
.footer01 .CSInner05,
.CSection .CSInner05 {
  max-width: 1384px; }
.footer01 .CSInner06,
.CSection .CSInner06 {
  max-width: 1440px; }
.footer01.overFlow01,
.CSection.overFlow01 {
  overflow: hidden; }

.heading01 {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 4.8rem;
  background: linear-gradient(90deg, #578924 0%, #15623c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent; }
  @media screen and (max-width: 767px) {
    .heading01 {
      display: flex;
      flex-wrap: wrap;
      flex-direction: column-reverse; } }
  @media screen and (max-width: 767px) {
    .heading01 {
      font-size: 2.4rem; } }
  .heading01.bold {
    font-weight: 700; }
  .heading01.type02 {
    display: block; }
    .heading01.type02 span {
      background: linear-gradient(90deg, #578924 0%, #15623c 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      color: transparent; }

.textH01 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem; }
  .textH01.bold {
    font-weight: 700; }
  .textH01 + .textH01 {
    margin-top: 2.4em; }

.textH02 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem; }
  .textH02 + .textH02 {
    margin-top: 1.2em; }

.textH03 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.8rem; }
  .textH03.bold {
    font-weight: 700; }
  .textH03.type02 {
    line-height: 2.5;
    letter-spacing: 0.1em; }
  .textH03 + .textH03 {
    margin-top: 2.5em; }

.textH04 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 2.0rem; }
  .textH04.bold {
    font-weight: 700; }
  .textH04 + .textH04 {
    margin-top: 2.4em; }

.textH05 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 2.4rem; }
  .textH05.bold {
    font-weight: 700; }
  .textH05 + .textH05 {
    margin-top: 2.4em; }

.textH06 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 2.8rem; }
  .textH06.bold {
    font-weight: 700; }
  .textH06 + .textH06 {
    margin-top: 2.4em; }

.tSpace01 {
  letter-spacing: 0.05em; }

.tSpace02 {
  letter-spacing: 0.06em; }

.tSpace03 {
  letter-spacing: 0.1em; }

.tSpace04 {
  letter-spacing: 0.15em; }

.tSpace05 {
  letter-spacing: 0.2em; }

.textH01 + .btn01,
.textH02 + .btn01,
.textH03 + .btn01,
.textH04 + .btn01,
.textH05 + .btn01,
.textH06 + .btn01 {
  margin-top: 36px; }

.fixTabMenu {
  z-index: 11;
  position: fixed;
  top: 99px;
  right: 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  transition: transform .3s;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25); }
  @media screen and (max-width: 767px) {
    .fixTabMenu {
      display: none; } }
  .fixTabMenu li {
    margin: 0;
    padding: 0;
    width: 47px;
    line-height: 1; }
    .fixTabMenu li a {
      transition: opacity .3s; }
      @media screen and (min-width: 768px) {
        .fixTabMenu li a:hover {
          opacity: 0.7; } }

.btn01 > button,
.btn01 > a {
  display: inline-block;
  cursor: pointer;
  margin: 0 auto;
  border-radius: 9999px;
  text-decoration: none;
  transition: opacity .3s;
  text-align: center;
  border: none;
  padding: 0.36em 17px 0.36em 20px;
  background: linear-gradient(90deg, #6eac2c 0%, #197a4b 100%); }
  .btn01 > button span,
  .btn01 > a span {
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 1.6rem;
    line-height: 1;
    padding-right: 18px;
    background: url("../img/ic_arrow01.svg") no-repeat 100% 50%; }
  @media screen and (max-width: 767px) {
    .btn01 > button,
    .btn01 > a {
      padding: 0.46em 17px 0.46em 20px; } }
  @media screen and (min-width: 768px) {
    .btn01 > button:hover,
    .btn01 > a:hover {
      opacity: 0.7; } }

.btn02 > button,
.btn02 > a {
  display: inline-block;
  cursor: pointer;
  margin: 0 auto;
  border-radius: 8px;
  text-decoration: none;
  transition: background-color .3s;
  border: none;
  padding: 1.2em 1em 1.2em 1.85em;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: 0.2em;
  line-height: 1;
  background: url("../img/ic_arrow02.svg") no-repeat calc(100% - 22px) 50%;
  background-color: #6EAC2C; }
  @media screen and (min-width: 768px) {
    .btn02 > button,
    .btn02 > a {
      min-width: 414px; } }
  @media screen and (max-width: 767px) {
    .btn02 > button,
    .btn02 > a {
      min-width: 280px;
      padding: 1.05em 1em 1.05em 1.2em;
      background-position: calc(100% - 24px) 50%; } }
  @media screen and (min-width: 768px) {
    .btn02 > button:hover,
    .btn02 > a:hover {
      background-color: #9ac56b; } }

.newsList01 > li {
  padding: 24px 0 30px 5px;
  border-bottom: 1px solid #D1D1D1; }
  @media screen and (max-width: 767px) {
    .newsList01 > li {
      padding: 19px 0 19px; } }
  .newsList01 > li .date {
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.5rem; }
  .newsList01 > li .text {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 2.4rem;
    margin-top: 3px; }
    @media screen and (max-width: 767px) {
      .newsList01 > li .text {
        font-size: 1.6rem; } }

.reportList01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px 0; }
  .reportList01 > li {
    position: relative; }
    @media screen and (min-width: 768px) {
      .reportList01 > li {
        width: 33.33%; }
        .reportList01 > li:nth-child(3n + 3) {
          width: 33.34%; }
        .reportList01 > li img {
          width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
        } }
    @media screen and (max-width: 767px) {
      .reportList01 > li {
        width: 100%; } }
    .reportList01 > li .media {
      position: absolute;
      top: 0;
      left: 0;
      color: #fff;
      /*padding: 0 8px;
      background: #000;*/
      height: 26px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 500;
      font-style: normal;
      line-height: 1; }
      .reportList01 > li .media.X span {
        background: url("../img/ic_X02.svg") no-repeat 0 50%/12px;
        padding-left: 17px;
        font-size: 1rem;
        height: 26px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center; }
      .reportList01 > li .media.youtube {
        background: #f00; }
        .reportList01 > li .media.youtube span {
          display: block;
          text-indent: 100%;
          white-space: nowrap;
          overflow: hidden;
          width: 54px;
          background: url("../img/ic_youtube02.svg") no-repeat 0 50%; }
      .reportList01 > li .media.facebook {
        background: #0866FF;
        font-size: 1.4rem; }
    .reportList01 > li .thumb {
      margin-bottom: 5px;
      width: 100%;
      height: 216px;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #000;
    }
    @media screen and (max-width: 767px) {
      .reportList01 > li .thumb {
        height: auto;
      }
    }
      .reportList01 > li .thumb a {
        display: block; }
    .reportList01 > li .date {
      width: 95%; }
    .reportList01 > li .text {
      width: 95%;
      margin-top: 0;
			font-size: 1.6rem;
  		line-height: 1.6;}

@media screen and (min-width: 768px) {
  body {
    background: url("../../img/bg01.png") no-repeat 50% 0/1440px, url("../../img/bg04.jpg") no-repeat 50% 0/100%; } }

@media screen and (max-width: 767px) {
	main{
		padding-top: 66px;
	}
}
	

.topMainArea01 > .CSInner05 {
  position: relative; }
  @media screen and (min-width: 768px) {
    .topMainArea01 > .CSInner05 {
      min-height: 698px; } }
  @media screen and (max-width: 767px) {
    .topMainArea01 > .CSInner05 {
      padding-left: 0;
      padding-right: 0;
      /*padding-bottom: 16px;*/ } }
@media screen and (max-width: 767px) {
  .topMainArea01 .figWrap {
    position: relative; }
    .topMainArea01 .figWrap .movieWrap {
      bottom: 13px;
      right: 20px; } }
@media screen and (min-width: 768px) {
  .topMainArea01 .fig01 {
    display: none; } }
.topMainArea01 .hdg01 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 7rem;
  line-height: 1.4; }
  @media screen and (min-width: 768px) {
    .topMainArea01 .hdg01 {
      position: absolute;
      top: 23px;
      left: 124px;
      height: 600px;
      writing-mode: vertical-rl; } }
  @media screen and (max-width: 767px) {
    .topMainArea01 .hdg01 {
      font-size: 13.8461538462vw;
      line-height: 1.2;
      letter-spacing: -0.035em;
      padding-top: 2px;
      padding-left: 8px; } }
  @media screen and (min-width: 768px) {
    .topMainArea01 .hdg01 .spNone {
      display: inline !important; } }
  @media screen and (max-width: 767px) {
    .topMainArea01 .hdg01 .spNone {
      display: none; } }
  @media screen and (min-width: 768px) {
    .topMainArea01 .hdg01 .pcNone {
      display: none; } }
  @media screen and (max-width: 767px) {
    .topMainArea01 .hdg01 .pcNone {
      display: inline !important; } }
  .topMainArea01 .hdg01 span {
    background: linear-gradient(90deg, #578924 0%, #15623c 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent; }
    @media screen and (max-width: 767px) {
      .topMainArea01 .hdg01 span {
        padding-right: 5px; } }
.topMainArea01 .movieWrap {
  position: absolute;
  bottom: 40px;
  right: 20px;
  width: 442px;
  background: linear-gradient(90deg, #578924 0%, #15623c 100%);
  padding: 6px 3px;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25); }
  @media screen and (max-width: 767px) {
    .topMainArea01 .movieWrap {
      padding: 2px;
      width: 151px; } }
  .topMainArea01 .movieWrap .tx01 {
    position: absolute;
    top: 6px;
    left: 5px;
    background: url("../img/bg02.svg") no-repeat 0 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 2.4rem;
    line-height: 1.4;
    width: 90%;
    padding: 0.2em 1em 0.2em 0.7em;
    z-index: 1; }
    @media screen and (max-width: 767px) {
      .topMainArea01 .movieWrap .tx01 {
        top: 2px;
        left: 3px;
        font-size: 1rem;
        background: url("../img/bg02.svg") no-repeat 0 0/auto 100%; } }
  .topMainArea01 .movieWrap .videoWrap {
    position: relative;
    height: 0;
    padding-bottom: 61.19%;
    overflow: hidden;
    transition: opacity .3s; }
    @media screen and (min-width: 768px) {
      .topMainArea01 .movieWrap .videoWrap:hover {
        cursor: pointer;
        opacity: .7; } }
    .topMainArea01 .movieWrap .videoWrap::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 80px;
      height: 76px;
      background: url("../img/ic_btn01.svg") no-repeat 0 0;
      transform: translate(-50%, -50%);
      z-index: 2; }
      @media screen and (max-width: 767px) {
        .topMainArea01 .movieWrap .videoWrap::after {
          width: 32px;
          height: 32px;
          background-size: contain; } }
    .topMainArea01 .movieWrap .videoWrap video,
    .topMainArea01 .movieWrap .videoWrap iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }

.topSection01 {
  background: linear-gradient(270deg, #6eac2c 0%, #197a4b 100%);
  padding-top: 47px;
  padding-bottom: 97px; }
  @media screen and (max-width: 767px) {
    .topSection01 {
      padding-top: 8px;
      padding-bottom: 24px;
      background: linear-gradient(90deg, #6eac2c 0%, #197a4b 100%); } }
  .topSection01 .topicsSection,
  .topSection01 .messageSection,
  .topSection01 .reportSection {
    background: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25); }
  .topSection01 .topicsSection {
    padding: 37px 93px;
    border-radius: 25px; }
    @media screen and (max-width: 767px) {
      .topSection01 .topicsSection {
        padding: 10px 16px 24px 16px;
        border-radius: 16px; } }
    .topSection01 .topicsSection > .inner01 {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-top: 19px; }
      @media screen and (max-width: 767px) {
        .topSection01 .topicsSection > .inner01 {
          margin-top: 22px; } }
      .topSection01 .topicsSection > .inner01 section {
        width: 47.5%; }
        @media screen and (max-width: 767px) {
          .topSection01 .topicsSection > .inner01 section {
            width: 100%; } }
        .topSection01 .topicsSection > .inner01 section .hdg01 {
          text-align: center;
          font-family: "Noto Sans JP", sans-serif;
          font-optical-sizing: auto;
          font-weight: 700;
          font-style: normal;
          font-size: 2rem;
          line-height: 1.8;
          padding-bottom: 10px;
          position: relative; }
          .topSection01 .topicsSection > .inner01 section .hdg01::before {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 4px;
            background: linear-gradient(90deg, #6eac2c 0%, #197a4b 100%); }
        @media screen and (max-width: 767px) {
          .topSection01 .topicsSection > .inner01 section + section {
            margin-top: 24px; } }
      .topSection01 .topicsSection > .inner01 + .btn01 {
        margin-top: 40px; }
  .topSection01 .messageSection {
    padding: 33px 41px 34px 71px;
    border-radius: 45px;
    margin-top: 55px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .topSection01 .messageSection {
        padding: 10px 16px 32px 16px;
        border-radius: 16px;
        margin-top: 10px;
				background-image:
					linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)),
					url("../../img/ph01.png");
				background-position: bottom center;
				background-repeat: no-repeat;
				background-size: contain;} }
    .topSection01 .messageSection .heading01 {
      margin-bottom: 7px; }
      @media screen and (min-width: 768px) {
        .topSection01 .messageSection .heading01 {
          display: block; } }
      @media screen and (max-width: 767px) {
        .topSection01 .messageSection .heading01 {
          /*text-align: center;*/
          letter-spacing: 0.05em;
          margin-bottom: 0.55em; } }
    @media screen and (min-width: 768px) {
      .topSection01 .messageSection .photo {
        position: absolute;
        bottom: 0;
        right: 5px; } }
    @media screen and (max-width: 767px) {
      .topSection01 .messageSection .photo {
        margin-top: 24px;
        margin-bottom: 24px; } }
    @media screen and (min-width: 768px) {
      .topSection01 .messageSection .mask {
        float: right;
        width: 430px;
        shape-outside: polygon(62.54% 15.3%, 77.72% 16.38%, 93.15% 19.11%, 96.38% 101.12%, -2.09% 101.5%, 11.74% 77.07%, 34.98% 54.05%, 34.82% 37.16%, 47.3% 17.88%);
        clip-path: polygon(62.54% 15.3%, 77.72% 16.38%, 93.15% 19.11%, 96.38% 101.12%, -2.09% 101.5%, 11.74% 77.07%, 34.98% 54.05%, 34.82% 37.16%, 47.3% 17.88%);
        shape-margin: 20px; } }
  @media screen and (min-width: 768px) and (max-width: 1176px) {
    .topSection01 .messageSection .mask {
      width: 30.612244898vw;
      margin-left: 2.5510204082vw; } }

    @media screen and (max-width: 1040px) {
      .topSection01 .messageSection .mask {
        width: 38.0769230769vw;
        shape-outside: polygon(58.05% 22.5%, 72.04% 20.24%, 95.68% 21.36%, 96.38% 101.12%, -2.09% 101.5%, 17.18% 78.31%, 34.6% 56.59%, 46.22% 40.83%, 52.68% 29.24%);
        clip-path: polygon(58.05% 22.5%, 72.04% 20.24%, 95.68% 21.36%, 96.38% 101.12%, -2.09% 101.5%, 17.18% 78.31%, 34.6% 56.59%, 46.22% 40.83%, 52.68% 29.24%); }
        .topSection01 .messageSection .mask img {
          width: 38.0769230769vw;
          height: 56.5384615385vw; } }
    @media screen and (max-width: 920px) {
      .topSection01 .messageSection .mask {
        width: 43.0434782609vw;
        shape-outside: polygon(55.15% 27.65%, 68.83% 25.16%, 96.17% 27.95%, 96.38% 101.12%, -2.09% 101.5%, 11.74% 77.07%, 29.4% 47.52%, 46.22% 40.83%, 48.01% 32.19%);
        clip-path: polygon(55.15% 27.65%, 68.83% 25.16%, 96.17% 27.95%, 96.38% 101.12%, -2.09% 101.5%, 11.74% 77.07%, 29.4% 47.52%, 46.22% 40.83%, 48.01% 32.19%); }
        .topSection01 .messageSection .mask img {
          width: 43.0434782609vw;
          height: 69.2391304348vw; } }
    @media screen and (max-width: 880px) {
      .topSection01 .messageSection .mask {
        width: 45vw;
        shape-outside: polygon(54.43% 32.91%, 65% 28.81%, 95.93% 32.19%, 96.38% 101.12%, -2.09% 101.5%, 11.74% 77.07%, 30.6% 51.03%, 41.19% 42.14%, 47.05% 36.28%);
        clip-path: polygon(54.43% 32.91%, 65% 28.81%, 95.93% 32.19%, 96.38% 101.12%, -2.09% 101.5%, 11.74% 77.07%, 30.6% 51.03%, 41.19% 42.14%, 47.05% 36.28%); }
        .topSection01 .messageSection .mask img {
          width: 45vw;
          height: 77.9545454545vw; } }
    @media screen and (max-width: 840px) {
      .topSection01 .messageSection .mask {
        width: 47.1428571429vw;
        shape-outside: polygon(52.78% 30.51%, 70.07% 27.83%, 95.53% 25.71%, 95.13% 99.13%, 3.14% 99.25%, 15.48% 76.67%, 32.59% 58.84%, 38.45% 53.92%, 43.06% 47%);
        clip-path: polygon(52.78% 30.51%, 70.07% 27.83%, 95.53% 25.71%, 95.13% 99.13%, 3.14% 99.25%, 15.48% 76.67%, 32.59% 58.84%, 38.45% 53.92%, 43.06% 47%); }
        .topSection01 .messageSection .mask img {
          width: 47.1428571429vw;
          height: 87.5vw; } }
    @media screen and (max-width: 800px) {
      .topSection01 .messageSection .mask {
        width: 49.5vw; }
        .topSection01 .messageSection .mask img {
          width: 49.5vw;
          height: 98vw; } }
    @media screen and (max-width: 767px) {
      .topSection01 .messageSection .mask {
        display: none; } }
    .topSection01 .messageSection .textH02 {
      font-family: "Zen Old Mincho", serif;
      font-weight: 400;
      font-style: normal;
			font-size: 1.8rem;}
		@media screen and (max-width: 767px) {
			.topSection01 .messageSection .textH02 {
				font-size: 1.4rem;
				font-weight: 700;
			}
		}
    .topSection01 .messageSection .signature {
      margin: 37px 462px 0 0; }
      @media screen and (max-width: 767px) {
        .topSection01 .messageSection .signature {
          margin: 0; }
          .topSection01 .messageSection .signature img {
            width: 100px; } }
  .topSection01 .reportSection {
    padding: 37px 87px 37px;
    border-radius: 45px;
    margin-top: 55px; }
    @media screen and (max-width: 767px) {
      .topSection01 .reportSection {
        padding: 10px 20px 24px;
        border-radius: 16px;
        margin-top: 10px;
        position: relative; } }
    @media screen and (min-width: 768px) {
      .topSection01 .reportSection .headingWrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
        /*margin-left: -49px;*/
        margin-bottom: 50px; } }
    @media screen and (max-width: 767px) {
      .topSection01 .reportSection .headingWrap {
        margin-bottom: 22px; } }
    @media screen and (min-width: 768px) {
      .topSection01 .reportSection .headingWrap .heading01 {
        line-height: 1;
        /*margin-top: -5px;*/ } }
    @media screen and (max-width: 767px) {
      .topSection01 .reportSection .headingWrap .heading01 {
        text-align: center; } }
    @media screen and (max-width: 767px) {
      .topSection01 .reportSection .headingWrap .btn01 {
        position: absolute;
        bottom: 24px;
        left: 50%;
        transform: translateX(-50%); } }
    @media screen and (max-width: 767px) {
      .topSection01 .reportSection .reportList01 {
        margin-bottom: 59px; } }

.topSection02 {
  background: #EBF0F4;
  padding-bottom: 75px; }
  @media screen and (max-width: 767px) {
    .topSection02 {
      padding-bottom: 24px; } }
  @media screen and (min-width: 768px) {
    .topSection02 > .inner01 {
      background: url("../../img/bg02.jpg") no-repeat 0 0/cover;
      margin-bottom: 94px;
      position: relative; } }
  @media screen and (max-width: 767px) {
    .topSection02 > .inner01 {
      background: url("../../img/bg02.jpg") no-repeat 0 0/cover;
      margin-bottom: 24px;
      position: relative; } }
  @media screen and (min-width: 768px) {
    .topSection02 > .inner01 > .CSInner06 {
      position: relative;
      height: 617px; } }
  @media screen and (max-width: 767px) {
    .topSection02 > .inner01 > .CSInner06 {
      position: relative;
      padding: 0;
      height: 180px; } }
  .topSection02 > .inner01 > .CSInner06 .hdg01 {
    text-align: right;
    color: #fff;
    background: #197A4B;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    font-size: 6.4rem;
    padding: 0.35em 0.51em 0.1em 2.52em;
    margin-left: calc(-50vw + 50%); }
    @media screen and (min-width: 768px) {
      .topSection02 > .inner01 > .CSInner06 .hdg01 {
        position: absolute;
        top: 0;
        left: 0; } }
    @media screen and (max-width: 767px) {
      .topSection02 > .inner01 > .CSInner06 .hdg01 {
        width: 140px;
        /*text-align: left;*/
        font-size: 2.4rem;
        position: absolute;
        top: -10px;
        padding: 0.35em 0.5em; } }
  @media screen and (min-width: 768px) {
    .topSection02 > .inner01 > .CSInner06 .fig01 {
      display: none; } }
  .topSection02 > .inner01 > .CSInner06 .hdg02 {
    color: #fff;
    background: #197A4B;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    font-size: 6.4rem;
    padding: 0.38em 1.45em 0.1em 0.53em; }
    @media screen and (min-width: 768px) {
      .topSection02 > .inner01 > .CSInner06 .hdg02 {
        position: absolute;
        bottom: -38px;
        right: 0;
        margin-right: calc(-50vw + 50%); } }
    @media screen and (max-width: 767px) {
      .topSection02 > .inner01 > .CSInner06 .hdg02 {
        position: absolute;
        bottom: -10px;
        right: 0;
        width: 140px;
        /*text-align: right;*/
        font-size: 2.4rem;
        margin-left: auto;
        padding: 0.35em 0.5em; } }
  .topSection02 > .CSInner01 section + section {
    margin-top: 45px; }
    @media screen and (max-width: 767px) {
      .topSection02 > .CSInner01 section + section {
        margin-top: 24px; } }
  .topSection02 > .CSInner01 .box {
    background: #fff;
    padding: 26px 52px 42px 52px;
    border-radius: 20px;
    position: relative; }
    @media screen and (min-width: 768px) {
      .topSection02 > .CSInner01 .box {
        margin-right: 169px;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25); } }
    @media screen and (max-width: 767px) {
      .topSection02 > .CSInner01 .box {
        padding: 16px;
        border-radius: 16px; } }
    .topSection02 > .CSInner01 .box .tx01 {
      display: inline-block;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 900;
      font-style: normal;
      font-size: 4.8rem;
      background: linear-gradient(90deg, #578924 0%, #15623c 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      color: transparent; }
      .topSection02 > .CSInner01 .box .tx01.type02 {
        margin-left: -0.4em;
        font-size: 4rem; }
      @media screen and (max-width: 767px) {
        .topSection02 > .CSInner01 .box .tx01 {
          margin-bottom: 0.3em; 
					font-size: 3.2rem;
				}
				.topSection02 > .CSInner01 .box .tx01.type02 {
					font-size: 2.4rem;
					margin-left: 0;
				}
			}
    .topSection02 > .CSInner01 .box .tx02 {
      color: #197A4B;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal;
      font-size: 2.4rem;
      margin-left: 6px; }
      @media screen and (max-width: 767px) {
        .topSection02 > .CSInner01 .box .tx02 {
          margin-left: 0;
					font-size: 1.8rem;
				} 
			}
    @media screen and (min-width: 768px) {
      .topSection02 > .CSInner01 .box .fig01 {
        position: absolute;
        top: 50%;
        right: -169px;
        transform: translateY(-50%); } }
    @media screen and (max-width: 767px) {
      .topSection02 > .CSInner01 .box .fig01 {
        margin-top: 16px; } }
    .topSection02 > .CSInner01 .box .btn01 {
      margin-top: 57px;
      margin-left: 3px; }
      @media screen and (max-width: 767px) {
        .topSection02 > .CSInner01 .box .btn01 {
          margin-top: 18px;
          text-align: center; } }

.topSection03 {
  padding-top: 70px; }
  @media screen and (min-width: 768px) {
    .topSection03 {
      height: 668px;
      background: url("../../img/bg03.png") no-repeat 50% 0;
      background-color: #e7eaf1; } }
  @media screen and (max-width: 767px) {
    .topSection03 {
      padding-top: 0; } }
  .topSection03 .box {
    background: #fff;
    position: relative; }
    @media screen and (min-width: 768px) {
      .topSection03 .box {
        width: 471px;
        margin-left: auto;
        border-radius: 20px;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
        padding: 60px 52px 42px 50px; } }
    @media screen and (max-width: 767px) {
      .topSection03 .box {
        padding: 0 0 24px 0;
        background: #DFE0E6;
        margin: 0 -8px; 
      } 
      .topSection03 .box div{
        padding: 16px;
        border-radius: 16px;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
        background: #FFF;
        margin: 0 8px;
      }
      }
    .topSection03 .box .hdg01 {
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 900;
      font-style: normal;
      font-size: 4.8rem;
      background: linear-gradient(90deg, #578924 0%, #15623c 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      color: transparent; }
      @media screen and (min-width: 768px) {
        .topSection03 .box .hdg01 {
          position: absolute;
          top: -35px;
          right: 12px; } }
      @media screen and (max-width: 767px) {
        .topSection03 .box .hdg01 {
          font-size: 2.4rem;
          position: absolute;
          right: 16px;
          top: 16px;
        } 
      }
    @media screen and (min-width: 768px) {
      .topSection03 .box .fig01 {
        display: none; } }
    @media screen and (max-width: 767px) {
      .topSection03 .box .fig01 {
        margin: 0 -8px 0; } }
    .topSection03 .box .tx01 {
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 400;
      font-style: normal;
      font-size: 2rem; }
      @media screen and (max-width: 767px) {
        .topSection03 .box .tx01 {
          font-size: 1.4rem;
        }
      }
      .topSection03 .box .tx01 strong {
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal;
        font-size: 4rem;
        margin-right: 0.5em; }
      @media screen and (max-width: 767px) {
        .topSection03 .box .tx01 strong {
          font-size: 2rem;
        }
      }
    .topSection03 .box .tx02 {
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 400;
      font-style: normal;
      font-size: 2rem;
      margin-top: 23px; }
      @media screen and (max-width: 767px) {
        .topSection03 .box .tx02 {
          margin-top: 6px;
          font-size: 1.4rem;
        } 
      }
      .topSection03 .box .tx02 strong {
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal; }
    .topSection03 .box .tx03 {
      color: #197A4B;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal;
      font-size: 1.6rem;
      line-height: 1.8;
      margin-top: 28px; }
      @media screen and (max-width: 767px) {
        .topSection03 .box .tx03 {
          margin-top: 19px; 
          font-size: 1.4rem;
        } 
      }
    .topSection03 .box .textH02 {
      line-height: 1.8; }
      .topSection03 .box .textH02 + .tx03 {
        margin-top: 0; }
    @media screen and (max-width: 767px) {
      .topSection03 .box .textH02 {
        font-size: 1.4rem;
      }
      .topSection03 .box .btn01 {
        text-align: center;
      } 
    }

/*@media screen and (max-width: 767px) {*/
	.page_top {
		display: block;
    position: fixed;
    bottom: 24px;
    right: 16px;
    width: 60px;
    height: 30px;
    text-decoration: none;
    text-align: center;
    border: none;
    outline: none;
    cursor: pointer;
    color: #ffffff;
    transition: 0.5s;
    transform: scale(1.0);
    opacity: 0;
    z-index: 300;
		background-image: url("../img/ic_pagetop.svg");
		background-repeat: no-repeat;
  	background-position: center;
	}
	.page_top.fadein {
		opacity: 1;
	}
/*}*/

/* Clearfix
*****************************************/
.cf::after {
  content: "";
  display: block;
  clear: both; }
