@charset "UTF-8";
/*! Writen  by SCSS */
/*オープンテンプレ*/
/*オープンテンプレ*/
/*.msn-headerMenu {
	background: #000;
}

.msn-headerNav__item {
	font-family:"游ゴシック","Yu Gothic",YuGothic,"游ゴシック体","Lucida Grande","Hiragino Kaku Gothic ProN",Meiryo, sans-serif;
	color: #fff;
	font-weight: 400;
}
.msn-headerNav__item {
	@media (min-width: 767px) {
		font-size: 17px;
	}
}
.msn-headerNav__item--new::before {
	font-family:"Noto Sans JP","游ゴシック","Yu Gothic",YuGothic,"游ゴシック体","Lucida Grande","Hiragino Kaku Gothic ProN", Meiryo,sans-serif;
	font-weight: 600;
}

.msn-h2__inner {
	font-family:"游ゴシック","Yu Gothic",YuGothic,"游ゴシック体","Lucida Grande","Hiragino Kaku Gothic ProN",Meiryo, sans-serif;
	font-weight: 400;
	.msn-h2__title {
		@media (min-width: 767px) {
			font-size: 2.7rem;
		}
	}
}

.msn-buttonMore {
	font-family:"游ゴシック","Yu Gothic",YuGothic,"游ゴシック体","Lucida Grande","Hiragino Kaku Gothic ProN",Meiryo, sans-serif;
}
.read {
	font-weight: 400;
}

.contact {
	font-family:"游ゴシック","Yu Gothic",YuGothic,"游ゴシック体","Lucida Grande","Hiragino Kaku Gothic ProN",Meiryo, sans-serif;
	.msn-lead {
	//font-family:"Noto Sans JP","游ゴシック","Yu Gothic",YuGothic,"游ゴシック体","Lucida Grande","Hiragino Kaku Gothic ProN", Meiryo,sans-serif;
		font-family:"游ゴシック","Yu Gothic",YuGothic,"游ゴシック体","Lucida Grande","Hiragino Kaku Gothic ProN",Meiryo, sans-serif;
		font-weight: 400;
	}
}

.msn-contentnav {
	font-family:"游ゴシック","Yu Gothic",YuGothic,"游ゴシック体","Lucida Grande","Hiragino Kaku Gothic ProN",Meiryo, sans-serif;
	font-weight: 400;
}*/
.bg {
  position: relative;
  z-index: 2;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }
  .bg::after {
    content: "";
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100lvh;
    background: url("../img/top/bg01.png") top center/cover; }

.msn-h2__inner.wh {
  color: #fff; }

.main {
  position: relative;
  /*display: grid;
  grid-template-columns: calc(580% / 16) calc(440% / 16) calc(580% / 16);
  grid-template-rows: repeat(2, auto);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  @include mq($br_sp){
  	grid-template-columns: repeat(2, 1fr);
  	grid-template-rows: repeat(3, auto);
  }
  li {
  	&:nth-child(1) { grid-area: 1 / 2 / 3 / 3; }
  	&:nth-child(2) { grid-area: 1 / 1 / 2 / 2; }
  	&:nth-child(3) { grid-area: 1 / 3 / 2 / 4; }
  	&:nth-child(4) { grid-area: 2 / 1 / 3 / 2; }
  	&:nth-child(5) { grid-area: 2 / 3 / 3 / 4; }
  	@include mq($br_sp){
  	&:nth-child(1) { grid-area: 2 / 1 / 3 / 3; }
  	&:nth-child(2) { grid-area: 1 / 1 / 2 / 2; }
  	&:nth-child(3) { grid-area: 1 / 2 / 2 / 3; }
  	&:nth-child(4) { grid-area: 3 / 1 / 4 / 2; }
  	&:nth-child(5) { grid-area: 3 / 2 / 4 / 3; }
  	}
  }*/
  /*.slide_thum {
  	position: absolute;
  	//bottom: calc(50% / 6.55);
  	top: 15px;
  	right: 15px;
  	display: flex;
  	justify-content: flex-end;
  	width: 100%;
  	gap: 10px;
  	@include mq($br_sp){
  		//bottom: calc(75% / 7.6);
  		top:10px;
  		right: 10px;
  		gap: 5px;
  	}
  	li {
  		width: 15px;
  		height: 15px;
  		background: #b3b3b3;
  		background: #95dbd9;
  		transition: all 0.5s ease-in-out 0s;
  		@include mq($br_sp){
  			width: 10px;
  			height: 10px;
  		}
  		&.active {
  			background: #000;
  			background: #2bb7b3;
  		}
  	}
  }*/ }
  .main .m2 {
    display: flex; }
    @media screen and (max-width: 480px) {
      .main .m2 {
        flex-direction: column; }
        .main .m2 .cap {
          font-size: 6px;
          letter-spacing: -0.05em; } }
    .main .m2 > .l {
      width: calc(580% / 16); }
      @media screen and (max-width: 480px) {
        .main .m2 > .l {
          width: 100%;
          display: flex; } }
      .main .m2 > .l > li {
        position: relative; }
        .main .m2 > .l > li::after {
          content: "";
          position: absolute;
          inset: 0;
          pointer-events: none; }
        .main .m2 > .l > li:nth-child(1)::after {
          border-bottom: solid 2px #fff; }
          @media screen and (max-width: 480px) {
            .main .m2 > .l > li:nth-child(1)::after {
              border: none; } }
        .main .m2 > .l > li:nth-child(2)::after {
          border-top: solid 2px #fff; }
          @media screen and (max-width: 480px) {
            .main .m2 > .l > li:nth-child(2)::after {
              border: none; } }
    .main .m2 > .c {
      width: calc(440% / 16); }
      @media screen and (max-width: 480px) {
        .main .m2 > .c {
          width: 100%; } }
    .main .m2 > .r {
      width: calc(580% / 16);
      display: flex;
      flex-wrap: wrap; }
      @media screen and (max-width: 480px) {
        .main .m2 > .r {
          width: 100%; } }
      .main .m2 > .r > li {
        position: relative; }
        .main .m2 > .r > li.l {
          width: calc(320% / 5.8); }
        .main .m2 > .r > li.s {
          width: calc(260% / 5.8); }
        @media screen and (max-width: 480px) {
          .main .m2 > .r > li.sp1 {
            width: calc(265% / 7.5); } }
        @media screen and (max-width: 480px) {
          .main .m2 > .r > li.sp2 {
            width: calc(265% / 7.5); } }
        @media screen and (max-width: 480px) {
          .main .m2 > .r > li.sp3 {
            width: calc(220% / 7.5); } }
        @media screen and (max-width: 480px) {
          .main .m2 > .r > li.sp4 {
            width: calc(230% / 7.5); } }
        @media screen and (max-width: 480px) {
          .main .m2 > .r > li.sp5 {
            width: calc(255% / 7.5); } }
        .main .m2 > .r > li::after {
          content: "";
          position: absolute;
          inset: 0;
          pointer-events: none; }
        .main .m2 > .r > li:nth-child(1)::after {
          border-bottom: solid 2px #fff;
          border-right: solid 2px #fff; }
          @media screen and (max-width: 480px) {
            .main .m2 > .r > li:nth-child(1)::after {
              border: none; } }
        .main .m2 > .r > li:nth-child(2)::after {
          border-bottom: solid 2px #fff;
          border-left: solid 2px #fff; }
          @media screen and (max-width: 480px) {
            .main .m2 > .r > li:nth-child(2)::after {
              border: none; } }
        .main .m2 > .r > li:nth-child(3)::after {
          border-bottom: solid 2px #fff;
          border-top: solid 2px #fff;
          border-right: solid 2px #fff; }
          @media screen and (max-width: 480px) {
            .main .m2 > .r > li:nth-child(3)::after {
              border: none; } }
        .main .m2 > .r > li:nth-child(4)::after {
          border-bottom: solid 2px #fff;
          border-top: solid 2px #fff;
          border-left: solid 2px #fff; }
          @media screen and (max-width: 480px) {
            .main .m2 > .r > li:nth-child(4)::after {
              border: none; } }
        .main .m2 > .r > li:nth-child(5)::after {
          border-top: solid 2px #fff;
          border-right: solid 2px #fff; }
          @media screen and (max-width: 480px) {
            .main .m2 > .r > li:nth-child(5)::after {
              border: none; } }
        .main .m2 > .r > li:nth-child(6)::after {
          border-top: solid 2px #fff;
          border-left: solid 2px #fff; }
          @media screen and (max-width: 480px) {
            .main .m2 > .r > li:nth-child(6)::after {
              border: none; } }
  .main .slide_main > li {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: all 1.2s ease-in-out 0s;
    overflow: hidden; }
    .main .slide_main > li:first-child {
      position: relative; }
    .main .slide_main > li.active {
      opacity: 1; }
  .main .slide_thum {
    position: absolute;
    bottom: 10px;
    left: 10px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    z-index: 9;
    bottom: auto;
    top: 10px; }
    .main .slide_thum li {
      width: 75px;
      height: 1px;
      margin: 0 5px;
      background: #a78d46;
      transition: all .5s ease-in-out;
      cursor: pointer;
      position: relative; }
      .main .slide_thum li::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        transition: all 0s ease-in-out;
        background: #a78d46;
        height: 6px; }
      .main .slide_thum li.active::after {
        width: 100%;
        transition: all 5.5s ease-in-out; }
  .main .cap {
    line-height: 1.2;
    font-weight: 600;
    font-size: 11px;
    padding: 5px 5px; }
    @media screen and (max-width: 480px) {
      .main .cap {
        font-size: 10px; } }
  @media screen and (max-width: 480px) {
    .main .cap1 {
      bottom: calc(200% / 9.5); } }

.msn-obi {
  padding: calc(35% / 16) 0;
  background-color: #fff;
  border-bottom: solid 1px #888888; }
  @media screen and (max-width: 480px) {
    .msn-obi {
      padding: 0 15px;
      border-bottom: none; } }
  .msn-obi .msn-obi__inner {
    max-width: none;
    text-align: center; }
  .msn-obi .list {
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .msn-obi .list {
        flex-wrap: wrap;
        gap: 10px 0; } }
    @media screen and (max-width: 480px) {
      .msn-obi .list {
        gap: 0;
        flex-direction: column; } }
    .msn-obi .list .item {
      font-size: clamp(10px, calc(36vw / 16), 36px);
      letter-spacing: 0.2em;
      line-height: 1;
      font-weight: 600;
      padding: 0 1.2em;
      padding: 0 1em;
      border-right: solid 1px #888888;
      display: flex;
      align-items: center; }
      .msn-obi .list .item:last-child {
        border-right: none; }
      @media screen and (max-width: 767px) {
        .msn-obi .list .item {
          font-size: clamp(10px, calc(24vw / 7.67), 24px);
          width: 33.333%;
          justify-content: center; }
          .msn-obi .list .item:first-child {
            width: 100%;
            border-right: none; } }
      @media screen and (max-width: 480px) {
        .msn-obi .list .item {
          width: 100%;
          font-size: calc(23vw / 3.9);
          justify-content: center;
          padding: 0.6em 0 0.8em;
          border-right: none;
          border-bottom: solid 1px #888888; }
          .msn-obi .list .item:last-child {
            padding: 1em 0 1.1em; } }
      .msn-obi .list .item .c1 {
        color: #b49a2c; }
      .msn-obi .list .item .s1 {
        font-size: 50%;
        letter-spacing: 0.05em; }
      .msn-obi .list .item .s2 {
        font-size: 88%; }
      .msn-obi .list .item .s3 {
        font-size: 77%; }
      .msn-obi .list .item .s4 {
        font-size: 75%; }
      .msn-obi .list .item .s5 {
        font-size: 80%; }
      .msn-obi .list .item .s6 {
        font-size: 90%; }
      .msn-obi .list .item .s7 {
        font-size: 70%; }
      .msn-obi .list .item .l1 {
        font-size: 150%;
        display: inline-block;
        transform: translateY(0.05em);
        line-height: 0.66; }
      .msn-obi .list .item .l2 {
        font-size: 125%;
        display: inline-block;
        transform: translateY(0.02em);
        line-height: 0.8; }
      .msn-obi .list .item .l3 {
        font-size: 133%;
        display: inline-block;
        transform: translateY(0.05em);
        line-height: 0.75; }
      .msn-obi .list .item p.t01 {
        text-align: left;
        line-height: 1.1;
        margin-top: -0.3em; }
      .msn-obi .list .item p.t02 {
        line-height: 1.3; }
        @media screen and (max-width: 480px) {
          .msn-obi .list .item p.t02 {
            line-height: 1.5; } }
      .msn-obi .list .item p.t03 {
        line-height: 1.3; }
      .msn-obi .list .item p.t04 {
        line-height: 1; }
      .msn-obi .list .item p .t11 {
        transform: translateY(-0.3em); }
        @media screen and (max-width: 480px) {
          .msn-obi .list .item p .t11 {
            transform: none; } }
      .msn-obi .list .item .cap_r {
        letter-spacing: 0;
        font-size: clamp(10px, calc(12vw / 16), 12px); }
      .msn-obi .list .item.ex1 {
        text-align: center; }
        .msn-obi .list .item.ex1 .sp {
          display: inline-block;
          width: 0.3em; }
        @media screen and (max-width: 480px) {
          .msn-obi .list .item.ex1 {
            padding-bottom: calc(0.8em - 0.3em); } }
        .msn-obi .list .item.ex1 .inn {
          display: inline-block;
          position: relative; }
          @media screen and (max-width: 480px) {
            .msn-obi .list .item.ex1 .inn {
              display: flex;
              flex-direction: column;
              align-items: center;
              gap: 0.4em; } }
          .msn-obi .list .item.ex1 .inn .cap_r {
            position: absolute;
            right: 0.5em;
            top: calc(100% + 0.7em);
            font-size: clamp(10px, calc(12vw / 16), 12px);
            letter-spacing: 0; }
            @media screen and (max-width: 1200px) {
              .msn-obi .list .item.ex1 .inn .cap_r {
                top: calc(100% + 0.5em); } }
            @media screen and (max-width: 480px) {
              .msn-obi .list .item.ex1 .inn .cap_r {
                position: static;
                text-align: center; } }
      .msn-obi .list .item.ex3 {
        text-align: center; }
        .msn-obi .list .item.ex3 .inn {
          display: inline-block;
          position: relative; }
          .msn-obi .list .item.ex3 .inn .cap_r {
            position: absolute;
            right: 0;
            bottom: -1.2em;
            font-size: clamp(10px, calc(12vw / 16), 12px);
            letter-spacing: 0; }

.bg1 {
  padding: 6.25rem 0 0;
  margin-bottom: 6.25rem; }
  @media screen and (max-width: 767px) {
    .bg1 {
      padding: 5rem 0 0;
      margin-bottom: 5rem; } }

.info_red {
  color: #ad181f; }

.msn-topInfo__copy {
  font-size: 38px;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  font-weight: 400;
  font-weight: 500;
  font-weight: 700; }

.msn-topInfo__copy.c,
.msn-topInfo__copy .c {
  color: #907809; }

.msn-topInfo__copy .s1 {
  font-size: 90%; }

.msn-topInfo__copy .s2 {
  font-size: 80%; }

.msn-topInfo__copy .s3 {
  font-size: 70%; }

.msn-topInfo__copy .s4 {
  font-size: 60%; }

.msn-topInfo__copy .s5 {
  font-size: 50%; }

.msn-topInfo__copy .l1 {
  font-size: 110%; }

.msn-topInfo__copy .l2 {
  font-size: 120%; }

.msn-topInfo__copy .l3 {
  font-size: 130%; }

.msn-topInfo__copy .l4 {
  font-size: 140%; }

.msn-topInfo__copy .l5 {
  font-size: 150%; }

@media screen and (max-width: 1600px) {
  .msn-topInfo__copy {
    font-size: calc(38vw / 16); } }
@media screen and (max-width: 960px) {
  .msn-topInfo__copy {
    font-size: 2.8vw; } }
@media screen and (max-width: 767px) {
  .info_wrap {
    padding: 5px 20px 10px; }

  .msn-topInfo__copy {
    font-size: 5vw; } }
@media screen and (max-width: 500px) {
  .msn-topInfo__copy {
    font-size: 6.6vw;
    line-height: 1.5; } }
.read.lg {
  line-height: 1.8;
  margin-bottom: 0.8em; }
  @media screen and (max-width: 480px) {
    .read.lg {
      font-size: calc(15vw / 3.9); } }

.read {
  line-height: 1.8;
  margin-bottom: 0.8em; }
  @media screen and (max-width: 480px) {
    .read {
      font-size: calc(15vw / 3.9); } }

.msn-linkBlock {
  background: #f2f2f2; }

.inner {
  max-width: 960px;
  width: calc(100% - 40px);
  margin-inline: auto; }

.concept_wrap {
  margin-bottom: 6.25rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }
  @media screen and (max-width: 767px) {
    .concept_wrap {
      margin-bottom: 5rem; } }
  .concept_wrap .c1 {
    height: 100vh;
    position: relative; }
    .concept_wrap .c1 .inn {
      position: absolute;
      top: 0;
      left: 0;
      height: 100vh;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding-bottom: 5vw; }
      @media screen and (max-width: 480px) {
        .concept_wrap .c1 .inn {
          height: calc(100vh - 54px);
          padding-bottom: 25vw; } }
    .concept_wrap .c1 .t0 {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      width: 80%;
      margin-inline: auto; }
      .concept_wrap .c1 .t0 img {
        width: 100%; }
      @media screen and (max-width: 480px) {
        .concept_wrap .c1 .t0 {
          width: calc(100% - 30px);
          width: 100%; } }
    .concept_wrap .c1 .t1 {
      font-size: clamp(12px, calc(40vw / 16), 40px);
      font-size: clamp(12px, calc(44vw / 16), 44px);
      line-height: 1;
      letter-spacing: 0.3em;
      margin-bottom: 0.8em;
      font-weight: 700; }
      @media screen and (max-width: 480px) {
        .concept_wrap .c1 .t1 {
          font-size: calc(22vw / 3.9);
          font-size: calc(18vw / 3.9);
          font-size: calc(22vw / 3.9);
          margin-bottom: 1.1em; } }
    .concept_wrap .c1 .t2 {
      font-size: clamp(30px, calc(150vw / 16), 150px);
      font-size: clamp(30px, calc(160vw / 16), 160px);
      line-height: 1;
      letter-spacing: 0.1em;
      font-weight: 500; }
      @media screen and (max-width: 480px) {
        .concept_wrap .c1 .t2 {
          font-size: calc(40vw / 3.9);
          font-size: calc(65vw / 3.9);
          font-size: calc(75vw / 3.9);
          font-weight: 700; } }
    .concept_wrap .c1.b_start .inn {
      position: fixed; }
  .concept_wrap .c2 {
    height: 260vh;
    height: 70vh;
    height: 40vh;
    position: relative; }
    @media screen and (max-width: 480px) {
      .concept_wrap .c2 {
        height: 0; } }
    .concept_wrap .c2 .inn {
      position: fixed;
      top: 0;
      left: 0;
      height: 100vh;
      width: 100%;
      background: url("../img/top/c_bg.jpg") center center/cover;
      transition: all 0.7s linear 0s; }
      @media screen and (max-width: 480px) {
        .concept_wrap .c2 .inn {
          background: url("../img/top/c_bg_sp.jpg") top center/cover;
          height: calc(100vh - 54px); } }
  .concept_wrap .c3 {
    /*&.b_start {
    	.inn {
    		.l {
    			.in {
    				position: fixed;
    				width: calc(770% / 16);
    				top: 0;
    				@include mq($br_sp){
    					position: static;
    					width: 100%;
    				}
    			}
    		}
    	}
    }
    &.b_end {
    	.inn {
    		.l {
    			.in {
    				position: absolute;
    				width: 100%;
    				top:auto;
    				bottom:0;
    				@include mq($br_sp){
    					position: static;
    				}
    			}
    		}
    	}
    }*/ }
    .concept_wrap .c3 .inn {
      position: relative;
      display: flex;
      align-items: flex-start;
      color: #fff; }
      @media screen and (max-width: 480px) {
        .concept_wrap .c3 .inn {
          display: block;
          padding: 50px 20px;
          padding-top: 70px; } }
      .concept_wrap .c3 .inn .l {
        width: calc(770% / 16);
        width: calc(750% / 16);
        position: relative;
        position: sticky;
        top: 25vh; }
        @media screen and (max-width: 480px) {
          .concept_wrap .c3 .inn .l {
            position: static;
            width: 100%; } }
        .concept_wrap .c3 .inn .l .in {
          top: 0;
          left: 0;
          width: 100%;
          display: flex;
          justify-content: center;
          padding-bottom: 80px;
          padding-left: 60px; }
          @media screen and (max-width: 480px) {
            .concept_wrap .c3 .inn .l .in {
              padding-left: 0;
              padding-bottom: 40px;
              display: block;
              text-align: center; } }
          .concept_wrap .c3 .inn .l .in .t3 {
            display: flex;
            align-items: center;
            font-size: clamp(12px, calc(22vw / 16), 22px);
            line-height: 1;
            letter-spacing: 0.1em;
            margin-bottom: 3em;
            font-weight: 700; }
            @media screen and (max-width: 480px) {
              .concept_wrap .c3 .inn .l .in .t3 {
                font-size: calc(14vw / 3.9);
                justify-content: center; } }
            .concept_wrap .c3 .inn .l .in .t3::before {
              content: "";
              width: 1.2em;
              height: 1px;
              background: #fff;
              margin-right: 0.5em; }
            .concept_wrap .c3 .inn .l .in .t3::after {
              content: "";
              width: 1.2em;
              height: 1px;
              background: #fff;
              margin-left: 0.5em; }
          .concept_wrap .c3 .inn .l .in .t4 {
            font-size: clamp(14px, calc(40vw / 16), 40px);
            font-size: clamp(14px, calc(38vw / 16), 38px);
            line-height: 1;
            letter-spacing: 0.2em;
            margin-bottom: 0.8em;
            font-weight: 700; }
            @media screen and (max-width: 480px) {
              .concept_wrap .c3 .inn .l .in .t4 {
                font-size: calc(18vw / 3.9); } }
          .concept_wrap .c3 .inn .l .in .t5 {
            font-size: clamp(30px, calc(150vw / 16), 150px);
            font-size: clamp(30px, calc(135vw / 16), 135px);
            line-height: 1;
            letter-spacing: 0.1em;
            font-weight: 500; }
            @media screen and (max-width: 480px) {
              .concept_wrap .c3 .inn .l .in .t5 {
                font-size: calc(40vw / 3.9); } }
      .concept_wrap .c3 .inn .r {
        position: relative;
        width: calc(770% / 16);
        padding-bottom: 50vh;
        padding-bottom: 40px; }
        @media screen and (max-width: 480px) {
          .concept_wrap .c3 .inn .r {
            width: 100%;
            padding: 0; } }
        .concept_wrap .c3 .inn .r .t6 {
          font-size: clamp(12px, calc(21vw / 16), 21px);
          line-height: 2.6;
          letter-spacing: 0.1em;
          font-weight: 700;
          margin-bottom: 2.5em; }
          @media screen and (max-width: 480px) {
            .concept_wrap .c3 .inn .r .t6 {
              text-align: center;
              line-height: 2.2;
              font-size: calc(15vw / 3.9); } }
        .concept_wrap .c3 .inn .r .img {
          max-width: 770px; }

.feature .read {
  font-size: 18px;
  line-height: 2.1;
  margin-bottom: 0.8em;
  font-weight: 700; }
  @media screen and (max-width: 480px) {
    .feature .read {
      text-align: center;
      font-size: calc(14vw / 3.9); } }
  .feature .read.ex1 {
    font-weight: 400; }

#sec-feature {
  margin-bottom: 0;
  padding-bottom: 6.25rem;
  /*.msn-imageGrid__item {
      display: flex;
      flex-direction: column;
  }*/ }
  @media screen and (max-width: 767px) {
    #sec-feature {
      padding-bottom: 5rem; } }
  @media screen and (max-width: 480px) {
    #sec-feature .msn-imageGrid {
      width: calc(100% - 40px);
      margin-inline: auto;
      flex-direction: column;
      gap: 40px; } }
  #sec-feature .msn-imageGrid__item {
    flex-basis: calc(527% / 16); }
  #sec-feature .menu-item .img {
    position: relative;
    overflow: hidden; }
    #sec-feature .menu-item .img .ttl {
      position: absolute;
      left: 0;
      width: 100%;
      bottom: -0.18em;
      font-size: clamp(20px, calc(70vw / 16), 70px);
      line-height: 1;
      color: #fff;
      text-align: center; }
      @media screen and (max-width: 480px) {
        #sec-feature .menu-item .img .ttl {
          font-size: calc(55vw / 3.9); } }
  #sec-feature .menu-item .copy {
    text-align: center;
    background: #fff;
    padding: 20px;
    padding: 30px 20px;
    padding-bottom: 50px; }
    @media screen and (max-width: 480px) {
      #sec-feature .menu-item .copy {
        padding: 25px 15px;
        padding-bottom: 40px; } }
    #sec-feature .menu-item .copy .f1 {
      font-size: clamp(12px, calc(24vw / 16), 24px);
      font-size: clamp(12px, calc(22vw / 16), 22px);
      line-height: 1.6;
      text-align: center;
      margin-bottom: 0.8em;
      margin-bottom: 1.2em;
      letter-spacing: 0.1em;
      font-weight: 700; }
      @media screen and (max-width: 480px) {
        #sec-feature .menu-item .copy .f1 {
          font-size: calc(18vw / 3.9);
          font-size: calc(17vw / 3.9); } }
    #sec-feature .menu-item .copy .f2 {
      font-size: clamp(12px, calc(16vw / 16), 16px);
      font-size: clamp(12px, calc(18vw / 16), 18px);
      line-height: 1.6;
      text-align: center;
      margin-bottom: 1.2em;
      letter-spacing: 0.05em;
      min-height: 6.4em;
      font-weight: 400; }
      @media screen and (max-width: 480px) {
        #sec-feature .menu-item .copy .f2 {
          font-size: calc(12vw / 3.9);
          font-size: calc(14vw / 3.9); } }
    #sec-feature .menu-item .copy .f_btn {
      font-size: clamp(12px, calc(16vw / 16), 16px);
      font-size: clamp(12px, calc(18vw / 16), 18px);
      line-height: 1;
      letter-spacing: 0.05em;
      font-weight: 400;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1em;
      transition: all 0.3s ease-in-out; }
      @media screen and (max-width: 480px) {
        #sec-feature .menu-item .copy .f_btn {
          font-size: calc(12vw / 3.9);
          font-size: calc(14vw / 3.9); } }
      #sec-feature .menu-item .copy .f_btn::after {
        content: "";
        width: 0.5em;
        height: 0.5em;
        border-top: 1px solid #333;
        border-right: 1px solid #333;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
      #sec-feature .menu-item .copy .f_btn:hover {
        color: #b49a2c; }
        #sec-feature .menu-item .copy .f_btn:hover::after {
          border-color: #b49a2c; }
  #sec-feature .btn {
    margin-inline: auto;
    width: 6.8em;
    height: 6.8em;
    font-size: clamp(10px, calc(21vw / 16), 21px);
    line-height: 1;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    text-align: center;
    transition: all 0.3s ease-in-out 0s; }
    #sec-feature .btn:hover {
      background: rgba(255, 255, 255, 0.9); }
    #sec-feature .btn .t1 {
      color: #555555;
      padding-top: 0.5em;
      font-weight: 600; }
    #sec-feature .btn .t2 {
      color: #877543;
      font-size: 66.666%;
      font-weight: 600; }
    #sec-feature .btn .icon {
      width: 1em; }
    @media screen and (max-height: 800px) {
      #sec-feature .btn {
        font-size: clamp(10px, calc(18vw / 16), 18px); } }
    @media screen and (max-height: 700px) {
      #sec-feature .btn {
        font-size: clamp(10px, calc(16vw / 16), 16px); } }
    @media screen and (max-width: 480px) {
      #sec-feature .btn {
        font-size: calc(13vw / 3.9); } }
  #sec-feature .msn-buttonC {
    width: 100%; }
    @media screen and (max-width: 767px) {
      #sec-feature .msn-buttonC {
        width: auto; } }
  #sec-feature .msn-imageGrid {
    align-items: stretch; }
    #sec-feature .msn-imageGrid .msn-linkBlock__button {
      margin-top: auto; }
  @media screen and (max-width: 480px) {
    #sec-feature .msn-imageGrid__item:not(:last-child) {
      margin-bottom: 0; } }

.bg2 {
  padding: 80px 0 6.25rem;
  margin-bottom: 6.25rem; }
  @media screen and (max-width: 767px) {
    .bg2 {
      padding: 3.5rem 0 5rem;
      margin-bottom: 5rem; } }

#sec-plan .plan {
  max-width: 728px;
  margin-inline: auto; }
#sec-plan .read {
  margin-bottom: 2em; }
@media screen and (max-width: 767px) {
  #sec-plan .msn-c-madori__item {
    flex-basis: 100%;
    max-width: 300px;
    margin-inline: auto; } }
#sec-plan .msn-imageGrid--cols2--gap {
  width: 100%;
  max-width: 640px; }
  #sec-plan .msn-imageGrid--cols2--gap .msn-c-madori__item {
    flex-basis: calc(300% / 6.4); }
    @media screen and (max-width: 767px) {
      #sec-plan .msn-imageGrid--cols2--gap .msn-c-madori__item {
        flex-basis: 100%;
        max-width: 300px;
        margin-inline: auto; } }
#sec-plan .menu-item {
  background: none;
  height: auto;
  display: block;
  text-align: center; }
  @media screen and (max-width: 480px) {
    #sec-plan .menu-item img {
      width: 100%; } }
@media screen and (max-width: 480px) {
  #sec-plan #top_plan .msn-c-madori__item:not(:last-child) {
    margin-bottom: 2.5rem; } }
@media screen and (max-width: 480px) {
  #sec-plan #top_plan .msn-c-madori__item {
    max-width: 75%;
    max-width: 70%;
    margin-inline: auto; } }

.yokoku {
  max-width: 68px; }

@media screen and (max-width: 480px) {
  #sec-info .msn-newsTopicsBlock {
    gap: 14px; } }
@media screen and (max-width: 480px) {
  #sec-info .msn-newsTopicsBlock__title {
    font-size: 14px; } }
@media screen and (max-width: 480px) {
  #sec-info .msn-newsTopicsBlock__date {
    width: 105px; } }
@media screen and (max-width: 480px) {
  #sec-info .msn-newsTopicsBlock__content {
    width: calc(100% - 130px); } }
@media screen and (max-width: 480px) {
  #sec-info .msn-newsTopicsBlock__topicLabel {
    font-size: 9px;
    line-height: 10px;
    padding: 2px 3px; } }

sup {
  font-size: 50%;
  top: -1em; }

.info_bnr .cap {
  font-size: 10px;
  padding: 1px 3px; }
  @media screen and (max-width: 480px) {
    .info_bnr .cap {
      font-size: 9px; } }

.info_wa {
  max-width: 960px;
  margin: 0 auto;
  font-size: 15px;
  border: #d9d9d9 1px solid;
  padding: 10px 0;
  font-size: 14px; }

.info_wa p {
  line-height: 1.5; }
  .info_wa p.owabi_ttl.pl_ex {
    font-weight: 700;
    font-size: 15px; }
    @media screen and (max-width: 480px) {
      .info_wa p.owabi_ttl.pl_ex {
        font-size: 12.5px; } }

.owabi_box dt,
.owabi_ttl {
  text-indent: -0.5em !important; }
  .owabi_box dt .txt_in,
  .owabi_ttl .txt_in {
    display: block; }

@media screen and (max-width: 767px) {
  .info_wa {
    width: calc(100% - 30px);
    padding: 10px 10px 10px 5px;
    text-align: left;
    font-size: 10px;
    font-size: 12.5px;
    font-size: 11.5px;
    padding: 10px 5px;
    letter-spacing: 0.02em;
    width: 100%; }

  .owabi_ttl.idt {
    padding-left: 0;
    text-indent: 0 !important;
    text-align: center;
    letter-spacing: -0.04em; }

  .pl_ex {
    text-align: center; }

  /*.txt_in {
      display: block;
      text-align: left;
      width: fit-content;
      margin: 0 auto;
  }*/ }
@media (min-width: 768px) {
  .msn-section__container--narrow {
    max-width: 960px; } }
.msn-buttonMore {
  max-width: 200px;
  min-width: 200px; }
  .msn-buttonMore::after {
    display: none; }
  @media screen and (max-width: 767px) {
    .msn-buttonMore {
      max-width: 230px;
      min-width: 230px; } }

.msn-buttonD__label {
  font-family: "游明朝","Yu Mincho",YuMincho,"游明朝体","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝", serif;
  font-feature-settings: "palt"; }
  @media screen and (max-width: 767px) {
    .msn-buttonD__label {
      font-family: YakuHanMP,"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","游明朝",YuMincho,"游明朝体","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝",serif; } }

#sec-ekichika_no1,
#sec-compact_interview,
#sec-compact,
#sec-ekichika {
  margin-bottom: 0;
  padding-bottom: 6.25rem; }
  @media screen and (max-width: 767px) {
    #sec-ekichika_no1,
    #sec-compact_interview,
    #sec-compact,
    #sec-ekichika {
      padding-bottom: 5rem; } }

/**/
.features .msn-section__container {
  max-width: 100%;
  padding: 0; }

.features {
  position: relative;
  z-index: 2;
  /*padding-bottom: 40px;*/ }

/*.features::after {
	content: "";
	position: absolute;
	
	position: fixed;
	bottom:0;
	left:0;
	width: 100%;
	height: 58%;
	height: 100%;
	//background: #f5f5f5;
	//background: #f3f3f2;
	background-image: url("../img/top/bg01.png");
	background-size: cover;
	z-index: -1;
}*/
.features ul {
  max-width: 1800px;
  margin: 0 auto; }

.features ul li {
  margin-bottom: 90px; }

.features ul li:last-child {
  margin-bottom: 50px; }

.features ul li.con,
.features ul li a {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse; }

.features ul li:nth-child(2n) a {
  flex-direction: row; }

.features ul li .txt {
  box-sizing: border-box;
  width: 50%;
  padding: 110px 20px 0 220px;
  position: relative;
  z-index: 5; }

.features ul li:nth-child(2n) .txt {
  padding: 110px 20px 0 100px; }

.features ul li .txt .ttl {
  font-size: 28px;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  line-height: 1.5;
  color: #333333;
  margin-bottom: 35px; }

.features ul li .txt .en {
  position: absolute;
  z-index: -1;
  width: calc(530% / 5.6); }

.features ul li .txt::after {
  content: "";
  position: absolute;
  height: 1px;
  background: #e8e8e8; }

.features ul li.con .txt .en {
  left: 120px;
  top: 75px; }

.features ul li.con .txt::after {
  width: calc(270% / 5.6);
  right: -200px;
  top: 140px; }

.features ul li .txt .cttl {
  font-size: 23px;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  color: #333333;
  margin-bottom: 15px;
  line-height: 1.7; }

.features ul li .txt .in {
  display: inline-block; }

.features ul li .txt .read {
  font-size: 17px;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  line-height: 2.8;
  color: #333333;
  margin-bottom: 40px; }

.features ul li .txt .vmore {
  text-align: right; }

/*@media screen and (max-width: 1600px) {*/
.features ul li .txt {
  box-sizing: border-box;
  width: 50%;
  padding: calc(125% / 16) calc(20% / 16) 0 calc(100% / 16); }

/*.features ul li:first-child .txt {
	padding: calc(150% / 16) calc(20% / 16) 0 calc(220% / 16);
}*/
.features ul li:nth-child(2n) .txt {
  padding: calc(125% / 16) calc(20% / 16) 0 calc(160% / 16); }

.features ul li .txt .ttl {
  font-size: calc(28vw / 16);
  margin-bottom: calc(35% / 8); }

.features ul li .txt .en {
  width: calc(530% / 8); }

.features ul li.con .txt .en {
  left: calc(130% / 8);
  top: calc(100% / 7); }

.features ul li.con .txt::after {
  width: calc(290% / 8);
  right: calc(-180% / 8);
  top: calc(140% / 7); }

.features ul li.loc .txt .en {
  left: calc(-60% / 8);
  top: calc(20% / 5); }

.features ul li.loc .txt::after {
  width: calc(250% / 8);
  right: calc(140% / 8);
  top: calc(70% / 5); }

.features ul li.acc .txt .en {
  left: calc(140% / 8);
  top: calc(20% / 5); }

.features ul li.acc .txt::after {
  width: calc(320% / 8);
  right: calc(-50% / 8);
  top: calc(70% / 5); }

.features ul li.pla .txt .en {
  left: calc(-60% / 8);
  top: calc(20% / 5); }

.features ul li.pla .txt::after {
  width: calc(400% / 8);
  right: calc(180% / 8);
  top: calc(70% / 5); }

.features ul li .txt .cttl {
  font-size: calc(23vw / 16);
  margin-bottom: calc(15% / 8); }

.features ul li .txt .read {
  font-size: calc(17vw / 16);
  margin-bottom: calc(35% / 8); }

/*}*/
.features ul li .img {
  width: 50%;
  position: relative; }

.features ul li .img .img1 {
  /*width: calc(670% / 8);*/
  width: calc(680% / 8);
  margin: 0 0 0 auto;
  position: relative; }

.features ul li .img .img2 {
  width: calc(420% / 8);
  margin: calc(-80% / 8) auto 0 0;
  position: relative; }

.bg_sp {
  padding-top: 6.25rem;
  padding-top: 5rem;
  position: relative;
  		/*clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  		&::after {
  			content: "";
  			position: absolute;
  
  			position: fixed;
  			bottom:0;
  			left:0;
  			width: 100%;
  			height: 100%;
  			background-image: url("../img/top/bg01.png");
  			background-size: cover;
  			z-index: -1;
  		}*/ }

.concept_wrap02 {
  margin-bottom: 0; }

@media screen and (max-width: 767px) {
  .bg_sp {
    padding-top: 6.25rem; }

  .features::after {
    display: none; }

  .features ul li {
    margin-bottom: 50px; }

  .features ul li:last-child {
    margin-bottom: 20px; }

  .features ul li:last-child {
    margin-bottom: 0; }

  .features ul li a {
    flex-wrap: wrap;
    flex-direction: column-reverse; }

  .features ul li:nth-child(2n) a {
    flex-direction: column-reverse; }

  .features ul li.con {
    flex-wrap: wrap;
    flex-direction: column; }

  .features ul li .txt .in {
    display: inline-block; }

  .features ul li .txt {
    width: 100%;
    padding: calc(50vw / 7.67) 20px 30px;
    text-align: center; }

  .features ul li:first-child .txt {
    padding: calc(50vw / 7.67) 20px 10px; }

  .features ul li:nth-child(2n) .txt {
    padding: calc(50vw / 7.67) 20px 30px; }

  .features ul li .txt .ttl {
    font-size: calc(24vw / 7.67);
    margin-bottom: calc(35% / 7.67); }

  .features ul li.con .txt .en {
    left: 60px;
    top: 0;
    width: calc(100% - 60px); }

  .features ul li.con .txt::after {
    display: none; }

  .features ul li.tak .txt .en {
    left: 60px;
    top: 0; }

  .features ul li.tak .txt::after {
    display: none; }

  .features ul li.acc .txt .en {
    left: 60px;
    top: 0; }

  .features ul li.acc .txt::after {
    display: none; }

  .features ul li.loc .txt .en {
    left: 60px;
    top: 0; }

  .features ul li.loc .txt::after {
    display: none; }

  .features ul li.pla .txt .en {
    left: 60px;
    top: 0; }

  .features ul li.pla .txt::after {
    display: none; }

  .features ul li .txt .cttl {
    font-size: calc(23vw / 7.67);
    margin-bottom: calc(15% / 7.67); }

  .features ul li .txt .read {
    font-size: calc(17vw / 7.67);
    margin-bottom: calc(20% / 7.67); }

  .features ul li .txt .vmore {
    text-align: left;
    text-align: center; }

  .features ul li .img {
    width: 100%;
    position: relative;
    margin-bottom: 30px; }

  .features ul li.con .img {
    width: 100%;
    position: relative;
    margin-bottom: 0; } }
@media screen and (max-width: 480px) {
  .features ul li .txt .ttl {
    font-size: calc(24vw / 4.8);
    margin-bottom: calc(35% / 4.8); }

  .features ul li .txt .cttl {
    font-size: calc(22vw / 4.8);
    margin-bottom: calc(15% / 4.8); }

  .features ul li .txt .read {
    /*font-size: calc(16vw / 4.8);*/
    font-size: calc(17vw / 4.8);
    letter-spacing: 0.03em;
    line-height: 2;
    margin-bottom: calc(20% / 4.8); }

  .features ul li .img .img2 {
    width: calc(440% / 8); } }
.features ul li .txt .ttl {
  position: static;
  transition: all 1s ease-in-out 0.4s;
  opacity: 0;
  transform: translateY(15px); }

.features ul li .txt .en {
  transition: all 1s ease-in-out;
  opacity: 0;
  transform: translateY(15px); }

.features ul li .txt::after {
  transition: all 1s ease-in-out;
  opacity: 0;
  transform: translateY(15px); }

.features ul li .txt .cttl {
  transition: all 1s ease-in-out 0.7s;
  opacity: 0;
  transform: translateY(15px); }

.features ul li .txt .read {
  transition: all 1s ease-in-out 1s;
  opacity: 0;
  transform: translateY(15px); }

.features ul li .txt .vmore {
  transition: all 1s ease-in-out 1.3s;
  opacity: 0;
  transform: translateY(15px); }

.features ul li .img {
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transition: all 1.5s ease-in-out; }

.features ul li.p-view .txt .ttl {
  opacity: 1;
  transform: translateY(0);
  line-height: 1.75; }

.features ul li.p-view .txt .en {
  opacity: 1;
  transform: translateY(0); }

.features ul li.p-view .txt::after {
  opacity: 1;
  transform: translateY(0); }

.features ul li.p-view .txt .cttl {
  opacity: 1;
  transform: translateY(0); }

.features ul li.p-view .txt .read {
  opacity: 1;
  transform: translateY(0); }

.features ul li.p-view .txt .vmore {
  opacity: 1;
  transform: translateY(0); }

.features ul li.p-view .img {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }

.vmore p,
.vmore a {
  width: 180px;
  position: relative;
  display: inline-block;
  padding: 1px 22px 0 23px;
  border: 1px solid #111;
  border-radius: 22px;
  /*font-family: 'Libre Baskerville', serif;*/
  line-height: 42px;
  letter-spacing: 0.01em;
  transition: all .4s;
  font-size: 13px;
  font-weight: 700;
  text-align: center; }

.vmore.p p,
.vmore.p a {
  width: 200px;
  letter-spacing: normal;
  font-size: 13px; }

.vmore p span,
.vmore a span {
  position: relative;
  display: inline-block;
  padding-right: 35px; }

.vmore p span::after,
.vmore a span::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 17px;
  height: 5px;
  margin-top: -4px;
  background: url(../img/common/sec-btn-arrow-black.svg) 0 0 no-repeat;
  background-size: 17px 5px;
  transition: all .4s; }

body:not(.mobile) a:hover .vmore p,
body:not(.mobile) .vmore a:hover {
  background: #111;
  color: #fff; }

body:not(.mobile) a:hover .vmore p span::after,
body:not(.mobile) .vmore a:hover span::after {
  right: -10px;
  background: url(../img/common/sec-btn-arrow-white.svg) 0 0 no-repeat; }

.vmore.wh p,
.vmore.wh a {
  border: 1px solid #fff;
  color: #fff; }

.vmore.wh p span::after,
.vmore.wh a span::after {
  background: url("../img/common/sec-btn-arrow-white.svg") 0 0 no-repeat; }

body:not(.mobile) a:hover .vmore.wh p,
body:not(.mobile) .vmore.wh a:hover {
  background: #fff;
  color: #000; }

body:not(.mobile) a:hover .vmore.wh p span::after,
body:not(.mobile) .vmore.wh a:hover span::after {
  background: url("../img/common/sec-btn-arrow-black.svg") 0 0 no-repeat; }

@media screen and (max-width: 767px) {
  .vmore p,
  .vmore a {
    width: 120px;
    padding: 1px 6px 0 7px;
    border: 1px solid #111;
    border-radius: 20px;
    line-height: 30px;
    letter-spacing: -0.02em;
    font-size: 10px;
    background: #111;
    color: #fff; }

  .vmore.p p,
  .vmore.p a {
    width: 150px;
    font-size: 10px; }

  .vmore p span,
  .vmore a span {
    padding-right: 25px; }

  .vmore p span::after,
  .vmore a span::after {
    background: url(../img/common/sec-btn-arrow-white.svg) 0 0 no-repeat; } }
@media screen and (max-width: 480px) {
  .vmore p {
    width: 140px;
    font-size: 12px; }

  .vmore.p a {
    width: 180px;
    font-size: 12px; } }
.img_cap .grey {
  color: #C5C5C5;
  color: #DBDBDB;
  text-shadow: none;
  opacity: .8; }

.msn-section_plan {
  padding-bottom: 6.25rem; }
  @media screen and (max-width: 480px) {
    .msn-section_plan {
      padding-bottom: 5rem; } }

.w100 {
  width: 100% !important; }

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