@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: 0;
	}

	#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_new/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;
	}

	.csection-ttl {
		color: var(--primary-color);
		font-size: 3.4rem;
		line-height: 1.5;
		font-weight: 400;
		text-align: center;
		letter-spacing: .1em;
	}

    .cball-ttl {
        position: relative;
		color: var(--primary-color);
        font-size: 2.8rem;
        line-height: 1.4643;
        font-weight: 500;
        letter-spacing: .1em;
        padding-left: 5.1rem;
		font-family: "Noto Sans JP", sans-serif;
    }

    .cball-ttl::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 4rem;
        height: 4rem;
        background: url("../images_new/icon_ball.svg") no-repeat center / contain;
        transform: translateY(-50%);
    }

    .cball-ttl__em {
        color: #c70000;
    }

	/* 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_new/icon_arrow.svg) no-repeat center;
		background-size: contain;
	}

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

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

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

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

	.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_new/icon_map.svg) left 26px center no-repeat, url(../images_new/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;
	}

	.cbtn-external {
		color: #fff;
		font-size: 2.2rem;
		line-height: 1.45;
		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_new/icon_external.svg) right 24px center no-repeat;
		background-size: 2rem 2rem;
		background-color: var(--primary-color);
		transition: 0.3s;
	}

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

	.cdetail-table {
		width: 100%;
		border-collapse: collapse;
		color: #00422B;
		font-size: 2rem;
		line-height: 1.8;
		letter-spacing: 0.1em;
	}

	.cdetail-table th,
	.cdetail-table td {
		border: 1px solid #000000;
		background-color: #fff;
		vertical-align: middle;
	}

	.cdetail-table th {
		width: 298px;
		text-align: center;
		font-weight: 500;
		padding: 1.15rem 2rem;
		vertical-align: top;
	}

	.cdetail-table td {
		text-align: left;
		font-weight: 500;
		padding: 1.15rem 3.6rem;
	}

	.cdetail-table--narrow th {
		width: 240px;
	}

	.cdetail-table__ttl {
		color: #fff;
		background-color: #00422B;
		text-align: center;
		font-weight: 500;
		font-size: 2.4rem;
		line-height: 1.3125;
		letter-spacing: 0.1em;
		padding: 1.425rem 2rem;
	}

	/* cbox
---------------------------------------------------------------------- */
	.cbox {
		border: 1px solid var(--primary-color);
		border-radius: 20px;
	}

	/* cline
---------------------------------------------------------------------- */
	.cline {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		min-height: 64px;
		padding: 2.141rem 0;
		color: var(--primary-color);
		text-align: center;
		border-top: 4px solid var(--primary-color);
		border-bottom: 4px solid var(--primary-color);
	}

	.cline::before,
	.cline::after {
		content: "";
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: var(--primary-color);
	}

	.cline::before {
		top: 5px;
	}

	.cline::after {
		bottom: 5px;
	}

	.cline__txt {
		position: relative;
		width: 100%;
		font-size: 2.8rem;
		line-height: 1.4;
		text-align: center;
	}

	.cline--ball .cline__txt {
		padding: 0 6rem;
	}

	.cline--ball .cline__txt::before,
	.cline--ball .cline__txt::after {
		content: "";
		position: absolute;
		top: 50%;
		width: 4rem;
		height: 4rem;
		background: url("../images_new/icon_ball.svg") no-repeat center / contain;
		transform: translateY(-50%);
	}

	.cline--ball .cline__txt::before {
		left: 0;
	}

	.cline--ball .cline__txt::after {
		right: 0;
	}

	.cline.cline--en {
        padding: 1.4rem 0;
	}

	.cline.cline--en .cline__txt {
		font-size: 3.4rem;
		line-height: 1.25;
		letter-spacing: 0.1em;
	}

	.cline.cline--en .cline__en {
		font-size: 0.941em;
		letter-spacing: 0;
		font-family: "Dancing Script", cursive;
	}

	/* cmedia-box
---------------------------------------------------------------------- */
    .cmedia-box {
        padding: 3.8rem 3.6%;
        display: grid;
        grid-template-columns: 1fr 51%;
        gap: 3.9%;
        background: #fff;
    }

    .cmedia-box__body {
        min-width: 0;
        display: flex;
        flex-direction: column;
    }

    .cmedia-box__txt {
        color: var(--primary-color);
        font-size: 2rem;
        line-height: 1.7;
        margin: 2.2rem 0 1.8rem;
    }

    .cmedia-box__btn {
        margin-top: auto;
        text-align: center;
    }

    .cmedia-box__img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
    }

	/* cnav 
---------------------------------------------------------------------- */
    .cnav__list {
        display: grid;
    }

    .cnav__item {
        flex-shrink: 0;
    }

    .cnav__link {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 66px;
        padding: 10px 30px 16px;
        color: #fff;
        background-color: var(--primary-color);
        border-radius: 6px;
        font-size: 2.2rem;
        line-height: 1.4;
        text-align: center;
        transition: opacity .3s ease;
    }

    .cnav__link::after {
        content: "";
        position: absolute;
        bottom: 8px;
        left: 50%;
        width: 0;
        height: 0;
        border-top: 8px solid #fff;
        border-right: 6px solid transparent;
        border-left: 6px solid transparent;
        transform: translateX(-50%);
    }

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

	#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_new/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;
	}

	.csection-ttl {
		color: var(--primary-color);
		font-size: 4.2rem;
		line-height: 1.5;
		font-weight: 400;
		text-align: center;
		letter-spacing: .1em;
	}

    .cball-ttl {
        position: relative;
		color: var(--primary-color);
        font-size: 3.8rem;
        line-height: 1.3158;
        font-weight: 500;
        padding-left: 6.6rem;
		font-family: "Noto Sans JP", sans-serif;
    }

    .cball-ttl::before {
        content: "";
        position: absolute;
        top: -.05em;
        left: 0;
        width: 6rem;
        height: 6rem;
        background: url("../images_new/icon_ball.svg") no-repeat center / contain;
    }

    .cball-ttl__em {
        color: #c70000;
    }

	/* 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_new/icon_arrow.svg) no-repeat center;
		background-size: contain;
	}

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

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

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

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

	.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_new/icon_map.svg) left 8% center no-repeat, url(../images_new/icon_arrow02_w.svg) right 8% center no-repeat;
		background-size: 2.5rem 3.7rem, 6.6rem .75rem;
		background-color: var(--primary-color);
	}

	.cbtn-external {
		color: #fff;
		font-size: 3.6rem;
		line-height: 1.45;
		width: 100%;
		max-width: 100%;
		font-weight: 500;
		display: inline-flex;
		align-items: center;
		border: none;
		justify-content: center;
		cursor: pointer;
		padding: .8867em 1em;
		border-radius: .9rem;
		background: url(../images_new/icon_external.svg) right 4.7rem center no-repeat;
		background-size: 3.6rem 3.6rem;
		background-color: var(--primary-color);
		transition: 0.3s;
	}

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

	.cdetail-table {
		width: 100%;
		border-collapse: collapse;
		color: #00422B;
		font-size: 2.8rem;
		line-height: 1.5;
		letter-spacing: 0.1em;
	}

	.cdetail-table th,
	.cdetail-table td {
		border: 1px solid #000000;
		background-color: #fff;
		vertical-align: middle;
	}

	.cdetail-table th {
		width: 298px;
		text-align: center;
		font-weight: 500;
		width: 23.2%;
		padding: 1.85rem 1rem;
		vertical-align: top;
	}

	.cdetail-table td {
		text-align: left;
		font-weight: 500;
		padding: 1.85rem 2rem;
	}

	.cdetail-table--narrow th {
		width: 240px;
	}

	.cdetail-table__ttl {
		color: #fff;
		background-color: #00422B;
		text-align: center;
		font-weight: 500;
		font-size: 3.2rem;
		line-height: 1.3125;
		letter-spacing: 0;
		padding: 1.9rem 2rem;
	}


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

	/* cbox
---------------------------------------------------------------------- */
	.cbox {
		border: 1px solid var(--primary-color);
		border-radius: 18px;
	}

	/* cline
---------------------------------------------------------------------- */
	.cline {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 0;
		padding: 2.4rem 0;
		min-height: 12rem;
		color: var(--primary-color);
		text-align: center;
		border-top: 4px solid var(--primary-color);
		border-bottom: 4px solid var(--primary-color);
	}

	.cline::before,
	.cline::after {
		content: "";
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: var(--primary-color);
	}

	.cline::before {
		top: .6rem;
	}

	.cline::after {
		bottom: .6rem;
	}

	.cline__txt {
		position: relative;
		width: 100%;
		font-size: 4.8rem;
		letter-spacing: 0.1em;
		line-height: 1.08;
	}

	.cline--ball {
		min-height: 16rem;
	}

	.cline--ball .cline__txt {
		padding: 0 9rem;
	}

	.cline--ball .cline__txt::before,
	.cline--ball .cline__txt::after {
		content: "";
		position: absolute;
		top: 50%;
		width: 8rem;
		height: 8rem;
		background: url("../images_new/icon_ball.svg") no-repeat center / contain;
		transform: translateY(-50%);
	}

	.cline--ball .cline__txt::before {
		left: 0;
	}

	.cline--ball .cline__txt::after {
		right: 0;
	}

	.cline.cline--en {
        padding: 1.4rem 0;
	}

	.cline.cline--en .cline__txt {
		font-size: 4.8rem;
		line-height: 1.1;
		letter-spacing: 0.1em;
	}

	.cline.cline--en .cline__en {
		font-size: 0.958em;
		letter-spacing: 0;
		font-family: "Dancing Script", cursive;
	}

	/* cmedia-box 
---------------------------------------------------------------------- */
    .cmedia-box {
        padding: 4rem 5%;
        display: flex;
        flex-direction: column;
        background: #fff;
    }

    .cmedia-box__img {
        order: -1;
        margin-bottom: 4rem;
    }

	.cmedia-box__img img {
		width: 100%;
		height: auto;
		object-fit: cover;
		display: block;
	}

    .cmedia-box__txt {
        color: var(--primary-color);
        font-size: 2.6rem;
        line-height: 1.61;
        margin-top: 3.2rem;
    }

    .cmedia-box__btn {
        margin-top: 4rem;
    }

	/* cnav
---------------------------------------------------------------------- */
    .cnav__list {
        display: grid;
    }

    .cnav__item {
        flex-shrink: 0;
    }

    .cnav__link {
        position: relative;
        display: flex;
        justify-content: center;
        min-height: 9rem;
        padding: 1rem 2rem 2rem;
        color: #fff;
        background-color: var(--primary-color);
        border-radius: 1.2rem;
        font-size: 2.8rem;
        line-height: 1.25;
        text-align: center;
    }

    .cnav__link::after {
        content: "";
        position: absolute;
        bottom: 1.6rem;
        left: 50%;
        width: 0;
        height: 0;
        border-top: 0.5em solid #fff;
        border-right: 0.429em solid transparent;
        border-left: 0.429em solid transparent;
        transform: translateX(-50%);
    }

	/* 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) */