.page_head {
  margin-bottom: 150px; }

@media (max-width: 768px) {
  .page_head {
    margin-bottom: 100px; } }
/*max-width:480px*/
@media (max-width: 480px) {
  .page_head {
    margin-bottom: 50px; } }
/*max-width:480px*/
/*********************/
.thoughts_head p {
  background: url("../images/our_thoughts/ttl.svg") center center no-repeat;
  background-size: contain;
  aspect-ratio: 1546/250;
  width: calc(100% - 140px);
  max-width: 1546px;
  height: auto;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap; }
.thoughts_head .mv {
  position: relative;
  z-index: 0;
  background: url("../images/our_thoughts/mv.webp") center center no-repeat;
  background-size: contain;
  aspect-ratio: 1905/320;
  width: 100%;
  max-width: 1920px;
  height: auto;
  margin: -2% auto 0; }

@media (max-width: 1024px) {
  .thoughts_head p {
    width: calc(100% - 80px); }
  .thoughts_head .mv {
    background: url("../images/our_thoughts/sp_mv.jpg") center center no-repeat;
    background-size: contain;
    aspect-ratio: 393/229;
    margin: -2% auto 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .thoughts_head p {
    background: url("../images/our_thoughts/sp_ttl.svg") center center no-repeat;
    background-size: contain;
    aspect-ratio: 336/122;
    width: calc(100% - 60px);
    max-width: 480px; } }
/*max-width:768px*/
/*max-width:480px*/
/*********************/
.vision_box {
  padding: 180px 0 0; }
  .vision_box h3 {
    font: 3rem/1em "Urbanist", "sans-serif";
    font-weight: 500;
    letter-spacing: 0.74em;
    margin: 0 0 100px;
    text-align: center; }
  .vision_box p {
    text-align: justify;
    text-justify: inter-ideograph;
    width: calc(100% - 140px);
    max-width: 1070px;
    font: 2.2rem/2.2em "Noto Sans", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 auto 30px; }
  .vision_box .head {
    color: #006934;
    font: 5.6rem/1.8em "Noto Sans", sans-serif;
    font-weight: 700;
    max-width: 1170px;
    width: fit-content;
    margin: 0 auto 90px;
    text-align: center;
    display: block;
    position: relative; }
    .vision_box .head br {
      display: none; }
    .vision_box .head span {
      display: block; }
  .vision_box a {
    transition: .3s;
    max-width: 640px;
    width: calc(100% - 80px);
    margin: 150px auto 0;
    height: 100px;
    border: 1px solid #006934;
    text-align: center;
    font: 1.8rem/98px "Noto Sans", sans-serif;
    font-weight: 700;
    color: #006934;
    text-decoration: none;
    display: block;
    border-radius: 50px; }

@media (hover: hover) {
  .vision_box a:hover {
    background-color: darkorange;
    color: #fff;
    border: 1px solid darkorange; } }
@media (max-width: 1280px) {
  .vision_box p {
    max-width: 960px; }
  .vision_box .head br {
    display: block; }
  .vision_box .head span {
    display: inline-block; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .vision_box p {
    width: calc(100% - 80px); }
  .vision_box .head {
    font: 5rem/1.8em "Noto Sans", sans-serif;
    font-weight: 700; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .vision_box {
    padding: 120px 0 0; }
    .vision_box .head {
      font: 3.8rem/1.9em "Noto Sans", sans-serif;
      font-weight: 700;
      margin: 0 auto 50px; }
    .vision_box p {
      width: calc(100% - 60px);
      font: 2rem/2.2em "Noto Sans", sans-serif;
      font-weight: 500; }
    .vision_box a {
      width: calc(100% - 60px); } }
/*max-width:768px*/
@media (max-width: 480px) {
  .vision_box {
    padding: 100px 0 0; }
    .vision_box h3 {
      margin-bottom: 50px;
      font: 3rem/1em "Urbanist", "sans-serif";
      font-weight: 500; }
    .vision_box .head {
      font: 3.2rem/1.9em "Noto Sans", sans-serif;
      font-weight: 700;
      margin: 0 auto 30px; }
    .vision_box p {
      width: calc(100% - 40px);
      font: 1.6rem/2em "Noto Sans", sans-serif;
      font-weight: 500; }
    .vision_box a {
      width: calc(100% - 40px);
      margin: 50px auto 0;
      height: 80px;
      font: 1.8rem/78px "Noto Sans", sans-serif;
      font-weight: 700; } }
/*max-width:480px*/
/*********************/
.tagline_box {
  padding: 230px 0 0; }
  .tagline_box h3 {
    font: 3rem/1em "Urbanist", "sans-serif";
    font-weight: 500;
    letter-spacing: 0.74em;
    margin: 0 0 100px;
    text-align: center; }
  .tagline_box .head {
    color: #006934;
    font: 5.6rem/1.8em "Noto Sans", sans-serif;
    font-weight: 700;
    width: fit-content;
    margin: 0 auto 90px;
    text-align: left;
    display: block;
    position: relative; }
  .tagline_box p {
    text-align: justify;
    text-justify: inter-ideograph;
    width: calc(100% - 80px);
    max-width: fit-content;
    font: 2.2rem/2.2em "Noto Sans", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 auto; }

@media (max-width: 1024px) {
  .tagline_box .head {
    font: 5rem/1.8em "Noto Sans", sans-serif;
    font-weight: 700; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .tagline_box {
    padding: 180px 0 0; }
    .tagline_box .head {
      font: 3.5rem/1.9em "Noto Sans", sans-serif;
      font-weight: 700;
      margin: 0 auto 50px; }
      .tagline_box .head:before {
        max-width: 45px;
        left: 0px; }
      .tagline_box .head:after {
        right: 0;
        max-width: 45px; }
    .tagline_box p {
      width: calc(100% - 60px);
      font: 2rem/2.2em "Noto Sans", sans-serif;
      font-weight: 500; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .tagline_box {
    padding: 130px 0 0; }
    .tagline_box h3 {
      margin-bottom: 40px;
      font: 3rem/1em "Urbanist", "sans-serif";
      font-weight: 500; }
    .tagline_box .head {
      font: 2.9rem/1.9em "Noto Sans", sans-serif;
      font-weight: 700;
      margin: 0 auto 30px; }
      .tagline_box .head:before, .tagline_box .head:after {
        right: 0;
        max-width: 35px; }
    .tagline_box p {
      width: calc(100% - 40px);
      font: 1.6rem/2em "Noto Sans", sans-serif;
      font-weight: 500; } }
/*max-width:480px*/
