@charset "UTF-8";
.common__btn {
  padding: 40px;
  text-align: center;
  width: 300px;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
}

* {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0;
}

ol li,
ul li {
  list-style: none;
}

a {
  text-decoration: none;
}

/* A Modern CSS Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role="list"],
ol[role="list"] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

main img,
main picture {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
body {
  font-family: "Noto Sans JP", sans-serif;
}

/* Clamp */
.mt-1 {
  margin-top: 5px !important;
}

.mt-2 {
  margin-top: 10px !important;
}

.mt-3 {
  margin-top: 20px !important;
}

.mt-4 {
  margin-top: 30px !important;
}

.pl20 {
  padding-left: 20px;
}

body {
  margin: 0 auto;
  max-width: 1230px;
  width: 100%;
}

.gradation-wrapper {
  background: linear-gradient(to bottom, #fff, #ececec);
}

a {
  transition: 0.3s all;
}
a:hover {
  opacity: 0.7;
  transition: 0.3s all;
}

a.anchor{
  display: block;
  padding-top: 171px;
  margin-top: -171px;
}

@media (max-width: 960px) {
  a.anchor{
    display: block;
    padding-top: 96px;
    margin-top: -96px;
  }
	img{
		width: 100%;
	}
}
@media screen and (min-width: 961px) {
  .pc-none {
    display: none!important;
  }
}
@media screen and (max-width: 960px) {
  .sp-none {
    display: none!important;
  }
}
.best-hero {
    width: 100%;
    display: block;
}
.side-nav-1 {
  position: fixed;
  right: 0;
  top: 440px;
  transform: translateY(-50%);
  width: 115px;
  z-index: 150;
}
@media (max-width: 960px) {
  .side-nav-1 {
 display: none;
  }
}

.side-nav-2 {
  position: fixed;
  right: 0;
  top: 520px;
  transform: translateY(-50%);
  width: 115px;
  z-index: 150;
}

  .side-nav-2 {
    display: none;
  }
}
.ecm-lp-navi {
  padding: 20px 20px;
}
.ecm-lp-navi-btn {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
.ecm-lp-navi a {
  width: 50%;
  display: block;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  background: #c6aa76;
  color: #fff !important;
  padding: 17px 27px 18px 10px;
  transition: opacity .3s;
  letter-spacing: .05em;
  position: relative;
}
.ecm-lp-navi a + a {
  background: #ca001b;
  padding: 17px 10px 18px;
  letter-spacing: .08em;
}
.ecm-lp-navi a::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(135deg);
  vertical-align: 4px;
  margin: 0 -30px 0 15px;
}
.ecm-lp-navi a + a::after {
  right: 30px;
}
@media screen and (max-width: 960px) {
  .ecm-lp-navi {
    position: sticky;
    top: 60px;
    left: 0;
    right: 0;
    height: calc(85 / 750 * 100vw);
    padding: 0 !important;
    z-index: 1000;
  }
  .ecm-lp-navi-btn {
    height: calc(95 / 750 * 100vw);
    padding: 0;
  }
  .ecm-lp-navi a {
    width: 50%;
    font-size: calc(28 / 750 * 100vw);
    padding: calc(11 / 750 * 100vw) calc(54 / 750 * 100vw) calc(11 / 750 * 100vw) calc(20 / 750 * 100vw);
    line-height: calc(35 / 750 * 100vw);
  }
  .ecm-lp-navi a + a {
    padding: calc(11 / 750 * 100vw) calc(54 / 750 * 100vw) calc(11 / 750 * 100vw) calc(20 / 750 * 100vw);
  }
  .ecm-lp-navi a::after {
    display: block;
    width: calc(18 / 750 * 100vw);
    height: calc(18 / 750 * 100vw);
    border-top-width: calc(4 / 750 * 100vw);
    border-right-width: calc(4 / 750 * 100vw);
    position: absolute;
    right: calc(35 / 750 * 100vw);
    top: 0;
    bottom: 0;
    margin: auto 0;
  }
  .ecm-lp-navi a + a::after {
    right: calc(42 / 750 * 100vw);
  }
}
.cta{
	border: solid 5px #ca001b;
	background-color: #fff;
	width: 690px;
	margin: 0 auto;
}
.cta .cta-inner{
    border: solid 1px #ca001b;
	margin: 2px;
	padding: 10px;
	display: flex;
	flex-direction: column;
    align-items: center;
}
.cta p img{
	width: 425px;
	padding-bottom: 10px;
}
@media screen and (max-width: 960px) {
.cta{
	width: 90%;
}
.cta .cta-inner{
	padding: 10px 20px;
}
}

.carousel{
	width: 960px;
	overflow-x: scroll;
	margin: 0 auto 40px auto;
	padding-bottom: 15px;
}
.carousel .carousel-inner{
	height: 220px;
	width: 1733px;
}
.carousel::-webkit-scrollbar {
  height: 6px; /* スクロールバーの高さ */
}
 
.carousel::-webkit-scrollbar-thumb {
  background: #fff; /* ツマミの色 */
  border-radius: 100px; /* ツマミ両端の丸み */
}
 
.carousel::-webkit-scrollbar-track {
  background: #d4bd9d; /* トラックの色 */
  border-radius: 100px; /* トラック両端の丸み */
}

@media screen and (max-width: 960px) {
.carousel{
	width: 95%;
	margin: 0 0 20px 5%;
}
.carousel .carousel-inner{
	height: 160px;
	width: 1261px;
}
.carousel::-webkit-scrollbar {
  height: 6px; /* スクロールバーの高さ */
}
 
.carousel::-webkit-scrollbar-thumb {
  background: #fff; /* ツマミの色 */
  border-radius: 100px; /* ツマミ両端の丸み */
}
 
.carousel::-webkit-scrollbar-track {
  background: #d4bd9d; /* トラックの色 */
  border-radius: 100px; /* トラック両端の丸み */
}
}


.grad-wrap {
  position: relative;
  padding-bottom: 60px;
}
.grad-wrap + .grad-wrap {
  margin-top: 40px;
}


.grad-btn {
  z-index: 2;
  position: absolute;
  right: 0;
  top: 20px;
  left: 0;
  width: 440px;
  height: 40px;
  margin: auto;
  padding: .4em 0;
  border-radius: 2px;
  background: #000;
  color: #fff;
  font-size: 1.1rem;
  text-align: center;
  cursor: pointer;
  transition: .2s ease;
  box-shadow: 0 0 3px rgba(0, 0, 0, .3);
}
.grad-trigger:checked ~ .grad-btn.clse {
  display: block;
}
.grad-btn[for="trigger2"] {
  top: 533px;
}
.grad-btn.clse {
  position: absolute;
  top: auto;
  bottom: 0 !important;
  display: none;
  z-index: 10;
}
.grad-btn.clse[for="trigger2"] {
  bottom: 40px !important;
}
.grad-btn::after{
    content: "";
    display: block;
    margin-left: 1em;
    width: 15px;
    height: 15px;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 24px;
    top: 0;
    bottom: 6px;
    margin: auto 0;
}
.grad-btn.clse::after{
  transform: rotate(-135deg);
  top: 8px;
  bottom: 0;
}


@media screen and (max-width: 960px) {
  .grad-wrap {
    padding-bottom: calc(100 / 750 * 100vw);
  }
  .grad-btn {
    width: calc(650 / 750 * 100vw);
    height: calc(80 / 750 * 100vw);
    top: calc(40 / 750 * 100vw);
    font-size: calc(30 / 750 * 100vw);
    padding: calc(20 / 750 * 100vw) 0;
  }
  .grad-btn::after{
    display: inline-block;
    margin-left: calc(24 / 750 * 100vw);
    width: calc(20 / 750 * 100vw);
    height: calc(20 / 750 * 100vw);
    position: static;
    vertical-align: calc(10 / 750 * 100vw);
  }
  .grad-btn.clse::after{
    vertical-align: 0;
  }
  .grad-btn[for="trigger2"] {
    top: calc(408 / 750 * 100vw);
  }
  .grad-btn.clse {
    top: auto;
    bottom: calc(30 / 750 * 100vw) !important;
  }
  .grad-btn.clse[for="trigger2"] {
    bottom: calc(60 / 750 * 100vw) !important;
  }
}

.grad-btn .fa {
  margin-right: .5em;
}
.grad-item {
  position: relative;
  overflow: hidden;
  height: 0px;
}
.grad-btn[for="trigger2"] + .grad-item {
  position: relative;
  overflow: hidden;
  height: 750px;
}

@media screen and (max-width: 960px) {
  .grad-item {
    height: calc(0 / 750 * 100vw);
  }
  .grad-btn[for="trigger2"] + .grad-item {
    height: calc(850 / 750 * 100vw);
    background: #fbfbfb;
  }
}

.grad-item p + p {
  margin-top: 1em;
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100px; /*グラデーションで隠す範囲*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
.grad-trigger {
  display: none;
}
.grad-trigger:checked + .grad-btn {
  display: none;
}
.grad-trigger:checked ~ .grad-item {
  height: auto;
}
.grad-trigger:checked ~ .grad-item::before {
  display: none;
}


.ecm-lp-banner {
  padding: 30px 20px 35px 20px;
}
.ecm-lp-banner h2 {
  text-align: center;
  max-width: 500px;
  margin: 85px auto 50px;
  font-size: 32px;
  letter-spacing: 0.035em;
  border-bottom: 3px solid #d80c18;
  padding-bottom: 15px;
}
.ecm-lp-banner ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 957px;
  margin: 0 auto;
  padding: 0;
}
.ecm-lp-banner ul li {
  width: 44.9%;
  margin: 0 0 50px;
  display: block;
}

.ecm-lp-banner ul li a {
  display: block;
  transition: opacity .3s;
}
@media screen and (max-width: 960px) {
  .ecm-lp-banner {
    padding: 30px calc(20 / 750 * 100vw) calc(20 / 750 * 100vw);
  }
  .ecm-lp-banner h2 {
    margin: 0 auto calc(45 / 750 * 100vw);
    font-size: calc(47 / 750 * 100vw);
    padding-bottom: calc(25 / 750 * 100vw);
    max-width: inherit;
  }
  .ecm-lp-banner ul {
    display: block;
    padding: 0 calc(10 / 750 * 100vw);
  }
  .ecm-lp-banner ul li {
    width: 100%;
    margin: 0 0 calc(45 / 750 * 100vw);
  }
}
.ecm-lp-navi a:hover{
	opacity: 1!important;
}
.lp-navi-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0 !important;
    padding: 0;
    list-style: none;
}
.best-hero p{
	display: flex;
	padding: 35px 0 20px 0;
	justify-content: center;
}
@media screen and (max-width: 960px) {
.best-hero p{
	width: 100%;
	margin-bottom: 0px;
}
}

/*===============================================
 navi
===============================================*/
@media screen and (max-width: 960px) {
  .sec-navi {
    position: -webkit-sticky;
    position: sticky;
    top: calc(60px + var(--mcp-header-height) + var(--ecm-header-height));
    left: 0;
    right: 0;
    z-index: 100;
  }
}
.sec-navi-in {
  display: flex;
  max-width: 1230px;
  margin: 0 auto;
  background-color: #fff;
}
.sec-navi-in > a {
  display: block;
}
@media screen and (max-width: 960px) {
  .sec-navi-in > a {
    width: 50%;
  }
}
.sec-navi-in > a > picture > img {
  display: block;
}
@media screen and (max-width: 960px) {
  .sec-navi-in > a > picture > img {
    width: 100%;
  }
}

.ecm-lp-banner{
	padding: 50px 0;
}
.ecm-lp-banner h3{
	display: flex;
	justify-content:center;
	padding-bottom: 20px;
	max-width:957px;
	margin: 0 auto 50px auto;
}

@media screen and (max-width: 960px) {
	.ecm-lp-banner {
		padding: 30px calc(20 / 750 * 100vw) calc(20 / 750 * 100vw);
	}
	.ecm-lp-banner h3 {
		width: 80%;
		margin: 0 auto;
		padding-bottom:10px;
		margin-bottom: 20px;
	}
	.ecm-main{
		padding-left: 0!important;
			padding-right: 0!important;
	}
}

.sec-1{
	display: flex;
	padding: 75px 0;
	justify-content: center;
}
.sec-2{
	width: 960px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.sec-2 .sec-2-item{
	width: 402px;
	margin-bottom: 80px;
}
.sec-2 .sec-2-item h3{
    text-align: center;
    font-size: 24px;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    line-height: 1.3076923077;
	padding-bottom: 15px;
}
.sec-2-item-pic{
	padding-bottom: 30px;
}
.sec-2-item-set{
}
.accordion {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
position: relative;
	height: 75px;
}
.accordion__summary {
  list-style: none; /* 矢印を消す */
	position: absolute;
	bottom: 0;
}
.accordion__summary::-webkit-details-marker {
  display: none;
}
.accordion[open] .open{
  display: none;
}
.accordion:not([open]) .close{
  display: none;
}
.accordion[open] {
  height: auto;
	padding-bottom: 75px;
}
.accordion__detail{
	position: relative;
}
.item1 .accordion__detail h4{
	position: absolute;
	top:210px;
	text-align: center;
	width: 100%;
	font-size: 18px;
}
.item2 .accordion__detail h4{
	position: absolute;
	top:275px;
	text-align: center;
	width: 100%;
	font-size: 18px;
}
.item3 .accordion__detail h4{
	position: absolute;
	top:200px;
	text-align: center;
	width: 100%;
	font-size: 18px;
}
.item4 .accordion__detail h4{
	position: absolute;
	top:270px;
	text-align: center;
	width: 100%;
	font-size: 18px;
}
.sec-2 .sec-2-item.item4 h3 {
    letter-spacing: -0.07em;
}
.sec-2 .sec-2-item .morebtn{
	width: 60%;
	margin: 25px auto 30px auto;
}
.sec-3{
	width: 960px;
	margin: 0 auto 175px auto;
}
.sec-3 .morebtn{
	margin-top: -70px;
}
.sec-3 .morebtn img{
	width: 23%;
}
.ecm-lp-banner h3{
	width: 255px;
}
@media (max-width: 960px) {
.sec-1{
	display: flex;
	padding: 40px 0;
	justify-content: center;
	margin: auto 10%;
}
.sec-2{
	width: 90%;
	margin: 0 auto;
	display: flex;
flex-wrap: nowrap;
        flex-direction: column;
        justify-content: center;
}
.sec-2 .sec-2-item{
	width: 100%;
	margin-bottom: 80px;
}
.sec-2 .sec-2-item h3{
    text-align: center;
    font-size: 24px;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    line-height: 1.3076923077;
	padding-bottom: 15px;
}
.sec-2-item-pic{
	padding-bottom: 40px;
}
.sec-2-item-set{
	padding-top: 40px;
}
.accordion {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
position: relative;
	height: 17vw;
}
.accordion__summary {
  list-style: none; /* 矢印を消す */
	position: absolute;
	bottom: 0;
}
.accordion__summary::-webkit-details-marker {
  display: none;
}
.accordion[open] .open{
  display: none;
}
.accordion:not([open]) .close{
  display: none;
}
.accordion[open] {
  height: auto;
	padding-bottom: 17vw;
}
.accordion__detail{
	position: relative;
}
.item1 .accordion__detail h4{
	position: absolute;
	top:48vw;
	text-align: center;
	width: 100%;
	font-size: 4vw;
	line-height: 100%
}
.item2 .accordion__detail h4{
	position: absolute;
	top:63vw;
	text-align: center;
	width: 100%;
	font-size: 4vw;
	line-height: 100%
}
.item3 .accordion__detail h4{
	position: absolute;
	top:46vw;
	text-align: center;
	width: 100%;
	font-size: 4vw;
	line-height: 120%
}
.item4 .accordion__detail h4{
	position: absolute;
	top:62vw;
	text-align: center;
	width: 100%;
	font-size: 4vw;
	line-height: 100%
}
.sec-2 .sec-2-item.item4 h3 {
    letter-spacing: -0.07em;
}
.sec-2 .sec-2-item .morebtn{
	width: 60%;
	margin: 25px auto 30px auto;
}
.sec-3{
	width: 90%;
	margin: 0 auto 45px auto;
}
.sec-3 .morebtn{
	width: 60%;
	margin: 30px auto 0 auto;
}
.sec-3 .morebtn img{
	width: 100%;
}
.ecm-lp-banner h3{
	width: 200px;
}
}
