@charset "UTF-8";

/* ---------------------------------------------------------------------- */
/* PC */
/* ---------------------------------------------------------------------- */
@media (min-width: 1001px) {

	/* mainvisual 
  ---------------------------------------------------------------------- */
	#mainvisual {
		height: 500px;
		min-height: auto;
		box-sizing: content-box;
		position: relative;
	}

	#mainvisual picture {
		width: 100%;
		height: 500px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}

	#mainvisual picture img {
		width: 100%;
		height: 500px;
		object-fit: cover;
		-o-object-fit: cover;
	}

	.mainvisual__ttl {
		color: #fff;
		font-size: 1.8rem;
		line-height: 1.3;
		letter-spacing: 0.1em;
		position: absolute;
		top: 55%;
		left: 50%;
		transform: translate(-50%, -50%);
		text-align: center;
	}

	.mainvisual__ttl span {
		font-size: 4rem;
		letter-spacing: 0.2em;
		font-weight: bold;
		display: block;
	}

	/* main-contents
  ---------------------------------------------------------------------- */
	.main-contents {
		padding: 9.5rem 0 11rem;
		position: relative;
	}

	.main-contents::after {
		content: "";
		display: block;
		position: absolute;
		z-index: -1;
		top: 0;
		width: 100%;
		height: 340px;
		background: linear-gradient(to top, rgba(239, 238, 232, 0) 0%, rgba(239, 238, 232, 0.1) 4.3%, rgba(239, 238, 232, 0.31) 14.03%, rgba(239, 238, 232, 0.49) 24.26%, rgba(239, 238, 232, 0.65) 34.8%, rgba(239, 238, 232, 0.78) 45.72%, rgba(239, 238, 232, 0.87) 57.17%, rgba(239, 238, 232, 0.95) 69.37%, rgba(239, 238, 232, 0.99) 82.82%, #efeee8 100%);
	}

	.content-area {
		background-color: #fff;
		padding: 2.2em 0.5em;
	}

	/* pagetop
  ---------------------------------------------------------------------- */
	#page-top {
		display: none;
		width: 80px;
		height: 80px;
		position: fixed;
		bottom: 0;
		right: 0;
		z-index: 10;
		transition: opacity 0.3s ease;
		cursor: pointer;
		display: none;
		background: url(../images/pagetop.svg);
		background-size: contain;
	}

	#page-top.stop {
		position: absolute;
		bottom: 0;
	}

	#page-top:hover {
		opacity: 0.8;
	}


	/* title
---------------------------------------------------------------------- */
	.ctitle {
		display: block;
		color: var(--primary-color);
		font-size: 3.6rem;
		letter-spacing: 0.06em;
		line-height: 1.4;
		font-weight: 600;
	}

	.ctitle .en {
		display: block;
		color: #C7B299;
		font-size: 1.4rem;
		letter-spacing: 0.16em;
		font-weight: 600;
		margin-top: 11px;
	}

	.citem-ttl {
		color: var(--secondary-color);
		font-size: 3rem;
		line-height: 1.23;
		letter-spacing: 0.06em;
		font-weight: bold;
	}

	.citem-ttl__en {
		display: block;
		font-size: 0.533em;
		font-weight: bold;
		margin-top: 0.7em;
		letter-spacing: 0.1em;
	}

	.csub-ttl {
		font-size: 2.4rem;
		font-weight: bold;
		letter-spacing: 0.06em;
		color: #5A3A1B;
		text-align: center;
	}

	.intro-ttl {
		font-size: 2.6rem;
		letter-spacing: 0.08em;
		line-height: 1.92;
		text-align: center;
		font-weight: 500;
	}

	.intro-ttl__em {
        display: block;
        font-size: 1.192em;
        letter-spacing: 0.08em;
        font-weight: bold;
	}

	/* btn
---------------------------------------------------------------------- */
	.cbtn {
		color: #fff;
		letter-spacing: 0.16em;
		font-size: 2.4rem;
		display: inline-flex;
		width: 374px;
		max-width: 100%;
		justify-content: center;
		align-items: center;
		position: relative;
		background: url(../images/icon_arrow01.svg) no-repeat center right 28px;
		background-size: 12px 16px;
		background-color: #325A49;
		padding: .892em;
	}

	.cbtn:hover {
		background-position: center right 24px;
	}

	.cbtn.cbtn--secondary {
		background-color: var(--secondary-color);
	}

	.clink-banner {
		height: 214px;
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		text-align: center;
	}

	.clink-banner::after {
		content: "";
		position: absolute;
		inset: 0;
		background: #998675;
		mix-blend-mode: multiply;
		pointer-events: none;
		z-index: 0;
		opacity: 1;
		transition: opacity 0.3s;
	}

	.clink-banner:hover {
		opacity: 1;
	}

	.clink-banner:hover::after {
		opacity: 0.5;
	}

	.clink-banner__bg {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 0;
	}

	.clink-banner__bg img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.clink-banner__body {
		position: relative;
		z-index: 1;
	}

	.clink-banner__ttl {
		display: block;
		font-size: 4.2rem;
		font-weight: 600;
		line-height: 1.8;
		letter-spacing: 0.06em;
		margin-bottom: 15px;
	}

	.clink-banner__ttl span {
		display: block;
		font-size: 1.4rem;
		font-weight: 600;
		letter-spacing: 0.16em;
	}

	.clink-banner__txt {
		display: block;
		font-size: 2.4rem;
		letter-spacing: 0.16em;
		font-weight: 500;
	}

	.clink-banner.clink-banner--large {
		height: 372px;
		padding-top: 65px;
	}

	.clink-banner.clink-banner--large .clink-banner__ttl {
		margin-bottom: 50px;
	}

	/* cnav
---------------------------------------------------------------------- */
	.cnav__list {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		row-gap: 4.3rem;
	}

	.cnav__list li a {
		color: #000;
		text-align: center;
		display: flex;
		justify-content: center;
		gap: 17px;
		line-height: 1;
		padding: 0 40px;
	}

	.cnav__list li a::after {
		content: "›";
		color: #5A3A1B;
		transform: rotate(95deg);
		display: inline-block;
	}

	.cnav__list li+li {
		border-left: 1px solid #C7B299;
	}

	/* cseparator
---------------------------------------------------------------------- */
	.cseparator  {
		position: relative;
		border-bottom: 2px solid #00422B;
	}

	.cseparator::before, .cseparator::after {
		content: "";
		display: block;
		width: 9px;
		height: 9px;
		background-color: #00422B;
		position: absolute;
		bottom: 0;
		border-radius: 50%;
		transform: translateY(calc(50% + 1px));
	}
	.cseparator::before {
		left: 0;
	}

	.cseparator::after {
		right: 0;
	}

	/* cphone-block
---------------------------------------------------------------------- */

	.cphone-block__item {
	    display: flex;
	    flex-direction: column;
    	justify-content: center;
	    align-items: center;
	}

	.cphone-block__item dt {
		width: 100%;
		font-size: 2rem;
		text-align: center;
		letter-spacing: 0.04em;
		padding: .025em;
		color: #fff;
		background-color: #6B0007;
	}

	.cphone-block__item dd {
        display: flex;
		justify-content: flex-end;
        font-size: 3rem;
		gap: 17px;
        letter-spacing: 0.04em;
        align-items: center;
		pointer-events: none;
	}

	.cphone-block__item dd::before {
		content: "";
		display: block;
		width: 30px;
		height: 30px;
		background: url(../images/icon_tel_w.svg) no-repeat;
		background-size: contain;
	}

	.cphone-block__item.cphone-block__item--free dt {
		background-color: #243353;
	}

	.cphone-block__item.cphone-block__item--free dd {
		gap: 15px;
	}

	.cphone-block__item.cphone-block__item--free dd:before {
		width: 40px;
		height: 28px;
		background: url(../images/icon_dial_w.svg) no-repeat;
		background-size: contain;
	}

	/* slider
---------------------------------------------------------------------- */
	#contents .slick-dotted.slick-slider {
		margin-bottom: 0;
	}

	#contents .slick-list,
	#contents .slick-track,
	#contents .slick-slide>div,
	#contents .slick-slide>div li,
	#contents .slick-slide {
		height: 100%;
	}

	#contents .slick-dots {
		display: flex;
		justify-content: center;
		bottom: 53px;
	}

	#contents .slick-dots li {
		max-width: 204px;
		flex: 1;
		height: 4px;
		margin: 0 3px;
		background: #DDCDB8;
		cursor: pointer;
	}

	#contents .slick-dots li button {
		display: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		outline: none;
		padding: 0;
		border: none;
		background-color: transparent;
	}

	#contents .slick-dots li:hover,
	#contents .slick-dots li.slick-active {
		background: #9F7D58;
	}
}

/* End PC */
/* ---------------------------------------------------------------------- */

/* ---------------------------------------------------------------------- */
/* SP */
/* ---------------------------------------------------------------------- */
@media (max-width: 1000px) {

	#mainvisual {
		width: 100%;
		position: relative;
		overflow: hidden;
		height: calc(500 / 750 * 100vw);
	}

	#mainvisual picture {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}

	#mainvisual picture img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.mainvisual__ttl {
		font-size: 3.2rem;
        position: absolute;
		width: 100%;
        top: 60%;
        left: 50%;
        transform: translate(-50%, -50%);
		color: #fff;
		letter-spacing: 0.1em;
		text-align: center;
	}

	.mainvisual__ttl span {
		font-size: 1.9em;
		letter-spacing: 0.08em;
		font-weight: bold;
		display: block;
	}

	/* main-contents
  ---------------------------------------------------------------------- */
	.main-contents {
		padding: 14rem 0 14rem;
		position: relative;
	}

	.main-contents::after {
		content: "";
		display: block;
		position: absolute;
		z-index: -1;
		top: 0;
		width: 100%;
		height: 50vw;
		background: linear-gradient(to top, rgba(239, 238, 232, 0) 0%, rgba(239, 238, 232, 0.1) 4.3%, rgba(239, 238, 232, 0.31) 14.03%, rgba(239, 238, 232, 0.49) 24.26%, rgba(239, 238, 232, 0.65) 34.8%, rgba(239, 238, 232, 0.78) 45.72%, rgba(239, 238, 232, 0.87) 57.17%, rgba(239, 238, 232, 0.95) 69.37%, rgba(239, 238, 232, 0.99) 82.82%, #efeee8 100%);
	}

	.content-area {
		background-color: #fff;
		padding: 2.2em 0.5em;
	}

	/* pagetop
  ---------------------------------------------------------------------- */
	#page-top {
		display: none;
		width: 80px;
		height: 80px;
		position: fixed;
		bottom: 0;
		right: 0;
		z-index: 10;
		transition: opacity 0.3s ease;
		cursor: pointer;
		display: none;
		background: url(../images/pagetop.svg);
		background-size: contain;
	}

	#page-top.stop {
		position: absolute;
		bottom: 0;
	}

	#page-top:hover {
		opacity: 0.8;
	}


	/* title
---------------------------------------------------------------------- */
	.ctitle {
		display: block;
		color: var(--primary-color);
		font-size: 4.8rem;
		letter-spacing: 0.06em;
		line-height: 1.4;
		font-weight: 600;
	}

	.ctitle .en {
		display: block;
		color: #C7B299;
		font-size: max(10px,0.389em);
		letter-spacing: 0.16em;
		font-weight: 600;
		margin-top: 11px;
	}

	.citem-ttl {
		color: var(--secondary-color);
		font-size: 4.8rem;
		line-height: 1.23;
		letter-spacing: 0.06em;
		font-weight: bold;
	}

	.citem-ttl__en {
		display: block;
		font-size: 0.533em;
		font-weight: bold;
		margin-top: 0.7em;
		letter-spacing: 0.1em;
	}

	.csub-ttl {
		font-size: 3.6rem;
		font-weight: bold;
		letter-spacing: 0.06em;
		color: #5A3A1B;
		text-align: center;
	}

	.intro-ttl {
		font-size: calc( 36 / 750 * 100vw);
		letter-spacing: 0.08em;
		line-height: 1.92;
		text-align: center;
		font-weight: 500;
	}

	.intro-ttl__em {
        display: block;
        font-size: 1.192em;
        letter-spacing: 0.08em;
        font-weight: bold;
	}

	/* btn
---------------------------------------------------------------------- */
	.cbtn {
		color: #fff;
		letter-spacing: 0.16em;
		font-size: 3.6rem;
		display: inline-flex;
		width: 100%;
		justify-content: center;
		align-items: center;
		position: relative;
		background: url(../images/icon_arrow01.svg) no-repeat center right 6%;
		background-size: 0.5em 0.667em;
		background-color: #325A49;
		padding: .892em;
	}

	.cbtn:hover {
		background-position: center right 24px;
	}

	.cbtn.cbtn--secondary {
		background-color: var(--secondary-color);
	}

	.clink-banner {
		padding: 1em 0 1.5em ;
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		text-align: center;
	}

	.clink-banner::after {
		content: "";
		position: absolute;
		inset: 0;
		background: #998675;
		mix-blend-mode: multiply;
		pointer-events: none;
		z-index: 0;
		opacity: 1;
		transition: opacity 0.3s;
	}

	.clink-banner:hover {
		opacity: 1;
	}

	.clink-banner:hover::after {
		opacity: 0.5;
	}

	.clink-banner__bg {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 0;
	}

	.clink-banner__bg img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.clink-banner__body {
		position: relative;
		z-index: 1;
	}

	.clink-banner__ttl {
		display: block;
		font-size: 6rem;
		font-weight: 600;
		line-height: 1.8;
		letter-spacing: 0.06em;
		margin-bottom: 1em;
	}

	.clink-banner__ttl span {
		display: block;
		font-size: 0.429em;
		font-weight: 600;
		letter-spacing: 0.16em;
	}

	.clink-banner__txt {
		display: block;
		font-size: 3.6rem;
		letter-spacing: 0.16em;
		font-weight: 500;
	}

	/* cnav
---------------------------------------------------------------------- */
	.cnav__list {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		row-gap: 3rem;
	}

	.cnav__list li a {
		color: #000;
		text-align: center;
		display: flex;
		justify-content: center;
		gap: 1.7rem;
		line-height: 1;
		padding: 0 1.5em;
	}

	.cnav__list li a::after {
		content: "›";
		color: #5A3A1B;
		transform: rotate(95deg);
		display: inline-block;
	}

	.cnav__list li+li {
		border-left: 1px solid #C7B299;
	}

	/* cseparator
---------------------------------------------------------------------- */
	.cseparator  {
		position: relative;
		border-bottom: 2px solid #00422B;
	}

	.cseparator::before, .cseparator::after {
		content: "";
		display: block;
		width: 9px;
		height: 9px;
		background-color: #00422B;
		position: absolute;
		bottom: 0;
		border-radius: 50%;
		z-index: 1;
		transform: translateY(calc(50% + 1px));
	}
	.cseparator::before {
		left: 0;
	}

	.cseparator::after {
		right: 0;
	}

	/* cphone-block
---------------------------------------------------------------------- */

	.cphone-block__item {
	    display: flex;
	    flex-direction: column;
    	justify-content: center;
	    align-items: center;
	}

	.cphone-block__item dt {
		width: 100%;
		font-size: calc( 28 / 750 * 100vw);
		text-align: center;
		letter-spacing: 0.04em;
		padding: .025em;
		color: #fff;
		background-color: #6B0007;
	}

	.cphone-block__item dd {
        display: flex;
		justify-content: flex-end;
        font-size: calc( 48 / 750 * 100vw);
		gap: 0.567em;
        letter-spacing: 0.04em;
        align-items: center;
		pointer-events: none;
	}

	.cphone-block__item dd::before {
		content: "";
		display: block;
		width: 1em;
		height: 1em;
		background: url(../images/icon_tel_w.svg) no-repeat;
		background-size: contain;
	}

	.cphone-block__item.cphone-block__item--free dt {
		background-color: #243353;
	}

	.cphone-block__item.cphone-block__item--free dd {
		gap: 0.5em;
	}

	.cphone-block__item.cphone-block__item--free dd:before {
		width: 1.333em;
		height: 0.933em;
		background: url(../images/icon_dial_w.svg) no-repeat;
		background-size: contain;
	}

	/* slider
---------------------------------------------------------------------- */
	#contents .slick-dotted.slick-slider {
		margin-bottom: 0;
	}

	#contents .slick-list,
	#contents .slick-track,
	#contents .slick-slide>div,
	#contents .slick-slide>div li,
	#contents .slick-slide {
		height: 100%;
	}

	#contents .slick-dots {
		display: flex;
		justify-content: center;
		bottom: 3.5vw;
	}

	#contents .slick-dots li {
		width: 16rem;
		height: 3px;
		margin: 0 3px;
		background: #DDCDB8;
		cursor: pointer;
	}

	#contents .slick-dots li button {
		display: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		outline: none;
		padding: 0;
		border: none;
		background-color: transparent;
	}

	#contents .slick-dots li:hover,
	#contents .slick-dots li.slick-active {
		background: #9F7D58;
	}
}

/* End @media (max-width:1000px) */