@charset "UTF-8";

/* iOS */
input[type="submit"],input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

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

input[type="submit"]::focus,
input[type="button"]::focus {outline-offset: -2px;}

input,button,textarea,select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

/* /iOS */

/* flex */

.flex {
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	justify-content: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
}

.flex-s {justify-content: flex-start !important;}
.space-a {justify-content: space-around !important;}
.space-b {justify-content: space-between !important;}
.item-c {align-items: center;}

/* /flex */

::-webkit-scrollbar {width: 10px;}

::-webkit-scrollbar-thumb {
	background: #886a4b;
	border-radius: 5px;
}

::-webkit-scrollbar-track {
	background: rgb(255 255 255);
	border-radius: 5px;
	width: 80%;
}

/*-- all --*/

body {
    font-family: "游ゴシック体", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 600;
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color:#5a3007;
	max-width: 1000px;
    margin: 0 auto;
}

article {overflow: hidden;}

main {
	background: url(../images/contbg.jpg) center top repeat;
	width: 100%;
	z-index: 5;
	position: relative;
}

main#under {
	margin-top: 116px;

	@media screen and (max-width: 480px) {margin-top: 111px;}

}

.wrapper {
	width: 96%;
	max-width: 1800px;
	background: #fff;
	margin: auto;
}

.under-h-bg {
	background: rgba(0, 0, 0, 0.9);
	height: 150px;
}

/* all-right-down */

#right-down {
	position: fixed;
	bottom: 40px;
	right: 20px;
	color: #fff;
	transition: all 0.3s ease-in;
	opacity: 0;
	z-index: -1;
	
	@media screen and (max-width: 1000px) {bottom: 30px;}

	.pt {
		padding: 15px 20px;

		img {
			width: 100%;
			max-width: 115px;

			@media screen and (max-width: 1000px) {
				width: 100%;
				max-width: 50px;
			}
		}
		
		div {
			display: flex;
			align-items: center;

			img {
				width: 40px;
				display: flex;
				margin-right: 10px;
			}
		}	
	}

	.pt > p {
		font-size: 20px;
		text-align: center;
		margin-top: 10px;
		animation: blinkAnimeS1 1s infinite alternate;
	}

	.box {position: relative;}
}

#right-down.-scrolled {
	transition: all 0.3s ease-in;
	opacity: 1;
	z-index: 50;
	right: 0;
}

.img_up {
	animation: img_up 1.5s linear infinite;
	transform-origin: 50% 50%;
}

@keyframes img_up {
	0% {transform: translateY(0);}
	33.33333% {transform: translateY(-3px);}
	66.66667% {transform: translateY(3px);}
	100% {transform: translateY(0);}
}

@keyframes blinkAnimeS1 {
	0% {color: #272727;}
	100% {color: #c6ba72;}
}

/* /all-right-down */

/*------------ slider dots-wrap ------------*/

.dots-wrap {
    display: flex;
    justify-content: center;
    margin-top: 3vw;

	li {
		width: 40px;
		height: 4px;
		margin: 0 5px;
		background: #e1d9d9;
		cursor: pointer;

		button {
			display: none;
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			outline: none;
			padding: 0;
			border: none;
			background-color: transparent;
		}
	}

	li:hover,li.slick-active {background: #85653f;}
}

/*------------ /slider dots-wrap ------------*/

/*** bread ***/
.breadcrumb {
    padding: 10px 5px;
    box-sizing: border-box;
    font-size: 16px;
    margin: 0 auto;
    background: #fff;
    color: #5a3007;

	@media screen and (max-width: 480px) {font-size: 11px;}
	
	li {
		display: inline-block;

		a {display: inherit;}
	}	
}

/*** /bread ***/

.sp {	
	display: none;
	
	@media screen and (max-width: 1000px) {display: block;}
}

.pc {
	display: block;
	
	@media screen and (max-width: 1000px) {display: none;}
}

/***** sp header *****/

.headersp {
	display: block;
	position: relative;
	text-align: center;
}

.headersp .info-box {
	margin: 0 auto 10px;
	
	.open {
		width: 387px;

		@media screen and (max-width: 1000px) {width: 38.7vw;}
	}

	.tel {
		width: 405px;

		@media screen and (max-width: 1000px) {width: 40.5vw;}	
	}

	.mail {
		width: 273px;

		@media screen and (max-width: 1000px) {width: 27.3vw;}
	}
}

.headersp nav.h-nav {
	background: #272727;
	padding-bottom: 5px;
	position: relative;
	z-index: 50;
	
	ul {
		gap: 1% 1.2%;

		li {
			width: 49.333%;
			margin-top: 5px;

			a {
				background: url(../images/navbtn-bg.jpg) center top no-repeat;
				display: block;
				color: #fff;
				background-size: cover;
				padding: 10px 0;
				min-height: 50px;

				@media screen and (max-width: 414px) {min-height: auto;}

				p {
					text-align: center;
					margin-top: 6px;
				}

				p:first-of-type {
					font-size: 20px;

					@media screen and (max-width: 414px) {font-size: 18px;}
				}

				p:last-of-type {
					font-size: 13px;

					@media screen and (max-width: 414px) {font-size: 12px;}
				}
			}	
		}
	}
}

/*-- /header --*/

/*-- nav --*/

.headersp nav > #nav-obi .open,
.open img {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.headersp nav > #nav-obi .open {
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	background-color: #a9976d;
	display: flex;
	justify-content: center;
	align-items: center;
	visibility: visible;
	z-index: 3000;
	width: 100%;
	opacity: 1;
	transition: all 1.4s cubic-bezier(0.04, 0.435, 0.315, 0.9);
	
	img {
		display: block;
		margin: 0 auto;
		width: 154px;
		opacity: 0;
		transform: translate(0, 5px);
		transition: all 1s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0.1s;

		@media screen and (max-width: 768px) {width: 180px;}	
	}

	img:nth-of-type(2) {transition-delay: 0.4s;}
	
	p {
		color: #fff;
		text-align: center;
		opacity: 0;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-webkit-transform: translate(0, 5px);
		transform: translate(0, 5px);
		transition: all 1s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0.4s;
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1;
		letter-spacing: 0.1em;
	}
}

.headersp nav > #nav-obi .open.is-loading img,
nav > #nav-obi .open.is-loading p {
	opacity: 1;
	transform: translate(0, 0);
}

.headersp nav > #nav-obi .open.is-loaded {
	opacity: 0;
	visibility: hidden;
	z-index: -1;
}

.headersp nav > #nav-obi h1 img {
	width: 130px;
	
	@media screen and (max-width: 320px) {width: 120px;}	
}


.headersp nav > #nav-obi.is-fixed h1 img {
	width: 130px;
	
	@media screen and (max-width: 320px) {width: 120px;}	
}

.headersp nav > #nav-obi #open {
	font-size: 24px;
	color: #ff008a;
	background: #fff;
	height: 65px;
	text-align: center;
	margin-right: 10px;
	
	p {
		padding: 14px 10px;
		
		span {
			font-size: 13px;
			display: block;
		}
	}
}

.headersp nav > #nav-obi.is-fixed #open {
	height: 55px;
	
	p {padding: 9px 10px;}
}

.headersp nav .nav-obi .hamburer.is-open span {opacity: 0;}

.headersp nav .nav-obi .hamburer {
	transition: all 0.8s cubic-bezier(0.04, 0.435, 0.315, 0.9);
}

.headersp nav .nav-obi .hamburer {
	position: absolute;
	top: 50px;
	right: 30px;
	cursor: pointer;
	width: 52px;
	height: 30px;
	
	@media screen and (max-width: 1000px) {
		width: 40px;
		top: 30px;
		right: 10px;
	}

	@media screen and (max-width: 414px) {
		right: 15px;
		width: 40px;
		height: 40px;
	}
}

.headersp nav .nav-obi.is-fixed .hamburer {top: 30px;}

.headersp nav .nav-obi .hamburer.is-open span:first-of-type {
	transform: translate(0, 7px) rotate(0deg);
	
	@media screen and (max-width: 768px) {transform: translate(15px, 6px) rotate(0deg);}
}


.headersp nav .nav-obi .hamburer.is-open span:nth-of-type(2) {
	transform: translate(0, 7px) rotate(0deg);
	opacity: 0;
	
	@media screen and (max-width: 768px) {transform: translate(0, 6px) rotate(0deg);}
}

.headersp nav .nav-obi .hamburer.is-open span:last-of-type {
	transform: translate(0, 7px) rotate(0deg);
	
	@media screen and (max-width: 768px) {transform: translate(0, 6px) rotate(0deg);}	
}

.headersp nav .nav-obi .hamburer:hover span:nth-of-type(2) {
	width: 30px;
}

.headersp nav .nav-obi .hamburer:hover span:first-of-type {
	width: 20px;
}

.headersp nav .nav-obi .hamburer span {
	display: block;
	width: 50px;
	height: 6px;
	background-color: #5b3005;
	transition: all 0.8s cubic-bezier(0.04, 0.435, 0.315, 0.9);
	backface-visibility: hidden;
	opacity: 1;
	box-sizing: border-box;
	padding: 2px 0;
	border-radius: 30px;
	
	@media screen and (max-width: 1000px) {
		background-color: #5b3005;
		width: 40px;
		height: 4px;
	}	
}

.headersp nav .nav-obi .hamburer span:first-of-type {
	transform: translate(0, -5px) rotate(0deg);
}

.headersp nav .nav-obi .hamburer span:nth-of-type(2) {
	transform: translate(0, 3px) rotate(0deg);
}

.headersp nav .nav-obi .hamburer span:last-of-type {
	transform: translate(0, 11px) rotate(0deg);
}

.headersp nav .nav-obi .hamburer p {
	font-size: 14px;
	text-align: center;
	color: #fff;
	padding-top: 3px;
	
	@media screen and (max-width: 1000px) {
		font-size: 10px;
		color: #fff;
	}	
}

.headersp nav .nav-obi {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: center;
	
	.logo {
		margin-top: 0;

		img {width: 130px;}	
	}
}

.headersp nav .nav-obi.is-show {opacity: 1;}

.headersp nav .nav-obi.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	border-radius: 0;
}

.headersp nav .hamburer-in,
nav .hamburer-in .hamburer-close {
	transition: all 0.3s cubic-bezier(0.04, 0.435, 0.315, 0.9);
	opacity: 0;
	z-index: 1000;
}

.headersp nav .hamburer-in {
	left: 0;
	color: #fff;
	display: flex;
	justify-content: flex-start;
	visibility: hidden;
	pointer-events: none;
	z-index: -1;
	background-color: rgba(0, 0, 0, 1);
	backface-visibility: hidden;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	
	@media screen and (max-width: 1000px) {	background-color: rgba(125, 72, 27, 0.8);}	
}

.headersp nav .hamburer-in.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 2000;
}

.headersp nav .hamburer-in .hamburer-close {
	position: absolute;
	top: 30px;
	right: 20px;
	cursor: pointer;
	width: 40px;
	height: 40px;
	
	span {
		display: block;
		width: 50px;
		height: 5px;
		background-color: #fff;
		position: relative;
		top: -4px;
		left: 0px;
		transition: all 0.3s cubic-bezier(0.04, 0.435, 0.315, 0.9);
		transform: rotate(45deg) translate(1px, 0);
		border-radius: 20px;
	}

	p {
		font-size: 10px;
		text-align: center;
		margin: 0 8px 0;
	}
}

.headersp nav .hamburer-in .hamburer-close.is-open,
nav .top-brand__list-item a:hover img[src*="h.png"] {
	opacity: 1;
}

.headersp nav .hamburer-in .hamburer-close.is-open span:first-child {
	transform: rotate(-45deg) translate(-1px, 0);
	top: 1px;
}

.headersp nav .hamburer-in .hamburer-close.is-open span:last-child {
	transform: rotate(45deg);
}

.headersp nav .hamburer-in .hamburer-main {
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0 auto;
	display: block;
	text-align: center;

	@media screen and (max-width: 320px) {margin-top: 40px;}
	
	.h-box {
		box-shadow: unset;
	}

	.box {
		font-size: 1.6rem;
		overflow: hidden;
	}
		
	ul li img {
		width: 100%;
	}

	ul.bna li img {
		width: 165px;
		margin: 0 5px;

		@media screen and (max-width: 320px) {width: 147px;}	
	}
}

/*-- /nav --*/

/***** /sp header *****/

/* all-nav */

header nav {width: 100%;}

nav .nav-obi.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	border-radius: 0;
	width: 100%;
	opacity: 0.95;
}

nav .nav-obi #nav-menu {
	width: 100%;
	margin: 0 auto;
	
	li {
		box-sizing: border-box;
		padding: 0 1.6%;
		
		@media screen and (max-width: 1200px) {padding: 0 1%;}
		
		a {
			max-height: 80px;
			text-align: center;
			display: block;
			box-sizing: border-box;
			background-size: contain;
			font-size: 1.75vw;
			color:#5a3007;
			
			p:first-of-type {
				font-family: "Open Sans", sans-serif;
				font-weight: 400;
			}
			
			p:last-of-type {
				font-size: 0.8vw;
				font-weight: bold;
				padding-top: 5px;
			}
	
			img {
				width: 25px;
				margin-right: 10px;

				@media screen and (max-width: 1620px) {width: 20px;}	
			}	
		}
	}

	li:hover a {
		opacity: 0.8;
		color: #000;
	}

	li:hover p {
		opacity: 0.8;
		color: #000;
		transition: 0.3s ease-in-out;
	}
}

/* /all-nav */

.slider-all-back {
	margin-left: 25%;

	@media screen and (max-width: 1000px) {
		margin-left: 0;
		overflow: hidden;
	}
}

.mainstage.under {
    background: url(../images/under_bg.jpg) no-repeat;
    background-size: 100%;
	height: 42vw;
}

.mainstage.under .txtbox {
	z-index: 10;
	text-align: center;

	@media screen and (max-width: 1000px) {
		top: 8vw;
		left: 20px;
	}

	.titletxt {
			font-family: "Open Sans", sans-serif;
			background: linear-gradient(to bottom,  rgba(134,15,15,1) 6%,rgba(218,34,34,1) 50%,rgba(134,15,15,1) 94%);
			color: transparent;
			-webkit-background-clip: text;
			background-clip: text;
			-webkit-text-fill-color: transparent;
			text-fill-color: transparent;
			font-size: 70px;
			font-weight: bold;
			letter-spacing: 2vw;

		@media screen and (max-width: 1000px) {
			font-size: 10vw;
			margin: 3vw auto;
		}

		@media screen and (max-width: 460px) {
			margin: 2vw auto 1vw;
		}
	}

	.subt {
		font-size: 32px;
		color: #b22c2c;
		margin: 1vw auto 0;

		@media screen and (max-width: 1000px) {font-size: 3.4vw;}
	}
}

.slick-vertical .slick-slide {border: none !important;}

/*-- /all --*/

/*-- header --*/

header {
	z-index: 50;
	position: fixed;
    top: 0;
    left: 0;
	width: 100%;
}

/* snsbtn */

header .snsbtn {
	z-index: 55;
	position: fixed;
	background: linear-gradient(to bottom, rgb(191, 198, 205) 0%, rgb(255, 255, 255) 50%, rgb(191, 198, 205) 100%);
	width: 70px;
	top: 0;
	right: 0;
	padding: 50px 0 100px;
	box-sizing: border-box;
	border-radius: 0 0 0 80px;

	@media screen and (max-width: 1000px) {
		width: 40px;
		padding: 30px 0 60px;
	}

	i {
		width: 100%;
		text-align: center;

		img {
			width: 40px;

			@media screen and (max-width: 1000px) {width: 20px;}
		}
	}

	p {
		margin-top: 10px;
		font-size: 22px;
		height: auto;

		@media screen and (max-width: 1000px) {font-size: 16px;}

	}
}

header .snsbtn:hover {
	transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
	transform: translateY(-10px);
}

/* /snsbtn */

/* snsbtn0 */

.snsbtn0 {
	background: #fff;
	color: #5a3007;
	width: 75%;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 4px;
	margin: auto;

	@media screen and (max-width: 1000px) {
		width: 75%;
		margin: 0;
		padding: 3px;
	}

	@media screen and (max-width: 414px) {
		width:67%;
		padding: 3px;
	}

	i {
		text-align: center;

		img {
			width: 3vw;

			@media screen and (max-width: 1000px) {width: 20px;}
		}
	}

	p {
		color: #5a3007;
		font-weight: bold;
		font-size: 2.2vw;
		height: auto;
		letter-spacing: 0;

		@media screen and (max-width: 1000px) {
			margin-left: 11px;
		}

		@media screen and (max-width: 414px) {
			font-size: 12px;
			margin-left: 11px;
		}
	}
}

/* /snsbtn0 */

header .h-box {
	color: #fff;
	background: linear-gradient(to bottom,  rgba(255,238,204,1) 0%,rgba(239,207,143,1) 100%);
	width: 100%;
	height: 120px;
	font-weight: 400;

	@media screen and (max-width: 1000px) {
		height: auto;
		min-height: 80px;
	}

	.box {
		overflow: hidden;
		justify-content: flex-start;
		padding: 0 3%;
		box-sizing: border-box;
	}

	.info {
		box-sizing: border-box;
		text-align: center;
		margin-left: 2%;
		width: 45%;

		.tel {
			color:#5a3007;

			img {
				width: 35px;
				vertical-align: super;

				@media screen and (max-width: 414px) {width: 14px;}
			}

			span {
				font-size: 1.9vw;
				margin-left: 5px;
				letter-spacing: 0;

				@media screen and (max-width: 1000px) {font-size: 3vw;}
			}
		}

		.open {
			font-size: 1vw;
			color: #5a3007;
			font-weight: bold;

			@media screen and (max-width: 1000px) {font-size: 1.8vw;}

			span {
				font-size: 10px;
				margin-right: 3px;

				@media screen and (max-width: 1000px) {font-size: 1.8vw;}
			}
		}
	}
}

header #logo {
	width: 43%;

	@media screen and (max-width: 1000px) {width: 48%;}

	h1 img {
		width: 100%;
		max-width: 300px;
	}
}

header .h-left {width: 100%;}

header .h-right {
	width:60%;

	@media screen and (max-width: 1000px) {
		display: none;
		width: 40%;
		margin-right: 6%;
	}
}

.h-right nav {
	display: none;
}

/*-- /header --*/

/* snsbtn0 */

.hamburer-main .snsbtn0 {
	background: linear-gradient(to right, rgba(132, 116, 82, 1) 15%, rgba(199, 187, 165, 1) 50%, rgba(199, 187, 165, 1) 50%, rgba(132, 116, 82, 1) 85%);
	width: 58%;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 40px;
	margin: auto;

	@media screen and (max-width: 1000px) {
		background: linear-gradient(20deg, #bfc6cd 0%, #fff 50%, #bfc6cd 100%);
		width: 66%;
		margin: 0;
		padding: 3px;
	}

	@media screen and (max-width: 414px) {
		width: 100%;
		padding: 3px;
	}

	i {
		width: 15%;
		text-align: center;

		img {
			width: 3vw;

			@media screen and (max-width: 1000px) {width: 20px;}
		}
	}

	p {
		color: #5a3007;
		font-size: 2.2vw;
		height: auto;
		letter-spacing: 0;
		width: 60%;

		@media screen and (max-width: 414px) {
			font-size: 10px;
			width: 62%;
			margin-left: 11px;
		}
	}
}

/* /snsbtn0 */

.hamburer-main .h-box {
	background: none;
	position: static;

	.box {overflow: hidden;}
}

.hamburer-main .h-box .info {
	box-sizing: border-box;
	text-align: center;
	margin-left: 1%;

	.tel span {
		font-size: 1.8vw;
		margin-left: 5px;
		letter-spacing: 0;

		@media screen and (max-width: 1000px) {
			font-size: 3vw;
			color: #fff;
		}
	}

	.open {
		font-size: 13px;
		margin-top: 6px;

		@media screen and (max-width: 1000px) {
			font-size: 1.8vw;
			color: #fff;
		}

		span {
			font-size: 10px;
			margin-right: 3px;

			@media screen and (max-width: 1000px) {font-size: 1.8vw;}
		}
	}
}

@media screen and (max-width: 414px) {
	.hamburer-main .h-box .info .tel img {width: 14px;}
}

.hamburer-main #logo {
	width: 38%;

	@media screen and (max-width: 1000px) {width: 44%;}

	h1 img {
		width: 100%;
		max-width: 230px;
	}
}

.hamburer-main .h-left {
	width: 30%;

	@media screen and (max-width: 1000px) {width: 51%;}
}

.hamburer-main .h-right {
	width: 69%;
	margin-right: 10px;

	@media screen and (max-width: 1000px) {
		width: 40%;
		margin-right: 6%;
	}
}

.global-menu {
	margin-top: 20%;

	ul li {
		width: calc(100% / 2);
		border-bottom: 1px solid;
		box-sizing: border-box;

		a {
			display: block;
			padding: 8% 0;
			box-sizing: border-box;
		}

		p:first-of-type {font-size: 5.4vw;}

		p:last-of-type {
			font-size: 3vw;
			margin-top: 6px;
		}
	}

	ul li:nth-of-type(even) {border-left: 1px solid;}

	ul li:last-of-type {
		border-right: 1px solid;
		border-bottom: 0;
	}
}

/*-- top --*/

/*-- verticaltxt --*/

.vtxt {
	writing-mode: vertical-rl;
	height: 60vh;
}

/*-- /verticaltxt --*/

.ttl-box {
	background: url(../images/top-ttl-bg.jpg) center top no-repeat;
	min-height: 160px;
	box-sizing: border-box;
	padding: 15px;
}

/*-- /top --*/

/***** form-all ***************/

.formnote {
	text-align: center;
	padding: 50px 0 0;
	font-size: 16px;
	line-height: 32px;
}

.bg-set {
	border-radius: 0 16px 16px 0;
	box-sizing: border-box;
}

.cont_form {
	width: 96%;
	margin: 0px auto;
	max-width: 1200px;

	.att {
		text-align: center;
		font-size: 18px;
		color: #ff0000;
		margin-top: 50px;

		@media screen and (max-width: 1000px) {
			font-size: 3.2vw;
			margin-top: 5vw;
		}
	}

	.two {width: 50%;}
}

.entry-form {
	width: 96%;
	max-width: 1000px;
	margin: 5% auto;

	dl {
		padding: 5px;
		box-sizing: border-box;
		margin: 15px 0;

		@media screen and (max-width: 800px) {margin: 4px 0;}

		dt {
			border: 0px;
			text-align: left;
			color: #5a3007;
			font-size: 24px;
			width: 100%;
			padding-right: 5px;
			box-sizing: border-box;
			border-radius: 10px 0 0 10px;
			display: flex;
			align-items: center;
			margin-bottom: 10px;
			line-height: 1.8;
			height: auto;
			background: none;
			border-radius: 0;

			@media screen and (max-width: 800px) {
				font-size: 16px;
				margin-bottom: 2px;
			}

			span {
				font-weight: normal;
				padding: 0px;
				font-size: 13px;
				margin-left: 15px;
				color: #ff0000;
			}
		}

		dt:before {content: none;}

		dd {
			width: 100%;
			line-height: 1.8;
		}

		dd.select {
			position: relative;

			label::before {
				position: absolute;
				top: 0.9em;
				right: 17.8em;
				width: 0;
				height: 0;
				padding: 0;
				content: "";
				border-left: 9px solid transparent;
				border-right: 8px solid transparent;
				border-top: 15px solid #000;
				pointer-events: none;
			}

			select option {line-height: 1;}
		}

		dt.item {color: #9d8aee;}

		dd.form-txt {
			font-size: 16px;
			padding: 10px 0;
		}
	}

	label {
		display: block;
		font-size: 16px;
	}

	label > span {
		width: 100px;
		float: left;
		padding-top: 8px;
		padding-right: 5px;
	}

	span.required {color: red;}

	input.input-field {width: 100%;}

	input.input-field,
	.textarea-field,
	.select-field {
		box-sizing: border-box;
		padding: 3%;
		outline: none;
		line-height: 1.6;
		appearance: none;
		font-size: 18px;
		border: 1px solid #5a3007;
		border-radius: 14px;

		@media screen and (max-width: 800px) {border-radius: 6px;}
	}

	.select-field {
		width: 35%;
		height: 45px;
		font-size: 17px;
	}

	.input-field:focus,
	.textarea-field:focus,
	.select-field:focus {
		box-sizing: border-box;
		border: 5px solid #5a3007;
		margin: -4px;
	}

	.textarea-field {
		height: 400px;
		width: 100%;

		@media screen and (max-width: 800px) {height: 300px;}
	}

	.f-submit {
		width: 96%;
		max-width: 680px;
		margin: 20px auto;

		label {margin: 0;}
	}

	input[type="submit"],
	input[type="button"] {
		background: #5a3007;
		padding: 8px 15px;
		width: 100%;
		appearance: none;
		border: none;
		box-sizing: border-box;
		height: 100px;
		font-size: 30px;
		text-align: center;
		cursor: pointer;
		-webkit-appearance: none;
		-moz-appearance: none;
		border-radius: 60px;
		font-weight: 600;
		color: #fff;

		@media screen and (max-width: 800px) {
			height: 50px;
			font-size: 18px;
		}
	}

	input[type="submit"]:hover,
	input[type="button"]:hover {
		opacity: 0.8;
	}

	/* form-all-select */
	.select {
		background: #fff;
		box-sizing: border-box;
		padding: 3px;
		outline: none;
		line-height: 2;
		appearance: none;
		font-size: 18px;
		border: 1px solid #ccc;
		position: relative;
	}

	.select::after {
		position: absolute;
		content: "";
		width: 8px;
		height: 8px;
		right: 18px;
		top: 46%;
		transform: translateY(-50%) rotate(45deg);
		border-bottom: 3px solid #8c8a8b;
		border-right: 3px solid #8c8a8b;
	}

	.select2 {
		background: #ffffff;
		padding: 7px;
		width: 140px;
		position: relative;
		z-index: 1;
		display: inline-block;
		box-sizing: border-box;
		border: 1px solid #ccc;
		margin: 0;

		@media screen and (max-width: 1700px) {width: 7.8vw;}

		@media screen and (max-width: 1400px) {width: 6.8vw;}
	}

	.select2::after {
		position: absolute;
		content: "";
		width: 5px;
		height: 5px;
		right: 18px;
		top: 50%;
		transform: translateY(-50%) rotate(45deg);
		border-bottom: 1px solid #282828;
		border-right: 1px solid #282828;
		z-index: -1;
	}

	select {
		appearance: none;
		-moz-appearance: none;
		-webkit-appearance: none;
		background: none;
		border: none;
		color: #333;
		font-size: 18px;
		width: 100%;
		height: 100%;
		padding: 8px;
	}

	input[type="submit"]:disabled {
		background: #ccc;
		cursor: not-allowed;
	}

	input[type="submit"]:disabled:hover {
		opacity: 1;
	}
}

.entry-form.confirm dl dd {
	border-bottom: 2px solid #000;
	font-size: 28px;

	@media screen and (max-width: 800px) {font-size: 20px;}

	@media screen and (max-width: 414px) {font-size: 16px;}
}

.entry-form.confirm button {
	background: #ac9784;
	padding: 8px 15px;
	width: 100%;
	appearance: none;
	border: none;
	box-sizing: border-box;
	height: 80px;
	font-size: 24px;
	color: #fffdfd;
	text-align: center;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: 40px;
	font-weight: 600;

	@media screen and (max-width: 800px) {
		height: 50px;
		font-size: 18px;
	}
}

.entry-form.confirm button:hover {opacity: 0.8;}

.entry-form.cofirm dl:last-of-type dt {height: auto;}

/***************** /entry-form ******/

.f-btn {

	.list_item {
		margin: 0px;
		padding: 24px;
	}

	label {
		line-height: 135%;
		position: relative;
		margin: 0.5rem;
		cursor: pointer;
		font-size: 20px;
	}

	.option-input {
		position: relative;
		margin: 7px 20px 0px 0px;
		cursor: pointer;
	}

	.option-input::before,
	.option-input::after {
		position: absolute;
		z-index: 1;
		top: -1px;
		left: -5px;
		width: 15px;
		height: 15px;
		content: "";
		transition: all 0.3s ease-in-out 0s;
		border: 2px solid #333;
		border-radius: 50%;
		background: #ffffff;
	}

	.option-input:after {
		z-index: 0;
		top: 0;
		border: none;
	}

	.option-input:checked:before {
		-webkit-transform: rotateY(180deg);
		transform: rotateY(180deg);
		background: #774491;
	}
}

/* /form-all-radio */

.parsley-custom-error-message,
.parsley-required,
.parsley-equalto,
.parsley-errors-list filled {
	color: #f00;
	font-size: 15px;
	padding: 4px;
}

::placeholder {color: #ccc;}

.submit-box {
	width: 680px;
	margin: 0 auto;
}

.confirm .check {
	text-align: center;
	font-size: 30px;
	margin: 5% auto;

	@media screen and (max-width: 1000px) {
		font-size: 24px;
		line-height: 1.5;
	}

	@media screen and (max-width: 600px) {font-size: 22px;}

	@media screen and (max-width: 414px) {font-size: 16px;}
}

/* /confirm */

/* thanks */

.thanks h4 {
	text-align: center;
	font-size: 34px;

	@media screen and (max-width: 1000px) {font-size: 5vw;}

	span {border-bottom: 2px solid #000;}
}

.thanks .check {
	text-align: center;
	font-size: 30px;
	margin: 100px auto;
	line-height: 2;
	width: 90%;

	@media screen and (max-width: 1000px) {
		font-size: 4vw;
		margin: 5% auto;
		line-height: 1.5;
	}
}

.thanks .prevbtn {
	margin: 5% auto;
	text-align: center;
	width: 100%;
	max-width: 600px;

	a {
		background: #ac9784;
		padding: 25px 20px;
		width: 94%;
		margin: 0 auto;
		appearance: none;
		border: none;
		box-sizing: border-box;
		height: 80px;
		font-size: 28px;
		color: #fffdfd;
		text-align: center;
		cursor: pointer;
		-webkit-appearance: none;
		-moz-appearance: none;
		border-radius: 40px;
		display: block;

		@media screen and (max-width: 1000px) {
			padding: 5%;
			height: auto;
			font-size: 5vw;
		}
	}

	a:hover {opacity: 0.8;}
}

/* /thanks */

/******* /form-all **************/

/*-- /under --*/

/* slick 崩れ防止 */
.maincover_slide,.slider-txt-back {display: none;}

.maincover_slide .slick-initialized,
.slider-txt-back .slick-initialized {
	display: block; /*slick-initializedが付与されたら表示*/
}
/* /slick 崩れ防止 */

/* fukidasi */

.fuki {
	position: relative;
	display: inline-block;
	margin-top: 20px;
	padding: 4%;
	border: 1px solid #5a3007;
	border-radius: 3px;
	color: #5a3007;
	background:#f7f7f7;
}

.fuki::before {
	content: "";
	position: absolute;
	top: 0;
	left: 24.777%;
	border-style: solid;
	border-width: 0 0 40px 40px;
	border-color: transparent transparent #5a3007;
	translate: -50% -100%;
}

.fuki::after {
	content: "";
	position: absolute;
	top: 0;
	left: 25%;
	border-style: solid;
	border-width: 0 0 39px 39px;
	border-color: transparent transparent #f7f7f7;
	translate: calc(-50% + 0.2px) -100%;
}

/* /fukidasi */

/* linkbutton */

.lnkbox {text-align: center;}

.link_btn {
    display: inline-block;
    width: 94%;
    max-width: 400px;
    text-align: center;
    text-decoration: none;
    line-height: 60px;
    outline: none;
    color: #fff;
    background: linear-gradient(to right, rgba(134, 15, 15, 1) 6%, rgba(218, 34, 34, 1) 50%, rgba(134, 15, 15, 1) 92%);
    -webkit-transition: all .3s;
    transition: all .3s;
    position: relative;
	border-radius: 40px;
	
	.text {font-size:20px;}
}

.link_btn:hover {transform: scale(1.1,1.1);}

.link_btn::before {
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	bottom: 0;
	content: "";
	height: 7px;
	width: 7px;
	margin: auto;
	position: absolute;
	right: 30px;
	top: 0;
	transform: rotate(45deg);
	transition: right .3s;
}

.link_btn:hover::before {right: 25px;}

/* /linkbutton */

/* #txt-back  */

#txt-back {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 20;

	.ttt {
		font-size: 6vw;
		color: rgba(195, 0, 0, 0.6);
		opacity: 0.6;
		height: 6vw;
		letter-spacing: 0;

		@media screen and (max-width: 1000px) {
			font-size: 8.4vw;
			height: 7.6vw;
		}
	}
}

/* /#txt-back  */

.title-con {
	text-align: center;
	font-weight: bold;
	
	.main-t {
		background: linear-gradient(to bottom,  rgba(134,15,15,1) 6%,rgba(218,34,34,1) 50%,rgba(134,15,15,1) 94%);
		color: transparent;
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
		text-fill-color: transparent;
		font-size: 12vw;
		
	}
	
	.sub-t {
		font-size: 5.5vw;
		color: #5a3007;
	}	
}

/*** maincover ***/

.maincover {
	margin-top: 116px;
	background: url(../images/cover_bg.jpg) center top no-repeat;
	background-size: cover;
}

.maincover .cover-box {
	position: relative;

	.box01 {
		z-index: 20;
        width: 86vw;
        position: absolute;
        bottom: 12vw;

		h2 {

			img {
				width: 100%;
				max-width: 1000px;
			} 
		}
	}

	.box02 {
		z-index: 10;
		width: 100%;

		.maincover_slide {

			img {width: 100vw;}
		}
	}
}

/*** /maincover ***/

/*** maincont 01 ***/

#maincont01 {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	background-image: url(../images/bg_cont01.jpg);
	background-size: cover;
	position: relative;
}

#maincont01 .stage01 {
	padding: 0;

	@media screen and (max-width: 1000px) {padding: 8vw 0;}

	.box {

		.sideimage {
			width:100%;
			
			.mainside_slide {

				img {width:100vw;}
			}
		}

		.infomation {
			width: 100%;
            padding:0 3%;
            box-sizing: border-box;
					
			.title-con {
				
				.main-t {
					margin-top: 30px;
					text-align: left;
				}
				
				.sub-t {
					color: #fff;
					font-weight: normal;
					text-align: left;
					
					span {
						padding: 0 2%;
						background: linear-gradient(to bottom,  rgba(134,15,15,1) 6%,rgba(218,34,34,1) 50%,rgba(134,15,15,1) 94%);
					}
				}
			}

			.c1txt {
				width: 100%;
				text-align: center;
				margin: 8% auto;
				
				figure {
					width: calc(100% / 3);

					img {
						width: 87%;
						max-width: 257px;
					}
				}
				
				figure:last-of-type {

					img {width: 100%;}
				}
			}
			
			.snsinfo {
				margin-bottom: 5%;
				
				p {
					font-weight: bold;
					font-size: 5vw;
					text-align: center;
					
					span {
						background: linear-gradient(to right,  rgba(91,46,4,1) 0%,rgba(137,82,28,1) 50%,rgba(91,46,4,1) 99%); 
						color: #fff;
						margin-right: 20px;
					}
				}
			}					
		}
	}
}

/*** /maincont 01 ***/

/*** maincont 02 ***/

#maincont02 {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	background-image: url(../images/bg_cont00.jpg);
	background-size: cover;
	position: relative;
}

#maincont02 .stage01 {
	padding: 5% 5%;
	box-sizing: border-box;
	
	@media screen and (max-width: 1000px) {padding: 8vw 0 0;}

	.cont-logo {
		text-align: center;

		img {
			width:100%;
			max-width: 1000px;
		}
	}
	
	.box {
		position: relative;
		
		.sideimage {
			position: absolute;
			top: -10vw;
			width: 90%;
			z-index: -1;
			
			img {width: 100%;}
		}

		.infomation {
			width: 100%;
            padding:45vw 3% 0 6%;
            box-sizing: border-box;
					
			.title-con {
				
				.main-t {text-align: center;position: relative;}
						
				.main-ts {
					font-size: 12vw;
					color: #fff;
					text-shadow: 0 0 10px #fff;
				}

				.sub-t {
					text-align: center;
					margin-top: 10px;
					line-height: 1.4;
					font-size: 3.3vw;
				}
			}

			.c1txt {
				width: 100%;
				text-align: center;
				margin: 5% auto;
				position: relative;
				
				p {line-height: 1.4;font-size: 4vw;}
				
				.txt1 {

					span {color: #ca1f1f;}
				}
				
				.txt2 {
					color: #ca1f1f;
					font-size: 8vw;
					margin: 20px 0;
				}
				
				.txt3 {
					line-height: 1.6;
					position: relative;

					span {color: #ca1f1f;}
					
					.border {
						position: relative; 
						color: #5b2e04;
					}	

					.border::before {
						content: "";
                        position: absolute;
                        top: 17px;
                        left: 0;
                        width: 100%;
                        height: 1vh;
                        background: #feb1d2;
                        z-index: -1;
					}
					
					.border::after {}
				}
			}			
		}
	}
}

#maincont02 .stage02 {
	padding: 0 5% 5%;
	box-sizing: border-box;
	
	@media screen and (max-width: 1000px) {padding: 0;}

	.cont-logo {
		text-align: center;

		img {
			width:100%;
			max-width: 1000px;
		}
	}
	
	.box {

		.sideimage {
			width: 40%;
			
			img {width: 100%;}
		}

		.infomation {
			width: 60%;
            padding:0 3%;
            box-sizing: border-box;
					
			.title-con {
				
				.main-t {text-align: left;}
				
				.sub-t {
					text-align: left;
					font-size: 30px;
					margin-top: 10px;
					line-height: 1.4;			
				}
			}

			.c1txt {
				width: 100%;
				text-align: left;
				margin: 5% auto;
				position: relative;
				
				p {
					line-height: 1.6;
					font-size: 4vw;
				}
				
				.txt1 {
					font-size: 4vw;
					span {color: #ca1f1f;}
				}
				
				.txt2 {
					color: #ca1f1f;
					font-size: 4vw;
					margin: 20px 0;
				}
				
				.txt3 {
					line-height: 1.6;
					position: relative;

					span {color: #ca1f1f;}
					
					.border {position: relative; color: #5b2e04;}	
					.border::before {
						content: "";
						position: absolute;
						top: 12px;
						left: 0;
						width: 100%;
						height: 3vh;
						background: #feb1d2;
						z-index: -1;
					}					
				}
			}				
		}	
	}
	
	.c2txt {
		width: 100%;
		margin: 5% auto;

		p {line-height: 1.6;font-size: 4vw;}

		.txt1 {
			margin: 5% auto;
			text-align: center;

			img {		
				width: 90%;
				max-width: 1000px;
			}
		}

		.txt2 {
			font-size: 4vw;
			text-align: center;
			
			span {color: #ca1f1f;}			
		}
	}
}

/*** /maincont 02 ***/

/*** maincont 03 ***/

#maincont03 {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	background-image: url(../images/bg_cont02.jpg);
	background-size: cover;
	position: relative;
}

#maincont03 .stage01 {
	padding: 5% 5% 0;
	box-sizing: border-box;
	
	@media screen and (max-width: 1000px) {padding: 8vw 0 0;}
	
	.box {

		.sideimage {
			position: absolute;
            top: 6vw;
            width: 100%;
            z-index: -1;
			
			img {width: 100%;}
		}

		.infomation {
			width: 100%;
            box-sizing: border-box;			
			padding: 68vw 3% 0;
					
			.title-con {
				
				.main-t {text-align: center;font-size: 17vw;}
				
				.sub-t {
					text-align: center;
					font-size: 6vw;
					margin-top: 10px;
					line-height: 1.4;			
				}
			}

			.c1txt {
				width: 100%;
				text-align: center;
				margin: 5% auto;
				position: relative;
				
				p {
					background: linear-gradient(to right,  rgba(235,175,0,1) 0%,rgba(218,0,22,1) 23%,rgba(218,0,138,1) 44%,rgba(117,0,215,1) 76%,rgba(19,237,255,1) 100%);
					font-size: 3.5vw;
                    color: #fff;
                    text-align: center;
                    border-radius: 2vw;
                    padding: 3% 1%;
                    box-sizing: border-box;
                    margin-bottom: 5%;
				}	
			}			
		}
	}
}

#maincont03 .stage02 {
	padding: 0 5%;
	box-sizing: border-box;
	
	.title-con {

		.main-t {text-align: center;font-size: 12vw;}

		.sub-t {
			text-align: center;
			font-size: 6vw;
			line-height: 1.4;			
		}
	}

	@media screen and (max-width: 1000px) {padding: 0;}

	.box {
		justify-content: center;
		max-width: 1000px;
		margin: 3% auto;
		position: relative;
		gap: 15px;

		@media screen and (max-width: 1000px) {
			padding: 3% 0;
			overflow-x: scroll;
			display: -webkit-box;
			flex-wrap: nowrap;
			-webkit-box-pack: start;
		}
		
		.imgbox {
			width: 100%;
            box-sizing: border-box;
						
			.reason {
				color: #c30000;
				font-size: 5vw;
				
				span {
					color: #fff;
                    background: #c30000;
                    padding: 2px;
                    box-sizing: border-box;
                    border-radius: 42px;
                    margin-right: 5px;
				}
			}

			figure {
				
				margin-top: 3%;
				
				@media screen and (max-width: 1000px) {
						width: 90%;
						margin: 3% 0;
				}

				img {width: 100%;}	
			}
		}
	}
}

#maincont03 .stage03 {
	padding: 5% 5%;
	box-sizing: border-box;
	
	.title-con {

		.main-t {text-align: center;font-size: 13vw;}

		.sub-t {
			text-align: center;
			font-size: 8vw;
			margin-top: 10px;
			line-height: 1.4;			
		}
	}

	@media screen and (max-width: 1000px) {padding: 8vw 0;}

	.box {
		justify-content: center;
		max-width: 1000px;
		margin: 20px auto;
		position: relative;
		gap: 15px;

		@media screen and (max-width: 1000px) {
			margin: 40px auto;
			padding: 0px 0 0 3%;
		}
						
		.imgbox {
			width: 100%;
			margin: 0 1%;
            box-sizing: border-box;
						
			.reason {
				color: #c30000;
				font-size: 28px;
				span {
					color: #fff;
                    background: #c30000;
                    padding: 2px;
                    box-sizing: border-box;
                    border-radius: 42px;
				}
			}

			figure {	
				margin: 24px 0 50px;
				
				@media screen and (max-width: 1000px) {
					width: 84%;
					margin: 3% auto;
				}

				img {width: 100%;}	
			}
			
			.begtxt {
				
				p {
					line-height:1.5;
					text-align: center;
				}
				
				.txt1 {
					color: #c30000;
					font-size: 4.5vw;					
				}
				
				.txt2{font-size: 3.5vw;}
			}	
		}
	}
}

/*** /maincont 03 ***/

/*** maincont 04 ***/

#maincont04 {
	width: 100%;
	padding: 5% 0 0;
	box-sizing: border-box;
	overflow: hidden;
	background: linear-gradient(to bottom,  rgba(255,251,220,1) 0%,rgba(255,255,255,1) 50%,rgba(255,251,220,1) 100%);
	background-size: cover;
	position: relative;
	
	.lnkbox {margin: 8% auto;}
}

#maincont04 .stage01 {
	padding: 0 5%;
	box-sizing: border-box;
	
	.title-con {

		.main-t {text-align: center;}

		.sub-t {
			text-align: center;
			font-size: 10vw;
			margin-top: 10px;
			line-height: 1.4;			
		}
	}

	@media screen and (max-width: 1000px) {padding: 8vw 0 0;}
}
	
#maincont04 .stage01 .box {
	justify-content: center;
	max-width: 1000px;
	margin: 20px auto;
	position: relative;
	gap: 15px;

	@media screen and (max-width: 1000px) {
		margin: 40px auto;
		padding: 0px 0 0 3%;
	}
}
						
#maincont04 .stage01 .box .imgbox {
	width: calc(90% / 3);
	margin: 0 1%;
	box-sizing: border-box;
	position: relative;
			
	@media screen and (max-width: 1000px) {
		overflow-x: scroll;
		display: -webkit-box;
		flex-wrap: nowrap;
		-webkit-box-pack: start;
		gap: 5px;
		width:auto;
	}
			
	.mess {
		font-size: 18px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		margin-top: 10px;
	}

	figure {
		margin-top: 24px;
		border-radius: 24px;
		overflow: hidden;

		@media screen and (max-width: 1000px) {
			width: 60%;
			margin: 0 1vw 30px;
		}

		img {width: 100%;}	
	}

	.name {
		position: absolute;
		bottom: 55px;
		left: -22px;
		background: #c30000;
		color: #fff;
		text-align: center;
		font-weight: bold;
		font-size: 28px;
		padding: 2% 5%;
		width: 60%;
		box-sizing: border-box;
		overflow: unset;
		z-index: 20;
	}
}

/****-- voice slider --****/

#voice-slider {
	width: 100%;
	max-width: 1000px;
	padding: 5% 0 0;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}

#voice-slider .voice_slide  {
	background: #fff;
	padding: 8% 0;
    box-sizing: border-box;
	margin: 0;
	
	.imgbox {
		width: 90%;
		margin: 0 auto;
		box-sizing: border-box;
		position: relative;
		max-width: 500px;

		.mess {
			font-size: 3vw;
            line-height: 1.5;
            width: 80%;
            padding: 3% 10%;
		}

		figure {
			margin-top: 24px;
			border-radius: 24px;
			overflow: hidden;

			@media screen and (max-width: 1000px) {
				width: 80%;
				margin: 0 auto;
			}

			img {width: 100%;}	
		}

		.name {
			position: absolute;
            bottom: 25vw;
            left: -18px;
            background: #c30000;
            color: #fff;
            text-align: center;
            font-weight: bold;
            font-size: 4vw;
            padding: 2% 0%;
            width: 50%;
            box-sizing: border-box;
            z-index: 20;
		}
	}
	
	figure.space {
		padding: 0 15px;

		@media screen and (max-width: 1000px) {
			padding: 0 5%;
			text-align: center;
			margin: auto;
		}
	}

	figure img {width: 50vw;}

	.slick-dots {
		text-align: center;
		position: absolute;
		display: block;
		width: 100%;
		padding: 0;
		margin: 0;
		list-style: none;
		padding-left: 0;

		li {
			width: 35px;
			margin: 2.3vw 5px 0;
			
			button:before {font-size: 20px;}	
		}
	}
}

#voice-slider .btn_prev,
#voice-slider .btn_next {
	cursor: pointer;
	position: absolute;
	top: 0;
	width: 20%;
	height: 100%;
	padding: 1px 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	z-index: 1;
	
	img {width:40px;}
}

#voice-slider .btn_prev {left: 0;}

#voice-slider .btn_next {right: 0;}

/*** /voice-slider ***/

/*** /maincont 04 ***/

/*** maincont 05 ***/

#maincont05 {
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

#maincont05 .stage01 {
	padding: 0 5%;
	box-sizing: border-box;
	
	.title-con {
		padding: 5% 0 0;

		.sub-t {margin-bottom: 1%;}
		.main-t {text-align: center;font-size: 10vw;}
	}

	@media screen and (max-width: 1000px) {padding: 5vw 0 0;}

	.box {
		justify-content: center;
		width: 100%;
		margin: 20px auto;
		position: relative;

		@media screen and (max-width: 1000px) {margin: 8% auto;}
						
		.flowbox {
			width: 100%;
			padding: 5% 8%;
            box-sizing: border-box;
			
			figure {
				width: 100%;
				max-width;300px;

				img {width: 100%;}
			}

			.dot {
				margin-top: 8px;

				img {width: 23px;}	
			}

			.ttl {
				text-align: left;
				color: #c30000;
				font-size: 5vw;
				margin-top: 5%;

				span {
					color: #fff;
					background: #c30000;
					padding: 2px;
					box-sizing: border-box;
					border-radius: 42px;
					margin-right: 5px;
				}
			}

			.txt {
				line-height: 1.5;
				font-size: 3.5vw;
				width: 100%;
				box-sizing: border-box;
			}
		}	
	}
}

#maincont05 .stage02 {
	padding: 0 2%;
	box-sizing: border-box;
	
	.box {
		max-width: 1000px;
        position: relative;
        padding: 1%;
        border: 2px solid #c30000;
        border-radius: 14px;
        box-sizing: border-box;
        width: 100%;
        margin: 2% auto 5%;
		justify-content: space-evenly;

		@media screen and (max-width: 1000px) {padding: 5% 0;}
		
		.use {
			width: 100%;
			text-align: center;
			margin: 0 auto 2%;

			img {
				margin-right: 3%;
				width: 100%;
				max-width: 20px;

				@media screen and (max-width: 414px) {max-width: 15px;}
			}
		}

		.plus {width: 10%!important;}
	}
}

/*** /maincont 05 ***/

/*** maincont 06 ***/

#maincont06 {
	width: 100%;
	padding: 8% 0;
	box-sizing: border-box;
	overflow: hidden;
	background-image: url(../images/bg_cont03.jpg);
	background-size: cover;
	position: relative;
}

#maincont06 .stage01 {
	padding: 0;

	@media screen and (max-width: 1000px) {padding: 8vw 0;}

	.box {

		.cimage {
			width: 100%;
			max-width: 1000px;
			
			.centerside_slide1, 
			.centerside_slide2 {
				
				figure {
					width:100%;
					
					img {width: 90vw !important;}
					
				}
			}
		}

		.infomation {
			width: 100%;
            padding:5% 0;
            box-sizing: border-box;
					
			.title-con {
				padding:5% 0;

				.main-t {
					font-size: 5vw;
                    line-height: 1;
					text-align: center;
					background: linear-gradient(to right,  rgba(90,48,7,1) 12%,rgba(137,82,29,1) 50%,rgba(90,48,7,1) 89%);
					color: transparent;
					-webkit-background-clip: text;
					background-clip: text;
					-webkit-text-fill-color: transparent;
					text-fill-color: transparent;
				}		
			}
		}
	}
}

/*** /maincont 06 ***/

/*** maincont 07 ***/

#maincont07 {
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	background-size: contain;
	background-image: url(../images/bg_cont04.jpg);
	
	.bgbox {
		position: relative;
	
		.bg01 {
			position: absolute;
			top: 0;
			left:0;

			img {width: 32vw;}
		}
		
		.bg02 {
			position: absolute;
			bottom: 0;
			right:0;

			img {width: 32vw;}
		}
	}
}

#maincont07 .stage01 {
	padding: 0 5%;
	box-sizing: border-box;
	
	.title-con {
		padding: 5% 0 0;

		.main-t {text-align: center;font-size: 7vw;}
	}

	@media screen and (max-width: 1000px) {padding: 8vw 0;}

	.box {
		justify-content: center;
		max-width: 1000px;
		margin: 5% auto;
		position: relative;
		gap: 15px;
						
		.imgbox {
			width:100%;
			margin: 2% auto;
            box-sizing: border-box;
			position: relative;
						
			h4 {
				font-family: "Open Sans", sans-serif;
                position: absolute;
                top: 30vw;
                left: 11px;
                font-size: 11vw;
                font-weight: bold;
                color: rgba(255, 214, 214, .6);
                z-index: -1;
                width: auto;
                height: 100%;
			}
			
			.grattl {
				color: #c30000;
				text-align: center;
				font-size: 28px;	
			}

			.border {
				display: block;
				text-align: center;
				margin: 30px auto 0; 
				width: 50px;
				border-bottom: solid 1px #c30000;
			}
			
			figure {	
				margin: 20px auto;
                text-align: center;
				
				@media screen and (max-width: 1000px) {
					width: 80%;
					margin: 8vw auto;
				}

				img {width: 100%;max-width: 493px;}	
			}
		}
	}
}

#maincont07 .stage02 {
	padding: 0 5%;
	box-sizing: border-box;
	
	.title-sub {
		position: relative;
		
		.sub-ttl {
			text-align: center;
            font-size: 9vw;
            font-family: "Open Sans", sans-serif;
            position: absolute;
            top: 0;
            left: 0;
            text-align: center;
            font-weight: bold;
            color: rgba(255, 214, 214, .6);
            z-index: -1;
            width: 100%;
		}
	}

	@media screen and (max-width: 1000px) {padding: 8vw 0;}

	.box {
		justify-content: center;
        max-width: 1500px;
        position: relative;
        gap: 15px;
        padding: 3% 0;
						
		.imgbox {
			width: 100%;
            box-sizing: border-box;
			position: relative;
						
			figure {	
				margin: 20px auto;
                text-align: center;
				
				@media screen and (max-width: 1000px) {width: 80%;}

				img {width: 100%;max-width: 437px;}	
			}
		}
	}
}

/*** /maincont 07 ***/

/*** maincont 08 ***/

#maincont08 {
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	background-size: contain;
	background-image: url(../images/bg_cont05.jpg);
}

#maincont08 .stage01 {
	padding: 0 5%;
	box-sizing: border-box;
	
	.title-con {
		padding: 5% 0 0;

		.main-t {
			text-align: center;
			font-size: 9.8vw;
			letter-spacing: -2px;
		}
	}

	.title-sub {
		position: relative;
		
		.sub-ttl {
			text-align: center;
            font-size: 9vw;
            font-family: "Open Sans", sans-serif;
            position: absolute;
            top: -10px;
            left: 0;
            text-align: center;
            font-weight: bold;
            color: rgba(255, 214, 214, .6);
            z-index: -1;
            width: 100%;
		}
	}

	@media screen and (max-width: 1000px) {padding: 8vw 0;}

	.box {
		justify-content: center;
        max-width: 1000px;
        position: relative;
        gap: 15px;
        padding: 3% 0;

		@media screen and (max-width: 1000px) {margin: 5% auto;}
						
		.imgbox {
			width:100%;
            box-sizing: border-box;
			position: relative;
						
			.txtimg1 {	
				margin: 20px auto;
                text-align: center;
				
				@media screen and (max-width: 1000px) {width: 96%;}

				img {width: 100%;max-width: 1000px;}	
			}
			
			.txtimg2 {	
                text-align: center;
				
				@media screen and (max-width: 1000px) {width: 96%;}

				img {width: 100%;max-width: 1000px;}	
			}
			
			figure {	
				margin: 20px auto;
                text-align: center;
				
				@media screen and (max-width: 1000px) {
					width: 96%;
					margin: 0 1vw 5%;
				}

				img {width: 100%;max-width: 437px;}	
			}
		}
	}
}

#maincont08 .stage02 {
	padding: 0 5%;
	box-sizing: border-box;
	
	.title-con {
		padding: 5% 0 0;

		.main-t {text-align: center;font-size: 9.8vw;}

		.sub-t {
			font-size: 5.5vw;
			line-height: 1.5;
		}
	}

	.title-sub {
		position: relative;
		
		.sub-ttl {
			text-align: center;
            font-size: 13vw;
            font-family: "Open Sans", sans-serif;
            position: absolute;
            top: -10px;
            left: 0;
            text-align: center;
            font-weight: bold;
            color: rgba(255, 214, 214, .6);
            z-index: -1;
            width: 100%;
		}
	}

	@media screen and (max-width: 1000px) {padding: 8vw 0;}

	.box {
		justify-content: center;
        max-width: 1500px;
        position: relative;
        gap: 15px;
        padding: 3% 0;

		@media screen and (max-width: 1000px) {margin: 5% auto;}
						
		.imgbox {
			width: 100%;
			margin: 2% 1%;
            box-sizing: border-box;
			position: relative;
						
			figure {	
				margin: 20px auto;
                text-align: center;
				
				@media screen and (max-width: 1000px) {
					width: 96%;
					margin: 0 1vw 5%;
				}

				img {width: 100%;max-width: 773px;}	
			}
		}
	}
}

/*** /maincont 08 ***/

/*** maincont 09 ***/

#maincont09 {
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	overflow: hidden;
	background-image: url(../images/bg_cont06.jpg);
	background-size: 100%;
	position: relative;	
}

#maincont09 .stage01 {
	padding: 5% 0 0;
	box-sizing: border-box;
	
	@media screen and (max-width: 1000px) {padding: 8vw 0 0;}
	
	.title-con {

		.main-t {font-size: 8vw;}

		.sub-t {
			font-size: 6vw;
			margin-top: 10px;
		}
	}
		
	.box {
		padding: 5% 3%;
		box-sizing: border-box;
		
		.sideimage {
			width: 80%;
			
			img {width: 100%;max-width: 429px;}
		}

		.infomation {
			width: 100%;
            padding:0 3%;
            box-sizing: border-box;
					
			.c1txt {
				width: 100%;
				text-align: left;
				margin: 5% auto;
				position: relative;
				
				p {line-height: 1.6;font-size: 3.3vw;}
				
				.txt1 {}
				
				.txt2 {
					color: #ca1f1f;
                    margin: 5% auto;
                    text-align: center;
                    font-weight: bold;
				}
			}				
		}	
	}
}

#maincont09 .stage02 {
	padding: 0 ;

	.title-con {

		.main-t {font-size: 10vw; margin-top: 10px;letter-spacing: -2px;}

		.sub-t {}
	}

	.box {

		.infomation {
			width: 100%;
            padding: 5%;
            box-sizing: border-box;					

			.c1txt {
				width: 100%;
				text-align: center;
				margin: 0 auto;
				
				figure {
					width: calc(92% / 2);
					margin: 2%;
					
					img {width: 100%;max-width: 257px;}
					
				}			
			}
		}
	}
}

/*** /maincont 09 ***/

/****-- top slider --****/

#top-slider {
	width: 100%;
	padding: 5% 0;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;

	@media screen and (max-width: 1000px) {margin-top:3%;}

	.btn_prev,.btn_next {
		position: absolute;
		top: 0;
		width: 25%;
		height: 100%;
		padding: 1px 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		z-index: 1;
	}

	.btn_prev {left: 0;}

	.btn_next {right: 0;}
}

#top-slider .top_slide  {

	figure.space {

		@media screen and (max-width: 1000px) {
			text-align: center;
			margin: auto;
		}
	}

	figure img {width: 100%;}

	.slick-dots {
		text-align: center;
		position: absolute;
		display: block;
		width: 100%;
		padding: 0;
		margin: 0;
		list-style: none;
		padding-left: 0;

		li {
			width: 35px;
			margin: 2.7vw 5px 0;

			@media screen and (max-width: 1680px) {margin: 2vw 5px 0;}

			@media screen and (max-width: 1500px) {margin: 2.5vw 5px 0;}

			@media screen and (max-width: 1300px) {margin: 2.3vw 5px 0;}
			
			button:before {
				font-size: 25px;
				
				@media screen and (max-width: 1680px) {font-size: 20px;}
			}	
		}
	}
}

/*** /top-slider ***/

/*** ban-area ***/

.ban-area {
	padding: 0 5%;
	box-sizing: border-box;
	text-align: center;
	
	img {width: 100%;max-width: 1000px;}
}

/*** /ban-area ***/

/****-- top offer --****/

#offer {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}

/* offer .stage01 */

#offer .stage01 {
	position: relative;
	padding: 5vw 3%;
	
	.offer-box {
		width: 100%;
        max-width: 1000px;
        margin: 5% auto 0;		
		border: 1px solid #5a3007;
		border-radius: 12px;
		box-sizing: border-box;
		
		dl {
			border-bottom: 1px solid #5a3007;
		
			dt,dd {
				box-sizing: border-box;
				font-size: 4vw;
				font-weight:bold;
				padding: 2%;
			}
						
			dt {
				color: #c30000;
				width: 100%;
				text-align: center;
				border-bottom: 1px solid #5a3007;

			}
			
			dd {
				width: 100%;
				text-align: center;
				line-height: 1.5;
				
				a {text-decoration: underline}
				
				a.none {text-decoration: none}
				
			}
		}
		
		dl:last-of-type {border-bottom: 0;}	
	}
}
/* /offer .stage01 */

/****-- /top offer --****/

/*-- footer --*/

#footer {
	padding: 0px;
	font-size: 1.6rem;
	background: linear-gradient(to bottom,  rgba(255,238,204,1) 0%,rgba(239,207,143,1) 100%);
	z-index: 10;
	position: relative;
	color: #fff;
	
	a {	color: #5a3007;}
}

#footer .inner {
	padding: 30px 0 0;
	box-sizing: border-box;

	@media screen and (max-width: 1000px) {padding: 30px 0 0;}
}

#footer .nav {
	padding: 10px 0px 0px;
	width: 45%;

	@media screen and (max-width: 1000px) {width: 100%;}

	ul {
		margin-top: 24px;

		@media screen and (max-width: 1000px) {margin-top: 0;}

		li {
			width: calc(100% / 4);

			@media screen and (max-width: 1000px) {
				width: calc(100% / 2);
				text-align: center;
				border-bottom: 1px solid #5a3007;
				box-sizing: border-box;
			}
		}

		@media screen and (max-width: 1000px) {
			li:nth-of-type(odd) {
				border-right: 0.5px solid #5a3007;
			}

			li.border-unset {border-bottom: unset;}
		}

		p {
			font-size: 14px;

			@media screen and (max-width: 1000px) {font-size: 3vw;}
		}

		a {
			position: relative;
			color: #5a3007;

			@media screen and (max-width: 1000px) {
				padding: 8% 0;
				display: block;
			}
		}

		a.line:hover {
			opacity: 0.8;
			color: #db3636;

			@media screen and (max-width: 1000px) {
				opacity: 1;
				text-decoration: none;
			}
		}
	}
}

#footer .info-box {
	text-align: center;
	padding: 15px 0;
	width: 30%;

	@media screen and (max-width: 1000px) {width: 100%;}	

	img {
		width: 80%;
		max-width: 380px;

		@media screen and (max-width: 1000px) {
				width: 80%;
				max-width: 280px;
		}
	}
	
	.info {
		box-sizing: border-box;
		margin-top: 40px;

		p:first-of-type {
			margin-right: 5px;

			@media screen and (max-width: 1000px) {margin-right: 0;}
		}
		
		.tel {
			font-size: 30px;

			@media screen and (max-width: 1000px) {font-size: 20px;}
			
			img {
				vertical-align: inherit;
				width: 20px;

				@media screen and (max-width: 1000px) {width: 20px;}

				@media screen and (max-width: 480px) {width: 16px;}
			}
		}

		.open {
			font-size: 15px;
			margin-top: 6px;
			color: #5a3007;

			@media screen and (max-width: 1000px) {margin-top: 0;}

			span {
				font-size: 10px;
				margin-right: 3px;
			}
		}
	
		.mail {
			font-size: 18px;

			span {font-size: 16px;}	
		}
	}
}

#footer .add {padding-bottom: 12vw;}

#footer address {
	font-size: 13px;
	color: #5a3007;
	text-align: center;
	padding: 15px 0;
	background: #ffeecc;

	@media screen and (max-width: 1000px) {font-size: 11px;}
}

/*-- /footer --*/

/*　u-nav */

#u-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 800;
    padding: 10px 0 0;
	max-width: 1000px;

	li {
		color: #fff;
		box-sizing: border-box;
		text-align: center;
			
		.fnc1 {background:#c30000;}
		.fnc2 {background:#30bd44;}
		.fnc3 {background:#eeb221;}
		.fnc4 {background:#34bfff;}
		.fnc5 {background:#5a3007;}
			
		a {
			display: block;
			font-size: 2.4vw;
			padding: 10% 0;
			text-align: center;
			color: #fff;
			width: 100%;
			height: 100%;

			@media screen and (max-width: 428px) {font-size: 11px;}
		}

		img {
			margin: 0 auto 10%;
			display: block;
			width: 40px;

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

#u-nav.five li {width: calc(100%/5);}
#u-nav.four li {width: calc(100%/4);}
#u-nav.three li {width: calc(100%/3);}
#u-nav.two li {width: calc(100%/2);}

/*　/u-nav */

/****-- faq.html --****/

#faq {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}

#faq .stage01 {
	position: relative;
	padding: 80px 0;

	@media screen and (max-width: 1000px) {padding: 20px 0 80px;}
}

.qa-tab {
	position: relative;
	overflow: hidden;
	margin: 50px auto 0;
	padding: 20px 40px 8px;
	width: 96%;
	max-width: 1200px;
	z-index: 5;
	background: #fff;
	box-sizing: border-box;
	border: 2px solid #efafaf;
	border-radius: 10px;

	@media screen and (max-width: 1000px) {
		margin: 20px auto 0;
		padding: 10px;
	}

	span {
		margin-right: 10px;
		display: inline-block;
		vertical-align: middle;
		background: #5a3007;
		text-align: center;
		color: #fff;
		font-size: 32px;
		width: 40px;
		height: 40px;
		padding: 3px;
		border-radius: 80px;

		@media screen and (max-width: 1000px) {
			margin-right: 1vw;
			font-size: 3vw;
			width: 4vw;
			height: 4vw;
			border-radius: 8vw;
			vertical-align: top;
		}
	}

	input {
		position: absolute;
		z-index: -1;
		opacity: 0;
	}

	label {
		display: flex;
		align-items: center;
		line-height: 1.2;
		position: relative;
		cursor: pointer;
		padding: 0 0 12px 0;

		@media screen and (max-width: 1000px) {
			padding-bottom: 0;
			align-items: start;
		}
	}

	.que {
		width: 87%;
		display: inline-block;
		font-size: 24px;
		color: #5a3007;

		@media screen and (max-width: 1000px) {
			font-size: 20px;
			line-height: 1.5;
		}

		@media screen and (max-width: 640px) {font-size: 16px;}

		@media screen and (max-width: 414px) {font-size: 13px;}
	}

	.qa-info {
		overflow: hidden;
		max-height: 0;
		-webkit-transition: max-height 0.35s;
		transition: max-height 0.35s;
		color: #d8d8d8;

		.inner {
			color: #5a3007;
			border-top: 2px solid;
		}

		p {
			margin: 20px 0;
			line-height: 25px;
			width: 92%;

			@media screen and (max-width: 1000px) {font-size: 12px;}
		}

		p:first-of-type {
			margin: 20px 0;
			line-height: 25px;
			width: 5%;
			font-size: 30px;

			@media screen and (max-width: 1000px) {
				width: 5%;
				font-size: 4vw;
			}
		}

		.link-box {margin: 20px 0 50px;}
	}
}

/* :checked */
.qa-tab input:checked ~ .qa-info {
	max-height: 40em;
	margin-top: 10px;
}

/* Icon */
.qa-tab label::after {
	line-height: 3;
	position: absolute;
	top: -25px;
	right: -38px;
	display: block;
	width: 3em;
	height: 3em;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
	text-align: center;
}

.qa-tab input[type="checkbox"] + label::after {
	content: ">";
	color: #5a3007;
	transform: rotate(90deg);
	font-family: fangsong;
	font-size: 30px;

	@media screen and (max-width: 1000px) {
		font-size: 20px;
		top: 0;
		right: 0px;
		width: auto;
		bottom: 0;
		margin: auto;
	}
}

.qa-tab input[type="checkbox"]:checked + label::after {
	transform: rotate(269deg);
}

/****-- /faq.html --****/

/****-- apply.html --****/

#apply {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}

#apply .stage01 {
	position: relative;
	padding: 80px 0;

	@media screen and (max-width: 1000px) {padding: 8vw 0;}

	.title {

		h3 {text-align: center;font-size: 10vw; }
	}
}

/****-- /apply.html --****/

/****-- contact.html --****/

#contact {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}

#contact .stage01 {
	position: relative;
	padding: 80px 0;

	@media screen and (max-width: 1000px) {padding: 8vw 0;}

	.title {

		h3 {text-align: center;font-size: 8.8vw; }
	}
}

/****-- /contact.html --****/

/*** blog.html ***/

#blog .cont {
	background: #fff;
	position: relative;
	padding: 30px 2% 120px;
	box-sizing: border-box;

	.box {
		justify-content: flex-start;
		max-width: 1200px;
		margin: 30px auto 0;
		gap: 15px;
	}

	.b-box {
		background: #fff7e6;
		width: calc(97.5% / 3);
		z-index: 10;
		box-sizing: border-box;
		margin: 0 0 20px;
		border-radius: 20px;

		@media screen and (max-width: 1000px) {
			width: 100%;
			border-radius: 0 5vw 0 5vw;
			padding: 2vw 15px 4vw;
		}

		figure img {
			width: 100%;

			@media screen and (max-width: 1000px) {width: 96%;}
		}
	}
}

#blog .cate {
	justify-content: space-between;
	margin: 3% 4%;
	height: 28px;

	@media screen and (max-width: 1000px) {
		width: 98%;
		margin: 1% auto;	
	}

	.icon {
		background: #5a3007;
		box-sizing: border-box;
		padding: 5px 14px;
		border-radius: 28px;
		color: #fff;
		min-width: 120px;
        min-height: 25px;
		text-align: center;
	}
}

#blog .sc {
	width: 80%;
	margin: 15px auto 0;

	@media screen and (max-width: 1000px) {
		width: 100%;
		justify-content: start;
		gap: 3px;
	}

	li {
		width: calc(95% / 5);
		height: auto;
		margin: 0.5%;

		@media screen and (max-width: 1000px) {width: calc(95% / 3);}
	}

	.opt {
		background: #5a3007;
		color: #fff;
		box-sizing: border-box;
		padding: 4% 2%;
		border-radius: 28px;
		display: block;
		height: auto;
		text-align: center;
		cursor: pointer;
		font-size: 14px;

		@media screen and (max-width: 1000px) {
			padding: 7% 2%;
			border-radius: 40px;
			font-size: 3vw;
		}
	}

	.opt:hover {
		background: #000;
		color: #fff;
		opacity: 1;
	}

	.opt.on {
		background: #fff;
		color: #685141;
	}
}

.b-frame {
	overflow: hidden;
	padding-bottom: 2%;

	figure {
		margin: 0;
		padding: 0;
		overflow: hidden;
		position: relative;

		@media screen and (max-width: 1000px) {
			text-align: center;
			height: auto;
		}

		img {
			width: 100%;
			-webkit-transform: scale(1);
			transform: scale(1);
			-webkit-transition: 0.7s ease-in-out;
			transition: 0.7s ease-in-out;

			@media screen and (max-width: 1000px) {width: 96%;}
		}
	}

	a:hover {
		color: #5a3007;
		transition: 0.7s ease-in-out;
	}

	figure:hover img {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);

		@media screen and (max-width: 1000px) {transform: none;}
	}

	.ttl {
		position: relative;
		font-weight: 500;
		font-size: 1.4vw;
		font-weight: bold;
		color: #c30000;
		text-align: left;
		margin-top: 1vw;
		padding: 0 3% 0;
		display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;

		@media screen and (max-width: 1000px) {
			font-size: 4vw;
			text-align: left;
		}
	}

	.txt {
		position: relative;
		font-weight: 500;
		font-size: 1vw;
		line-height: 1.5;
		font-weight: bold;
		text-align: left;
		padding: 5%;
		height: 6vw;
		overflow: auto;
		display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;

		@media screen and (max-width: 1000px) {
			font-size: 2.4vw;
		}
	}

	h4 {
		position: relative;
		font-size: 1.4vw;
		text-align: left;
		margin-top: 2vw;
		height: 25px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;

		@media screen and (max-width: 1000px) {
			font-size: 3.4vw;
			text-align: left;
			margin-top: 2vw;
		}
	}

	h4:hover {color: #5a3007;}
}

.pagination {
	width: 100%;
	max-width: 1000px;
	margin: 5% auto;
	justify-content: space-around;

	li .nolink {
		pointer-events: none;
		color: #a8a8a8;
	}

	li .rev {text-decoration: underline;}
}

/* detail */
#blog.detail .s-box {
	background: none;
	width: 100%;
	max-width: 1200px;
	margin: auto;
	padding: 0;
	box-sizing: border-box;
	border-radius: 28px;
}

#blog.detail .revbtn {
	background: #ac9784;
    color: #fff;
    box-sizing: border-box;
    padding: 18px;
    border-radius: 28px;
    display: block;
    height: auto;
    text-align: center;
    cursor: pointer;
    font-size: 20px;
    margin: auto;
    max-width: 400px;
}

#blog.detail .d-area {
	margin: 5% auto;
	width: 100%;

	@media screen and (max-width: 1000px) {margin: 0px auto 50px;}

	h4 {
		color: #c30000;
		background: #fff7e6;
		text-align: center;
		padding: 20px;
		font-size: 30px;
		line-height: 1.6;
		box-sizing: border-box;

		@media screen and (max-width: 1000px) {font-size: 5vw;}
	}

	.d-info {
		margin: 15px auto;

		.d-icon {
			color: #fff;
			background: #5a3007;
			border-radius: 30px;
			padding: 2px 14px;
			margin-right: 10px;
		}

		.blog_area {
			div {
				max-width: 100% !important;
				box-sizing: border-box;
			}

			img {
				display: block;
				margin: auto;
				max-width: 100%;
			}


			.com {
				margin-top: 30px;
				font-size: 18px;
				line-height: 1.5;
			}
		}
	}
}

/* /detail */

/*** blog.html ***/

/*** article.html ***/

#article .cont {
	background: #fff;
	position: relative;
	padding: 80px 2% 120px;
	box-sizing: border-box;

	@media screen and (max-width: 1000px) {padding: 30px 2% 120px;}

	.box {
		justify-content: flex-start;
		max-width: 1000px;
		margin: 5% auto 0;
		gap: 15px;
	}

	.b-box {
		width: calc(97.5% / 2);
		z-index: 10;
		box-sizing: border-box;
		border-radius: 20px;

		@media screen and (max-width: 1000px) {
			width: 100%;
			border-radius: 0 5vw 0 5vw;
			padding: 2vw 15px 2vw;
		}

		figure img {
			width: 100%;

			@media screen and (max-width: 1000px) {width: 96%;}
		}
	}

	.i-box {
		width: 100%;
		max-width: 1200px;
		margin: auto;

		img {width: 100%;}
	}
}

#article .b-frame {
	overflow: hidden;

	figure {
		margin: 0;
		padding: 0;
		overflow: hidden;
		position: relative;
		text-align: center;

		img {
			width: 100%;
			-webkit-transform: scale(1);
			transform: scale(1);
			-webkit-transition: 0.7s ease-in-out;
			transition: 0.7s ease-in-out;
		}
	}

	a:hover {
		color: #5a3007;
		transition: 0.7s ease-in-out;
	}

	figure:hover img {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);

		@media screen and (max-width: 1000px) {transform: none;}
	}

	.ttl {
		position: relative;
		font-weight: 500;
		font-size: 1.4vw;
		font-weight: bold;
		text-align: left;
		margin-top: 10px;
		color: inherit;
		padding: 0;

		@media screen and (max-width: 1000px) {
			font-size: 2.4vw;
			text-align: left;
			margin-top: 2vw;
			padding: 0 2%;
		}
	}
}

/*** /article.html ***/

/****-- voice.html --****/

#voice {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	position: relative;
}

/* voice .stage01 */

#voice .stage01 {
	position: relative;
	padding: 5% 0;

	.title {
		font-family: "Open Sans", sans-serif;
		width: 100%;
		padding: 100px 0 80px;
		box-sizing: border-box;

		h3 {
			position: relative;
			font-size: 48px;
			z-index: 5;
			text-align: center;
			color: #685141;
		}

		.subt {
			font-size: 100px;
			color: #e0d7ce;
			z-index: 3;
			text-align: center;
			position: absolute;
			width: 100%;
			top: 80px;
			left: 0;
		}
	}

	.box {
		margin: 5% 0;
		width: 100%;
		max-width: 1000px;
		margin: auto;

		.in-b {position: relative;}
	}

	.mbox {
		width: 90%;
		position: relative;

		@media screen and (max-width: 1000px) {
			margin-left: 0;
			margin: auto;
			text-align: center;
		}

		h3 {
			font-size: 80px;
			color: rgba(229, 121, 121, 0.6);
			z-index: 3;
			font-family: "Open Sans", sans-serif;
			font-weight: bold;

			@media screen and (max-width: 1000px) {
				font-size: 12vw;
				text-align: left;
				height: 60vw;
			}
		}

		figure {
			overflow: hidden;
			border-radius: 12px;
			width: 80%;
			max-width: 360px;
			z-index: 5;
			position: relative;

			img {width: 100%;}
		}
	}
}

#voice .stage01 .info {
	border: #9c836a 2px solid;
	padding: 2%;
	box-sizing: border-box;
	border-radius: 8px;
	width: 50%;
	z-index: 5;

	@media screen and (max-width: 1000px) {
		width: 94%;
		max-width: 800px;
		margin: auto;
		order: 1;
		margin-top: 20px;
		animation: auto;
		padding: 3%;
	}

	@media screen and (max-width: 480px) {width: 86%;}

	.name {
		font-size: 28px;
		color: #c30000;
		margin-bottom: 10px;

		@media screen and (max-width: 480px) {font-size: 24px;}
	}

	.comment {
		height: 50vw;
		overflow: hidden;

		p {
			font-family: "ta-oonishi", sans-serif;
			font-weight: 300;
			font-style: normal;
			color: #5a3007;
			text-underline-offset: auto;
			text-decoration: dotted underline ;
			line-height: 1.6;
			font-size: 20px;
			height: 50vw;
			overflow: auto;
		}
	}

	dl {
		margin: 30px 0 0;

		@media screen and (max-width: 480px) {margin: 10px 0;}

		dt,dd {
			font-size: 16px;
			margin: 6px 0;

			@media screen and (max-width: 480px) {font-size: 13px;}
		}

		dt {
			width: 23%;
			background: #c30000;
			color: #fff;
			padding: 5px;
			box-sizing: border-box;
			text-align: center;

			@media screen and (max-width: 480px) {
				width: 26%;
				margin: 5px 0;
			}
		}


		dd {
			width: 74%;
			color: #0f0f0f;
			padding-left: 10px;
			letter-spacing: 0.1em;

			@media screen and (max-width: 480px) {
				width: 70%;
				margin: 5px 0;
			}
		}
	}

	.mess {
		width: 100%;
		font-size: 16px;
		line-height: 1.5;
		padding: 0;
		box-sizing: border-box;

		@media screen and (max-width: 480px) {font-size: 11px;}

		p {
			border-bottom: 2px dotted #000;
			margin-top: 10px;
		}
	}
}

/****-- /voice.html --****/

/***** Enter *****/

.modal {
	position: fixed;
	display: none;
	z-index: 20000;
	top: 0;
	left: 0;
	right: 0;
	text-align: center;
	overflow: auto;
	max-height: 100vh;
	line-height: 1.6;
	font-size: 1.6rem;

	.logo {
		display: inline-block;
		padding-top: 35%;
		
		img {width: 90%;
            max-width: 600px;
		}
	}

	.r18 {
		text-align: center;
		margin: 1% auto 2%;

		img {
			width: 60px;
			
			@media screen and (max-width: 480px) {width: 50px;}
		}
	}

	.enter {
		margin: 20px auto;

		a {
			display: block;
			background: #5a3007;
			color: #fff;
			max-width: 350px;
			margin: auto;
			padding: 10px;
			box-sizing: border-box;
			
			@media screen and (max-width: 480px) {
				padding: 5px;
				width:92%
			}

			p {color: #fff;line-height: 1;}

			.emain {
				font-size: 46px;
				letter-spacing: 6px;
				font-weight: 500;
				
				@media screen and (max-width: 480px) {font-size: 40px;}

			}

			.sub {
				font-size: 22px;
				@media screen and (max-width: 480px) {font-size: 18px;}
			}
		}
	}

	.exit {
		margin-bottom: 30px;

		a {
			display: block;
			background: #ac9783;
			color: #fff;
			max-width: 300px;
			margin: auto;
			padding: 10px;
			box-sizing: border-box;

			p {color: #fff;line-height: 1;}

			.emain {
				font-size: 30px;
				
				@media screen and (max-width: 480px) {font-size: 24px;}
			}
			
			.sub {
				font-size: 18px;
			
				@media screen and (max-width: 480px) {font-size: 14px;}
			}
		}
	}
	
	.info {width:92%;margin: auto;font-size: 13px;}
}

/***** /Enter *****/

/* snsbtn2 */

.snsbtn2 {
	max-width: 240px;
	width: 80%;
	box-sizing: border-box;
	border-radius: 40px;
	background: #11b43f;
	margin: auto;
	padding: 1%;   

	i {
		margin-right: 10px;
		text-align: center;
		 padding-bottom: 1vw;

		@media screen and (max-width: 640px) {margin-right: 6px;}
		
		img {
			width: 30px;

			@media screen and (max-width: 640px) {width: 20px;}
		}	
	}

	p {
		color: #fff;
		font-size: 18px;
		height: auto;
		letter-spacing: 0;

		@media screen and (max-width: 640px) {font-size: 14px;}	
	}
}
/* /snsbtn2 */

/* all-side-scroll */


.side-scroll {
	position: relative;
	/*
	right: 100px;
	top: 87px*/
	padding: 2%;
	margin-top: 5%;
}

#under #ranking .side-scroll {
	top: 240px
}

.side-scroll:before {
	content: "";
	display: block;
	height: 3px;
	width: 100px;
	position: absolute
}

.side-scroll:before {
	left: 0;
	top: 20px;
	background-color: #5a3007;
	display: block;
	-webkit-animation:scrolldown 1.5s cubic-bezier(.785,.135,.15,.86) infinite;
	animation:scrolldown 1.5s cubic-bezier(.785,.135,.15,.86) infinite
}

.side-scroll::before {
	background-color: #5a3007;
}

.side-scroll p {
	position: absolute;
	left: 0;
	top: 0
}

.side-scroll p {
	color: #5a3007;
}

@-webkit-keyframes scrolldown {
	0% {
		-webkit-transform:scaleX(0);
		transform:scaleX(0);
		-webkit-transform-origin:0 0;
		transform-origin:0 0
	}
	50% {
		-webkit-transform:scale(1);
		transform:scale(1);
		-webkit-transform-origin:0 0;
		transform-origin:0 0
	}
	50.1% {
		-webkit-transform:scale(1);
		transform:scale(1);
		-webkit-transform-origin:100% 0;
		transform-origin:100% 0
	}
	to {
		-webkit-transform:scaleX(0);
		transform:scaleX(0);
		-webkit-transform-origin:100% 0;
		transform-origin:100% 0
	}
}

@keyframes scrolldown {
	0% {
		-webkit-transform:scaleX(0);
		transform:scaleX(0);
		-webkit-transform-origin:0 0;
		transform-origin:0 0
	}
	50% {
		-webkit-transform:scale(1);
		transform:scale(1);
		-webkit-transform-origin:0 0;
		transform-origin:0 0
	}
	50.1% {
		-webkit-transform:scale(1);
		transform:scale(1);
		-webkit-transform-origin:100% 0;
		transform-origin:100% 0
	}
	to {
		-webkit-transform:scaleX(0);
		transform:scaleX(0);
		-webkit-transform-origin:100% 0;
		transform-origin:100% 0
	}
}
/* /all-side-scroll */
