@charset "UTF-8";
/* CSS Document */
body {
	background: #fff;
	color: #000000;
}
.img-fluid {
	max-width: 100%;
	height: auto;
	display: block;
}
.container {
	max-width: 525px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.relative {
	position: relative;
}
.absolute {
	position: absolute;
}
/* Button */
.btn {
	text-align: center;
}
.btn.animate-1 .inner a {
	display: block;
	vertical-align: bottom;
	overflow: hidden;
	position: relative;
}
.btn.animate-1 .inner a::before {
	content: '';
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
	-webkit-animation: shiny 2s infinite;
	-moz-animation: shiny 2s infinite;
	-ms-animation: shiny 2s infinite;
	-o-animation: shiny 2s infinite;
	animation: shiny 2s infinite;
	transform: skew(-25deg);
	position: absolute;
	width: 105px;
	top: 54.6px;
	height: 164.5px;
}
@media (max-width: 525px) {
	.btn.animate-1 .inner a::before {
		width: 20vw;
		top: 10.4vw;
		height: 31.3333333333vw;
	}
}
/*
.btn.animate-2 {
	animation: fluffyY 1s infinite ease-out;
}
*/
.cv .btn {
	top: 0;
	left: 0;
}
.cv-2 {
	background: url("../img/cv_02_bg_beans.jpg") no-repeat center top;
	background-size: cover;
	padding: 8px 0 42px;
}
@media (max-width: 525px) {
	.cv-2 {
		padding: 1.5238095238vw 0 8vw;
	}
}
.cv-2 > .relative .btn {
	top: 315px;
	right: 42px;
	width: 225.4px;
}
@media (max-width: 525px) {
	.cv-2 > .relative .btn {
		top: 60vw;
		right: 8vw;
		width: 42.9333333333vw;
	}
}
.cv-2 .boshu {
	background: url("../img/cv_02b_bg_middle.png") repeat-y center top;
	background-size: 100%;
	padding: 0px 46px .5em;
	line-height: 1.7;
	font-family: sans-serif;
}
@media (max-width: 525px) {
	.cv-2 .boshu {
		padding: 0vw 7.8vw 1.3333333333vw;
	}
}
.cv-2 .boshu p {
	margin: 0;
	font-size: 11.9px;
}
@media (max-width: 525px) {
	.cv-2 .boshu p {
		font-size: 2.5333333333vw;
	}
}
/*-------------------------------------*
 * 募集要項リスト部分
 *-------------------------------------*/
.boshu > ul {
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 0;
	font-size: 0.8em;
	line-height: 1.4em;
}
@media (max-width: 525px) {
	.boshu > ul {
		font-size: 0.6em;
	}
}
.boshu > ul > li {
	list-style: none;
	margin-bottom: 0.1em;
	text-indent: -1em;
	padding-left: 1em;
}
.boshu > ul > li:last-child {
	list-style: none;
	margin-bottom: 0em;
}
.boshu ul li ul {
	list-style-type: disc;
}
.dp-none {
	display: none;
}
.instagram {
	margin-bottom: 30px;
}
@media (max-width: 525px) {
	.instagram {
		margin-bottom: 5.7142857143vw;
	}
}
.instagram.mb-0 {
	margin-bottom: 0;
}
.instagram-comment {
	height: 400px;
	padding: 7px 28px;
	overflow: hidden;
	position: relative;
	-webkit-transition: height 0.2s ease-in-out;
	-moz-transition: height 0.2s ease-in-out;
	-o-transition: height 0.2s ease-in-out;
	transition: height 0.2s ease-in-out;
}
@media (max-width: 525px) {
	.instagram-comment {
		height: 76.1904761905vw;
		padding: 1.9047619048vw 7.619047619vw;
	}
}
.instagram-comment p {
	font-size: 21px;
	line-height: 1.7;
	font-weight: 700;
	padding-bottom: 21px;
	margin: 0;
}
@media (max-width: 525px) {
	.instagram-comment p {
		font-size: 4vw;
		padding-bottom: 5.7142857143vw;
	}
}
.instagram-comment p span {
	background-color: #fff67f;
}
.instagram-comment.opened {
	padding-bottom: 89.6px;
}
@media (max-width: 525px) {
	.instagram-comment.opened {
		padding-bottom: 17.0666666667vw;
	}
}
.instagram-text p {
	font-family: sans-serif;
}
.instagram-btn {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
}
.instagram-btn::before {
	content: '';
	height: 100px;
	width: 100%;
	display: block;
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
	background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
}
@media (max-width: 525px) {
	.instagram-btn::before {
		height: 19.0476190476vw;
	}
}
.instagram-btn.opened::before {
	display: none;
}
.instagram-btn > div {
	background: #ffffff;
	padding-top: 10px;
}
@media (max-width: 525px) {
	.instagram-btn > div {
		padding-top: 1.9047619048vw;
	}
}
.instagram-btn .close {
	display: none;
}
.instagram-btn img {
	width: 340.9px;
	margin: 0 auto;
	cursor: pointer;
}
@media (max-width: 525px) {
	.instagram-btn img {
		width: 64.9333333333vw;
	}
}
.faq {
	background: url("../img/faq_bg.png") repeat-y center top;
	padding-bottom: 29.4px;
}
@media (max-width: 525px) {
	.faq {
		padding-bottom: 5.6vw;
	}
}
.faq-item {
	padding: 0 28.7px;
	margin: 0 0 15px;
}
@media (max-width: 525px) {
	.faq-item {
		padding: 0 5.4666666667vw;
		margin: 0 0 2.8571428571vw;
	}
}
.faq-item.mb-0 {
	margin-bottom: 0;
}
.faq-item dt {
	font-size: 16.1px;
	cursor: pointer;
	color: #ffffff;
	background: url("../img/q.jpg") no-repeat left 17.5px center #ad915e;
	background-size: 21.7px;
	padding: 26.6px 17.5px 26.6px 49px;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	position: relative;
	font-family: sans-serif;
}
@media (max-width: 525px) {
	.faq-item dt {
		font-size: 3.0666666667vw;
		background: url("../img/q.jpg") no-repeat left 3.3333333333vw center #ad915e;
		background-size: 4.1333333333vw;
		padding: 5.0666666667vw 3.3333333333vw 5.0666666667vw 9.3333333333vw;
		border-top-left-radius: 0.9523809524vw;
		border-top-right-radius: 0.9523809524vw;
	}
}
.faq-item dt::after {
	content: '';
	width: 30.1px;
	height: 30.1px;
	display: block;
	position: absolute;
	right: 17.5px;
	top: 50%;
	margin-top: -15.05px;
	background: url("../img/down.png") no-repeat center;
	background-size: 30.1px;
}
@media (max-width: 525px) {
	.faq-item dt::after {
		width: 5.7333333333vw;
		height: 5.7333333333vw;
		right: 3.3333333333vw;
		margin-top: -2.8666666667vw;
		background-size: 5.7333333333vw;
	}
}
.faq-item dt.active::after {
	background: url("../img/up.jpg") no-repeat center;
	background-size: 30.1px;
}
@media (max-width: 525px) {
	.faq-item dt.active::after {
		background-size: 5.7333333333vw;
	}
}
.faq-item dd {
	margin: 0;
	display: none;
	background: #ffffff;
	font-size: 16.1px;
	color: #000000;
	padding: 17.5px;
	line-height: 1.7;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	font-family: sans-serif;
}
@media (max-width: 525px) {
	.faq-item dd {
		font-size: 3.0666666667vw;
		padding: 3.3333333333vw;
		border-top-left-radius: 0.9523809524vw;
		border-top-right-radius: 0.9523809524vw;
	}
}
@-webkit-keyframes shiny {
	0% {
		left: -30%;
	}
	100% {
		left: 120%;
	}
}
@-moz-keyframes shiny {
	0% {
		left: -30%;
	}
	100% {
		left: 120%;
	}
}
@-ms-keyframes shiny {
	0% {
		left: -30%;
	}
	100% {
		left: 120%;
	}
}
@-o-keyframes shiny {
	0% {
		left: -30%;
	}
	100% {
		left: 120%;
	}
}
@keyframes shiny {
	0% {
		left: -30%;
	}
	100% {
		left: 120%;
	}
}
@-webkit-keyframes fluffyY {
	0% {
		transform: translateY(3%);
	}
	50% {
		transform: translateY(-3%);
	}
	100% {
		transform: translateY(3%);
	}
}
@-moz-keyframes fluffyY {
	0% {
		transform: translateY(3%);
	}
	50% {
		transform: translateY(-3%);
	}
	100% {
		transform: translateY(3%);
	}
}
@-ms-keyframes fluffyY {
	0% {
		transform: translateY(3%);
	}
	50% {
		transform: translateY(-3%);
	}
	100% {
		transform: translateY(3%);
	}
}
@keyframes fluffyY {
	0% {
		transform: translateY(3%);
	}
	50% {
		transform: translateY(-3%);
	}
	100% {
		transform: translateY(3%);
	}
}
/*-------------------------------------*
 * cvボタン上下アニメーション
 *-------------------------------------*/
.flow_animation {
	animation-name: flow;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: .6s;
	margin-top: 64px;
}

@media (max-width: 525px) {
	.flow_animation {
		margin-top: 48px;
	}
}
@keyframes flow {
	0% {
		transform: translate(0, 0px);
	}
	100% {
		transform: translate(0, -10px)
	}
}

/*-------------------------------------*
 *フローティングボタン
 *-------------------------------------*/
.btn.fixed-bottom {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	max-width: 650px;
	height: auto;
}
@media (max-width: 768px) {
	.btn.fixed-bottom {
		width: 100vw;
	}
}
.btn.fixed-bottom p {
	margin-block-end: 0px;
	margin-bottom: -5px;
	text-align: center;
}
@media (min-width:751px){
.btn_float_02 {
	position: absolute;
	z-index: 999;
    left: 50%;
    margin-left: 200px;
    width:500px;
    }
}
.flow_animation {
	animation-name: flow;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: .6s;
}
@media (max-width: 750px) {
	.btn_float_02 {
        position: absolute;
        z-index: 999;
		width: 200px;
        right: 10px;
        left: 46%;
	}
}
@keyframes flow {
	0% {
		transform: translate(0, 0px);
	}
	100% {
		transform: translate(0, -10px)
	}
}