@charset "utf-8";

* {
	margin: 0;
	padding: 0;
}

html {
	background-color: #fff;
	overflow-x: hidden;
	font-size: min(16px, 2.76vw);
}

body {
	margin: 0 auto;
	font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	line-height: 1.6;
	/* 	background-color: #c30082; */
	background-color: #fff;
	box-shadow: 0 30px 30px rgb(0 0 0 / 30%);
	width: 100vw;
}

div {
	max-width: 100vw;
}

img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

/* リンク -----------------*/

a {
	color: #040000;
	text-decoration: none;
}

a:hover {
	color: #A80E78;
	text-decoration: none;
}

a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}


a:link,
a:visited {
	color: #4040ff;
	text-decoration: underline;
}


/* レイアウト -----------------*/
.flex {
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin: 0;
	box-sizing: border-box;
}

.row {
	display: flex;
}

.l-box {
	display: flex;
}

.r-box {
	margin-left: auto;
}

.vam {
	vertical-align: middle;
}

.center {
	margin: 0 auto;
	width: 100%;
	text-align: center;
}


.wd100 {
	width: 100%;
}

.wd95 {
	width: 95%;
}

.wd90 {
	width: 90%;
}

.wd85 {
	width: 85%;
}

.wd80 {
	width: 80%;
}

.wd70 {
	width: 70%;
}

.wd60 {
	width: 60%;
}

.wd50 {
	width: 49%;
}

.wd40 {
	width: 39%;
}

.wd33 {
	width: 32%;
}

.wd30 {
	width: 29%;
}

.wd20 {
	width: 19%;
}

.wd10 {
	width: 9%;
}


.dsn {
	display: none;
}

.dpb {
	display: block;
}


.fwb {
	font-weight: bold;
}

.fcw {
	color: #fff;
}

.fcp {
	color: #a35393;
}

.fco {
	color: #EF8200;
}

.fcr {
	color: #DE1F19;
}

.bcbl {
	background-color: #000;
}

.bcwh {
	background-color: #fff;
	opacity: 1;
}

.bcgr {
	background-color: #e4dade;
}




.fss {
	font-size: 0.6rem;
}

.fsm {
	font-size: 0.8rem;
}

.fsl {
	font-size: 1.8rem;
}

.ftr05 {
	font-size: 0.5rem;
	transform: scale(1, 2);
}

.ftr06 {
	font-size: 0.6rem;
	transform: scale(1, 1.6667);
}

.ftr07 {
	font-size: 0.7rem;
	transform: scale(1, 1.4286);
}

.ftr08 {
	font-size: 0.8rem;
	transform: scale(1, 1.25);
}

.ftr09 {
	font-size: 0.9rem;
	transform: scale(1, 1.1111);
}

.mb10 {
	margin-bottom: 1vw;
}

.mb20 {
	margin-bottom: 2vw;
}

.mb30 {
	margin-bottom: 3vw;
}

.mb40 {
	margin-bottom: 4vw;
}

.mb50 {
	margin-bottom: 5vw;
}

.mb60 {
	margin-bottom: 6vw;
}

.mb70 {
	margin-bottom: 7vw;
}

.mb80 {
	margin-bottom: 8vw;
}

.mb90 {
	margin-bottom: 9vw;
}

.mb100 {
	margin-bottom: 10vw;
}

.mb110 {
	margin-bottom: 11vw;
}

.mb120 {
	margin-bottom: 12vw;
}

.mb130 {
	margin-bottom: 13vw;
}

.mb140 {
	margin-bottom: 14vw;
}

.mb150 {
	margin-bottom: 15vw;
}


.mr10 {
	margin-right: 1vw;
}

.pt0 {
	padding-top: 0vw;
}

.pt10 {
	padding-top: 1vw;
}

.pt20 {
	padding-top: 2vw;
}

.pt30 {
	padding-top: 3vw;
}

.pt50 {
	padding-top: 5vw;
}

.pb10 {
	padding-bottom: 1vw;
}

.pb20 {
	padding-bottom: 2vw;
}

.pb30 {
	padding-bottom: 3vw;
}

.pb40 {
	padding-bottom: 4vw;
}

.pb50 {
	padding-bottom: 5vw;
}

.pr10 {
	padding-right: 1vw;
}

.pr20 {
	padding-right: 2vw;
}

.pr30 {
	padding-right: 3vw;
}

.pr50 {
	padding-right: 5vw;
}

.pr60 {
	padding-right: 6vw;
}

.pr80 {
	padding-right: 8vw;
}

.pl10 {
	padding-left: 1vw;
}

.pl20 {
	padding-left: 2vw;
}

.pl30 {
	padding-left: 3vw;
}

.pl50 {
	padding-left: 5vw;
}

.pl60 {
	padding-left: 6vw;
}

.pl80 {
	padding-left: 8vw;
}



@media (min-width: 1160px) {


	.mb10 {
		margin-bottom: calc(1160px / 100 * 1);
	}

	.mb20 {
		margin-bottom: calc(1160px / 100 * 2);
	}

	.mb30 {
		margin-bottom: calc(1160px / 100 * 3);
	}

	.mb40 {
		margin-bottom: calc(1160px / 100 * 4);
	}

	.mb50 {
		margin-bottom: calc(1160px / 100 * 5);
	}

	.mb60 {
		margin-bottom: calc(1160px / 100 * 6);
	}

	.mb70 {
		margin-bottom: calc(1160px / 100 * 7);
	}

	.mb80 {
		margin-bottom: calc(1160px / 100 * 8);
	}

	.mb90 {
		margin-bottom: calc(1160px / 100 * 9);
	}

	.mb100 {
		margin-bottom: calc(1160px / 100 * 10);
	}

	.mb110 {
		margin-bottom: calc(1160px / 100 * 11);
	}

	.mb120 {
		margin-bottom: calc(1160px / 100 * 12);
	}

	.mb130 {
		margin-bottom: calc(1160px / 100 * 13);
	}

	.mb140 {
		margin-bottom: calc(1160px / 100 * 14);
	}

	.mb150 {
		margin-bottom: calc(1160px / 100 * 15);
	}



	.mr10 {
		margin-right: calc(1160px / 100 * 1);
	}

	.pt10 {
		padding-top: calc(1160px / 100 * 1);
	}

	.pt20 {
		padding-top: calc(1160px / 100 * 2);
	}

	.pt30 {
		padding-top: calc(1160px / 100 * 3);
	}

	.pt50 {
		padding-top: calc(1160px / 100 * 5);
	}

	.pb10 {
		padding-bottom: calc(1160px / 100 * 1);
	}

	.pb20 {
		padding-bottom: calc(1160px / 100 * 2);
	}

	.pb30 {
		padding-bottom: calc(1160px / 100 * 3);
	}

	.pb40 {
		padding-bottom: calc(1160px / 100 * 4);
	}

	.pb50 {
		padding-bottom: calc(1160px / 100 * 5);
	}

	.pr10 {
		padding-right: calc(1160px / 100 * 1);
	}

	.pr20 {
		padding-right: calc(1160px / 100 * 2);
	}

	.pr30 {
		padding-right: calc(1160px / 100 * 3);
	}

	.pr50 {
		padding-right: calc(1160px / 100 * 5);
	}

	.pr60 {
		padding-right: calc(1160px / 100 * 6);
	}

	.pr80 {
		padding-right: calc(1160px / 100 * 8);
	}

	.pl10 {
		padding-left: calc(1160px / 100 * 1);
	}

	.pl20 {
		padding-left: calc(1160px / 100 * 2);
	}

	.pl30 {
		padding-left: calc(1160px / 100 * 3);
	}

	.pl50 {
		padding-left: calc(1160px / 100 * 5);
	}

	.pl60 {
		padding-left: calc(1160px / 100 * 6);
	}

	.pl80 {
		padding-left: calc(1160px / 100 * 8);
	}
}

.relative {
	position: relative;
}

.absolute {
	position: absolute;
}


/* header */

#header {
	position: sticky;
	top: 0;
	z-index: 999999;
}

#logo {
	width: 100%;
	display: block;
	background-color: #f58200;
	padding: 0.5rem;
	box-sizing: border-box;
}

#logo img {
	max-width: 90%;
	margin: auto;
	padding: 0;
	display: block;
}

/* メニュー */
#menubox {
	text-align: center;
	position: fixed;
	bottom: 0;
	z-index: 999999;
	background-color: #fff;
	padding: 7px 0;
	opacity: 1;
	margin: 0;
	width: 100vw;
	/*	box-shadow: 0px -4px 17px -6px rgba(0, 0, 0, 0.3); */

}

.menu1 {
	display: inline-block;
	/* インラインブロック要素にする */

	/* 背景色指定 */
	width: 30%;
	padding-right: 1%;
	text-align: center;
}




/* footer */
#footer {
	z-index: 9999;
	background-color: #fff;
	position: relative;
	padding-top: 60px;
	padding-bottom: 70px;
}


/* --- 固定ヘッダー　ページ内リンク先調整 --- */
.link-t-a {
	position: relative;
	/*	top: -60px;*/
	display: block;
}

/* --- Gmap高さ可変 --- */
.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}

.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

/* --- アコーディオン --- */
.tihou {
	cursor: pointer;
}

.todouhuken {
	padding-bottom: 10px;
	cursor: pointer;
}


.tenpomenu img {
	margin-bottom: 30px;
}

.opener {
	display: none;
}

.opener_js {
	display: none;
}

.none {
	display: none;
}

#con11 {
	width: 100%;
}

/* --- 個別設定 --- */
.alc {
	align-items: center;
}

.wd65 {
	width: 65%;
}

.row {
	display: flex;
}



#slide {
	/* 			background-color: #231815; */
	background-color: #fff;
}

#con11 {
	background-color: #fff;
}

.slide-contents {
	height: 100vh;
}

.sticky-wrap {
	height: 100%;
}


.sticky {
	position: sticky;
	z-index: 100;
	top: 0;
}





#move-wrap {
	width: 100%;
}

.move {
	width: 100%;
}





@media screen and (min-width:640px) {
	body {
		width: 100%;
		/* 			background-image: url("img/bg-left.png"); */
		background-size: 30%;
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-position: left bottom;
		margin: 0;
		padding: 0;
	}

	#contents,
	#menubox {
		width: 640px;
		margin: auto;
	}

	#menubox {
		margin: 0 -200%;
		padding: 10px 200%;
		box-sizing: content-box;
	}

	#s01 {
		z-index: 9999;
		position: relative;
	}

	/* コンテンツの背景を広げる */
	.wideview {
		margin: 0 -300%;
		padding: 0 300%;
		box-sizing: content-box;
	}

	/*#con11 {
		margin: 0 -300%;
		padding: 50px 300%;
	} */


}


.hidden {
	opacity: 0;
}

.js-scroll-fadein-up {
	opacity: 0;
	-webkit-transition: opacity 0.8s ease 0s;
	transition: opacity 0.8s ease 0s;
}

.js-scroll-fadein-up.is-animation {
	opacity: 1;
	transform: translate(0, 0);
}




/* jsではなくvwでmenuの高さを調整 */
.js_auto_hight {
	min-height: calc(100vh - 94px);
	height: calc(100vh - 94px);
	/* min-height: -webkit-fill-available; */
}

@media screen and (max-width:640px) {
	.js_auto_hight {
		min-height: calc(100vh - 13.6vw);
		height: calc(100vh - 13.6vw);
	}
}


.btn__1 {
	position: relative;
}

.btn__1::before {
	padding-top: 40%;
	display: block;
	content: "";
}

.btn__1__img--0 {
	position: absolute;
	top: 0%;
	left: 0%;
	width: 100%;
}

.btn__1__img--1 {
	position: absolute;
	top: 27.7086291771552%;
	left: 9.31630226976205%;
	width: 80.3448275862069%;
}



html {
	font-size: min(16px, 2.76vw);
}

footer .arrow {
	position: relative;
	display: inline-block;
	padding-left: 1.5rem;
}

footer .arrow::before {
	content: "";
	transform: rotate(45deg);
	position: absolute;
	top: 0.55rem;
	left: 0;
	width: 0.8rem;
	height: 0.8rem;
	border-top: 0.08rem solid #A80E78;
	border-right: 0.08rem solid #A80E78;
}

.footer-list {
	display: flex;
	flex-wrap: wrap;
	width: 90%;
	margin-left: 5%;
	border-top: #990e78 2px solid;
	font-size: 1.2rem;
	padding-top: 0.5rem;
	list-style: none;
	margin-bottom: 3rem;
}

.footer-list__item {
	width: 50%;
	padding-top: 0.8rem;
}

.footer-list__item a {
	color: #040000;
	text-decoration: none;
}