@charset "UTF-8";

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

	/* mainvisual 
  ---------------------------------------------------------------------- */
	#mainvisual {
		height: 410px;
		min-height: auto;
		box-sizing: content-box;
		position: relative;
		border-bottom: 1px solid var(--primary-color);
	}

	#mainvisual::after {
		content: "";
		position: absolute;
		display: block;
		width: 100%;
		height: 2px;
		left: 0;
		background-color: var(--primary-color);
		bottom: -6px;
	}

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

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

	.mainvisual__ttl {
		color: #fff;
		font-size: 3.4rem;
		letter-spacing: 0em;
		position: absolute;
		top: 52%;
		left: 50%;
		transform: translate(-50%, -50%);
		text-align: center;
		filter: drop-shadow(0 0 10px rgba(76, 33, 2, 0.75));
	}

	.mainvisual__ttl span {
		font-size: 8rem;
		font-family: "Dancing Script", cursive;
		line-height: 1;
		display: block;
	}

	/* 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 .enfont {
		display: block;
		color: var(--secondary-color);
		font-size: 6rem;
		line-height: 1.4;
	}


	/* btn
---------------------------------------------------------------------- */
	.cbtn {
		color: var(--accent-color);
		line-height: 1.75;
		font-size: 2.2rem;
		display: inline-flex;
		align-items: center;
		gap: 10px;
		position: relative;
		transition: gap 0.3s;
	}

	.cbtn:hover {
		gap: 28px;
	}

	.cbtn::after {
		content: "";
		display: block;
		width: 2.273em;
		height: 2.273em;
		background: url(../images/icon_arrow.svg) no-repeat center;
		background-size: contain;
	}

	.cbtn.cbtn--primary {
		color: var(--primary-color);
	}

	.cbtn.cbtn--primary::after {
		background-image: url(../images/icon_arrow_primary.svg);
	}

	.cbtn.cbtn--black {
		color: #313131;
	}

	.cbtn.cbtn--black::after {
		background-image: url(../images/icon_arrow_bk.svg);
	}

	.cbtn-arrow {
		font-size: 2.2rem;
		line-height: 1.45;
		letter-spacing: 0;
		width: 441px;
		max-width: 100%;
		display: inline-flex;
		align-items: center;
		border: none;
		justify-content: center;
		cursor: pointer;
		padding: .78em 1em .78em 1em;
		background: url(../images/icon_arrow02.svg) right 24px center no-repeat;
		background-size: 44px 5px;
		background-color: #fff;
		border: 1px solid #313131;
		transition: 0.3s;
	}

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

	.cbtn-arrow {
		color: #fff;
		font-size: 2.2rem;
		line-height: 1.45;
		letter-spacing: 0.06em;
		width: 350px;
		max-width: 100%;
		font-weight: 500;
		display: inline-flex;
		align-items: center;
		border: none;
		justify-content: center;
		cursor: pointer;
		padding: .78em 1em .78em 1em;
		border-radius: 6px;
		background: url(../images/icon_map.svg) left 26px center no-repeat, url(../images/icon_arrow02_w.svg) right 24px center no-repeat;
		background-size: 17px 25px, 44px 5px;
		background-color: var(--primary-color);
		transition: 0.3s;
	}

	.cbtn-arrow:hover {
		background-position: left 26px center, right 19px center;
	}

	/* 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: 40px;
	}

	#contents .slick-dots li {
		width: 161px;
		height: 3px;
		margin: 0 3px;
		border: 1px solid #808080;
		background: var(--accent-color);
		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 {
		border: 1px solid var(--accent-color)
	}

	/* ctable
---------------------------------------------------------------------- */
	.ctable {
		width: 100%;
		border-collapse: separate;
		border-spacing: 1px;
	}

	.ctable tbody th {
		font-size: 2.4rem;
		letter-spacing: 0.2em;
		text-align: center;
		color: #fff;
		background-color: var(--primary-light);
		vertical-align: middle;
		padding: .521em;
		width: 26%;
	}

	.ctable tbody td {
		font-size: 2.4rem;
		color: var(--primary-color);
		background-color: #fff;
		letter-spacing: 0.1em;
		font-weight: 500;
		line-height: 1.45;
		text-align: left;
		padding: .521em .5em .521em 1.6em;
		vertical-align: middle;
	}

	.ctable tbody tr:nth-of-type(even) td {
		background-color: #F2F2F2;
	}


	/* modal
---------------------------------------------------------------------- */
	#modal-overlay {
		display: none;
		position: fixed;
		top: 75px;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.6);
		justify-content: center;
		align-items: center;
		z-index: 2001;
	}

	.modal-inr {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: auto;
		padding-bottom: 75px;
	}

	.modal-content {
		width: 90%;
		max-width: 1200px;
		margin: auto;
	}

	.modal-content iframe {
		width: 100%;
		margin: auto;
	}

	#modal-overlay.is-youtube .modal-content iframe {
		aspect-ratio: 16 / 9;
	}

	#modal-overlay.is-page .modal-content {
		max-width: 1000px;
	}

	#modal-overlay.is-page .modal-content iframe {
		aspect-ratio: 4 / 3;
	}

}

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

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

	#mainvisual {
		width: 100%;
		position: relative;
		height: calc(500 / 750 * 100vw);
		border-bottom: 1px solid var(--primary-color);
	}

	#mainvisual::after {
		content: "";
		position: absolute;
		display: block;
		width: 100%;
		height: 2px;
		left: 0;
		background-color: var(--primary-color);
		bottom: -6px;
	}

	#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: 5rem;
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: center;
		color: #fff;
		letter-spacing: 0.1em;
		text-align: center;
		filter: drop-shadow(0 0 10px rgba(76, 33, 2, 0.75));
	}

	.mainvisual__ttl span {
		font-size: 1.353em;
		font-family: "Dancing Script", cursive;
		line-height: 1;
		display: block;
	}

	/* 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 .enfont {
		display: block;
		color: var(--secondary-color);
		font-size: 9.5rem;
		line-height: 1.4;
	}


	/* btn
---------------------------------------------------------------------- */
	.cbtn {
		color: var(--accent-color);
		line-height: 1.75;
		font-size: 3rem;
		display: inline-flex;
		align-items: center;
		gap: 5vw;
		position: relative;
	}

	.cbtn::after {
		content: "";
		display: block;
		width: 7.5rem;
		height: 7.5rem;
		background: url(../images/icon_arrow.svg) no-repeat center;
		background-size: contain;
	}

	.cbtn.cbtn--primary {
		color: var(--primary-color);
	}

	.cbtn.cbtn--primary::after {
		background-image: url(../images/icon_arrow_primary.svg);
	}

	.cbtn.cbtn--black {
		color: #313131;
	}

	.cbtn.cbtn--black::after {
		background-image: url(../images/icon_arrow_bk.svg);
	}

	.cbtn-arrow {
		font-size: 3.3rem;
		line-height: 1.45;
		letter-spacing: 0;
		display: inline-flex;
		align-items: center;
		gap: .3em;
		border: none;
		justify-content: center;
		cursor: pointer;
		background-size: 44px 5px;
		background-color: #fff;
		transition: 0.3s;
	}

	.cbtn-arrow::after {
		content: '';
		width: .5em;
		height: .5em;
		border-top: solid .1em #333333;
		border-right: solid .1em #333333;
		transform: rotate(45deg);
		transform-origin: bottom;
	}

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

	.cbtn-arrow {
		color: #fff;
		font-size: 3.3rem;
		line-height: 1.45;
		letter-spacing: 0.06em;
		width: 100%;
		max-width: 100%;
		font-weight: 500;
		display: inline-flex;
		align-items: center;
		border: none;
		justify-content: center;
		cursor: pointer;
		padding: .78em 1em .78em 1em;
		border-radius: .9rem;
		background: url(../images/icon_map.svg) left 8% center no-repeat, url(../images/icon_arrow02_w.svg) right 8% center no-repeat;
		background-size: 2.5rem 3.7rem, 6.6rem .75rem;
		background-color: var(--primary-color);
	}

	/* 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;
		border: 1px solid #808080;
		background: var(--accent-color);
		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 {
		border: 1px solid var(--accent-color)
	}

	/* ctable
---------------------------------------------------------------------- */
	.ctable {
		width: 100%;
		border-collapse: separate;
		border-spacing: 1px;
	}

	.ctable tbody th {
		font-size: 3rem;
		line-height: 1.45;
		letter-spacing: 0.2em;
		text-align: center;
		color: #fff;
		background-color: var(--primary-light);
		padding: .85em .5em;
		vertical-align: middle;
		width: 24%;
	}

	.ctable tbody td {
		font-size: 3rem;
		color: var(--primary-color);
		background-color: #fff;
		letter-spacing: 0.1em;
		font-weight: 500;
		line-height: 1.45;
		text-align: left;
		padding: 1.13em 1em 1.13em;
		vertical-align: middle;
	}

	.ctable tbody tr:nth-of-type(even) td {
		background-color: #F2F2F2;
	}

	/* content-area
---------------------------------------------------------------------- */
	.content-area {
		padding: 10rem 0;
		background-color: #fff;
		padding: 9rem 5%;
	}

	/* modal
---------------------------------------------------------------------- */
	#modal-overlay {
		display: none;
		position: fixed;
		top: 15.4666666667vw;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.6);
		justify-content: center;
		align-items: center;
		z-index: 2001;
	}

	.modal-inr {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: auto;
		padding-bottom: 75px;
	}

	.modal-content {
		width: 100%;
		max-width: 1200px;
		margin: auto;
	}

	.modal-content iframe {
		width: 100%;
		margin: auto;
	}

	#modal-overlay.is-youtube .modal-content iframe {
		aspect-ratio: 16 / 9;
	}

	#modal-overlay.is-page .modal-content {
		max-width: 1000px;
	}

	#modal-overlay.is-page .modal-content iframe {
		aspect-ratio: 4 / 3;
	}
}

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