/*! Writen  by SCSS */
@media screen and (max-width: 480px) {
  .w10_sp {
    width: 10%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w20_sp {
    width: 20%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w30_sp {
    width: 30%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w40_sp {
    width: 40%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w50_sp {
    width: 50%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w60_sp {
    width: 60%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w70_sp {
    width: 70%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w80_sp {
    width: 80%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w90_sp {
    width: 90%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w100_sp {
    width: 100%;
    margin: 0 auto; } }

.fr10 {
  font-size: 10%; }

.fr20 {
  font-size: 20%; }

.fr30 {
  font-size: 30%; }

.fr40 {
  font-size: 40%; }

.fr50 {
  font-size: 50%; }

.fr60 {
  font-size: 60%; }

.fr70 {
  font-size: 70%; }

.fr80 {
  font-size: 80%; }

.fr90 {
  font-size: 90%; }

.fr100 {
  font-size: 100%; }

.fr110 {
  font-size: 110%; }

.fr120 {
  font-size: 120%; }

.fr130 {
  font-size: 130%; }

.fr140 {
  font-size: 140%; }

.fr150 {
  font-size: 150%; }

.fr160 {
  font-size: 160%; }

.fr170 {
  font-size: 170%; }

.fr180 {
  font-size: 180%; }

.fr190 {
  font-size: 190%; }

.fr200 {
  font-size: 200%; }

.fr210 {
  font-size: 210%; }

.fr220 {
  font-size: 220%; }

.fr230 {
  font-size: 230%; }

.fr240 {
  font-size: 240%; }

.fr250 {
  font-size: 250%; }

.fr260 {
  font-size: 260%; }

.fr270 {
  font-size: 270%; }

.fr280 {
  font-size: 280%; }

.fr290 {
  font-size: 290%; }

.fr300 {
  font-size: 300%; }

/*body{
	&:before{
		background:  url("../images/bg.png") center / cover no-repeat, url("../../common/images/site_bg.jpg") center / 100% auto repeat-y;
		@include mq($br_sp){
			background:  url("../images/bg.png") center / cover no-repeat, url("../../common/images/site_bg.jpg") center / 100% auto repeat-y;
		}
	}
}*/
.read {
  line-height: 2.5; }
  @media screen and (max-width: 960px) {
    .read {
      line-height: 2; } }
  @media screen and (max-width: 768px) {
    .read {
      line-height: 1.8; } }

.main:before {
  background-image: url("../images/main_img.jpg"); }
  @media screen and (max-width: 480px) {
    .main:before {
      background-image: url("../images/main_img_sp.jpg"); } }

.img_cap .cap {
  font-size: 12px;
  padding: 5px; }
  @media screen and (max-width: 480px) {
    .img_cap .cap {
      font-size: 10px; } }

.appearance_wrap {
  color: #464646; }

.en_head {
  font-size: clamp(30px, 4.51vw, 50px);
  line-height: 1;
  color: rgba(36, 112, 115, 0.8);
  letter-spacing: 0.1em; }

.lead {
  color: #464646;
  font-weight: 500;
  font-size: clamp(16px, 2.16vw, 24px);
  line-height: 1.67; }

.wide_image {
  width: 100%; }

.bg_lead {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(18px, 3vw, 34px);
  color: #fff;
  line-height: 1.4;
  padding: 2.05em 20px;
  background: rgba(110, 181, 184, 0.8);
  letter-spacing: 0.15em; }
  @media screen and (max-width: 480px) {
    .bg_lead {
      padding: 1.5em 20px; } }

.bg_lead2 {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(18px, 3vw, 34px);
  color: #fff;
  line-height: 1.4;
  padding: 2.05em 20px;
  background: rgba(255, 150, 0, 0.8);
  letter-spacing: 0.15em; }
  @media screen and (max-width: 480px) {
    .bg_lead2 {
      padding: 1.5em 20px; } }

.sec03 {
  padding-top: clamp(25px, 4.89%, 50px);
  background: rgba(255, 255, 255, 0.3);
  border-bottom: 1px solid #6eb5b8; }

.sec05 {
  padding-top: clamp(60px, 11.72%, 120px);
  padding-bottom: clamp(40px, 7.82%, 80px);
  background: rgba(255, 249, 240, 0.8); }
  .sec05 .en_head {
    color: #ff9600; }

.sec04 {
  padding-bottom: clamp(60px, 11.72%, 120px);
  background: rgba(255, 249, 240, 0.8); }
  .sec04 .en_head {
    color: #ff9600; }
  .sec04 .inner {
    padding-top: clamp(40px, 7.82%, 80px);
    border-top: 1px dashed; }

.caption_wrap {
  background: rgba(255, 249, 240, 0.8); }

@media screen and (max-width: 480px) {
  .sec02_wrap {
    display: block; } }
.sec02_wrap .image_box,
.sec02_wrap .text_box {
  width: 50%; }
  @media screen and (max-width: 480px) {
    .sec02_wrap .image_box,
    .sec02_wrap .text_box {
      width: 100%; } }
.sec02_wrap .text_box {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }
  .sec02_wrap .text_box .text_inner {
    max-width: 540px;
    padding: 20px 0;
    width: calc(100% - 40px);
    margin: auto; }
    @media screen and (max-width: 480px) {
      .sec02_wrap .text_box .text_inner {
        padding: 20px 0 40px; } }
    .sec02_wrap .text_box .text_inner .en_head {
      font-size: clamp(30px, 3.42vw, 50px); }
    .sec02_wrap .text_box .text_inner .lead {
      font-size: clamp(16px, 1.64vw, 24px);
      margin-top: 1.25em; }
      @media screen and (max-width: 480px) {
        .sec02_wrap .text_box .text_inner .lead {
          margin-top: 0.8em; } }
    .sec02_wrap .text_box .text_inner .read {
      font-size: clamp(12px, 1.07vw, 16px); }
      @media screen and (max-width: 1400px) {
        .sec02_wrap .text_box .text_inner .read {
          line-height: 2; } }
      @media screen and (max-width: 960px) {
        .sec02_wrap .text_box .text_inner .read {
          line-height: 1.8; } }
      @media screen and (max-width: 480px) {
        .sec02_wrap .text_box .text_inner .read {
          font-size: 14px; } }
.sec02_wrap .image_box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center; }
.sec02_wrap.sec02_wrap_01 .text_inner .lead {
  margin-bottom: 3.33em; }
  @media screen and (max-width: 960px) {
    .sec02_wrap.sec02_wrap_01 .text_inner .lead {
      margin-bottom: 2em; } }
  @media screen and (max-width: 480px) {
    .sec02_wrap.sec02_wrap_01 .text_inner .lead {
      margin-bottom: 1.2em; } }
.sec02_wrap.sec02_wrap_02 .text_inner .lead {
  margin-bottom: 2.08em; }
  @media screen and (max-width: 960px) {
    .sec02_wrap.sec02_wrap_02 .text_inner .lead {
      margin-bottom: 1.5em; } }
  @media screen and (max-width: 480px) {
    .sec02_wrap.sec02_wrap_02 .text_inner .lead {
      margin-bottom: 1.2em; } }

.sec03 .en_head {
  margin-bottom: 0.7em; }
  @media screen and (max-width: 480px) {
    .sec03 .en_head {
      margin-bottom: 0.4em; } }
@media screen and (max-width: 480px) {
  .sec03 .sec03_wrap {
    display: flex;
    flex-direction: column-reverse; } }
.sec03 .sec03_wrap .text_box {
  margin-bottom: clamp(25px, 3.91%, 40px); }
  @media screen and (max-width: 480px) {
    .sec03 .sec03_wrap .text_box {
      margin-top: clamp(25px, 3.91%, 40px); } }
  .sec03 .sec03_wrap .text_box .lead {
    margin-bottom: 1.45em; }
    @media screen and (max-width: 480px) {
      .sec03 .sec03_wrap .text_box .lead {
        margin-bottom: 1.2em; } }

.sec04 .text_box {
  margin-bottom: clamp(30px, 5.86%, 60px); }
  .sec04 .text_box .lead {
    margin-top: 1.45em;
    margin-bottom: 2.91em; }
    @media screen and (max-width: 480px) {
      .sec04 .text_box .lead {
        margin-top: 1.2em;
        margin-bottom: 1.2em; } }

.landplan_figure_box {
  max-width: 1004px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-bottom: clamp(30px, 5.86%, 60px); }
  .landplan_figure_box::after {
    content: "";
    display: block;
    position: absolute;
    inset: -10px;
    border: 3px solid #ff9600;
    border-image-slice: 1;
    pointer-events: none; }
  @media screen and (max-width: 480px) {
    .landplan_figure_box .cap {
      font-size: 10px;
      right: auto;
      left: 0; } }

.landplan_list {
  counter-reset: step-counter;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(30px, 5.86vw, 60px) 6.05%; }
  @media screen and (max-width: 768px) {
    .landplan_list {
      gap: clamp(30px, 5.86vw, 60px) 3%; } }
  @media screen and (max-width: 480px) {
    .landplan_list {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px 3%; } }
  .landplan_list .item {
    counter-increment: step-counter; }
    .landplan_list .item .item_head {
      font-size: 18px;
      line-height: 1;
      color: #464646;
      border-bottom: 1px solid #ff9600;
      display: flex;
      align-items: center;
      padding-bottom: 1.38em;
      margin-bottom: 1.38em; }
      @media screen and (max-width: 480px) {
        .landplan_list .item .item_head {
          font-size: 16px;
          height: 2.4em;
          padding-bottom: 0.8em;
          margin-bottom: 0.8em;
          align-items: center; } }
      .landplan_list .item .item_head::before {
        flex-shrink: 0;
        content: counter(step-counter);
        color: #fff;
        background: #ff9600;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.66em;
        height: 1.66em;
        margin-right: 0.83em; }
        @media screen and (max-width: 480px) {
          .landplan_list .item .item_head::before {
            margin-right: 0.5em; } }
      @media screen and (max-width: 480px) {
        .landplan_list .item .item_head .text {
          line-height: 1.2; } }
    .landplan_list .item .read {
      line-height: 1.88;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 480px) {
        .landplan_list .item .read {
          line-height: 1.5; } }

.sec05 .sec05_wrap {
  position: relative; }
  .sec05 .sec05_wrap .text_box {
    z-index: 2;
    position: absolute;
    width: 50.79%;
    right: 0;
    top: 12.66%; }
    @media screen and (max-width: 768px) {
      .sec05 .sec05_wrap .text_box {
        top: 5%;
        width: 55%; } }
    @media screen and (max-width: 480px) {
      .sec05 .sec05_wrap .text_box {
        position: relative;
        top: 0;
        width: 100%;
        margin-bottom: 25px; } }
    .sec05 .sec05_wrap .text_box .lead {
      margin-top: 1.25em;
      margin-bottom: 2.08em; }
      @media screen and (max-width: 768px) {
        .sec05 .sec05_wrap .text_box .lead {
          margin-top: 1em;
          margin-bottom: 1.5em; } }
      @media screen and (max-width: 480px) {
        .sec05 .sec05_wrap .text_box .lead {
          margin-top: 1em;
          margin-bottom: 1.2em; } }
  .sec05 .sec05_wrap .sec05_image {
    margin-left: 1.87%;
    max-width: 750px;
    width: 73.25%;
    line-height: 0; }
    @media screen and (max-width: 480px) {
      .sec05 .sec05_wrap .sec05_image {
        width: 100%;
        margin-left: 0; } }
    .sec05 .sec05_wrap .sec05_image .cap {
      line-height: 1;
      bottom: 2.38%;
      left: 6.25%; }
