h3 {
  font-size: 18px;
  font-feature-settings: "palt";
  font-weight: bold;
  line-height: 1.1;
  background: url(../image/common/bg-ttl.jpg) bottom left no-repeat;
  height: auto;
  margin-bottom: 15px; }
  @media screen and (max-width: 640px) {
    h3 {
      font-size: 15px;
      line-height: 1.1;
      letter-spacing: -0.02em; } }
  h3.pl10 {
    padding-left: 15px; }

@media screen and (max-width: 1000px) {
  .vpc1000 {
    display: none; } }

.vsp640 {
  display: none; }
  @media screen and (max-width: 640px) {
    .vsp640 {
      display: block; } }

.ta_c {
  text-align: center; }

.mb40 {
  margin-bottom: 40px; }

.mb60 {
  margin-bottom: 60px; }

@media screen and (max-width: 640px) {
  .mb40_sp {
    margin-bottom: 40px; } }

@media screen and (max-width: 640px) {
  .mb10_sp {
    margin-bottom: 10px; } }

@media screen and (max-width: 640px) {
  .mb0_sp {
    margin-bottom: 0px; } }

.word_break {
  word-break: break-all; }

.txt_box001.ex p {
  line-height: 1.4; }
  @media screen and (max-width: 640px) {
    .txt_box001.ex p {
      line-height: 1.6; } }
.txt_box001 p {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em; }
  @media screen and (max-width: 640px) {
    .txt_box001 p {
      font-size: 13px;
      line-height: 1.6; } }
  .txt_box001 p + p {
    margin-top: 0.5em; }
  .txt_box001 p .small {
    font-size: 80%; }
  .txt_box001 p.indent {
    text-indent: -1.5em;
    padding-left: 1.5em; }

.last_box {
  background: #fecca7;
  padding: 20px;
  color: #333; }
  .last_box .box_ttl {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    font-weight: bold;
    grid-gap: 0 15px;
    margin-bottom: 10px; }
    @media screen and (max-width: 640px) {
      .last_box .box_ttl {
        flex-direction: column;
        grid-gap: 5px 0;
        font-size: 16px;
        line-height: 1.4; } }
    .last_box .box_ttl img {
      width: 30px;
      line-height: 0; }
      @media screen and (max-width: 640px) {
        .last_box .box_ttl img {
          width: 20px;
          line-height: 0; } }
  .last_box .in_box {
    max-width: 720px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 640px) {
      .last_box .in_box {
        flex-direction: column;
        grid-gap: 20px 0; } }
    .last_box .in_box .in_l {
      width: calc(300%/7.2); }
      @media screen and (max-width: 640px) {
        .last_box .in_box .in_l {
          width: 100%; } }
    .last_box .in_box .in_r {
      width: calc(400%/7.2);
      display: flex;
      align-items: center;
      grid-gap: 0 15px; }
      @media screen and (max-width: 640px) {
        .last_box .in_box .in_r {
          max-width: 300px;
          width: 100%; } }
      .last_box .in_box .in_r .arrow_img {
        width: calc(50%/4); }
      .last_box .in_box .in_r a {
        width: calc(300%/4);
        background: #fff; }
        .last_box .in_box .in_r a:hover img {
          opacity: 0.8; }

.ic01 img {
  max-width: 100%;
  width: auto;
  height: fit-content; }
.ic01 .box001 {
  display: flex;
  justify-content: space-between;
  align-items: stretch; }
  @media screen and (max-width: 640px) {
    .ic01 .box001 {
      flex-direction: column;
      grid-gap: 15px 0; } }
  .ic01 .box001 > div {
    width: calc(490%/10); }
    @media screen and (max-width: 640px) {
      .ic01 .box001 > div {
        width: 100%; } }
    .ic01 .box001 > div.r_cnt {
      display: flex;
      flex-direction: column;
      justify-content: space-between; }
.ic01 .box002 {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 640px) {
    .ic01 .box002 {
      flex-direction: column;
      grid-gap: 15px 0; } }
  .ic01 .box002 > figure {
    position: relative;
    width: calc(490%/10); }
    @media screen and (max-width: 640px) {
      .ic01 .box002 > figure {
        width: 100%; } }
    .ic01 .box002 > figure figcaption {
      position: absolute;
      top: 8px;
      left: 0;
      right: 0;
      text-align: center;
      font-size: 13px; }
      @media screen and (max-width: 640px) {
        .ic01 .box002 > figure figcaption {
          position: static;
          font-size: 15px; } }
.ic01 .img002 {
  max-width: 243px; }
.ic01 .img004 {
  max-width: 396px; }
.ic01 .img005 {
  margin: 0 auto 80px; }
.ic01 .img006 {
  max-width: 361px; }

.ic02 img {
  max-width: 100%;
  width: auto;
  height: fit-content; }
.ic02 .img_ttl {
  max-width: 149px;
  margin: 0 auto 20px; }
  .ic02 .img_ttl.w_150 {
    max-width: 150px; }
.ic02 .mokuteki .txt2.color01 {
  color: #548235; }
  .ic02 .mokuteki .txt2.color01::before, .ic02 .mokuteki .txt2.color01::after {
    background: #548235; }
.ic02 .mokuteki .txt2.color02 {
  color: #bb9734; }
  .ic02 .mokuteki .txt2.color02::before, .ic02 .mokuteki .txt2.color02::after {
    background: #bb9734; }
.ic02 .mokuteki .txt2.color03 {
  color: #070099; }
  .ic02 .mokuteki .txt2.color03::before, .ic02 .mokuteki .txt2.color03::after {
    background: #070099; }
.ic02 .mokuteki .txt2.color04 {
  color: #a992c8; }
  .ic02 .mokuteki .txt2.color04::before, .ic02 .mokuteki .txt2.color04::after {
    background: #a992c8; }
.ic02 .border_box {
  border: 2px solid;
  border-radius: 15px;
  padding: 15px; }
  .ic02 .border_box.color01 {
    border-color: #548235; }
  .ic02 .border_box.color02 {
    border-color: #bb9734; }
    .ic02 .border_box.color02 .bg_txts01 {
      background: #bb9734; }
  .ic02 .border_box.color03 {
    border-color: #070099; }
    .ic02 .border_box.color03 .bg_txts01 {
      background: #070099; }
  .ic02 .border_box.color04 {
    border-color: #a992c8; }
    .ic02 .border_box.color04 .bg_txts01 {
      background: #a992c8; }

.modal_imgs {
  position: fixed;
  inset: 0;
  margin: auto;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.7);
  justify-content: center;
  align-items: center;
  display: flex;
  padding: 10px;
  display: none;
  overflow: hidden; }
  .modal_imgs .mocal_cnt {
    max-width: 90vw;
    padding: 10px;
    background: #fff;
    position: relative;
    box-sizing: border-box; }
    .modal_imgs .mocal_cnt .modal_txt {
      margin-top: 10px;
      font-size: 18px;
      line-height: 1.8;
      font-weight: bold;
      padding: 15px;
      border: 2px solid #333; }
      @media screen and (max-width: 640px) {
        .modal_imgs .mocal_cnt .modal_txt {
          font-size: 14px;
          padding: 8px;
          line-height: 1.4;
          max-height: 6em;
          letter-spacing: 0.08em;
          overflow: auto; }
          .modal_imgs .mocal_cnt .modal_txt p + p {
            margin-top: 5px; } }
      .modal_imgs .mocal_cnt .modal_txt.indent p {
        text-indent: -1em;
        padding-left: 1em; }
    .modal_imgs .mocal_cnt .sp_slides {
      width: 100%;
      max-height: 85vh;
      max-height: 70vh;
      overflow: auto; }
      @media screen and (max-width: 640px) {
        .modal_imgs .mocal_cnt .sp_slides {
          overflow: auto; }
          .modal_imgs .mocal_cnt .sp_slides figure {
            width: 700px;
            max-width: 700px; } }
      @media screen and (max-width: 640px) {
        .modal_imgs .mocal_cnt .sp_slides.modal_007 figure, .modal_imgs .mocal_cnt .sp_slides.modal_008 figure, .modal_imgs .mocal_cnt .sp_slides.modal_009 figure {
          width: 600px;
          max-width: 600px; } }
    .modal_imgs .mocal_cnt .close_btn {
      max-width: 5em;
      margin: 10px auto 0;
      padding: 5px 10px;
      text-align: center;
      background: #000;
      color: #fff;
      line-height: 1;
      cursor: pointer; }
    .modal_imgs .mocal_cnt .slide_txt {
      text-align: center;
      font-size: 12px;
      margin-top: 10px; }
  .modal_imgs.active {
    display: flex;
    box-sizing: border-box; }

.ic03 img {
  max-width: 100%;
  width: auto;
  height: fit-content; }
.ic03 .box002 {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 640px) {
    .ic03 .box002 {
      flex-direction: column;
      grid-gap: 15px 0; } }
  .ic03 .box002 > div {
    width: calc(490%/10); }
    @media screen and (max-width: 640px) {
      .ic03 .box002 > div {
        width: 100%; } }
.ic03 .border_item001.color01 .txt_box001 {
  background: #e2efd9; }
.ic03 .border_item001.color02 .txt_box001 {
  background: #fbe5d6; }
.ic03 .border_item001.color03 .txt_box001 {
  background: #c4d5e5; }
.ic03 .border_item001 .txt_box001 {
  padding: 15px;
  margin-top: 10px;
  box-sizing: border-box; }
  .ic03 .border_item001 .txt_box001.indent p {
    text-indent: -1em;
    padding-left: 1em; }
  .ic03 .border_item001 .txt_box001 p {
    line-height: 1.4;
    letter-spacing: 0.05em; }
    .ic03 .border_item001 .txt_box001 p + p {
      margin-top: 5px; }
.ic03 .border_img {
  box-sizing: border-box;
  border-radius: 15px;
  border: 2px solid #548235;
  padding: 10px;
  overflow: hidden;
  position: relative; }
  .ic03 .border_img .kakudai {
    background: #548235;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    padding: 10px;
    position: absolute;
    bottom: -2px;
    right: -2px;
    line-height: 1;
    z-index: 1;
    cursor: pointer;
    border: 2px solid #548235; }
    @media screen and (max-width: 640px) {
      .ic03 .border_img .kakudai {
        font-size: 14px;
        padding: 8px; } }
    .ic03 .border_img .kakudai:hover {
      background: #fff;
      color: #548235; }
  .ic03 .border_img.colr2 {
    color: #fc6e04;
    border: 2px solid #fc6e04; }
    .ic03 .border_img.colr2 .kakudai {
      background: #fc6e04;
      border: 2px solid #fc6e04; }
      .ic03 .border_img.colr2 .kakudai:hover {
        color: #fc6e04;
        background: #fff; }
  .ic03 .border_img.colr3 {
    color: #00b0f0;
    border: 2px solid #00b0f0; }
    .ic03 .border_img.colr3 .kakudai {
      background: #00b0f0;
      border: 2px solid #00b0f0; }
      .ic03 .border_img.colr3 .kakudai:hover {
        color: #00b0f0;
        background: #fff; }

@media screen and (max-width: 640px) {
  .mb20_sp {
    margin-bottom: 20px; } }

.ic04 .line {
  margin: 40px auto;
  border: 0;
  border-bottom: 2px solid #ccc; }
@media screen and (max-width: 640px) {
  .ic04 .sp_border {
    border: 2px solid #548235;
    padding: 15px;
    border-radius: 15px;
    position: relative;
    overflow: hidden; }
    .ic04 .sp_border .kakudai {
      background: #548235;
      color: #fff;
      font-size: 18px;
      line-height: 1;
      padding: 10px;
      position: absolute;
      bottom: -2px;
      right: -2px;
      line-height: 1;
      z-index: 1;
      cursor: pointer;
      border: 2px solid #548235;
      font-size: 14px;
      padding: 8px; } }
@media screen and (max-width: 640px) {
  .ic04 h3.sp_small {
    letter-spacing: 0;
    font-feature-settings: "palt"; } }
.ic04 img {
  max-width: 100%;
  width: auto;
  height: fit-content; }
.ic04 .box003 {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 640px) {
    .ic04 .box003 {
      flex-direction: column;
      grid-gap: 15px 0; } }
  .ic04 .box003 .txt_box001 {
    width: calc(550%/10); }
    @media screen and (max-width: 640px) {
      .ic04 .box003 .txt_box001 {
        width: 100%; } }
  .ic04 .box003 .img_box {
    width: calc(400%/10);
    display: flex;
    grid-gap: 0 15px; }
    @media screen and (max-width: 640px) {
      .ic04 .box003 .img_box {
        width: 100%; } }
    @media screen and (max-width: 640px) {
      .ic04 .box003 .img_box figure img {
        width: 100%; } }
    .ic04 .box003 .img_box figure .bg_txt {
      text-align: center;
      margin: 0 auto;
      width: fit-content;
      background: #ccc;
      padding: 0.5em 1em;
      border-radius: 5px;
      box-shadow: 0 0 3px #000;
      font-size: 13px;
      font-weight: bold;
      color: #000;
      margin-top: 3px; }
@media screen and (max-width: 640px) {
  .ic04 .ttls img {
    width: 70px; } }
.ic04 .ttls .bg_txt {
  text-align: center;
  margin: 0 auto;
  width: fit-content;
  background: #ccc;
  padding: 0.5em 1em;
  border-radius: 5px;
  box-shadow: 0 0 3px #000;
  font-size: 13px;
  font-weight: bold;
  color: #000;
  margin-top: 3px; }
.ic04 .ttls.ttls {
  display: flex;
  align-items: center;
  grid-gap: 0 15px; }
  .ic04 .ttls.ttls .bg_txt {
    margin: 0; }

.ic05 img {
  max-width: 100%;
  width: auto;
  height: fit-content; }
  @media screen and (max-width: 640px) {
    .ic05 img {
      height: auto;
      width: 100%; } }
.ic05 .box004 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between; }
  @media screen and (max-width: 640px) {
    .ic05 .box004 {
      flex-direction: column;
      grid-gap: 15px 0; } }
  .ic05 .box004 .l_cnt {
    width: calc(420%/10); }
    @media screen and (max-width: 640px) {
      .ic05 .box004 .l_cnt {
        width: 100%;
        max-width: 420px;
        margin: 0 auto; } }
    .ic05 .box004 .l_cnt .ic5_img001 {
      max-width: 380px; }
    .ic05 .box004 .l_cnt .txt_box001 {
      font-feature-settings: "palt"; }
      .ic05 .box004 .l_cnt .txt_box001 h4 {
        font-weight: bold; }
  .ic05 .box004 .r_cnt {
    width: calc(560%/10); }
    @media screen and (max-width: 640px) {
      .ic05 .box004 .r_cnt {
        width: 100%; } }
    .ic05 .box004 .r_cnt .txt_box001 {
      font-feature-settings: "palt"; }
      .ic05 .box004 .r_cnt .txt_box001 p {
        text-indent: -1em;
        padding-left: 1em; }
  .ic05 .box004 .cap_l {
    width: 100%; }
.ic05 .box005 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media screen and (max-width: 640px) {
    .ic05 .box005 {
      flex-direction: column;
      grid-gap: 15px 0;
      margin: 0 auto 40px; } }
  .ic05 .box005 .l_cnt {
    width: calc(440%/10);
    border: 1px solid #333;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 640px) {
      .ic05 .box005 .l_cnt {
        width: 100%;
        text-align: center;
        max-width: 440px;
        margin: 0 auto; } }
    .ic05 .box005 .l_cnt.img006 {
      padding: 10px;
      box-sizing: border-box; }
    .ic05 .box005 .l_cnt p {
      padding: 10px;
      text-align: center;
      font-weight: bold;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100%;
      box-sizing: border-box; }
  .ic05 .box005 .r_cnt {
    width: calc(530%/10); }
    @media screen and (max-width: 640px) {
      .ic05 .box005 .r_cnt {
        width: 100%; } }
    .ic05 .box005 .r_cnt .txt_box001 {
      font-feature-settings: "palt"; }
      .ic05 .box005 .r_cnt .txt_box001 h4 {
        font-weight: bold;
        font-size: 15px; }
.ic05 .box006 {
  display: flex;
  grid-gap: 0 20px;
  align-items: center; }
  @media screen and (max-width: 640px) {
    .ic05 .box006 {
      flex-direction: column;
      grid-gap: 15px 0; } }
  .ic05 .box006 .l_cnt {
    width: calc(500%/10); }
    @media screen and (max-width: 640px) {
      .ic05 .box006 .l_cnt {
        width: 100%;
        max-width: 500px;
        margin: 0 auto; } }
    .ic05 .box006 .l_cnt .in_box {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 640px) {
        .ic05 .box006 .l_cnt .in_box {
          flex-direction: column;
          grid-gap: 15px 0; } }
      .ic05 .box006 .l_cnt .in_box .in_l {
        width: calc(200%/5); }
        @media screen and (max-width: 640px) {
          .ic05 .box006 .l_cnt .in_box .in_l {
            width: 100%; } }
      .ic05 .box006 .l_cnt .in_box .in_r {
        width: calc(300%/5);
        border: 1px solid #333; }
        @media screen and (max-width: 640px) {
          .ic05 .box006 .l_cnt .in_box .in_r {
            width: 100%; } }
  .ic05 .box006 .r_cnt {
    width: calc(350%/10); }
    @media screen and (max-width: 640px) {
      .ic05 .box006 .r_cnt {
        width: 100%; } }
    .ic05 .box006 .r_cnt .txt_box001 {
      font-feature-settings: "palt"; }
      .ic05 .box006 .r_cnt .txt_box001 h4 {
        font-weight: bold;
        font-size: 15px;
        text-indent: -1em;
        padding-left: 1em; }
.ic05 .box007 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  grid-gap: 40px 0; }
  @media screen and (max-width: 640px) {
    .ic05 .box007 {
      flex-direction: column;
      grid-gap: 15px 0; } }
  .ic05 .box007 .item {
    width: calc(490%/10);
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 640px) {
      .ic05 .box007 .item {
        width: 100%; } }
    .ic05 .box007 .item .img_cnt {
      border: 1px solid #333;
      width: calc(180%/4.9); }
      @media screen and (max-width: 640px) {
        .ic05 .box007 .item .img_cnt {
          width: calc(170%/6.1);
          display: flex;
          justify-content: center;
          align-items: center; } }
    .ic05 .box007 .item .txt_cnt {
      width: calc(290%/4.9); }
      @media screen and (max-width: 640px) {
        .ic05 .box007 .item .txt_cnt {
          width: calc(430%/6.1); } }
    .ic05 .box007 .item .txt_cnt p {
      font-size: 13px;
      padding: 0.5em 0; }
      @media screen and (max-width: 640px) {
        .ic05 .box007 .item .txt_cnt p {
          font-size: 12px;
          letter-spacing: 0.02em;
          line-height: 1.3; } }
      .ic05 .box007 .item .txt_cnt p + p {
        border-top: 1px solid #333; }

.coming_txt {
  max-width: 340px;
  margin: 0 auto;
  padding: 30px 10px;
  border: 2px solid #666;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 26px;
  font-weight: bold;
  color: #666; }
  @media screen and (max-width: 640px) {
    .coming_txt {
      font-size: 20px;
      line-height: 1.2; } }
  .coming_txt .ja {
    margin-bottom: 0.5em; }
    @media screen and (max-width: 640px) {
      .coming_txt .ja {
        margin-bottom: 0.2em; } }
  .coming_txt .en {
    font-size: 70%; }

.mb80 {
  margin-bottom: 80px; }

.bg_txts01 {
  text-align: center;
  background: #548235;
  padding: 8px;
  border-radius: 10px;
  color: #fff;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.05em; }
  @media screen and (max-width: 640px) {
    .bg_txts01 {
      text-align: left;
      font-size: 13px; } }

.mokuteki {
  text-align: center;
  color: #548235; }
  .mokuteki p {
    line-height: 1; }
  .mokuteki .txt1 {
    font-size: 32px;
    font-style: italic;
    margin-bottom: 15px; }
    @media screen and (max-width: 640px) {
      .mokuteki .txt1 {
        font-size: 20px; } }
  .mokuteki .txt2 {
    font-size: 26px;
    display: flex;
    font-weight: bold;
    justify-content: center;
    column-gap: 10px;
    align-items: center; }
    @media screen and (max-width: 640px) {
      .mokuteki .txt2 {
        font-size: 18px; } }
    .mokuteki .txt2::before, .mokuteki .txt2::after {
      content: "";
      width: 1.5em;
      height: 2px;
      background: #548235;
      position: relative;
      top: -1px; }
  .mokuteki .txt3 {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-top: 5px; }
    @media screen and (max-width: 640px) {
      .mokuteki .txt3 {
        font-size: 16px; } }
  .mokuteki.colr2 {
    color: #fc6e04; }
    .mokuteki.colr2 .txt2::before, .mokuteki.colr2 .txt2::after {
      background: #fc6e04; }
  .mokuteki.colr3 {
    color: #00b0f0; }
    .mokuteki.colr3 .txt2::before, .mokuteki.colr3 .txt2::after {
      background: #00b0f0; }

@media screen and (max-width: 640px) {
  .slide_img {
    overflow-x: scroll; }
    .slide_img img {
      width: 700px;
      max-width: 700px; } }

@media screen and (max-width: 640px) {
  .slide_cap {
    text-align: center;
    font-size: 12px;
    margin-top: 5px; } }

@media screen and (max-width: 640px) {
  .mb80_sp {
    margin-bottom: 80px; } }

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