@charset "UTF-8";

* {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  height: 100%;
}

body {
  font-size: 1.6rem;
  font-family: "M PLUS Rounded 1c", serif;
  color: #333333;
  height: 100%;
}
.pc {
  display: none;
}
.sp {
  display: block;
}

@media screen and (min-width: 980px) {
  .pc {
    display: block;
  }

  .sp {
    display: none;
  }
}

/* 汎用 */
img {
  width: 100%;
}
.wrap {
  width: 100%;
}
.container {
  width: 100%;
  margin: 0 auto;
}
a {
  color: #333333;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
a:hover {
  opacity: 0.7;
  transform: scale(0.95)
}
a:active {
  transform: scale(1);
}
a:focus {
  opacity: 1;
  transform: scale(1);
}

a.btn {
  margin: 0 auto;
  display: block;
}
.fadein {
  opacity: 0;
  transform : translate(0, 20px);
  transition : all 1500ms;
}
.fadein.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}

@media screen and (min-width: 980px) {
  .container {
    /* max-width: 1440px; */
    /* padding: 0 20px; */
  }
}

/* indexページ */
.mv {
  background-image: url(../img/s_mv_bg.jpg);
  background-size: cover;
  text-align: center;
  padding: 27% 20px 28%;
  background-repeat: no-repeat;
  aspect-ratio: 750 / 690;
  overflow: hidden;
}
.mv_txt {
  width: 60%;
  margin: 0 auto;
}
.mv h1 {
  position: relative;
  z-index: 2;
}
.deco_star {
  width: 3.5%;
  margin: 12px 0;
  text-align: center;
}
.lead h2 {
  width: 70%;
  margin: 0 auto;
}
.lead_box {
  margin-top: -4%;
  background-image: url(../img/s_lead_bg.png);
  background-size: cover;
  padding: 23% 20px;
  text-align: center;
}
.lead_txt {
  color: #fff;
  margin-top: -0.6rem;
  line-height: 2.2;
  font-size: 12px;
  letter-spacing: -0.1rem;
  margin-bottom: 17%;
}
.action_ttl {
  margin-bottom: 7%;
}
.action_ttl img {
  width: 85%;
}
.iy_actions {
  width: 100%;
}
.iy_actions li {
  width: 42%;
  text-align: left;
  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
  line-height: 1.5;
  font-size: 12px;
  font-weight: 500;
}
.iy_actions h3 {
  margin: 0 auto 5px;
  width: 70%;
}
.iy_actions li:nth-of-type(odd) {
  margin-right: auto;
}
.iy_actions li:nth-of-type(even) {
  margin-left: auto;
}
.iy_actions li:not(:first-of-type) {
  margin-top: -20%;
}
.environment_txt {
  color: #1c9c33;
}
.society_txt {
  color: #d76c00;
}
.human_resources_txt {
  color: #4978b3;
}
.index_abs_01 {
  position: absolute;
  top: 8%;
  left: 5%;
  width: 19%;
}
.index_abs_02 {
  position: absolute;
  top: 2%;
  right: 37%;
  width: 20%;
}
.index_abs_03 {
  position: absolute;
  top: 3%;
  right: 5%;
  width: 13%;
}

@media screen and (min-width: 980px) {
  .mv {
    background-image: url(../img/mv_bg.jpg);
    aspect-ratio: 1440 / 725;
    background-size: auto 100%;
    padding: 16% 5% 15%;
  }
  .mv_txt {
    width: 35%;
  }  
  .mv h1 {
    width: 70%;
    margin: 0 auto;
  }
  .deco_star {
    width: 1.5%;
    margin: 20px 0;
  }
  .lead_box {
    margin-top: -6%;
    background-image: url(../img/lead_bg.png);
    aspect-ratio: 1440 / 1841;
    background-position: center;
    padding: 10% 20px;
    text-align: center;
  }
  .lead h2 {
    width: 32%;
  }
  .lead_txt {
    font-size: 18px;
    margin-bottom: 8%;
  }
  .action_ttl {
    width: 50%;
    margin: 0 auto 4%;
  }
  .iy_actions {
    width: 80%;
    margin: 0 auto;
  }
  .iy_actions li {
    width: 47%;
  }
  .iy_actions h3 {
    width: 40%;
    margin: 0 auto 15px;
  }
  .iy_actions li:not(:first-of-type) {
    margin-top: -6%;
  }
  .environment_txt, .society_txt, .human_resources_txt {
    font-size: 18px;
  }
  .index_abs_01 {
    top: 17%;
    left: 11%;
    width: 10%;
  }
  .index_abs_02 {
    top: 6%;
    right: 45%;
    width: 9%;
  }
  .index_abs_03 {
    top: 10%;
    right: 5%;
    width: 5%;
  }  
}

/* action01 環境 */
section.action01 {
  position: relative;
  background-image: url(../img/s_sec01_bg.png);
  background-size: cover;
  aspect-ratio: 750 / 5212;
  padding: 0 20px 5%;
  overflow: hidden;
}
.action01_box01 {
  width: 78%;
}
.action01_txt {
  color: #fff;
  line-height: 1.5;
  font-size: 12px;
}
.speechbubble_img {
  margin-bottom: 5px;
}
.action01_speechbubble01 {
  position: absolute;
  top: 14.3%;
  right: 10%;
  width: 44%;
}
.action01_speechbubble01 .sub_img {
  width: 48%;
  margin: 0 auto;
  display: block;
}
.action01_btn {
  position: absolute;
}
.action01_btn._01 {
  top: 19.6%;
  left: 5%;
  width: 62%;
}
.action01_btn._01 .js-modal-open-01 {
  width: 60%;
  position: relative;
  display: block;
  margin-left: auto;
  z-index: 2;
}
.action01_btn._01 .btn_img {
  width: 100%;
}
.action01_btn._01 .sub_img {
  width: 40%;
  margin-top: -12%;
}
.action01_speechbubble02 {
  position: absolute;
  top: 30%;
  left: 23%;
  width: 41%;
}
.action01_speechbubble02 .speechbubble_img {
  padding: 0 4%;
}
.action01_abs_02 {
  position: absolute;
  top: 30.6%;
  right: 15%;
  width: 13%;
}
.action01_speechbubble03 {
  position: absolute;
  top: 36%;
  right: 0;
  width: 44%;
}
.action01_speechbubble03 .speechbubble_img {
  padding: 0 7%;
}
.action01_btn._02 {
  position: absolute;
  top: 42.8%;
  left: 25%;
  width: 62%;
}
.action01_btn._02 .js-modal-open-01 {
  width: 60%;
  position: relative;
  display: block;
  padding-right: 2%;
  z-index: 2;
}
.action01_btn._02 .btn_img {
  width: 100%;
}
.action01_btn._02 .sub_img {
  width: 40%;
  margin-top: -27%;
  display: block;
  margin-left: auto;
}
.action01_abs_03 {
  position: absolute;
  bottom: 39.1%;
  left: 4%;
  width: 23%;
}
.action01_speechbubble04 {
  position: absolute;
  bottom: 28.8%;
  left: 14%;
  width: 53%;
}
.action01_speechbubble04 .sub_img {
  width: 33%;
  margin: 0 auto;
  display: block;
}
.action01_btn {
  position: absolute;
}
.action01_btn._03 {
  position: absolute;
  bottom: 24%;
  left: 5%;
  width: 66%;
}
.action01_btn._03 .js-modal-open-01 {
  position: relative;
  z-index: 2;
  display: block;
  width: 60%;
  padding-right: 4%;
}
.action01_btn._03 .btn_img {
  width: 100%;
}
.action01_btn._03 .sub_img {
  width: 40%;
  display: block;
  margin-top: -57%;
  margin-left: auto;
}
.action01_speechbubble05 {
  position: absolute;
  bottom: 13.5%;
  right: 25%;
  width: 29%;
}
.action01_speechbubble05 .speechbubble_img {
  margin-bottom: 0;
}
.action01_speechbubble05 .sub_img {
  width: 95%;
}
.action01_speechbubble06 {
  position: absolute;
  bottom: 2.4%;
  right: 1%;
  width: 72%;
}
.action01_speechbubble06 .speechbubble_img {
  width: 67%;
  margin-bottom: -5%;
}
.action01_speechbubble06 .sub_img {
  width: 90%;
  display: block;
  margin-left: auto;
}
.action01_box01 .top_icon {
  width: 25%;
  margin: 5px 0 10px;
}
.action01_box01 h2 {
  width: 80%;
  margin-bottom: 10px;
}
.action01_abs_05 {
  position: absolute;
  top: 8.7%;
  left: 1%;
  width: 16%;
}
.action01_abs_06 {
  position: absolute;
  top: 21%;
  right: 2%;
  width: 21%;
}
.action01_abs_07 {
  position: absolute;
  bottom: 20.7%;
  right: 25%;
  width: 9%;
}
.action01_abs_08 {
  position: absolute;
  bottom: 12%;
  left: 5%;
  width: 14%;
}

/* action01 モーダル */
.modal {
	display: none;
	position: absolute;
	left: 0;
  right: 0;
  margin: 0 auto;
	z-index: 3;
  max-width: 600px;
  padding: 20px;
  opacity: 0; /* 初期状態では透明 */
  transform: scale(0.8); /* 初期状態では縮小 */
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.modal.poyopoyo {
  animation: poyopoyo 0.5s ease-out forwards; /* 速くアニメーションを実行 */
  opacity: 1;
}

@keyframes poyopoyo {
  0% {
      transform: scale(0.8); /* 最初は縮小 */
  }
  50% {
      transform: scale(1.1); /* 途中で拡大 */
  }
  100% {
      transform: scale(1); /* 最終的に元のサイズに戻る */
  }
}
.modal._action01 {
  color: #26882d;
  font-weight: 500;
}
.modal .ttl {
  font-size: 14px;
  padding-bottom: 20px;
  background-image: url(../img/s_action01_line.png);
  background-repeat: no-repeat;
  background-position: bottom 10px center;
  background-size: 90%;
}
.modal .txt {
  font-size: 12px;
  line-height: 1.5;
}
.modal._01 .txt,.modal._02 .txt {
  padding-bottom: 4vw;
}
.modal._03 .txt {
  padding-bottom: 1vw;
}
.modal._01 {
	bottom: 81%;
  width: 60%;
  background-image: url(../img/action01_speechbubble_01_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 62 / 90;
  filter: drop-shadow(0px 0px 13px rgba(9, 44, 17, 0.7));
  padding: 0;
}
.modal._01 .modal_contents {
  padding: 5vw 5vw 10vw;
}
.modal._02 {
	bottom: 57.5%;
  width: 80%;
  background-image: url(../img/action01_speechbubble_02_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 599 / 685;
  filter: drop-shadow(0px 0px 13px rgba(9, 44, 17, 0.7));
  padding: 0;
}
.modal._02 .modal_contents {
  padding: 5vw 5vw 10vw;
}
.modal._03 {
	bottom: 29%;
  width: 56%;
  background-image: url(../img/action01_speechbubble_03_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio:  417/ 602;
  filter: drop-shadow(0px 0px 13px rgba(9, 44, 17, 0.7));
  padding: 0;
}
.modal._03 .modal_contents {
  padding: 5vw 5vw 10vw;
}
.modal_contents {
  position: relative;
  height: 100%;
}
.modal._02 .modal_contents img {
  width: 90%;
  margin: 0 auto;
  display: block;
  margin-bottom: 5%;
}
.modal_contents .number {
  display: inline-block;
  width: 9%;
  max-width: 15px;
  margin-right: 3px;
}
.modal .main_ttl {
  font-size: 16px;
  margin-bottom: 11%;
  line-height: 1.3;
}
.modal .main_ttl span {
  font-size: 23px;
}
.modal ._3r li {
  margin-bottom: 10px;
}
.modal ._3r .ttl {
  font-size: 14px;
  line-height: 0;
  padding-bottom: 7px;
  background-image: url(../img/s_action01_line.png);
  background-repeat: no-repeat;
  background-position: bottom 2px center;
  background-size: 100%;
}
.js-modal-close-action {
  position: absolute;
  bottom: 6.5vw;
  left: 40%;
  padding-left: 5vw;
  font-size: 11px;
  background-image: url(../img/modal_close_btn.png);
  background-size: 15%;
  background-repeat: no-repeat;
  background-position: left 0 center;
}
.modal._02 .js-modal-close-action {
  bottom: 8vw;
}
.modal_contents .action01_logo {
  width: 90%;
  margin: 0 auto;
  display: block;
}

/* スライダー・モーダル */
.modal-speechbubble {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 1000;
}
.modal__bg{
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color:transparent;
  margin: 0 auto;
}
.modal__content {
  position: absolute;
  top: 10%;
  width: 90%;
  left: 0;
  right: 0;
  margin: 0 auto;
  max-height: 95vh;
}
.shadow {
  filter: drop-shadow(0px 0px 13px rgba(9, 44, 17, 0.7));
}
.modal__content .head {
  position: relative;
  width: 100%;
  background-image: url(../img/modal_top.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 101%;
  padding-top: 15.8%;
  border-radius: 10px 10px 0 0;
  height: 100%;
}
.modal__content .main {
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* 上寄せ */
  align-items: center;
  position: relative;
  background-color: #eee0b6;
  padding: 15px 30px 50px;
  border-radius: 0 0 10px 10px;
  height: 70vh;
  margin-top: -1px;
}
.js_modal_item_src {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.modal_ttl {
  padding: 10px 12px;
  width: fit-content;
  border-radius: 50vh;
  margin: 0 auto 10px;
  font-size: 17px;
}
.modal_txt {
  font-size: 16px;
  line-height: 1.5;
}
.modal_img {
  width: 100%;
  margin: auto auto 15px;
}
section.action01 .modal_ttl {
  background-color: #f7ad02;
  color: #fff;
}
section.action02 .modal_ttl {
  background-color: #b35200;
  color: #fff;
  text-align: center;
}
section.action03 .modal_ttl {
  background-color: #336392;
  color: #fff;
}
.modal__content .arrow li{
  position: absolute;
  width: 8%;
  top: 40%;
}
.modal__content .arrow .left {
  left: -3%;
}
.modal__content .arrow .right {
  right: -3%;
}
.modal__content .action01_icon {
  width: 23%;
  position: absolute;
  top: -40%;
  right: 3%;
  z-index: 5;
}
.js-modal-close {
  position: absolute;
  bottom: -4vh;
  left: 0;
  right: 0;
  width: 50%;
  text-align: center;
  display: block;
  margin: 0 auto;
  padding: 15px 5% 15px 10%;
  font-size: 18px;
  background-image: url(../img/modal_close_btn.png);
  background-size: 9%;
  background-repeat: no-repeat;
  background-position: left 13% center;
  background-color: #fff;
  border-radius: 50vw;
  max-width: 230px;
}
._p60 {
  width: 60%;
  margin: 0 auto;
  display: block;
}
._p75 {
  width: 75%;
  margin: 0 auto;
  display: block;
}
._p80 {
  width: 80%;
  margin: 0 auto;
  display: block;
}
._p90 {
  width: 90%;
  margin: 0 auto;
  display: block;
}
.modal-indicators {
  display: flex; /* 横並び */
  justify-content: center; /* 中央配置 */
  gap: 8px; /* ドット間の間隔 */
  margin-top: 10px;
}
.modal-dot {
  width: 6px;
  height: 6px;
  background-color: #a58e6e;
  border-radius: 50%;
  cursor: pointer;
}
.modal-dot.active {
  background-color: #644e2f;
}

@media screen and (min-width: 980px) {
  section.action01 {
    background-image: url(../img/sec01_bg.png);
    aspect-ratio: 1440 / 2324;
  }
  .action01_box01 {
    width: 70%;
    max-width: 1300px;
    margin: 0 auto;
    padding-top: 6%;
  }
  .action01_box01 .top_icon {
    width: 10%;
    margin: 0 0 20px;
  }
  .action01_box01 h2 {
    width: 42%;
  }
  .action01_txt {
    font-size: 18px;
    filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.3));
  }
  .action01_btn._01 {
    top: 24.6%;
    left: 20%;
    width: 24%;
  }
  .action01_speechbubble01 {
    top: 20.3%;
    right: 39%;
    width: 16%;
  }
  .action01_speechbubble01 .sub_img {
    width: 67%;
  }
  .action01_btn._01 .sub_img {
    width: 42%;
    margin-top: -62%;
    padding-right: 5%;
  }
  .action01_speechbubble02 {
    top: 23%;
    width: 15%;
    left: 66%;
  }
  .action01_abs_02 {
    top: 35.6%;
    right: 48%;
    width: 7%;
  }
  .action01_speechbubble03 {
    top: 35%;
    right: 0;
    width: 27%;
  }
  .action01_speechbubble03 .speechbubble_img {
    padding: 0 25% 0 18%;
  }
  .action01_btn._02 .js-modal-open-01 {
    width: 54%;
    padding-right: 2%;
  }
  .action01_btn._02 {
    top: 38.8%;
    left: 25%;
    width: 28%;
  }
  .action01_btn._02 .sub_img {
    width: 47%;
    margin-top: -48%;
    display: block;
    margin-left: auto;
    padding-left: 10%;
  }
  .action01_btn._03 {
    bottom: 24%;
    left: 9%;
    width: 28%;
  }
  .action01_btn._03 .sub_img {
    width: 40%;
    margin-top: -45%;
    margin-left: auto;
  }
  .action01_speechbubble04 {
    bottom: 29.8%;
    left: 32%;
    width: 21%;
  }
  .action01_speechbubble05 {
    bottom: 12.5%;
    right: 41%;
    width: 13%;
  }
  .action01_speechbubble05 .speechbubble_img {
    margin-bottom: 0;
    padding: 7%;
  }
  .action01_speechbubble06 {
    bottom: 0.4%;
    right: 9.4%;
    width: 31%;
  }
  .action01_speechbubble06 a {
    width: 100%;
  }
  .action01_speechbubble06 .sub_img {
    width: 100%;
    display: block;
    margin-left: auto;
  }
  .action01_speechbubble06 .speechbubble_img {
    width: 56%;
    margin-bottom: -6%;
  }
  .action01_abs_03 {
    bottom: 40.3%;
    left: 4%;
    width: 9%;
  }
  .action01_abs_05 {
    top: 22.7%;
    left: 7%;
    width: 6%;
  }
  .action01_abs_06 {
    top: 25.6%;
    right: 2%;
    width: 13%;
  }
  .action01_abs_07 {
    bottom: 22.7%;
    right: 18.4%;
    width: 5%;
  }
  .action01_abs_08 {
    bottom: 35%;
    left: 88%;
    width: 7%;
  }
  .modal._01 {
    bottom: 64.1%;
    width: 55%;
    right: auto;
    left: 44%;
    background-image: url(../img/l_action01_speechbubble_01_bg.png);
    aspect-ratio: 813 / 385;
    max-width: 720px;
  }
  .modal__content {
    width: 50%;
    max-width: 560px;
  }
  .modal__content .arrow li {
    position: absolute;
    width: 8%;
    max-width: 40px;
    top: 40%;
  }
  .modal_img {
    width: 100%;
    padding: 0 10%;
  }
  .modal .ttl {
    font-size: 22px;
  }
  .modal_ttl {
    font-size: 26px;
    padding: 10px 20px;
  }
  .modal_txt {
    font-size: 20px;
  }
  .modal._01 .ttl {
    padding-bottom: 20px;
    background-position: bottom 10px center;
    background-size: 65%;
  }
  .modal .txt {
    font-size: clamp(16px, 1.4vw, 18px);
  }
  .modal._01 .txt {
    padding-bottom: 4%;
  }
  .js-modal-close-action {
    bottom: 2vw;
    left: 47%;
    font-size: 16px;
    padding-left: 3%;
    background-size: 17%;
  }
  .modal._01 .modal_contents {
    width: 80%;
    margin: 5% auto 5%;
    padding: 5% 0% 5% 5%;
  }
  .modal_contents .action01_logo {
    width: 100%;
    margin: 0 auto;
    display: block;
  }  
  .modal._02 {
    bottom: 42%;
    right: auto;
    left: 41%;
    width: 48%;
    padding: 30px;
    max-width: 635px;
    background-image: url(../img/l_action01_speechbubble_02_bg.png);
    aspect-ratio: 635 / 493;
    padding: 0;
  }
  .modal._02 .modal_contents {
    width: 100%;
    padding: 5% 5% 5% 12%;
  }
  .modal._02 .modal_contents img {
    width: 75%;
    display: block;
    margin: 0 auto 20px;
  }
  .modal._02 .js-modal-close-action {
    bottom: 2vw;
    left: 47%;
    font-size: 16px;
    padding-left: 3%;
    background-size: 17%;
  }
  .modal._03 {
    bottom: 19%;
    left: 26%;
    right: auto;
    width: 47%;
    background-image: url(../img/l_action01_speechbubble_03_bg.png);
    aspect-ratio: 520 / 421;
    padding: 0;
    max-width: 520px;
  }
  .modal._03 .modal_contents {
    width: 100%;
    aspect-ratio: 520 / 421;
    padding: 5% 5% 5% 13%;
  }
  .modal._03 .js-modal-close-action {
    bottom: 2vw;
    left: 47%;
    font-size: 16px;
  }
  .modal .main_ttl {
    font-size: 22px;
    margin-bottom: 5%;
  }
  .modal .main_ttl span {
    font-size: 36px;
  }
  .modal ._3r li {
    margin-bottom: 5%;
  }
  .modal ._3r .ttl {
    font-size: 22px;
    padding-bottom: 14px;
    background-position: bottom 2px left;
    background-size: 75%;
  }
  .modal._03 .txt {
    font-size: 16px;
    padding-bottom: 0;
  }
  .modal__content .main {
    min-height: 600px;
  }
  .js-modal-close {
    bottom: -25px;
  }
  .modal-dot {
    width: 10px;
    height: 10px;
  }
}


/* action02 社会 */
section.action02 {
  position: relative;
  background-image: url(../img/s_sec02_bg.png);
  background-size: cover;
  aspect-ratio: 750 / 5833;
  padding: 0 20px 5%;
  overflow: hidden;
}
.action02_box01 {
  width: 100%;
}
.action02_box01 h2 {
  width: 80%;
  margin-bottom: 10px;
}
.action02_box01 .top_icon {
  width: 25%;
  margin: 30px 0 10px;
}
.action02_txt {
  color: #d76c00;
  line-height: 1.5;
  font-size: 12px;
}
.action02_speechbubble01 {
  position: absolute;
  top: 16%;
  left: 4%;
  width: 53%;
}
.action02_speechbubble01 .sub_img {
  width: 32%;
  margin: 0 auto;
  display: block;
}
.action02_speechbubble02 {
  position: absolute;
  top: 22%;
  right: 4%;
  width: 37%;
}
.action02_speechbubble02 .sub_img {
  width: 64%;
  margin: 0 auto;
  display: block;
}
.action02_abs_01 {
  position: absolute;
  top: 23.9%;
  right: 40%;
  width: 23%;
}
.action02_speechbubble03 {
  position: absolute;
  top: 29.6%;
  left: 22%;
  width: 35%;
}
.action02_speechbubble03 .sub_img {
  width: 59%;
  margin: 0 auto;
  display: block;
}
.action02_abs_02 {
  position: absolute;
  top: 32.7%;
  right: 31%;
  width: 7%;
}
.action02_speechbubble04 {
  position: absolute;
  top: 36.7%;
  right: 10%;
  width: 26%;
}
.action02_speechbubble04 .sub_img {
  width: 66%;
  margin: 0 auto;
  display: block;
}
.action02_abs_03 {
  position: absolute;
  top: 41.6%;
  right: 9%;
  width: 34%;
}
.action02_speechbubble05 {
  position: absolute;
  top: 40.3%;
  left: 15.1%;
  width: 36%;
}
.action02_speechbubble05 .sub_img {
  width: 63%;
  margin: 0 auto;
  display: block;
}
.action02_abs_04 {
  position: absolute;
  top: 52%;
  right: 37.2%;
  width: 18%;
  z-index: 2;
}
.action02_speechbubble06 {
  position: absolute;
  top: 48.6%;
  right: 3%;
  width: 44%;
}
.action02_speechbubble06 .speechbubble_img {
  padding-right: 10px;
}
.action02_speechbubble06 .sub_img {
  width: 90%;
  margin-left: auto;
  display: block;
}
.action02_speechbubble07 {
  position: absolute;
  bottom: 37.3%;
  left: 4%;
  width: 40%;
}
.action02_speechbubble07 .sub_img {
  width: 48%;
  margin: 0 auto;
  display: block;
}
.action02_speechbubble08 {
  position: absolute;
  bottom: 29.3%;
  right: 6%;
  width: 50%;
}
.action02_speechbubble08 .sub_img {
  width: 43%;
  margin: 0 auto;
  display: block;
}
.action02_speechbubble09 {
  position: absolute;
  bottom: 23.3%;
  right: 23%;
  width: 31%;
}
.action02_speechbubble09 .sub_img {
  width: 59%;
  margin: 0 auto;
  display: block;
}
.action02_speechbubble10 {
  position: absolute;
  bottom: 14.1%;
  left: 2%;
  width: 95%;
}
.action02_speechbubble10 .speechbubble_img {
  width: 100%;
  display: block;
  margin-left: auto;
}
.action02_speechbubble10 .sub_img {
  width: 50%;
  margin-right: auto;
  display: block;
}
.action02_speechbubble11 {
  position: absolute;
  bottom: 7%;
  right: 3%;
  width: 28%;
}
.action02_speechbubble11 .speechbubble_img {
  width: 85%;
  display: block;
  margin: 0 auto 5px;
}
.action02_speechbubble11 .sub_img {
  width: 100%;
  margin: 0 auto;
  display: block;
  transform: rotate(-5deg);
}
@media screen and (min-width: 980px) {
  section.action02 {
    background-image: url(../img/sec02_bg.png);
    aspect-ratio: 1440 / 3735;
  }
  .action02_box01 {
    width: 70%;
    max-width: 1300px;
    margin: 0 auto;
    padding-top: 6%;
  }
  .action02_box01 h2 {
    width: 42%;
    margin-bottom: 20px;
  }
  .action02_box01 .top_icon {
    width: 10%;
    margin: 0 0 20px;
  }
  .action02_txt {
    font-size: 18px;
    /* filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.3)); */
  }
  .action02_speechbubble01 {
    top: 16%;
    left: 17%;
    width: 24%;
  }
  .action02_speechbubble01 a {
    width: 100%;
  }
  .action02_speechbubble02 {
    top: 19.1%;
    right: 13%;
    width: 16%;
  }
  .action02_speechbubble02 a {
    width: 100%;
  }
  .action02_speechbubble02 .speechbubble_img {
    width: 90%;
    display: block;
    margin: 0 auto 5px;
  }
  .action02_speechbubble02 .sub_img {
    width: 100%;
  }
  .action02_speechbubble03 {
    top: 29.2%;
    left: 37%;
    width: 16%;
  }
  .action02_speechbubble03 a {
    width: 100%;
  }
  .action02_speechbubble03 .sub_img {
    width: 68%;
    margin: 0 auto;
    display: block;
  }
  .action02_abs_01 {
    top: 21.9%;
    right: 34%;
    width: 11.4%;
  }
  .action02_abs_02 {
    top: 32.7%;
    right: 28%;
    width: 3.5%;
  }
  .action02_speechbubble04 {
    top: 38.4%;
    right: 21%;
    width: 11%;
  }
  .action02_speechbubble04 a {
    width: 100%;
  }
  .action02_speechbubble04 .sub_img {
    width: 100%;
    margin: 0 auto;
    display: block;
  }
  .action02_speechbubble05 {
    top: 40.3%;
    left: 22.1%;
    width: 17%;
  }
  .action02_speechbubble05 a {
    width: 100%;
  }
  .action02_speechbubble06 {
    top: 51%;
    right: 5%;
    width: 23%;
  }
  .action02_speechbubble06 a {
    width: 100%;
  }
  .action02_speechbubble06 .speechbubble_img {
    width: 82%;
    padding-right: 0;
    padding-left: 5%;
  }
  .action02_speechbubble06 .sub_img {
    width: 100%;
    margin-left: auto;
    display: block;
  }
  .action02_speechbubble07 {
    bottom: 42%;
    left: 18%;
    width: 17%;
  }
  .action02_speechbubble07 a {
    width: 100%;
  }
  .action02_speechbubble07 .sub_img {
    width: 60%;
  }
  .action02_speechbubble08 {
    bottom: 29.6%;
    right: 30%;
    width: 23%;
  }
  .action02_speechbubble08 a {
    width: 100%;
  }
  .action02_speechbubble08 .sub_img {
    width: 45%;
  }
  .action02_speechbubble09 {
    bottom: 30.3%;
    right: 70%;
    width: 13%;
  }
  .action02_speechbubble09 a {
    width: 100%;
  }
  .action02_speechbubble09 .sub_img {
    width: 76%;
    margin: 0 auto;
    display: block;
  }
  .action02_speechbubble10 {
    bottom: 17.8%;
    left: 44.4%;
    width: 43%;
  }
  .action02_speechbubble10 a {
    width: 100%;
  }
  .action02_speechbubble10 .speechbubble_img {
    width: 90%;
  }
  .action02_speechbubble10 .sub_img {
    width: 52%;
  }
  .action02_speechbubble11 {
    bottom: 10.4%;
    right: 15%;
    width: 15%;
  }
  .action02_speechbubble11 a {
    width: 100%;
  }
  .action02_speechbubble11 .speechbubble_img {
    width: 73%;
    display: block;
    margin: 0 auto 5px;
  }
  .action02_abs_03 {
    top: 43.6%;
    right: 40%;
    width: 16%;
  }
  .action02_abs_04 {
    top: 56%;
    right: 27.2%;
    width: 8%;
    z-index: 2;
  }
  .action02_speechbubble03_02 {
    position: absolute;
    top: 33.2%;
    left: 57%;
    width: 3.6%;
  }
}

/* action03 人財 */
section.action03 {
  position: relative;
  background-image: url(../img/s_sec03_bg.png);
  background-size: cover;
  aspect-ratio: 75 / 368;
  padding: 0 20px 5%;
  margin-top: -27%;
  overflow: hidden;
}
.action03_box01 {
  padding-top: 44%;
  width: 95%;
}
.action03_box01 h2 {
  width: 90%;
  margin-bottom: 10px;
}
.action03_box01 .top_icon {
  width: 25%;
  margin: 5px 0 10px;
}
.action03_txt {
  color: #fff;
  line-height: 1.5;
  font-size: 12px;
}
.action03_speechbubble01 {
  position: absolute;
  top: 27.6%;
  left: 4%;
  width: 53%;
}
.action03_speechbubble01 .speechbubble_img {
  width: 100%;
  display: block;
  /* margin: 0 auto 5px; */
}
.action03_speechbubble01 .sub_img {
  width: 14%;
  margin: 0 auto;
  display: block;
}
.action03_speechbubble02 {
  position: absolute;
  top: 36.6%;
  left: 4%;
  width: 53%;
}
.action03_speechbubble02 .sub_img {
  width: 53%;
  margin: 0 auto;
  display: block;
}
.action03_speechbubble03 {
  position: absolute;
  top: 40%;
  right: 9%;
  width: 27%;
}
.action03_speechbubble03 .speechbubble_img {
  width: 90%;
  margin: 0 auto 5px;
  display: block;
}
.action03_speechbubble03 .sub_img {
  width: 100%;
  margin: 0 auto;
  display: block;
}
.action03_speechbubble04 {
  position: absolute;
  top: 56%;
  left: 4%;
  width: 47%;
}
.action03_speechbubble04 .sub_img {
  width: 40%;
  margin: 0 auto;
  display: block;
}
.action03_speechbubble05 {
  position: absolute;
  position: absolute;
  bottom: 25%;
  right: -2%;
  width: 66%;
}
.action03_speechbubble05 .speechbubble_img {
  width: 60%;
  margin-left: auto;
  margin-right: 7%;
  display: block;
}
.action03_speechbubble05 .sub_img {
  width: 100%;
  margin: -10% auto 0;
  display: block;
}
.action03_speechbubble06 {
  position: absolute;
  bottom: 12.3%;
  left: 4%;
  width: 53%;
}
.action03_speechbubble06 .sub_img {
  width: 74%;
  margin: 0 auto;
  display: block;
}
.action03_speechbubble07 {
  position: absolute;
  bottom: 5%;
  right: 3%;
  width: 47%;
}
.action03_speechbubble07 .sub_img {
  width: 24%;
  margin: 0 auto;
  display: block;
}
.action03_speechbubble08 {
  position: absolute;
  bottom: 1.5%;
  left: 4%;
  width: 57%;
}
.action03_speechbubble08 .sub_img {
  width: 11%;
  margin: 0 auto;
  display: block;
}
.action03_abs_01 {
  position: absolute;
  top: 52.1%;
  left: 30%;
  width: 8%;
}
@media screen and (min-width: 980px) {
  .action03_box01 {
      width: 70%;
      max-width: 1300px;
      margin: 0 auto;
      padding-top: 6%;
  }
  .action03_box01 .top_icon {
    width: 10%;
    margin: 0 0 20px;
  }
  .action03_box01 h2 {
    width: 58%;
    margin-bottom: 20px;
  }
  .action03_txt {
    font-size: 18px;
    filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.3));
  }
  section.action03 {
    background-image: url(../img/sec03_bg.png);
    aspect-ratio: 1440 / 2241;
    margin-top: 0;
  }
  .action03_speechbubble01 {
    top: 27.6%;
    left: 59%;
    width: 24%;
  }
  .action03_speechbubble01 .speechbubble_img {
    width: 100%;
    display: block;
    /* margin: 0 auto 5px; */
  }
  .action03_speechbubble01 .sub_img {
    width: 14%;
    margin: 0 auto;
    display: block;
  }
  .action03_speechbubble02 {
    top: 24.6%;
    left: 11%;
    width: 24%;
  }
  .action03_speechbubble02 a {
    width: 100%;
  }
  .action03_speechbubble02 .sub_img {
    width: 53%;
    margin: 0 auto;
    display: block;
  }
  .action03_speechbubble03 {
    position: absolute;
    top: 20%;
    right: 47%;
    width: 13%;
  }
  .action03_speechbubble03 a {
    width: 100%;
  }
  .action03_speechbubble03 .speechbubble_img {
    width: 90%;
    margin: 0 auto 5px;
    display: block;
  }
  .action03_speechbubble03 .sub_img {
    width: 100%;
    margin: 0 auto;
    display: block;
  }
  .action03_speechbubble04 {
    position: absolute;
    top: 44.3%;
    left: 28%;
    width: 22%;
  }
  .action03_speechbubble04 a {
    width: 100%;
  }
  .action03_speechbubble04 .sub_img {
    width: 40%;
    margin: 0 auto;
    display: block;
  }
  .action03_speechbubble05 {
    bottom: 30%;
    right: -1%;
    width: 39%;
  }
  .action03_speechbubble05 a {
    width: 100%;
  }
  .action03_speechbubble05 .speechbubble_img {
    width: 40%;
    margin-left: auto;
    margin-right: 23%;
    margin-bottom: -12%;
  }
  .action03_speechbubble05 .sub_img {
    width: 100%;
    margin: -10% auto 0;
    display: block;
  }
  .action03_speechbubble06 {
    bottom: 16.3%;
    left: 10%;
    width: 23%;
  }
  .action03_speechbubble06 a {
    width: 100%;
  }
  .action03_speechbubble06 .sub_img {
    width: 74%;
    margin: 0 auto;
    display: block;
  }
  .action03_speechbubble07 {
    bottom: 10%;
    right: 27%;
    width: 20%;
  }
  .action03_speechbubble07 a {
    width: 100%;
  }
  .action03_speechbubble07 .sub_img {
    width: 31%;
    margin: 0 auto;
    display: block;
  }
  .action03_speechbubble08 {
    bottom: 1.5%;
    left: 22%;
    width: 26%;
  }
  .action03_speechbubble08 a {
    width: 100%;
  }
  .action03_speechbubble08 .sub_img {
    width: 13%;
    margin: 0 auto;
    display: block;
  }
  .action03_abs_01 {
    top: 41.7%;
    left: 9%;
    width: 4%;
  }  
}


/* message メッセージ */
section.message {
  position: relative;
  background-color: #b0dbd5;
  background-image: url(../img/s_message_deco01.png),url(../img/s_message_sun.png);
  background-repeat: no-repeat;
  background-size: 100%, 28%;
  background-position: bottom, top center;
  padding: 23% 20px 70%;
  font-weight: 500;
  overflow: hidden;
}
section.message ._cloud {
  position: absolute;
  width: 19%;
  bottom: 31%;
  left: 8%;
  animation: swing-cloud 3s ease-in-out infinite alternate;
}
@keyframes swing-cloud {
  0% { transform: translateX(-15px); }
  100% { transform: translateX(15px); }
}
section.message ._bird {
  position: absolute;
  width: 10%;
  top: 46%;
  right: 5%;
  animation: swing-bird 3s ease-in-out infinite alternate;
}
@keyframes swing-bird {
  0% { transform: translateX(10px); }
  100% { transform: translateX(-10px); }
}

.message_txt {
  line-height: 2;
  font-size: 12px;
  text-align: center;
  color: #5c3723;
}
section.message02 {
  position: relative;
  color: #5c3723;
  background-color: #fff;
  aspect-ratio: 75 / 86;
}
section.message02 img {
  position: absolute;
}
section.message02 ._02 {
  width: 7%;
  top: -10%;
  right: 45%;
}
section.message02 ._03 {
  width: 12%;
  top: -13%;
  right: 30%;
}
section.message02 ._04 {
  width: 14%;
  top: -8%;
  left: 14%;
}
section.message02 ._05 {
  width: 20%;
  top: -8%;
  left: 30%;
}
section.message02 ._06 {
  width: 11%;
  top: 0%;
  left: 2%;
}
section.message02 ._07 {
  width: 8%;
  top: -4%;
  right: 11%;
}
section.message02 ._08 {
  width: 7%;
  top: 9%;
  left: 20%;
}
section.message02 ._09 {
  width: 13%;
  top: 14%;
  left: 33%;
}
section.message02 ._10 {
  width: 9%;
  top: 17%;
  right: 39%;
}
section.message02 ._11 {
  width: 11%;
  top: 8%;
  right: 20%;
}
section.message02 ._12 {
  width: 8%;
  top: 16%;
  right: 4%;
}
section.message02 ._13 {
  width: 14%;
  top: 24%;
  left: 2%;
}
section.message02 ._14 {
  width: 20%;
  top: 32%;
  right: 23%;
}
section.message02 ._15 {
  width: 20%;
  bottom: 31%;
  left: 9%;
}
section.message02 ._16 {
  width: 30%;
  bottom: 28%;
  right: 3%;
}
section.message02 ._17 {
  width: 25%;
  bottom: 6%;
  left: 22%;
}
section.message02 ._18 {
  width: 18%;
  bottom: 0%;
  right: 28%;
}
section.message03 {
  position: relative;
  color: #5c3723;
  background-color: #fff;
  padding: 10% 20px;
}
section.message03 h2 {
  text-align: center;
  background-image: url(../img/s_message_ttlbg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  padding: 10px;
  margin-bottom: 10px;
}
section.message03 h3 {
  text-align: center;
  background-color: #e9f3f2;
  padding: 5px;
  margin-bottom: 10px;
}
.note {
  font-size: 12px;
  line-height: 1.5;
  font-weight: 500;
}
.btn.movie {
  line-height: 1.5;
  width: 80%;
  text-align: center;
  position: relative;
  color: #fff;
  background-color: #007c5f;
  padding: 15px 20px;
  border-radius: 50vw;
  box-shadow: 0 7px 0px -2px rgba(122, 122, 122, 0.4);
}
.btn.movie::after {
  content: "";
  position: absolute;
  right: 5%;
  top: 40%;
  transform: translate(-50%);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
}
.video_wrap {
  max-width: 980px;
  width: 90%;
  margin: 20px auto;
}
@media screen and (min-width: 980px) {
  section.message {
    background-image: url(../img/s_message_sun.png);
    background-repeat: no-repeat;
    background-size: 20%;
    background-position: top center;
    padding: 16% 20px 40%;
    font-weight: 500;
  }
  section.message ._cloud {
    width: 13%;
    bottom: 62%;
    left: 8%;
  }
  section.message ._bird {
    position: absolute;
    width: 5%;
    top: 26%;
    right: 15%;
  }
  section.message h2 {
    width: 50%;
    margin: 0 auto;
  }
  .message_txt {
    font-size: 18px;
  }
  section.message02 {
    background-image: url(../img/message_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    padding: 0 20px 0;
    margin-top: -33%;
    background-color: transparent;
    font-weight: 500;
  }
  section.message02 ._02 {
    width: 4%;
    top: 26%;
    right: 48%;
  }
section.message02 ._03 {
  width: 6%;
  top: 25%;
  right: 37%;
}
section.message02 ._04 {
  width: 6%;
  top: 30%;
  left: 28%;
}
section.message02 ._05 {
  width: 9%;
  top: 30%;
  left: 37%;
}
section.message02 ._06 {
  width: 5%;
  top: 36%;
  left: 21%;
}
section.message02 ._07 {
  width: 4%;
  top: 32%;
  right: 29%;
}
section.message02 ._08 {
  width: 3.2%;
  top: 40%;
  left: 31%;
}
section.message02 ._09 {
  width: 7.5%;
  top: 48%;
  left: 35%;
}
section.message02 ._10 {
  width: 4.3%;
  top: 40%;
  right: 48%;
}
section.message02 ._11 {
  width: 5%;
  top: 38%;
  right: 36%;
}
section.message02 ._12 {
  width: 4.1%;
  top: 42%;
  right: 19%;
}
section.message02 ._13 {
  width: 7.3%;
  top: 46%;
  left: 11%;
}
section.message02 ._14 {
  width: 10%;
  top: 52%;
  right: 33%;
}
section.message02 ._15 {
  width: 10.7%;
  bottom: 20%;
  left: 20%;
}
section.message02 ._16 {
  width: 15%;
  bottom: 21%;
  right: 16%;
}
section.message02 ._17 {
  width: 14%;
  bottom: 1%;
  left: 10%;
}
section.message02 ._18 {
  width: 11%;
  bottom: 6%;
  right: 34%;
}
    section.message03 {
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
    padding: 5% 0 7%;
  }
  section.message03 h2 {
    background-image: url(../img/message_ttlbg.png);
    padding: 20px;
    font-size: 22px;
    margin-bottom: 0;
  }
  .video_wrap {
    margin: 20px auto;
  }
  section.message03 h3 {
    font-size: 22px;
    padding: 15px;
    margin-bottom: 20px;
  }
  .note {
    font-size: 18px;
  }
  .btn.movie {
    max-width: 280px;
  }
}


/* ページ下部 */
.bottom_box {
  color: #fff;
  line-height: 1.8;
  font-size: 16px;
  text-align: center;
  background-image: url(../img/bottom_bg.jpg);
  background-size: cover;
  padding: 10% 8% 15%;
}
.bottom_txt {
  margin-bottom: 15px;
}
.action_list {
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 30px;
  padding: 30px;
  margin-bottom: 20px;
}
.action_list li {
  width: 80%;
  margin: 0 auto;
}
.action_list li a {
  border-radius: 50vw;
  box-shadow: 0 7px 0px -2px rgba(122, 122, 122, 0.4), inset 0 0 0 5px #fff;
  width: 100%;
  position: relative;
  color: #fff;
  padding: 10px 20px;
  font-weight: 500;
  background-repeat: no-repeat, repeat;
  background-position: top 50% left 10%, 100%;
}
.action_list li:not(:first-of-type) {
  margin-top: 20px;

}
.action01.btn {
  color: #6ab831;
  background-image: url(../img/bottom_action01_deco.png), url(../img/btn_bg.jpg);
  background-size: 13%;
}
.action02.btn {
  color: #f0853e;
  background-image: url(../img/bottom_action02_deco.png), url(../img/btn_bg.jpg);
  background-size: 13%;
}
.action03.btn {
  color: #6288c1;
  background-image: url(../img/bottom_action03_deco.png), url(../img/btn_bg.jpg);
  background-size: 13%;
}
.toppage.btn {
  color: #85431b;
  background-image: url(../img/bottom_toppage_deco.png), url(../img/btn_bg.jpg);
  background-size: 9%;
}
.action_list li a::after {
  content: "";
  position: absolute;
  right: 5%;
  top: 40%;
  transform: translate(-50%);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid;
}
.action01.btn::after {
  border-left-color: #007308;
}
.action02.btn::after {
  border-left-color: #ad4300;
}
.action03.btn::after {
  border-left-color: #225689;
}
.toppage.btn::after {
  border-left-color: #260100;
}
.btn.more {
  width: 65%;
  position: relative;
  color: #fff;
  background-color: #f6a600;
  padding: 10px 20px;
  border-radius: 50vw;
}
.btn.more::after {
  content: "";
  position: absolute;
  right: 5%;
  top: 40%;
  transform: translate(-50%);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
}
@media screen and (min-width: 980px) {
  .bottom_box {
    padding: 6%;
    background-image: url(../img/l_bottom_bg_deco01.png), url(../img/l_bottom_bg_deco02.png), url(../img/l_bottom_bg.jpg);
    background-position: top 40px left 7%, bottom 40px right 7%, center;
    background-size: 15%, 11%, cover;
    background-repeat: no-repeat, no-repeat, no-repeat;
  }
  .bottom_txt {
    margin-bottom: 18px;
  }
  .action_list {
    width: 90%;
    max-width: 580px;
    margin: 0 auto 30px;
    padding: 40px;
  }
  .action_list li a {
    max-width: 280px;
    padding: 15px 20px;
  }
  .btn.more {
    max-width: 280px;
    margin-bottom: 18px;
    padding: 15px 20px;
  }
}

/* スクロールバー */
.scroll-indicator {
  display: none;
}
@media screen and (min-width: 980px) {
  .scroll-indicator {
    position: fixed;
    top: 46%;
    right: 40px;
    height: 17%;
    width: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 50;
    filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.3));
  }
  .scroll-line {
    position: absolute;
    top: 0;
    width: 2px;
    height: 100%;
    background-color: white;
  }
  .scroll-ball {
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: white;
    border-radius: 50%;
    /* box-shadow: 0 0 10px rgba(255, 255, 255, 0.7); */
    transform: translateY(-50%);
    /* transition: top 0.1s linear; */
  }
  .scroll-text {
    position: absolute;
    top: 27%;
    right: -45px;
    transform: translateY(-50%) rotate(90deg);
    font-size: 16px;
    letter-spacing: 2px;
    color: white;
    /* opacity: 0.8; */
  }
}