/*! Writen  by SCSS */
.yokoku {
  position: relative;
  z-index: 9; }
  .yokoku .inn {
    position: absolute;
    top: 10px;
    left: 0;
    margin: 0 auto;
    padding: 15px 20px;
    box-sizing: border-box; }
    @media screen and (max-width: 480px) {
      .yokoku .inn {
        top: 0;
        padding: 8px 10px 0; } }
    .yokoku .inn dl {
      display: flex;
      justify-content: center;
      color: #fff; }
      @media screen and (max-width: 480px) {
        .yokoku .inn dl {
          flex-direction: column; } }
      .yokoku .inn dl dt {
        font-size: 22px;
        padding: 5px 20px;
        border: 1px solid #fff;
        text-align: center;
        margin-right: 15px;
        display: flex;
        align-items: center;
        letter-spacing: 0.2em; }
        @media screen and (max-width: 480px) {
          .yokoku .inn dl dt {
            margin: 0 0 5px 0;
            padding: 2px 8px;
            font-size: 12px;
            justify-content: center; } }
        .yokoku .inn dl dt.small {
          font-size: 14px;
          line-height: 1.2;
          letter-spacing: 0.03em;
          flex-direction: column; }
          @media screen and (max-width: 480px) {
            .yokoku .inn dl dt.small {
              flex-direction: row;
              font-size: 12px;
              line-height: normal;
              letter-spacing: 0.2em; } }
          @media screen and (max-width: 480px) {
            .yokoku .inn dl dt.small span {
              margin-left: 0.5em; } }
      .yokoku .inn dl dd {
        display: flex;
        align-items: center;
        font-size: 14px; }
        @media screen and (max-width: 480px) {
          .yokoku .inn dl dd {
            font-size: 11px;
            line-height: 1.5; }
            .yokoku .inn dl dd br {
              display: none; } }

.mainvisual {
  position: relative;
  overflow: hidden; }
  .mainvisual .main_image {
    position: relative; }

.main .main_img {
  transition: 7.8s transform ease-in-out 0s,0.8s opacity ease-in-out 0s;
  will-change: transform opacity;
  transform: translateX(45%);
  opacity: 0; }
  @media screen and (max-width: 480px) {
    .main .main_img {
      transform: translateX(110%); } }

body.scene1 .main .main_img {
  transform: translateX(0);
  opacity: 1; }

.main .bg {
  transform-origin: bottom right;
  transform: scale(1.45);
  transition: 0s transform linear 0s;
  will-change: transform; }
  @media screen and (max-width: 480px) {
    .main .bg {
      transform: scale(2.1); } }

body.scene3 .main .bg {
  transform: scale(1); }

.main .bg img {
  opacity: 1;
  will-change: opacity,filter,transform;
  transition: 1s opacity ease-in-out 0s; }

body.scene2 .main .bg img {
  opacity: 0; }

body.scene3 .main .bg img {
  filter: blur(10px) saturate(0%) contrast(0%) brightness(500%);
  transform: scale(1.1);
  opacity: 1;
  transition: 0s filter linear 0s, 0s transform linear 0s, 0s opacity linear 0.01s; }

body.scene4 .main .bg img {
  transform: scale(1);
  filter: blur(0) saturate(100%) contrast(100%) brightness(100%);
  transition: 2s filter ease-out 0s, 3.5s transform ease-in-out 0s; }

.main .cap {
  opacity: 0;
  transition: 3s opacity ease-in-out 0s; }

body.scene1 .main .cap {
  opacity: 1; }

.main .copy {
  position: absolute;
  width: 100%;
  bottom: calc(140% / 12.32);
  bottom: calc(80% / 12.32);
  right: 0;
  left: 0;
  margin: auto;
  text-align: center; }
  .main .copy.copy1 {
    clip-path: inset(0 100% 0 0);
    transition: 2.6s clip-path ease-in-out 1.5s;
    bottom: calc(560% / 8);
    bottom: calc(600% / 8); }
  .main .copy.copy2 {
    bottom: calc(80% / 8);
    bottom: calc(470% / 8);
    opacity: 0;
    transition: 2.2s all ease-in-out 1.9s; }
  .main .copy img {
    width: calc(826% / 16);
    width: calc(1007% / 19.2);
    width: calc(841% / 16);
    max-width: 841px;
    margin: 0 auto; }
  .main .copy .sub_copy {
    display: inline-block;
    margin-top: 2em;
    color: #6da09e;
    color: #fff;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-size: clamp(14px, 2.188vw, 35px);
    font-weight: 700;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.4); }
    @media screen and (max-width: 480px) {
      .main .copy .sub_copy {
        font-size: calc(15vw / 3.9);
        letter-spacing: 0.03em; } }

body.scene4 .main .copy1 {
  clip-path: inset(0 0 0 0); }

body.scene4 .main .copy2 {
  opacity: 1; }

@media screen and (max-width: 767px) {
  .main .copy {
    width: 100%;
    bottom: calc(167% / 12);
    bottom: calc(130% / 12); }
    .main .copy img {
      width: calc(584% / 8); }
    .main .copy.copy1 {
      bottom: calc(490% / 7); }
    .main .copy.copy2 {
      bottom: calc(340% / 7); }

  .main .cap {
    font-size: 8px;
    text-shadow: 0 0 0 rgba(255, 255, 255, 0);
    left: 0;
    text-align: left; } }
.breadlist {
  display: none; }

.merit_wrap {
  margin-bottom: 80px;
  padding: 40px 20px; }
  @media screen and (max-width: 480px) {
    .merit_wrap {
      margin-bottom: 20px; } }
  .merit_wrap ul {
    font-size: clamp(12px, 1.2vw, 21px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.08em;
    font-feature-settings: "palt";
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.8em; }
    @media screen and (max-width: 768px) {
      .merit_wrap ul {
        font-size: clamp(12px, 1.5vw, 18px);
        gap: 0.5em; } }
    .merit_wrap ul .s1 {
      font-size: 80%; }
      @media screen and (max-width: 480px) {
        .merit_wrap ul .s1 {
          font-size: 85%; } }
    @media screen and (max-width: 600px) {
      .merit_wrap ul {
        gap: 10px;
        flex-direction: column; } }
    @media screen and (max-width: 480px) {
      .merit_wrap ul {
        font-size: calc(15vw / 3.9); } }
    .merit_wrap ul li {
      background: linear-gradient(0deg, #71aab3, #93bd93);
      padding: 0.8em 0;
      padding: 0.4em 0;
      width: 13em;
      text-align: center;
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      @media screen and (max-width: 600px) {
        .merit_wrap ul li {
          width: 100%;
          padding: 0.8em 0; } }
      .merit_wrap ul li sup {
        font-size: 10px; }
      @media screen and (max-width: 480px) {
        .merit_wrap ul li .ex {
          font-feature-settings: "palt";
          letter-spacing: 0.06em; } }

.t1 {
  color: #679c9a;
  text-align: center;
  font-size: clamp(18px, 2.417vw, 29px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.12em; }
  @media screen and (max-width: 480px) {
    .t1 {
      font-size: calc(18vw / 3.9);
      line-height: 1.8;
      letter-spacing: 0.08em; } }

.t2 {
  text-align: center;
  font-size: clamp(13px, 1.5vw, 18px);
  font-weight: 500;
  line-height: 3;
  letter-spacing: 0.12em;
  margin-bottom: 3.6em; }
  @media screen and (max-width: 480px) {
    .t2 {
      font-size: calc(14vw / 3.9);
      line-height: 2;
      letter-spacing: 0.08em; } }

.t3 {
  text-align: center;
  font-size: clamp(20px, 4.167vw, 50px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.03em;
  margin-bottom: 1.3em; }
  @media screen and (max-width: 480px) {
    .t3 {
      font-size: calc(26vw / 3.9);
      margin-bottom: 1em; } }

.sec_ttl {
  text-align: center;
  font-size: clamp(18px, 3.501vw, 42px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.12em;
  margin-bottom: 1.2em; }
  @media screen and (max-width: 480px) {
    .sec_ttl {
      font-size: calc(22vw / 3.9);
      letter-spacing: 0.1em; } }

.sec01 {
  padding: 20px 0 100px; }
  @media screen and (max-width: 480px) {
    .sec01 {
      padding: 20px 0 50px; } }
  .sec01 .t1 {
    font-size: clamp(18px, 3.25vw, 39px); }
    @media screen and (max-width: 480px) {
      .sec01 .t1 {
        font-size: calc(20vw / 3.9); } }

.sec02 {
  margin-bottom: 90px; }
  @media screen and (max-width: 480px) {
    .sec02 {
      margin-bottom: 50px; } }
  .sec02 .c_fig {
    text-align: center; }
    @media screen and (max-width: 480px) {
      .sec02 .c_fig {
        margin: 0 -20px; } }
    .sec02 .c_fig .inn {
      display: inline-block;
      position: relative; }
      .sec02 .c_fig .inn ul li {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        opacity: 0;
        transition: all 0.5s ease-in-out; }
      .sec02 .c_fig .inn .c_fig00 {
        transition: all 1s ease-in-out 0s;
        opacity: 0;
        transform: translate(0, 20px); }
      .sec02 .c_fig .inn .c_fig01 {
        transition-delay: 0.4s;
        transform: translate(20px, 0); }
      .sec02 .c_fig .inn .c_fig02 {
        transition-delay: 0.4s;
        transform: translate(-20px, 0); }
      .sec02 .c_fig .inn .c_fig03 {
        transition-delay: 0.7s;
        transform: translate(15px, -10px); }
      .sec02 .c_fig .inn .c_fig04 {
        transition-delay: 0.7s;
        transform: translate(-15px, -10px); }
      .sec02 .c_fig .inn .c_fig05 {
        transition-delay: 1s;
        transform: translate(15px, -15px); }
      .sec02 .c_fig .inn .c_fig06 {
        transition-delay: 1s;
        transform: translate(-10px, -15px); }
      .sec02 .c_fig .inn .c_fig07 {
        transition-delay: 1.3s;
        transform: translate(0, -20px); }
      .sec02 .c_fig .inn.p-view .c_fig00 {
        opacity: 1;
        transform: none; }
      .sec02 .c_fig .inn.p-view ul li {
        opacity: 1;
        transform: none; }

/*

.sec03 {
	margin-bottom: 90px;
	@include mq($br_sp){
		margin-bottom: 70px;
	}
	.inner {
		max-width: 1150px;
	}
	.mov_cap {
		font-size: clamp(11px, calc(14vw / 11), 14px);
		text-align: center;
		margin-bottom: 0.8em;
	}
	.movie {
		position: relative;
		max-width: 1080px;
		margin: 0 auto;
		width: 100%;
		@include mq($br_sp){
			width: calc(100% + 40px);
			margin: 0 -20px;
		}
		video {
			width: 100%;
		}
		.dm {
			position: absolute;
			top:0;
			left:0;
			width: 100%;
			height: 100%;
			display: flex;
			justify-content: center;
			align-items: center;
			p {
				display: inline-block;
				font-size: 18px;
				color: #fff;
				background: rgba(#000, 0.8);
				padding: 0.8em;
				line-height: 1;
			}
		}
	}
}

*/
.info .sec_ttl {
  margin-bottom: 0.4em; }
.info .inner .ttl_wrap {
  /*.t1 {
  	color: #679c9a;
  	text-align: center;
  	font-size:clamp_gm(18,1200,29);
  	font-weight: 700;
  	line-height: 2;
  	letter-spacing: 0.12em;
  	@include mq($br_sp){
  		font-size: calc(18vw / 3.9);
  		line-height: 1.8;
  		letter-spacing: 0.08em;
  	}
  }
  .t2 {
  	text-align: center;
  	font-size:clamp_gm(13,1200,18);
  	font-weight: 500;
  	line-height: 3;
  	letter-spacing: 0.12em;
  	margin-bottom: 3.6em;
  	@include mq($br_sp){
  		font-size: calc(14vw / 3.9);
  		line-height: 2;
  		letter-spacing: 0.08em;
  	}
  }
  .t3 {
  	text-align: center;
  	font-size:clamp_gm(20,1200,50);
  	font-weight: 500;
  	line-height: 1.4;
  	letter-spacing: 0.03em;
  	margin-bottom: 1.3em;
  	@include mq($br_sp){
  		font-size: calc(26vw / 3.9);
  		margin-bottom: 1em;
  	}
  }*/ }
  .info .inner .ttl_wrap .t2 {
    margin-bottom: 1.2em;
    line-height: 1.6;
    margin-bottom: 1.4em;
    font-size: clamp(13px, 1.834vw, 22px); }
    @media screen and (max-width: 480px) {
      .info .inner .ttl_wrap .t2 {
        font-size: calc(16vw / 3.9);
        line-height: 1.6; } }
    .info .inner .ttl_wrap .t2.s {
      font-size: clamp(13px, 1.667vw, 20px);
      margin-bottom: 2.2em; }
      @media screen and (max-width: 480px) {
        .info .inner .ttl_wrap .t2.s {
          font-size: calc(14vw / 3.9); } }
    .info .inner .ttl_wrap .t2.s2 {
      font-size: clamp(12px, 1.584vw, 19px);
      margin-bottom: 2.2em; }
      @media screen and (max-width: 480px) {
        .info .inner .ttl_wrap .t2.s2 {
          font-size: calc(13vw / 3.9); } }
  .info .inner .ttl_wrap .pc_space {
    width: 0.6em;
    display: inline-block; }
    @media screen and (max-width: 480px) {
      .info .inner .ttl_wrap .pc_space {
        display: none; } }
  .info .inner .ttl_wrap .t3 {
    font-size: clamp(16px, 3.501vw, 42px);
    color: #679c9a;
    margin-bottom: 0.5em;
    line-height: 1.3; }
    @media screen and (max-width: 480px) {
      .info .inner .ttl_wrap .t3 {
        font-size: calc(20vw / 3.9);
        line-height: 1.4; }
        .info .inner .ttl_wrap .t3.sp_bold {
          font-weight: bold;
          font-size: calc(22vw / 3.9);
          line-height: 1.3; } }
    .info .inner .ttl_wrap .t3.s1 {
      font-size: clamp(16px, 3.334vw, 40px); }
      @media screen and (max-width: 480px) {
        .info .inner .ttl_wrap .t3.s1 {
          font-size: calc(19vw / 3.9);
          letter-spacing: 0.02em; } }
    .info .inner .ttl_wrap .t3.l1 {
      font-size: clamp(16px, 3.584vw, 43px); }
      @media screen and (max-width: 480px) {
        .info .inner .ttl_wrap .t3.l1 {
          font-size: calc(24vw / 3.9); } }
    .info .inner .ttl_wrap .t3 .zen {
      display: inline-block;
      margin-left: 0.15em; }
    @media screen and (max-width: 480px) {
      .info .inner .ttl_wrap .t3.lh_lg {
        line-height: 1.67; } }
    .info .inner .ttl_wrap .t3.lh_lg_sp {
      line-height: 1.67; }
    .info .inner .ttl_wrap .t3.text_black {
      color: #333;
      font-size: clamp(16px, 2.667vw, 32px);
      font-size: clamp(16px, 3.167vw, 38px); }
      @media screen and (max-width: 480px) {
        .info .inner .ttl_wrap .t3.text_black {
          font-size: calc(17vw / 3.9);
          font-size: calc(19vw / 3.9); } }
    @media screen and (max-width: 480px) {
      .info .inner .ttl_wrap .t3 .sp_lg {
        font-size: 1.05em;
        display: block;
        line-height: 1.4; } }
    .info .inner .ttl_wrap .t3 .sp_ls {
      letter-spacing: -0.05em; }
    @media screen and (max-width: 480px) {
      .info .inner .ttl_wrap .t3 .sp_min {
        font-size: 0.8em; } }
  .info .inner .ttl_wrap .t3s2 {
    font-size: clamp(13px, 3.084vw, 37px);
    color: #679c9a;
    margin-bottom: 0.5em;
    line-height: 1.3;
    text-align: center; }
    @media screen and (max-width: 480px) {
      .info .inner .ttl_wrap .t3s2 {
        font-size: calc(17vw / 3.9);
        line-height: 1.4; }
        .info .inner .ttl_wrap .t3s2.sp_bold {
          font-weight: bold;
          font-size: calc(19vw / 3.9); } }
    .info .inner .ttl_wrap .t3s2.text_black {
      color: #333;
      font-size: clamp(14px, 2.5vw, 30px);
      font-size: clamp(14px, 2.084vw, 25px); }
      @media screen and (max-width: 480px) {
        .info .inner .ttl_wrap .t3s2.text_black {
          font-size: calc(14vw / 3.9);
          font-size: calc(16vw / 3.9); } }
  .info .inner .ttl_wrap .t3s {
    text-align: center;
    font-size: clamp(13px, 3vw, 36px);
    color: #679c9a;
    margin-bottom: 0.5em;
    line-height: 1.3; }
    .info .inner .ttl_wrap .t3s .zen {
      display: inline-block;
      margin-left: 0.15em; }
    @media screen and (max-width: 480px) {
      .info .inner .ttl_wrap .t3s {
        font-size: calc(20vw / 3.9);
        line-height: 1.4; }
        .info .inner .ttl_wrap .t3s.sp_bold {
          font-weight: bold; } }
    .info .inner .ttl_wrap .t3s.text_black {
      color: #333;
      font-size: clamp(14px, 2.417vw, 29px); }
      @media screen and (max-width: 480px) {
        .info .inner .ttl_wrap .t3s.text_black {
          font-size: calc(17vw / 3.9); } }
  .info .inner .ttl_wrap .color_red {
    color: #a01035;
    color: #6f1116; }
  .info .inner .ttl_wrap .color_black {
    color: #333; }
  .info .inner .ttl_wrap .color02 {
    color: #223a70; }
  .info .inner .ttl_wrap .color03 {
    color: #005377; }
.info .inner .btn_wrap {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .info .inner .btn_wrap {
      padding-inline: 0;
      flex-direction: column;
      row-gap: 12px; } }
  .info .inner .btn_wrap .btn_item {
    width: 32%; }
    @media screen and (max-width: 768px) {
      .info .inner .btn_wrap .btn_item {
        width: 100%; } }
    .info .inner .btn_wrap .btn_item .txt {
      margin-bottom: .6em;
      line-height: 1;
      font-size: clamp(14px, 1.584vw, 19px);
      font-weight: bold; }
    .info .inner .btn_wrap .btn_item .btn a {
      display: block;
      width: 100%;
      color: #fff;
      background: linear-gradient(to top, #71aab3, #93bd93);
      position: relative;
      font-size: clamp(14px, 1.667vw, 20px);
      height: 60px;
      line-height: 1;
      letter-spacing: 0.1em;
      font-weight: 500;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #71706d;
      background: #961e35;
      background: linear-gradient(0deg, #a37806 0%, #c0a354 100%);
      color: #fff; }
      @media screen and (max-width: 768px) {
        .info .inner .btn_wrap .btn_item .btn a {
          height: 60px;
          margin-inline: auto;
          max-width: 100%; } }
      .info .inner .btn_wrap .btn_item .btn a::before {
        content: "";
        position: absolute;
        top: 3px;
        left: 3px;
        width: calc(100% - 6px);
        height: calc(100% - 6px);
        border: solid 1px #fff;
        pointer-events: none; }
    .info .inner .btn_wrap .btn_item .btn.color02 a {
      background: #961e35;
      background: linear-gradient(0deg, #71aab3, #93bd93); }
    .info .inner .btn_wrap .btn_item .btn.color03 a {
      background: #961e35; }
.info .info_wrap {
  max-width: 600px;
  margin-inline: auto;
  margin-bottom: 90px;
  overflow-y: scroll;
  height: 270px; }
  @media screen and (max-width: 480px) {
    .info .info_wrap {
      margin-bottom: 60px; } }
  .info .info_wrap dl {
    font-size: clamp(12px, 1.25vw, 15px);
    padding: 20px 0;
    text-align: center;
    gap: 1em;
    border-top: 1px solid #919191; }
    .info .info_wrap dl:last-child {
      border-bottom: 1px solid #919191; }
    @media screen and (max-width: 480px) {
      .info .info_wrap dl {
        display: block;
        padding: 10px 0;
        text-align: center; } }

.sec03 .info.inner .ttl_wrap .t2 {
  margin-bottom: 1.2em; }
.sec03 .info.inner .ttl_wrap .t3 {
  color: #679c9a;
  margin-bottom: .6em; }
.sec03 .info.inner .btn_wrap {
  padding-inline: 20px;
  margin-inline: auto;
  display: flex;
  justify-content: center;
  column-gap: clamp(20px, 4.167vw, 50px); }
  @media screen and (max-width: 480px) {
    .sec03 .info.inner .btn_wrap {
      padding-inline: 0;
      flex-direction: column;
      row-gap: 20px; } }
  .sec03 .info.inner .btn_wrap .btn_item {
    width: 33.34%; }
    @media screen and (max-width: 480px) {
      .sec03 .info.inner .btn_wrap .btn_item {
        width: 100%; } }
    .sec03 .info.inner .btn_wrap .btn_item .txt {
      margin-bottom: .6em;
      line-height: 1;
      font-size: clamp(14px, 1.584vw, 19px);
      font-weight: bold; }
    .sec03 .info.inner .btn_wrap .btn_item .btn a {
      display: block;
      width: 100%;
      color: #fff;
      background: linear-gradient(to top, #71aab3, #93bd93);
      position: relative;
      font-size: clamp(14px, 1.667vw, 20px);
      height: 60px;
      line-height: 1;
      letter-spacing: 0.1em;
      font-weight: 500;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #71706d;
      background: #961e35;
      color: #fff; }
      @media screen and (max-width: 768px) {
        .sec03 .info.inner .btn_wrap .btn_item .btn a {
          height: 60px;
          margin-inline: auto;
          max-width: 100%; } }
      .sec03 .info.inner .btn_wrap .btn_item .btn a::before {
        content: "";
        position: absolute;
        top: 3px;
        left: 3px;
        width: calc(100% - 6px);
        height: calc(100% - 6px);
        border: solid 1px #fff;
        pointer-events: none; }
    .sec03 .info.inner .btn_wrap .btn_item .btn.color02 a {
      background: #961e35; }
.sec03 .info_wrap {
  max-width: 600px;
  margin-inline: auto;
  margin-bottom: 90px; }
  @media screen and (max-width: 480px) {
    .sec03 .info_wrap {
      margin-bottom: 60px; } }
  .sec03 .info_wrap dl {
    font-size: clamp(12px, 1.25vw, 15px);
    padding: 20px 0;
    text-align: center;
    gap: 1em;
    border-top: 1px solid #919191; }
    .sec03 .info_wrap dl:last-child {
      border-bottom: 1px solid #919191; }
    @media screen and (max-width: 480px) {
      .sec03 .info_wrap dl {
        display: block;
        padding: 10px 0;
        text-align: center; } }

.sec03 {
  margin-bottom: 90px; }
  @media screen and (max-width: 480px) {
    .sec03 {
      margin-bottom: 40px; } }
  .sec03 .sec03_cont {
    background-color: #edf2ed;
    padding-top: clamp(50px, 6.667vw, 80px);
    padding-bottom: clamp(50px, 8.334vw, 100px); }
    .sec03 .sec03_cont .sec03_wrap01 {
      padding-bottom: clamp(50px, 6.667vw, 80px); }
      .sec03 .sec03_cont .sec03_wrap01 .main_txt {
        margin-bottom: 1em;
        line-height: 1;
        font-size: clamp(18px, 1.834vw, 22px); }
      .sec03 .sec03_cont .sec03_wrap01 .list {
        align-items: center; }
        @media screen and (max-width: 768px) {
          .sec03 .sec03_cont .sec03_wrap01 .list {
            flex-direction: column;
            row-gap: 10px; } }
        .sec03 .sec03_cont .sec03_wrap01 .list .item {
          position: relative;
          background-color: #fff;
          width: 29.1%;
          text-align: center;
          padding: 40px 15px 20px;
          height: 100%; }
          @media screen and (max-width: 768px) {
            .sec03 .sec03_cont .sec03_wrap01 .list .item {
              width: 100%;
              padding-block: 20px; } }
          .sec03 .sec03_cont .sec03_wrap01 .list .item::after {
            content: '';
            position: absolute;
            inset: 0;
            border: 1px solid #919191;
            pointer-events: none; }
          .sec03 .sec03_cont .sec03_wrap01 .list .item .txt01 {
            font-weight: 600;
            line-height: 1;
            letter-spacing: 0.12em;
            margin-bottom: 1em;
            font-size: clamp(16px, 2vw, 24px); }
            @media screen and (max-width: 480px) {
              .sec03 .sec03_cont .sec03_wrap01 .list .item .txt01 {
                margin-bottom: 0.8em; } }
          .sec03 .sec03_cont .sec03_wrap01 .list .item .txt02 {
            font-size: clamp(16px, 2vw, 24px);
            margin-bottom: 1em; }
            @media screen and (max-width: 480px) {
              .sec03 .sec03_cont .sec03_wrap01 .list .item .txt02 {
                line-height: 1;
                margin-bottom: 0.6em; } }
          .sec03 .sec03_cont .sec03_wrap01 .list .item .txt03 {
            margin-bottom: 0;
            font-size: clamp(13px, 1.334vw, 16px);
            line-height: 1.8;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            margin-bottom: 2.4em;
            letter-spacing: -0.04em; }
            @media screen and (max-width: 480px) {
              .sec03 .sec03_cont .sec03_wrap01 .list .item .txt03 {
                margin-bottom: 1.2em;
                line-height: 1.4; } }
            @media screen and (max-width: 768px) {
              .sec03 .sec03_cont .sec03_wrap01 .list .item .txt03.mb_sp {
                margin-bottom: 0; } }
          .sec03 .sec03_cont .sec03_wrap01 .list .item .btn a {
            display: block;
            width: 100%;
            color: #fff;
            background: linear-gradient(0deg, #71aab3, #93bd93);
            position: relative;
            font-size: clamp(12px, 1.334vw, 16px);
            height: 60px;
            font-size: clamp(10px, 1.334vw, 16px);
            line-height: 1;
            letter-spacing: 0.1em;
            font-weight: 500;
            display: flex;
            justify-content: center;
            align-items: center;
            color: #71706d;
            color: #fff; }
            @media screen and (max-width: 768px) {
              .sec03 .sec03_cont .sec03_wrap01 .list .item .btn a {
                height: 50px;
                max-width: 100%;
                margin-inline: auto;
                font-size: 12px; } }
            .sec03 .sec03_cont .sec03_wrap01 .list .item .btn a::before {
              content: "";
              position: absolute;
              top: 3px;
              left: 3px;
              width: calc(100% - 6px);
              height: calc(100% - 6px);
              border: solid 1px #fff;
              pointer-events: none; }
          .sec03 .sec03_cont .sec03_wrap01 .list .item.itme02 .btn a {
            background: linear-gradient(0deg, #a37806 0%, #c0a354 100%); }
        .sec03 .sec03_cont .sec03_wrap01 .list .icon {
          width: 20px;
          aspect-ratio: 1/3;
          background-color: #679c9a;
          clip-path: polygon(100% 50%, 0 0, 0 100%); }
          @media screen and (max-width: 768px) {
            .sec03 .sec03_cont .sec03_wrap01 .list .icon {
              clip-path: polygon(100% 50%, 0 0, 0 100%);
              width: 25px;
              aspect-ratio: 1.5/1;
              clip-path: polygon(50% 100%, 0 0, 100% 0); } }
    .sec03 .sec03_cont .sec03_wrap02 .img_wrap {
      position: relative;
      background-image: url("../images/top/limited.jpg");
      background-size: cover;
      background-repeat: no-repeat;
      aspect-ratio: 96/23;
      background-position: right 80%; }
      @media screen and (max-width: 480px) {
        .sec03 .sec03_cont .sec03_wrap02 .img_wrap {
          aspect-ratio: 2.3/1;
          background-image: url("../images/top/limited_sp.jpg"); } }
      .sec03 .sec03_cont .sec03_wrap02 .img_wrap::after {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(35, 24, 21, 0.4);
        pointer-events: none; }
      .sec03 .sec03_cont .sec03_wrap02 .img_wrap .ttl_wrap {
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        z-index: 1; }
        .sec03 .sec03_cont .sec03_wrap02 .img_wrap .ttl_wrap .en_txt {
          margin-bottom: 0.6em;
          color: #fff; }
          @media screen and (max-width: 480px) {
            .sec03 .sec03_cont .sec03_wrap02 .img_wrap .ttl_wrap .en_txt {
              font-size: calc(21vw / 3.9); } }
        .sec03 .sec03_cont .sec03_wrap02 .img_wrap .ttl_wrap .ja_txt {
          color: #fff;
          font-size: clamp(14px, 1.667vw, 20px);
          font-weight: bold; }
      .sec03 .sec03_cont .sec03_wrap02 .img_wrap .cap {
        z-index: 1; }
        @media screen and (max-width: 480px) {
          .sec03 .sec03_cont .sec03_wrap02 .img_wrap .cap {
            font-size: 9px; } }
    .sec03 .sec03_cont .sec03_wrap02 .text_wrap {
      padding: clamp(20px, 3.334vw, 40px) 20px clamp(40px, 5vw, 60px);
      background-color: #fff; }
      @media screen and (max-width: 480px) {
        .sec03 .sec03_cont .sec03_wrap02 .text_wrap {
          padding-block: 20px 30px; } }
      .sec03 .sec03_cont .sec03_wrap02 .text_wrap .main_txt {
        margin-bottom: 2.4em; }
        @media screen and (max-width: 480px) {
          .sec03 .sec03_cont .sec03_wrap02 .text_wrap .main_txt {
            font-size: calc(12vw / 3.9);
            letter-spacing: 0.06em; } }
      .sec03 .sec03_cont .sec03_wrap02 .text_wrap .btn_wrap {
        display: flex;
        justify-content: center;
        column-gap: clamp(20px, 4.167vw, 50px); }
        @media screen and (max-width: 480px) {
          .sec03 .sec03_cont .sec03_wrap02 .text_wrap .btn_wrap {
            flex-direction: column;
            row-gap: 20px; } }
        .sec03 .sec03_cont .sec03_wrap02 .text_wrap .btn_wrap .btn_item {
          width: 33.34%; }
          @media screen and (max-width: 480px) {
            .sec03 .sec03_cont .sec03_wrap02 .text_wrap .btn_wrap .btn_item {
              width: 100%; } }
          .sec03 .sec03_cont .sec03_wrap02 .text_wrap .btn_wrap .btn_item .txt {
            margin-bottom: .6em;
            line-height: 1;
            font-size: clamp(14px, 1.584vw, 19px);
            font-weight: bold; }
          .sec03 .sec03_cont .sec03_wrap02 .text_wrap .btn_wrap .btn_item .btn a {
            display: block;
            width: 100%;
            color: #fff;
            background: -webkit-linear-gradient(bottom, #71aab3, #93bd93);
            background: -o-linear-gradient(bottom, #71aab3, #93bd93);
            background: linear-gradient(to top, #71aab3, #93bd93);
            position: relative;
            font-size: clamp(14px, 1.667vw, 20px);
            height: 60px;
            line-height: 1;
            letter-spacing: 0.1em;
            font-weight: 500;
            display: flex;
            justify-content: center;
            align-items: center;
            color: #71706d;
            color: #fff; }
            @media screen and (max-width: 768px) {
              .sec03 .sec03_cont .sec03_wrap02 .text_wrap .btn_wrap .btn_item .btn a {
                height: 60px;
                margin-inline: auto;
                max-width: 100%; } }
            .sec03 .sec03_cont .sec03_wrap02 .text_wrap .btn_wrap .btn_item .btn a::before {
              content: "";
              position: absolute;
              top: 3px;
              left: 3px;
              width: calc(100% - 6px);
              height: calc(100% - 6px);
              border: solid 1px #fff;
              pointer-events: none; }
          .sec03 .sec03_cont .sec03_wrap02 .text_wrap .btn_wrap .btn_item .btn.color02 a {
            background: linear-gradient(0deg, #a37806 0%, #c0a354 100%); }

.sec04 .inner {
  max-width: 1540px; }
.sec04 .cbtn {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 20px; }
  @media screen and (max-width: 768px) {
    .sec04 .cbtn {
      flex-direction: column; } }
  .sec04 .cbtn li {
    width: calc(758% / 15.4); }
    @media screen and (max-width: 768px) {
      .sec04 .cbtn li {
        width: 100%; } }
    .sec04 .cbtn li a {
      display: block;
      border-radius: 8px;
      box-shadow: 0 0 4px 4px rgba(0, 0, 0, 0.1);
      transition: all 0.3s ease-in-out;
      overflow: hidden; }
      .sec04 .cbtn li a .img {
        overflow: hidden; }
        .sec04 .cbtn li a .img img {
          transition: all 0.3s ease-in-out; }
      .sec04 .cbtn li a .txt {
        font-size: clamp(13px, 1.076vw, 17px);
        font-weight: 500;
        line-height: 2;
        letter-spacing: 0.08em;
        font-feature-settings: "palt";
        color: #fff;
        min-height: 10em;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        padding: 20px 20px 30px;
        padding: 20px 20px 20px; }
        @media screen and (max-width: 1250px) {
          .sec04 .cbtn li a .txt {
            padding: 20px 10px 20px;
            letter-spacing: 0; } }
        @media screen and (max-width: 480px) {
          .sec04 .cbtn li a .txt {
            letter-spacing: 0.08em;
            font-size: calc(12vw / 3.9);
            padding: 15px 20px 33px;
            padding: 15px 15px 15px; } }
        .sec04 .cbtn li a .txt .more {
          /*position: absolute;
          bottom:8px;
          right: 8px;*/
          font-size: clamp(13px, 1.203vw, 19px);
          margin-top: 0.8em;
          line-height: 1;
          font-weight: 700;
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 0.6em;
          width: 27.86%;
          text-align: center;
          padding-block: 10px; }
          @media screen and (max-width: 480px) {
            .sec04 .cbtn li a .txt .more {
              bottom: 5px;
              right: 8px;
              width: 200px; } }
          .sec04 .cbtn li a .txt .more::after {
            content: "";
            background: #ffffff;
            height: calc(tan(60deg) * 0.8em / 2);
            width: 0.6em;
            clip-path: polygon(0 0, 100% 50%, 0 100%); }
      .sec04 .cbtn li a:hover .img img {
        transform: scale(1.05); }
    .sec04 .cbtn li.lif a {
      background: #bcb7cb; }
      .sec04 .cbtn li.lif a .more {
        background: #807da0; }
    .sec04 .cbtn li.loc a {
      background: #f2a5a1; }
      .sec04 .cbtn li.loc a .more {
        background: #cd6470; }
    .sec04 .cbtn li.acc a {
      background: #a2c5d8; }
      .sec04 .cbtn li.acc a .more {
        background: #4190ac; }
    .sec04 .cbtn li.lan a {
      background: #d8bc90; }
      .sec04 .cbtn li.lan a .more {
        background: #aa8753; }

.bnr_wrap {
  padding: 90px 0 30px; }
  @media screen and (max-width: 480px) {
    .bnr_wrap {
      padding: 40px 0 20px; } }
  .bnr_wrap .bnr_item {
    margin-bottom: clamp(20px, 4.167vw, 50px); }
    .bnr_wrap .bnr_item:nth-last-child(1) {
      margin-bottom: 0; }
    .bnr_wrap .bnr_item .t1 {
      line-height: 1.6;
      margin-bottom: 0.8em;
      color: #333; }
      @media screen and (max-width: 480px) {
        .bnr_wrap .bnr_item .t1 {
          font-size: calc(18vw / 3.9);
          line-height: 1.4; } }
    .bnr_wrap .bnr_item .bnr1 img {
      box-shadow: 0 5px 8px 0 rgba(0, 0, 0, 0.3); }
    @media screen and (max-width: 480px) {
      .bnr_wrap .bnr_item .cap_r {
        font-size: 9px; } }

.sup_box {
  position: relative;
  display: inline-block;
  padding-right: 0.3em; }
  .sup_box sup {
    position: absolute;
    right: -0.7em;
    top: -0.5em;
    font-size: 40%;
    letter-spacing: -0.05em; }

@media screen and (max-width: 480px) {
  .ls02_sp {
    letter-spacing: -0.02em; }

  .ls06_sp {
    letter-spacing: -0.06em; }

  .ls_ex {
    letter-spacing: -0.2em; } }

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