@charset "UTF-8";



/* -------------------------------------------

kv

------------------------------------------- */
#main {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 56rem;
}

@media screen and (max-width: 768px) {
	#main {
		height: 32rem;
	}
}

/* -------------------------------------------

read

------------------------------------------- */

.top-kv {
	position: relative;
	z-index: 0;
}

.top-kv .read {
	position: absolute;
	z-index: 1;
	top: 16rem;
	left: 6vw;
}

.top-kv .read .txt01 {
	font-weight: 800;
	font-size: 3rem;
}

.top-kv .read .txt02 {
	font-size: 2.2rem;
	padding-top: 4rem;
}

.top-kv .read span {
	display: inline-block;
	background: #fff;
	padding: 0 1rem;
}

.top-kv .read span.refine {
	margin-left: -1.5rem;
	padding: 0 1rem 0 0;
}


@media screen and (max-width: 768px) {
	.top-kv .read {
		top: 6rem;
		left: 9vw;
	}

	.top-kv .read .txt01 {
		font-size: 2rem;
		line-height: 3.5rem;
	}

	.top-kv .read .txt02 {
		font-size: 1.5rem;
		line-height: 2.7rem;
	}

	.top-kv .read span {
		display: inline;
		padding: 0.5rem 0.8rem 0.8rem 0.8rem;
	}

	.top-kv .read span.refine {
		margin-left: 0;
		padding: 0.5rem 0.8rem 0.8rem 0.8rem;
	}
}

/* -------------------------------------------

slide

------------------------------------------- */
.top-slide {
	background: var(--bg-grey);
}

.swiper-wrapper {
	transition-timing-function: linear;
}



/* -------------------------------------------

about

------------------------------------------- */
.top-about {
	padding: 7.5rem 0 10.5rem;
}

@media screen and (max-width: 768px) {
	.top-about {
		padding: 6rem 3rem 7rem;
	}
}

/* ---- wrap ---- */
.top-about .wrap {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	align-items: start;
	gap: 4.5rem;
}

.top-about .wrap>figure {
	flex: 1;
	padding-top: 5rem;
	margin-right: -3.5rem;
}

.top-about .wrap>div {
	width: 40%;
}

@media screen and (max-width: 768px) {
	.top-about .wrap {
		display: block;
	}

	.top-about .wrap>figure {
		width: 100%;
		padding-top: 0rem;
		margin-bottom: 3rem;
	}

	.top-about .wrap>div {
		width: 100%;
	}
}

/* ---- h2 ---- */
.top-about .ttl-wrap {
	width: 26.75rem;
	margin-bottom: 3.5rem;
}

@media screen and (max-width: 768px) {
	.top-about .ttl-wrap {
		justify-content: center;
	}
}

/* ---- h3 ---- */
.top-about h3 {
	font-size: 1.67rem;
	font-weight: 700;
	line-height: 2.4;
	letter-spacing: 0em;
	padding-top: 1.5rem;
}

.top-about h3 strong {
	font-size: 2.2rem;
}

/* ---- p ---- */
.top-about p {
	font-size: 1.34rem;
	font-weight: 400;
	line-height: 2.18;
	letter-spacing: 0.05em;
	margin: 2rem 0 5.5rem 0;
}






/* -------------------------------------------

faq

------------------------------------------- */
.top-faq {
	padding: 9.5rem 0 14rem;
	background: url(../img/back-faq.jpg) no-repeat center top / cover;
		position: relative;
}
		.top-faq::before {
			content: "";
			background: url(../img/deco-faq.png) no-repeat center top / contain;
			width: 21.17rem;
			height: 19.92rem;
			/* aspect-ratio: 293/95; */
			position: absolute;
			top: -1.5rem;
			right: 17.5rem;
			pointer-events: none;
		}

@media screen and (max-width: 768px) {
	.top-faq {
		padding: 6rem 3rem 6rem;
	}
		.top-faq::before {
			width: 18rem;
			height: 17rem;
			top: -2rem;
			right: 1rem;
		}
}

/* ---- wrap ---- */
.top-faq .wrap {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	align-items: start;
	gap: 4.5rem;
	background-color: #fff;
	padding: 5rem 11.5rem 6rem 13.5rem;
}

.top-faq .wrap>figure {
	flex: 1;
	padding-top: 1.5rem;
}

.top-faq .wrap>div {
	width: 59%;
}

@media screen and (max-width: 768px) {
	.top-faq .wrap {
		display: block;
		padding: 2rem 2rem 6rem;
	}

	.top-faq .wrap>figure {
		width: 100%;
		padding-top: 0rem;
		margin-bottom: 4rem;
	}

	.top-faq .wrap>div {
		width: 100%;
	}
}

/* ---- h2 ---- */
.top-faq .ttl-wrap {
	width: 12.17rem;
	margin-left: auto;
}

@media screen and (max-width: 768px) {
	.top-faq .ttl-wrap {
		justify-content: center;
		margin: 0 auto;
	}
}

/* ---- h3 ---- */
.top-faq h3 {
	font-size: 1.67rem;
	font-weight: 700;
	line-height: 2.4;
	letter-spacing: 0em;
	padding-top: 1.5rem;
}

.top-faq h3 strong {
	font-size: 2.2rem;
}

/* ---- p ---- */
.top-faq p {
	font-size: 1.34rem;
	font-weight: 400;
	line-height: 2.18;
	letter-spacing: 0.05em;
	margin: 2rem 0 5.5rem 0;
}
@media screen and (max-width: 768px) {
	.top-faq p {
		margin: 2rem 0 4rem 0;
	}
}







/* -------------------------------------------

appeal

------------------------------------------- */
.top-appeal {
	padding: 4rem 0 11.5rem;
	background: url(../img/back-appeal.jpg) no-repeat center top / cover;
}

@media screen and (max-width: 768px) {
	.top-appeal {
		padding: 3rem 3rem 7.5rem;
	}
}

/* ---- wrap ---- */
.top-appeal .wrap {
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	align-items: center;
	gap: 5.5rem;
}

.top-appeal .wrap>figure {
	flex: 1;
	margin-left: -3.5rem;
}

.top-appeal .wrap>div {
	width: 40%;
}

@media screen and (max-width: 768px) {
	.top-appeal .wrap {
		display: block;
	}

	.top-appeal .wrap>figure {
		width: 100%;
		padding-top: 0rem;
		margin-bottom: 3rem;
		margin-left: 0;
	}

	.top-appeal .wrap>div {
		width: 100%;
	}
}

/* ---- h2 ---- */
.top-appeal .ttl-wrap {
	width: 26.75rem;
	margin: 0 auto;
	margin-bottom: 3.5rem;
}
.top-appeal .ttl-wrap img {
	transform: translateX(6rem);
}
@media screen and (max-width: 768px) {
	.top-appeal .ttl-wrap {
		justify-content: center;
	}
	.top-appeal .ttl-wrap img {
		transform: translateX(2rem);
	}
}

/* ---- h3 ---- */
.top-appeal h3 {
	font-size: 1.67rem;
	font-weight: 700;
	line-height: 2.4;
	letter-spacing: 0em;
	padding-top: 1.5rem;
}

.top-appeal h3 strong {
	font-size: 2.2rem;
}

/* ---- p ---- */
.top-appeal p {
	font-size: 1.34rem;
	font-weight: 400;
	line-height: 2.18;
	letter-spacing: 0.05em;
	margin: 2rem 0 8rem 0;
}
@media screen and (max-width: 768px) {
	.top-appeal p {
		margin: 2rem 0 4rem 0;
	}
}











/* -------------------------------------------

service

------------------------------------------- */
.top-service {
	position: relative;
	padding: 14rem 0 14rem 0;
	position: relative;
	background: #F6F1E7;
}

.top-service::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 37rem;
	height: 38rem;
	background: url(../img/ill_01.png) no-repeat center / contain;
}

.top-service::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: -2.5vw;
	width: 22rem;
	height: 22rem;
	background: url(../img/ill_02.png) no-repeat center / contain;
}

@media screen and (max-width: 768px) {
	.top-service {
		padding: 6rem 3rem;
	}

	.top-service::before {
		width: 25rem;
		height: 26rem;
	}

	.top-service::after {
		width: 10rem;
		height: 11rem;
	}
}

/* ---- h2 ---- */
.top-service .ttl-wrap {
	display: flex;
	justify-content: flex-start;
	padding-left: calc((100% - 88rem) / 2);
}

@media screen and (max-width: 768px) {
	.top-service .ttl-wrap {
		padding-left: 0;
		justify-content: center;
	}
}

/* ---- ul ---- */
.top-service ul li {
	display: flex;
	align-items: flex-end;
	position: relative;
}

.top-service ul li>* {
	width: 50%;
	position: relative;
	z-index: 99;
}

.top-service ul li:nth-child(1)::before {
	right: 0;
}

.top-service ul li:nth-child(2)::before {
	left: 0;
}

.top-service ul li:nth-child(even) {
	flex-direction: row-reverse;
}

.top-service ul li:not(:last-child) {
	margin-bottom: 8rem;
}

.top-service .txt {
	padding: 0 6rem 8rem 6rem;
}

.top-service dl {
	margin-bottom: 2.5rem;
}

.top-service dt {
	font-size: 2.2rem;
	font-weight: bold;
	padding-bottom: 1.2rem;
	padding-top: 1.2rem;
	margin-bottom: 1.5rem;
	font-family: var(--font);
}

.top-service dt span {
	display: block;
	font-size: 1.5rem;
	padding-top: 0.6rem;
}

.top-service .insta {
	display: flex;
	align-items: center;
	margin-top: 1.5rem;
	font-weight: 900;
	letter-spacing: 0.15em;
}

.top-service .insta i {
	font-size: 2.8rem;
	margin-left: 0.8rem;
}

.top-service li:nth-child(2) .insta {
	justify-content: flex-end;
}

@media screen and (max-width: 768px) {
	.top-service ul li {
		display: block;
	}

	.top-service ul li>* {
		width: 100%;
	}

	.top-service ul li::before {
		width: 100%;
		height: 100%;
	}

	.top-service ul li:not(:last-child) {
		margin-bottom: 3rem;
	}

	.top-service .txt {
		padding: 3rem 0;
	}

	.top-service .insta {
		justify-content: center
	}

	.top-service li:nth-child(2) .insta {
		justify-content: center;
	}
}

/* -------------------------------------------

parallax

------------------------------------------- */
.top-parallax {
	padding: 0;
}

.top-parallax .imgarea {
	width: 100%;
	height: 43rem;
	background: url("../img/para.jpg") no-repeat center / cover;
	background-attachment: fixed;
}

@media screen and (max-width: 768px) {
	.top-parallax .imgarea {
		height: 30rem;
		background-attachment: inherit;
		background: url("../img/para.jpg") no-repeat center -28rem / cover;
	}
}
@media screen and (max-width: 540px) {
	.top-parallax .imgarea {
		background: url("../img/para.jpg") no-repeat center -15rem / cover;
	}
}






/* -------------------------------------------

gallery

------------------------------------------- */
.top-gallery {
	padding: 5rem 0 10rem 0;
	position: relative;
}
		.top-gallery::before {
			content: "";
			background-color: #C5F2FA;
			width: 83.4rem;
			height: calc(10.4rem + 181px);
			/* aspect-ratio: 293/95; */
			position: absolute;
			top: 21.6rem;
			left: 0;
			right: 0;
			margin: 0 auto;
			pointer-events: none;
		}
@media screen and (max-width: 768px) {
		.top-gallery::before {
			width: 80%;
			height: calc(6rem + 181px);
			top: 21.6rem;
		}
}

/* ---- wrap ---- */
.top-gallery .wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 5rem;
}

.top-gallery h2 {
	width: 35.1rem;
}

@media screen and (max-width: 768px) {
	.top-gallery .wrap {
		justify-content: center;
	}
}

#loopslider {
	margin: 9rem auto 0;
	width: 100%;
	height: 181px;
	text-align: left;
	position: relative;
	overflow: hidden;
}


#loopslider ul {
	height: 181px;
	float: left;
	display: inline;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

#loopslider ul li {
	width: 241px;
	height: 181px;
	float: left;
	display: inline;
	overflow: hidden;
}

#loopslider ul:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	visibility: hidden;
}

#loopslider ul {
	display: inline-block;
	overflow: hidden;
}

#loopslider img {
	height: 181px;
	object-fit: cover;
}
.top-gallery .more-wrap {
	margin-top: 1.5rem;
}

@media screen and (max-width: 1024px) {
	.top-gallery {
		padding: 4rem 0 7rem;
	}

	#loopslider {
		height: 160px;
	}

	#loopslider ul {
		height: 160px;
	}

	#loopslider ul li {
		width: 200px;
		height: 160px;
	}

	#loopslider img {
		height: 160px;
	}

	.top-gallery .more-wrap {
		margin-top: 3rem;
	}
}








/* -------------------------------------------

access

------------------------------------------- */
.top-access {
	padding: 15.5rem 0 5rem 0;
	position: relative;
	background: url(../img/back-access.png) no-repeat center top / cover;
}

.top-access::before {
	content: "";
	width: 70%;
	height: calc(100% - 9.5rem);
	background: #C5F2FA;
	position: absolute;
	right: 0;
	top: 9.5rem;
}

@media screen and (max-width: 768px) {
	.top-access {
		background: #C5F2FA;
		margin-top: 0;
		padding: 5rem 3rem 3rem 3rem;
	}

	.top-access::before {
		display: none;
	}
}

.top-access>* {
	position: relative;
	z-index: 99;
}

.top-access dl {
	margin-bottom: 7.5rem;
}

/* ---- h2 ---- */
.top-access .ttl-wrap {
	display: flex;
	justify-content: flex-start;
	padding-left: 48rem;
}
.top-access  h2 {
	width: 29rem;
	margin-right: auto;
	margin-bottom: 3rem;
}

@media screen and (max-width: 768px) {
	.top-access dl {
		margin-bottom: 4rem;
	}
	.top-access .ttl-wrap {
		justify-content: center;
		padding-left: 0;
	}
	.top-access  h2 {
		margin-bottom: 0rem;
	}
}

/* ---- wrap ---- */
.top-access .wrap {
	display: flex;
	justify-content: space-between;
}

.top-access .wrap>* {
	width: 47%;
}

.top-access .wrap .gmap {
	margin-top: 2rem;
}

.top-access .wrap .gmap iframe {
	height: 38rem;
}

@media screen and (max-width: 768px) {
	.top-access .wrap {
		display: block;
	}

	.top-access .wrap>* {
		width: 100%;
	}

	.top-access .wrap .gmap {
		margin-bottom: 1rem;
	}
}





/* ---- recruit ---- */
.top-access .recruit {
	padding-top: 12rem;
	margin-left: -16rem;
	display: flex;
	justify-content: space-between;
}

.top-access .recruit .ttl-wrap {
	padding-left: 0;
}

.top-access .recruit .heading-1 {
	justify-content: inherit;
}

.top-access .recruit .more-wrap {
	margin-top: 5rem;
}

@media screen and (max-width: 768px) {
	.top-access .recruit {
		margin-left: 0;
		display: block;
	}

	.top-access .recruit .heading-1 {
		padding-left: 0;
		justify-content: center;
	}
}








/* -------------------------------------------

other

------------------------------------------- */
.top-other {
	background: url(../img/back-contact.jpg) no-repeat center top / cover;
	padding: 5.7rem 0 9rem;
	color: #fff;
	position: relative;
}

.top-other::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.top-other .ttl-wrap > div {
	width: 28rem;
	margin: 0 auto;
}

.top-other-wrap {
	display: flex;
	justify-content: center;
	margin-top: 4rem;
}

.top-line,
.top-contact {
	width: 40%;
}

.top-line .more {
	background: #fff;
	color: #000;
}

.top-contact .more {
	background: none;
	font-size: 3rem;
	width: auto;
	padding: 0;
}

.top-contact .more i {
	display: none;
}

.top-other>* {
	position: relative;
	z-index: 10;
	padding: 0rem 5rem;
}

.top-other .heading-1 {
	flex-direction: column;
	align-items: center;
	margin-bottom: 0;
}

.top-other .heading-1.is-main {
	flex-direction: inherit;
	align-items: inherit;
}

.top-other .heading-1.is-main .jp {
	margin-left: 1.5rem;
}

.top-other .heading-1::before {
	display: none;
}

.top-other .heading-1 .en {
	font-size: 2.7rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.1em;
	color: #fff;
}

.top-other .heading-1 .jp {
	margin-left: 0;
}

.top-line {
	border-right: solid 1px #fff;
}

.top-other p {
	text-align: center;
	margin: 0.7rem auto 3rem auto;
	width: 27rem;
}

.top-other .more {
	margin: 0 auto;
}
.top-other .top-line .more {
	width: 18rem;
}
.top-other .top-contact .more {
	font-size: 3.25rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
	.top-other {
		padding: 0rem 3rem 3rem;
		flex-direction: column;
	}

	.top-other>* {
		position: relative;
		z-index: 10;
		padding: 4rem 0 6rem 0;
	}

	.top-other .heading-1 {
		flex-direction: column;
		align-items: center;
		margin-bottom: 0;
	}

	.top-other .heading-1::before {
		display: none;
	}

	.top-other .heading-1 .jp {
		margin-left: 0;
	}

	.top-other .top-line .heading-1 .en,
	.top-other .top-contact .heading-1 .en{
		font-size: 3rem;
	}

	.top-line {
		border-right: none;
		border-bottom: solid 1px #fff;
	}

	.top-other p {
		text-align: center;
		width: 90%;
	}

	.top-other .more {
		margin: 0 auto;
	}

	.top-other-wrap {
		display: block;
		padding: 0 0 6rem 0;
		margin: -2rem;
	}

	.top-line,
	.top-contact {
		width: auto;
		padding: 4rem 0;
	}

	.top-line{
		border-top: 1px solid #fff;
	}
	.top-contact{
		border-bottom: 1px solid #fff;
	}
}



/* -------------------------------------------

works

------------------------------------------- */
.works-img {
	display: flex;
	flex-wrap: wrap;
}

.works-img li {
	width: calc((100% - 2rem) / 3);
	margin-right: 1rem;
}

.works-img li:nth-child(3n) {
	margin-right: 0;
}

.works-img li:nth-child(n + 4) {
	margin-top: 1rem;
}

@media screen and (max-width: 768px) {
	.works-img {
		justify-content: space-between;
	}

	.works-img li {
		width: 49%;
		margin-right: 0;
	}

	.works-img li:nth-child(n + 4) {
		margin-top: 0;
	}

	.works-img li:nth-child(n + 3) {
		margin-top: 2%;
	}
}



/* -------------------------------------------

form

------------------------------------------- */
.CMS-FORM-GROUP {
	display: flex;
	align-items: center;
}

.CMS-FORM-GROUP:not(:last-of-type) {
	margin-bottom: 4rem;
}

.CMS-FORM-GROUP>label {
	width: 30%;
	font-weight: bold;
}

.CMS-FORM-GROUP input,
.CMS-FORM-GROUP textarea {
	width: 70%;
	padding: 2rem;
	border: #ddd solid 1px;
}

.CMS-FORM-INPUT,
.CMS-FORM-EMAIL {
	-webkit-appearance: none;
	appearance: none;
}

.CMS-FORM-GROUP textarea {
	height: 16rem;
	-webkit-appearance: none;
	appearance: none;
}

.CMS-FORM-GROUP input[type="submit"] {
	background: var(--prime);
	border: none;
	color: #fff;
	display: block;
	font-weight: bold;
	font-size: 1.6rem;
	width: 24rem;
	padding: 2rem 0;
	margin: 0 auto;
	transition: all .3s;
}

.CMS-FORM-GROUP input[type="submit"]:hover {
	cursor: pointer;
	opacity: 0.5;
}

.CMS-FORM-RADIO input[type="radio"] {
	width: 2rem;
	height: 2rem;
	display: block;
	margin-top: 0.9rem;
	border-radius: 50%;
}

.CMS-FORM-RADIO {
	width: 70%;
}

.CMS-FORM-RADIO>div {
	display: flex;
	align-items: center;
}

.CMS-FORM-RADIO label {
	display: block;
	width: calc(100% - 3.5rem);
	margin-top: 0.8rem;
	margin-left: 0.5rem;
	font-weight: normal;
}

_::-webkit-full-page-media,
_:future,
:root .CMS-FORM-RADIO label {
	margin-top: 0;
}

input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-appearance: button;
	appearance: button;
	border: none;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="date"] {
	-webkit-appearance: none;
	appearance: none;
	background: #fff;
}

.his {
	background: rgba(220, 0, 0, 1);
	line-height: 1;
	color: #fff;
	font-size: 1rem;
	padding: 0.2rem 0.7rem 0.4rem 0.7rem;
	margin-left: 1.0rem;
	vertical-align: 0.1rem;
	font-weight: normal;
	border-radius: 10rem;
}

@media screen and (max-width: 768px) {
	.CMS-FORM-GROUP {
		display: block;
	}

	.CMS-FORM-GROUP label {
		width: 100%;
		display: block;
		margin-bottom: 1rem;
	}

	.CMS-FORM-GROUP input,
	.CMS-FORM-GROUP textarea {
		width: 100%;
	}

	.CMS-FORM-RADIO input[type="radio"] {
		transform: scale(0.6);
	}

	_::-webkit-full-page-media,
	_:future,
	:root .CMS-FORM-RADIO label {
		margin-top: 1.4rem;
		margin-left: 0;
	}

	.CMS-FORM-GROUP input[type="submit"] {
		width: 100%;
		padding: 2rem 0;
		font-size: 1.8rem;
	}
}



/* -------------------------------------------

privacy

------------------------------------------- */
.privacy {
	border: 0.2rem solid #ccc;
	padding: 2rem;
	height: 24rem;
	overflow: auto;
	background: #fff;
}

.privacy-note {
	margin: 4rem 0 2rem 0;
}



/* -------------------------------------------

thanx

------------------------------------------- */
.thanx {
	text-align: center;
}

.back {
	text-align: center;
	display: block;
}

.back a {
	color: var(--prime);
}

@media screen and (max-width: 768px) {
	.thanx {
		text-align: left;
	}
}




.kyuushi {
	font-size: 2rem;
	text-align: center;
}

/* -------------------------------------------

low

------------------------------------------- */
.low-recruit h3{
	text-align: center;
	font-size: 3rem;
	margin-bottom: 3rem;
}

.low-recruit .closeTxt{
	text-align: center;
	font-size: 2.2rem;
	font-weight: 700;
/*	color: #D94343;*/
	margin-bottom: 1.5rem;
}










/*  ----------------------------------------------------------

news

----------------------------------------------------------  */
.top-news {
	padding: 0rem 0 8.5rem;
}
.top-news h2 {
	width: 16.6rem;
	margin: 0 auto;
}
.top-news .more {
	margin: 0 auto;
}
.top-news .CMS-NEWS-INDEX {
    padding-bottom: 3rem;
    margin-top: 4rem;
    margin-bottom: 3.5rem;
    padding: 0 5.5%;
}
.CMS-NEWS-INDEX {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-bottom: 8rem;
    position: relative;
    margin-bottom: 8rem;
    position: relative;
}
.top-news .CMS-NEWS-INDEX::after {
    content: "";
    width: 31.5%;
    margin-bottom: 1rem;
}
.CMS-NEWS-INDEX::after {
    content: "";
    width: 31.5%;
    margin-bottom: 4rem;
}


.CMS-NEWS-INDEX > * {
    width: 31.5%;
    margin-bottom: 5rem;
}
.top-news .CMS-NEWS-INDEX > * {
    margin-bottom: 0;
}
.CMS-NEWS-INDEX > *:nth-of-type(3n) {
    margin-right: 0;    
}
.CMS-NEWS-ITEM a {
    transition: all .3s;
    display: block;
}
.CMS-NEWS-ITEM a:hover {
    opacity: 0.6;
}
.CMS-NEWS-TIME {
    font-size: 1.2rem;
    margin: 2rem 0 0.6rem 0;
    line-height: 1;
	color: #000;
}
.CMS-NEWS-LINK {
    font-size: 1.4rem;
    line-height: 1.6;
	color: #000;
}
.CMS-NEWS-INDEX > * img {
    height: 19rem;
    width: 100%;
    object-fit: cover;  
}
.top-news .CMS-NEWS-INDEX > * img {
    height: 16.5rem;
}

/* read more */
.CMS-NEWS-MORE-READ {
    background: #F88379;
    border:none;
    border-radius: 0.2rem;
    text-align: center;
    padding: 1.8rem 0;
    font-size: 1.5rem;
    font-weight: bold;
	/* font-weight: bold; */
    color: #fff;
    text-align: center;
    /* margin: 4rem auto 0 auto; */
    width: 22rem;
    display: block;
    transition: all .3s;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
}
.CMS-NEWS-MORE-READ:hover {
    cursor: pointer;
    opacity: 0.6;
}
.top-news .CMS-NEWS-MORE-READ {
    display: none;
}

/* detail */
.CMS-NEWS-TITLE {
    border-bottom: solid 1px rgba(0,0,0,0.2);
    font-size: 2.4rem;
    line-height: 1.6;
    margin-bottom: 3rem;
    padding: 1rem 0 1.5rem 0;
    position: relative;
    font-weight: bold;
}
.CMS-NEWS-TITLE:after {
    border-bottom: solid 3px var(--red);
    bottom: -3px;
    content: " ";
    display: block;
    position: absolute;
    width: 25%;
}
.CMS-NEWS-CONTENT img {
    width: 80%;
    height: auto;
    display: block;
    margin: 0 auto 2rem auto;
}

@media screen and (max-width: 768px) {
    .top-news .CMS-NEWS-INDEX {
        margin-top: 4.5rem;
        margin-bottom: 5rem;
    }    
    .CMS-NEWS-INDEX {
        display: block;
        margin-bottom: -4rem;
        padding-bottom: 12rem;
    }
    .CMS-NEWS-INDEX > * {
        width: 100%;
        margin-right: 0;
        margin-bottom: 4rem;        
    }
    .top-news .CMS-NEWS-INDEX > * {
        margin-bottom: 4rem;
    }    
    .CMS-NEWS-CONTENT img {
        width: 100%;
    }
    .CMS-NEWS-INDEX > * img {
        height: auto;
    }
}





/*  ----------------------------------------------------------

sns

----------------------------------------------------------  */

.top-insta {
    padding: 3.5rem 0 6rem;
}
.top-insta h2 {
	width: 32.1rem;
	margin: 0 auto;
}
.top_sns_share {
    text-align: center;
    display: block;
    width: 84%;
    max-width: 900px;
    margin: 0px auto;
    padding: 4rem 0 0;
    margin-bottom: 0 !important;
}

.sns_wrap {
    padding: 0px 0 ;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;

    /* -webkit-box-pack: center;
    -ms-flex-pack: center; */
    /* justify-content: center; */
    justify-content: flex-start;

}
.CMS-INSTAGRAM-LIST {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;

}
.CMS-INSTAGRAM-LIST a:nth-of-type(7),
.CMS-INSTAGRAM-LIST a:nth-of-type(8),
.CMS-INSTAGRAM-LIST a:last-of-type {
	display: none !important;
}


@media screen and (min-width: 768px) {
    
    .CMS-INSTAGRAM-LIST::before {
        content: "";
        flex-basis: 31%;
        padding-bottom: 1.2%;
        order:1;
    }
    .CMS-INSTAGRAM-LIST::after {
        content: "";
        flex-basis: 31%;
        padding-bottom: 1.2%;
    }
    .CMS-INSTAGRAM-LIST a {
        flex-basis: 31%;
        padding-bottom: 1.2%;
    }
    .top_sns_share img {
        /* width: auto !important; */
        width: 100% !important;
        height: auto;
        padding-bottom: 0.8%;
        padding: 1% 0.8%;
    }
}

@media screen and (max-width: 767px) {
	.top-insta {
		padding: 3.5rem 0 3rem;
	}
    .top_sns_share {
        display: block;
        margin: -5rem auto 0px;
    }
    .sns_wrap {
        padding: 1rem 0;
    }
    .CMS-INSTAGRAM-LIST::before {
        content: "";
        flex-basis: 30%;
        padding-bottom: 4.2%;
        order:1;
    }
    .CMS-INSTAGRAM-LIST::after {
        content: "";
        flex-basis: 30%;
        padding-bottom: 4.2%;
    }
    .CMS-INSTAGRAM-LIST a {
        flex-basis: 30%;
        padding-bottom: 4.2%;
    }
    .top_sns_share img {
        /* width: auto !important; */
        width: 100% !important;
        height: auto;
        padding-bottom: 0.8%;
        padding: 1% 0.8%;
    }
    
    img.instagram-post-image {
        width: 30%;
        padding-bottom: 1%;
    }
}





.tour-price {
	font-size: 1.3em;
	font-weight: bold;
}






/*-------------------------
  contact
---------------------------*/
  
@media screen and (min-width: 768px) {
	form {
		padding: 20px 0 0 0;
		/* max-width: 1200px; */
		margin: 0 auto;
		/* width: calc(100% - 40px); */
		width: 88rem;
	}
  
	form div {
		margin-bottom: 40px !important;
	}
  
	form div label {
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
		font-size: 1.5rem;
	}
  
	form select {
		padding: 20px;
		background: #fff;
		border: #bbb solid 1px;
		border-radius: 3px;
	}
  
	form input,
	form textarea {
		width: calc(100% - 40px);
		padding: 15px 20px;
		background: #fff;
		border: #bbbbbb solid 1px;
		border-radius: 4px;
		font-size: 1.5em;
	}
	form textarea {
	  resize: vertical;
	  height: 25rem;
	}
	form input[type="submit"] {
		border: 0px;
		width: 40%;
		background: #c4021a;
		/* border: 2px solid #fff;
		border: solid 4px #0D0505; */
		color: #fff;
		font-size: 2.17rem;
		font-weight: 600;
		padding: 15px 0;
		margin: 0 auto;
		display: block;
        letter-spacing: 0.5rem;

	}
  }
  
  form input[type="submit"]:hover {
	transition: all 0.3s;
	cursor: pointer;
	/* opacity: 0.7; */
	color: #b0e2f1;
  }
  .CMS-FORM-RADIO input[type="radio"] {
    width: 2rem;
    height: 2rem;
    display: block;
    margin-top: 1.3rem;
    border-radius: 50%;
}
.CMS-FORM-RADIO {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 70%;
}
.CMS-FORM-RADIO label{
    display: block;
    width: calc(100% - 3.5rem);
}
.CMS-FORM-RADIO > label {
    font-weight: normal;
    padding-top: 0.8rem;
}
.CMS-FORM-RADIO > label:not(:last-of-type) {
    margin-bottom: 1rem;
}

  @media screen and (max-width: 768px) {
	form {
		padding: 0 0 0px;
		width: 100%;
	}
  
	form div {
		margin-bottom: 20px;
	}
  
	form div label {
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
		font-size: 14px;
	}
  
	form select {
		padding: 20px;
		background: #fff;
		border: #bbb solid 1px;
		border-radius: 3px;
	}
  
	form input,
	form textarea {
		max-width: 1000px;
		width: calc(100% - 20px);
    width: 100%;
		padding: 15px 10px;
		background: #fff;
		border: #bbbbbb solid 1px;
		border-radius: 4px;
		font-size: 1.4em;
	}
	form textarea {
		height: 20rem;
	  }  
  
	form input[type="submit"] {
		border: 0px;
		width: 90%;
		background: #c4021a;
		/* border: 2px solid #fff;
		border: solid 4px #0D0505; */

		color: #fff;
		font-size: 1.84rem;
		font-weight: 600;
		padding: 1.34rem 0;
		margin: 0 5%;

	}

	.CMS-FORM-RADIO input[type="radio"] {
        width: 2rem;
        height: 2rem;
        margin-top: 0;
        margin-bottom: 1.5rem;
    }
    .CMS-FORM-RADIO {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%;
    }
    .CMS-FORM-RADIO label{
        width: calc(100% - 3.5rem);
        padding-top: 0;
        margin-top: -0.1rem;
    }
    .CMS-FORM-RADIO > label {
        font-weight: normal;
    }
    .CMS-FORM-RADIO > label:not(:last-of-type) {
        margin-bottom: 0;
    }

  }
  
@media screen and (max-width: 450px) {

	.inner-flex h2 {
		font-size: 25px;
	}
	.inner-flex-reverse h2{
		font-size: 25px;
	}
	.inner-flex-reverse h2{
		font-size: 25px;
	}

}


.thanks_width {
	text-align: center;
	margin: auto;
  }
  .thanks_width .btn {
	margin: 0 auto;
  } 


/*
 * required mark 
 */
 .form_required1 {
	width: 250px;
	display: flex;
	justify-content: space-between;
  }
  .form_required2 {
	display: inline-block;
	background-color: #DA002C;
	color: #fff;
	font-size: 0.8em;
	line-height: 1;
	font-weight: bold;
	width: 50px;
	padding: 4px 0;
	text-align: center;
  
	margin-top: 3px;
	margin-left: 30px;
  
  }
  @media screen and (max-width: 768px) {
	.form_required1 {
	  width: 100%;
	}  
	.form_required2 {
	  /* width: 14vw;
	  height: 5.5vw;   */
	}
  }
  

  /*
 * privacy policy
 */

.privacy {
	width: calc(100% - 40px) !important;
	margin: 0 auto 5rem;
	border: 4px solid #bebebe;
	height: 500px;
	overflow: auto;
	overflow-y: scroll !important;
	background-color: #fff;
  }
  .privacy p {
	color: #000;
	padding: 0 20px;
  }
  .privacy span {
	font-weight: bold;
  }
  
  p.privacy_notes {
	padding: 4rem 0 2rem;
	padding-left: 2em;
	text-indent: -1em;
    font-size: 1.3rem;
  }
  
  @media screen and (max-width: 768px) {
	.privacy {
		width: calc(100% - 20px) !important;
		/* height: 110vw; */
		height: 380px;
	}
  }


.recruit__block {
    max-width: 1000px;
    margin: 0 auto;
}
.recruit__text {
    text-align: center;
    font-size: 1.6rem;
    margin: 7rem 0 5rem;
}

  
/*
 * thanx
 */

.thanx {
    text-align: center;
    font-size: 1.6rem;
}
.back {
    text-align: center;
    display: block;
    font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
    .thanx {
        text-align: left;
    }
}






    /*
   * privacy policy
   */
  
    .detail_privacy {
      /* width: 95% !important;
      max-width: 1020px; */
	  width: 88rem;
      border: 1px solid #100201;
      height: 41.6rem;
      overflow: auto;
      overflow-y: scroll !important;
      background-color: #fff;
      margin: 4rem auto 0rem;
      padding: 20px;
      text-align: left;
		
    }
    .detail_privacy h3 {
        font-size: 1.2em;
        text-align: left;
        font-weight: bold;
				margin-bottom: 1rem;
    }
		.detail_privacy h4{
			margin-top: 1rem;
		}
    .detail_privacy .sp2 {
      display: none;
    }
  
    .detail_privacy p {
      color: #000;
			margin-left: 1rem;
      /* padding: 0 0 20px; */
      /* padding: 0; */
      font-weight: normal;
			font-size: 1.2rem;
			
    }
		.detail_privacy ol li{
			list-style: decimal inside;
			font-size: 1.2rem;
		}
		.detail_privacy ol{
			margin:1rem 0 1rem 2rem;
		}
		.detail_privacy ol li{
			padding-left: 1em;
			text-indent: -1.3em;
		}
  
    .detail_privacy span {
      font-weight: bold;
    }
  
    .detail_privacy .p_head {
      padding-bottom: 0px;
      margin-bottom: 0.8em;
    }
  
    .detail_privacy ul {
      font-weight: normal;
      list-style: disc !important;
      padding-left: 2em;
      padding-bottom: 1em;
    }
  
    .detail_privacy ul li {
      font-weight: normal;
      list-style: disc !important;
    }
  
    p.detail_privacy_notes {
        /* width: 95%;
      max-width: 1020px; */
	  width:88rem;
      margin: 6rem auto 0;
      padding: 0px 0 0px;
      padding-left: 1em;
      text-indent: -1em;
      font-weight: normal;
      text-align: left;
    }
  
    @media screen and (max-width: 768px) {
      .detail_privacy {
        width: calc(100% - 20px) !important;
        width: 100% !important;
        margin: 4rem auto 0rem;
      }
			.detail_privacy p,
			.detail_privacy ol li{
				font-size: 1.4rem;
			}
  
      .detail_privacy .sp2 {
        display: initial;
      }
  
      p.detail_privacy_notes {
		width: 100%;
	  }
  
    }
    

.CMS-FORM-INPUT-LABEL:not(.norequired):after,
.CMS-FORM-NUMBER-LABEL:after,
.CMS-FORM-EMAIL-LABEL:after,
.CMS-FORM-TEL-LABEL:after,
.CMS-FORM-TEXTAREA-LABEL:after,
.CMS-FORM-SELECT-LABEL:after {
	content: "必須";
	display: inline-block;
	font-size: 1rem;
	color: #FFF;
	text-align: center;
	width: 3.75rem;
	height: 2.08rem;
	background: #e8380d;
	margin-left: 1.34rem;
	line-height: 2.08rem;
	font-weight: 500;
}



.mce-content-body .CMS-NEWS-INDEX::after{
    content: "お知らせの編集は、管理画面メニューよりご利用いただけます。"!important;
    width: 100%!important;
    margin-bottom: auto!important;
}

.mce-content-body .fade {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}
