@charset "UTF-8";
/*! Writen  by SCSS */
/*下層ページ最初のセクション上部余白を統一する際は使用してみて下さい*/
@media screen and (max-width: 480px) {
  .item_ttl .ttl02 {
    letter-spacing: 0.04em; } }

.sup_wrap {
  position: relative;
  display: inline-block; }
  .sup_wrap sup {
    position: absolute;
    top: -0.1em;
    right: -1.2em;
    line-height: 1; }

.sec01 {
  margin-bottom: clamp(70px, 12.5vw, 150px); }
  .sec01 .item_ttl {
    margin-bottom: clamp(40px, 4.167vw, 50px); }
  .sec01 .img01 {
    margin-bottom: 50px; }
  .sec01 .sec01_wrap {
    justify-content: center;
    column-gap: 3.34%;
    align-items: center; }
    @media screen and (max-width: 480px) {
      .sec01 .sec01_wrap {
        flex-direction: column;
        row-gap: 30px; } }
    .sec01 .sec01_wrap .img {
      width: 41.92%; }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_wrap .img {
          width: 100%; } }
    .sec01 .sec01_wrap .text_wrap {
      width: 40%; }
      @media screen and (max-width: 768px) {
        .sec01 .sec01_wrap .text_wrap {
          width: 50%;
          text-align: center; } }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_wrap .text_wrap {
          width: 100%; } }
      .sec01 .sec01_wrap .text_wrap .sec_ttl {
        text-align: left;
        margin-bottom: 1em; }
        @media screen and (max-width: 480px) {
          .sec01 .sec01_wrap .text_wrap .sec_ttl {
            text-align: center; } }

.sec02 {
  margin-bottom: clamp(70px, 16.667vw, 200px); }
  .sec02 .sec02_wrap01 {
    display: flex;
    flex-direction: column;
    row-gap: clamp(15px, 3.334vw, 40px);
    margin-bottom: clamp(40px, 6.667vw, 80px); }
  .sec02 .sec02_wrap02 {
    position: relative;
    background: #ffffff;
    padding: 60px 65px 100px;
    max-width: 1120px;
    margin-inline: auto; }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_wrap02 {
        padding: 20px; } }
    .sec02 .sec02_wrap02::after {
      content: '';
      position: absolute;
      inset: 0;
      border: 3px solid #e5ddc4;
      pointer-events: none; }
    .sec02 .sec02_wrap02 .wrap01 {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      row-gap: clamp(15px, 2.084vw, 25px);
      margin-bottom: clamp(40px, 6.667vw, 80px); }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap02 .wrap01 {
          flex-direction: column; } }
      .sec02 .sec02_wrap02 .wrap01 .img {
        width: 48.49%; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .wrap01 .img {
            width: 100%; } }
        .sec02 .sec02_wrap02 .wrap01 .img .txt {
          text-align: center;
          font-size: clamp(14px, 1.667vw, 20px);
          display: block; }
      .sec02 .sec02_wrap02 .wrap01 .img01 {
        flex-shrink: 0;
        width: 100%;
        text-align: center; }
    .sec02 .sec02_wrap02 .wrap02 {
      display: flex;
      flex-direction: column;
      row-gap: clamp(15px, 4.167vw, 50px);
      margin-bottom: clamp(40px, 4.167vw, 50px); }
      .sec02 .sec02_wrap02 .wrap02 .icon {
        text-align: center; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .wrap02 .icon {
            width: 65%;
            margin-inline: auto; } }
      .sec02 .sec02_wrap02 .wrap02 .read {
        max-width: 568px;
        margin-inline: auto;
        line-height: 1.7;
        font-size: clamp(14px, 1.667vw, 20px); }
      .sec02 .sec02_wrap02 .wrap02 .img_wrap {
        max-width: 980px;
        margin-inline: auto;
        display: grid;
        grid-template-columns: 65.31% 34.19%;
        align-items: flex-start;
        align-content: start;
        grid-auto-flow: dense;
        justify-content: space-between;
        row-gap: 5px; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .wrap02 .img_wrap {
            grid-template-columns: 1fr 1fr;
            column-gap: 1%; } }
        .sec02 .sec02_wrap02 .wrap02 .img_wrap .img01 {
          grid-row: span 2; }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .wrap02 .img_wrap .img01 {
              grid-column: span 2; } }
    .sec02 .sec02_wrap02 .wrap03 {
      display: flex;
      justify-content: center;
      column-gap: 5.06%;
      flex-wrap: wrap;
      row-gap: clamp(20px, 3.334vw, 40px); }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap02 .wrap03 {
          flex-direction: column; } }
      .sec02 .sec02_wrap02 .wrap03 .img {
        width: 36.77%; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .wrap03 .img {
            width: 100%;
            max-width: 200px;
            margin-inline: auto; } }
      .sec02 .sec02_wrap02 .wrap03 .txt_in {
        text-align: center;
        line-height: 1;
        color: #000;
        width: 37.38%; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .wrap03 .txt_in {
            width: 100%; } }
        .sec02 .sec02_wrap02 .wrap03 .txt_in .txt01 {
          margin-bottom: 0.3em;
          padding-bottom: 0.3em;
          border-bottom: 4px solid #d2111a;
          font-size: clamp(14px, 2.334vw, 28px); }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .wrap03 .txt_in .txt01 {
              font-size: 18px; } }
        .sec02 .sec02_wrap02 .wrap03 .txt_in .txt02 {
          font-size: clamp(12px, 2vw, 24px); }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .wrap03 .txt_in .txt02 {
              font-size: 16px; } }
      .sec02 .sec02_wrap02 .wrap03 .txt03, .sec02 .sec02_wrap02 .wrap03 .txt04 {
        width: 100%;
        text-align: center;
        font-size: clamp(16px, 1.834vw, 22px); }
      .sec02 .sec02_wrap02 .wrap03 .txt03 {
        background: #595757;
        border-radius: 90px;
        color: #fff;
        max-width: 770px;
        margin-inline: auto; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .wrap03 .txt03 {
            line-height: 1.4;
            padding: 5px 0; } }
      .sec02 .sec02_wrap02 .wrap03 .txt04 {
        margin-top: -20px; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .wrap03 .txt04 {
            margin-top: -10px;
            font-size: 14px; } }

.sec03 {
  margin-bottom: clamp(80px, 16.667vw, 200px); }
  .sec03 .inner {
    max-width: 1000px; }
  .sec03 .sec03_wrap01 {
    position: relative;
    display: flex;
    flex-direction: column;
    row-gap: clamp(15px, 3.334vw, 40px);
    margin-bottom: clamp(40px, 8.334vw, 100px); }
    .sec03 .sec03_wrap01 .obi {
      position: absolute;
      bottom: -5%;
      left: -10%; }
      @media screen and (max-width: 768px) {
        .sec03 .sec03_wrap01 .obi {
          display: none; } }
  .sec03 .item_wrap {
    flex-wrap: wrap;
    row-gap: clamp(20px, 2.5vw, 30px);
    justify-content: space-between;
    margin-bottom: 30px; }
    .sec03 .item_wrap .item {
      width: 30%; }
      @media screen and (max-width: 480px) {
        .sec03 .item_wrap .item {
          width: 48%; } }
      .sec03 .item_wrap .item .txt {
        position: relative;
        font-size: clamp(14px, 2.4vw, 24px);
        letter-spacing: -0.05em;
        text-align: center;
        line-height: 1.2;
        margin-top: 0.5em; }
        @media screen and (max-width: 768px) {
          .sec03 .item_wrap .item .txt {
            font-size: 15px !important; } }
        @media screen and (max-width: 480px) {
          .sec03 .item_wrap .item .txt {
            font-size: 14px !important;
            letter-spacing: 0;
            line-height: 1.2; } }
        .sec03 .item_wrap .item .txt.small {
          font-size: clamp(14px, 2.2vw, 22px); }
        .sec03 .item_wrap .item .txt .min {
          font-size: 80%;
          margin-right: 0.3em; }
        .sec03 .item_wrap .item .txt .small {
          font-size: 50%;
          text-align: center;
          position: absolute;
          top: 100%;
          left: 0;
          right: 0; }
          @media screen and (max-width: 480px) {
            .sec03 .item_wrap .item .txt .small {
              font-size: 10px; } }
        .sec03 .item_wrap .item .txt.ls1 {
          letter-spacing: -0.1em; }
    .sec03 .item_wrap .item10 {
      display: flex;
      justify-content: center;
      column-gap: 0.77%;
      column-gap: 3.85%;
      position: relative;
      padding: 25px 0;
      width: 100%; }
      @media screen and (max-width: 480px) {
        .sec03 .item_wrap .item10 {
          padding: 20px;
          flex-direction: column;
          row-gap: 15px;
          width: 100%; } }
      .sec03 .item_wrap .item10::after {
        content: '';
        position: absolute;
        inset: 0;
        border: 1px solid;
        pointer-events: none; }
      .sec03 .item_wrap .item10 .text_wrap {
        width: 34.5%;
        margin-top: 40px; }
        @media screen and (max-width: 480px) {
          .sec03 .item_wrap .item10 .text_wrap {
            width: 100%;
            margin-top: 0; } }
        .sec03 .item_wrap .item10 .text_wrap .sec_ttl {
          text-align: center;
          line-height: 1;
          letter-spacing: 0;
          margin-bottom: 0.5em;
          padding-bottom: 0.5em;
          border-bottom: 1px solid #000;
          font-size: clamp(16px, 2.167vw, 26px);
          line-height: 1.2;
          margin-inline: auto; }
          @media screen and (max-width: 480px) {
            .sec03 .item_wrap .item10 .text_wrap .sec_ttl {
              text-align: left;
              padding-inline: 0; } }
        .sec03 .item_wrap .item10 .text_wrap .read {
          line-height: 1.64;
          padding: 0 2.5em; }
          @media screen and (max-width: 480px) {
            .sec03 .item_wrap .item10 .text_wrap .read {
              padding: 0; } }
      .sec03 .item_wrap .item10 .img {
        width: 30.2%; }
        @media screen and (max-width: 480px) {
          .sec03 .item_wrap .item10 .img {
            width: 80%;
            margin-inline: auto; } }
    .sec03 .item_wrap .item11 {
      width: 65%; }
      @media screen and (max-width: 480px) {
        .sec03 .item_wrap .item11 {
          width: 100%; } }
      .sec03 .item_wrap .item11 .in_box {
        display: flex;
        flex-direction: row-reverse;
        justify-content: center;
        position: relative; }
        @media screen and (max-width: 480px) {
          .sec03 .item_wrap .item11 .in_box {
            flex-direction: column;
            row-gap: 15px;
            width: 100%; } }
        .sec03 .item_wrap .item11 .in_box::after {
          content: '';
          position: absolute;
          inset: 0;
          border: 1px solid;
          pointer-events: none; }
      .sec03 .item_wrap .item11 .text_wrap {
        width: 46.16%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center; }
        @media screen and (max-width: 480px) {
          .sec03 .item_wrap .item11 .text_wrap {
            width: 100%;
            margin-top: 0; } }
        .sec03 .item_wrap .item11 .text_wrap .read {
          line-height: 2.07;
          padding: 1em; }
          @media screen and (max-width: 1000px) {
            .sec03 .item_wrap .item11 .text_wrap .read {
              line-height: 1.24; } }
          .sec03 .item_wrap .item11 .text_wrap .read .min {
            font-size: 10px;
            margin-top: 2em;
            display: block; }
            @media screen and (max-width: 1000px) {
              .sec03 .item_wrap .item11 .text_wrap .read .min {
                margin-top: 0.5em; } }
      .sec03 .item_wrap .item11 .img {
        width: 53.85%; }
        @media screen and (max-width: 480px) {
          .sec03 .item_wrap .item11 .img {
            width: 100%;
            margin-inline: auto; } }
  .sec03 .sec03_wrap02 {
    /*display: flex;
    justify-content: center;
    column-gap: cal_per(1000,50);
    position: relative;
    padding: 25px 0;
    margin-bottom: 20px;
    @include mq($br_sp){
    	padding: 20px;
    	flex-direction: column;
    	row-gap: 15px;
    }
    &::after {
    	content: '';
    	position: absolute;
    	inset: 0;
    	border: 1px solid;
    	pointer-events: none;
    }
    .text_wrap {
    	width: cal_per(1000,315);
    	margin-top: 40px;
    	@include mq($br_sp){
    		width: 100%;
    		margin-top: 0;
    	}
    	.sec_ttl {
    		line-height: 1;
    		letter-spacing: 0;
    		text-align: left;
    		margin-bottom: 0.5em;
    		padding-bottom: 0.5em;
    		border-bottom: 1px solid #000;
    		font-size: clamp_gm(16,1200,26);
    	}
    	.read {
    		@include lh(31,19);
    	}
    }	
    .img {
    	width: cal_per(1000,302);
    	@include mq($br_sp){
    		width: 80%;
    		margin-inline: auto;
    	}
    }*/ }

sup {
  font-size: 10px;
  vertical-align: top; }

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

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

@media screen and (max-width: 600px) {
  .en_ttl {
    width: 100% !important; } }
.en_ttl img {
  margin-left: auto;
  margin-right: auto; }
  .en_ttl img.ttl_01 {
    max-width: 398px;
    width: calc(398%/8); }
    @media screen and (max-width: 600px) {
      .en_ttl img.ttl_01 {
        width: calc(398%/4.5); } }
  .en_ttl img.ttl_02 {
    max-width: 725px;
    width: calc(725%/8); }
    @media screen and (max-width: 600px) {
      .en_ttl img.ttl_02 {
        width: calc(450%/4.5); } }

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