@charset "utf-8";
/* インデックスページcss */
h2{
    font-size: 18px;
}
button{
	margin-top: 4vw;
	margin-left: 40%;
}
form p, form dl, form ul{
    font-family: 'KTEGAKI';
}
@media (min-width: 500px){
    form p, form dl, form ul{
        font-size: 1.3em;
    }
}
@media (min-width: 1600px){
    form p, form dl, form ul{
        font-size: 1.5em;
    }
}
.shop-info p{
    padding: 5px 10px;
    text-shadow: 0px 0px 7.68px rgba(244, 246, 245, 0.8);
}
.search-cactus{
	margin-top: 50px;
    width: 100%;
	height: 80vw;
	padding-top: 1vw;
    text-align: center;
	background-image: url("../images/img-sp-search-cactus.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	background-color: rgba(255,255,255,0.5);
	background-blend-mode: lighten;
    border-radius: 1vw;
	border: 1vw solid #10720F;
}
.search-cactus h2{
	padding: 5px 0;
	text-shadow: 0px 0px 1px rgba(10, 10, 10, 0.8);
	background-color: #f4f6f5;
}
.search-img-area{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.search-img-area img{
    width: 95%;
    opacity: 0.85;
    border: 1vw solid #10720F;
    border-radius: 1vw;
    position: relative;
}
.search-form{
    text-align: left;
}
.search-form p{
	margin-top: 3vw;
	margin-left: 3vw;
}
.search-form dt{
    display: block;
}
.search-form dd,.search-form li{
    display: inline-block;
	margin-top: 5px;
}
.form-flex{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding: 0 10px;
}
.form-flex-item{
	text-align: center;
}
.img-maru{
	width: 30%;
}
.img-hashira{
	width: 33%;
}
.img-futeikei{
	width: 29%;
}
.input-radio{
	margin-right: 5px;
	inline-size: 1.1em;
	block-size: 1.1em;
}
.search-form li{
	margin-left: 10vw;
}
.management{
	margin-top: 50px;
}
/*/////////////////////////////////// .management-area クラスの中は中央寄せにするのだが、not-center クラスの要素だけは例外的に左寄せ*/
.management-area:not(.not-center){
    text-align: center;
}
.not-center{
    text-align: left;
}
/*///////////////////////////////////*/
.light, .water, .wind{
	position: relative;
	font-family: 'Yuji Syuku', serif;
	font-size: 32px;
	font-weight: bold;
	color: #000;
}
.light{
	margin-top: 20px;
}
.light::after{
	content: "";
	width: 80px;
	height: 80px;
	display: inline-block;
	background-image: url("../images/img-light.png");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.water::after{
	content: "";
	width: 80px;
	height: 80px;
	display: inline-block;
	background-image: url("../images/img-water.png");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.wind::after{
	content: "";
	width: 80px;
	height: 80px;
	display: inline-block;
	background-image: url("../images/img-wind.png");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 40%;
	left: 35%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.water-wind-area{
	margin-top: 12vw;
	margin-bottom: 20px;
	display: flex;
	justify-content: space-around;
}
.abso-info{
	margin-top: 20px;
	text-align: left;
}
.abso-info p{
	margin-bottom: 10px;
}
.abso-info span{
	font-family: 'Yuji Syuku', serif;
	font-size: 15px;
}
.abso-light{
	color: rgb(226, 214, 14);
}
.abso-water{
	color: rgb(0, 215, 255);
}
.abso-wind{
	color: rgb(9, 139, 105);
}
.water-give h3{
	display: inline-block;
	position: relative;
    left: -10px;
	margin-top: 30px;
	font-size: 18px;
}
.water-give h3::after{
	content: "";
	display: inline-block;
	width: 54px;
	height: 5px;
	border-radius: 2px;
	background-color: rgba(14, 139, 35, 0.5);
	position: absolute;
	top: 80%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.water-give-info{
	margin-top: 20px;
	text-align: left;
}
.water-give-info dt{
	margin-bottom: 5px;
}
.water-give-info dd{
	margin-bottom: 10px;
}
.water-give-summary{
    margin-top: 10px;
    background-color: #f4f6f5;
    border: 3px solid #0e8b23;
    border-radius: 10px;
}
.water-give-summary p{
    padding: 10px 0;
    line-height: 1.5;
    text-shadow: 0 0 2px rgba(255, 255, 255, 0.8);
    outline: 2px dotted #86593b;
    outline-offset: -1.5vw;
    border-radius: 2.5vw;
}
.water-give-summary span{
    color: #c62718;
    font-weight: bold;
}
.plant-change h3{
	display: inline-block;
	position: relative;
    left: -10px;
	margin-top: 30px;
	font-size: 18px;
}
.plant-change h3::after{
	content: "";
	display: inline-block;
	width: 108px;
	height: 5px;
	border-radius: 2px;
	background-color: rgba(14, 139, 35, 0.5);
	position: absolute;
	top: 80%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.method-pc-flex li{
	margin: 25px 0;
}
.method-column-flex p{
	margin-top: 10px;
	padding-left: 24px;
	text-align: left;
}
.add-after-number{
	padding: 10px;
	position: relative;
	background-color: #fff;
	box-shadow: 2px 2px 2px 1px #0e8b23;
	border-radius: 5px;
}
.add-after-number::after{/* content は同位置の method-1～7クラスで生成している */
	display: inline-block;
	font-family: 'クラフト明朝';
	font-size: 24px;
	position: absolute;
	top: 5px;
	left: 5px;
}
.method-1::after{
	content: "１";
}
.method-2::after{
	content: "２";
}
.method-3::after{
	content: "３";
}
.method-4::after{
	content: "４";
}
.method-5::after{
	content: "５";
}
.method-6::after{
	content: "６";
}
.method-7::after{
	content: "７";
}
.method-row-flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.illust-method-1{
	margin-top: 20px;
	width: 28%;
}
.illust-method-2{
	margin-top: 20px;
	margin-left: 25px;
	width: 40%;
}
.illust-method-3-1{
	margin-top: 20px;
	margin-left: 23px;
	width: 40%;
}
.illust-method-3-2{
	margin-top: 20px;
	width: 24%;
}
.illust-method-arrow{
	width: 20%;
}
.illust-method-4{
	margin-top: 20px;
	width: 50%;
}
.illust-method-5{
	margin-top: 20px;
	width: 28%;
}
.illust-method-6{
	margin-top: 20px;
	width: 43%;
}
.illust-method-7-1{
	margin-top: 20px;
	margin-left: 23px;
	width: 28%;
}
.illust-method-7-2{
	margin-top: 20px;
	margin-right: 23px;
	width: 30%;
}

/*
------------------------------------------------------------------
--　ここから　初回ロード時のアニメーション処理　　------------------------
------------------------------------------------------------------
*/
.loading{
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 1;
    visibility: visible;
    z-index: 1000;
}
/*二回目以降は止める時の処理*/
.loading.is-active {
  opacity: 0;
  visibility: hidden;
}
.loading-animation{
    width: 100vw;
    height: 100vh;
    position: relative;
    top: -100%;
    left: 0;
    opacity: 0;
    visibility: hidden;
}
.loading-animation.is-active{
    animation-name: sabodown;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 1;
    visibility: visible;
}

.cup{
    width: 100px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.cup.is-active{
    animation-name: cupmove;
    animation-duration: 0.3s;
    animation-fill-mode: forwards;    
}
.cactus{
    width: 100px;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%,-50%);
    transform-origin: 50% 101%;
}
.cactus.is-active{
    animation-name: cactusmove;
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
}
.cactus.is-active.is-active2{
    animation-name: cactusshot;
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
}
.sabota-ju{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
@keyframes sabodown{
    0%{
        top: -100%;
    }
    100%{
        top: 50%;
        transform: translateY(-50%);
    }
}
@keyframes cupmove{
    0%{
        transform: translate(-50%,-50%) rotate(0);
    }
    100%{
        transform: translate(-50%,-50%) rotate(45deg);
    }
}
@keyframes cactusmove{
    0%{
        transform: translate(-50%,-50%) rotate(0);
    }
    100%{
        transform: translate(-50%,-50%) rotate(45deg);
    }
}
@keyframes cactusshot{
    0%{
        top: 40%;
        left: 50%;
		transform: translate(-50%,-50%) rotate(45deg);
    }
    100%{
        top: calc(-10vw);
        left: calc(100vw);
		transform: translate(-50%,-50%) rotate(45deg);
    }
}
/*
------------------------------------------------------------------
--　初回ロード時のアニメーション処理　------------------　　ここまで　----
------------------------------------------------------------------
*/

@media (min-width: 800px){
	h2{
		font-size: 24px;
		font-weight: bold;
	}
	button{
		padding: 15px;
	}
	.shop-info{
		padding: 0 12vw;
	}
	.search-cactus{
		margin-left: auto;
		margin-right: auto;
		padding-top: 4vw;
		width: calc(100vw - 110px);
		background-image: url("../images/img-search-cactus.jpg");
	}
	.search-cactus h2{
		padding: 3vw 0;
	}
	.search-form p{
		margin-top: 4vw;
		margin-left: 20%;
	}
	.form-flex{
		margin-top: 2vw;
		padding-left: 20%;
		padding-right: 20%;
		justify-content: space-around;
	}
	.form-flex dd{
		margin-top: 2vw;
	}
	.search-form li{
		margin-top: 2vw;
		margin-left: 25vw;
	}	
	.search-form ul:nth-of-type(2) li:nth-of-type(2){
		margin-left: 20vw;/*日当たりの二番目のラジオだけ間隔を狭くしてる*/
	}
	.img-maru{
		width: 45%;
	}
	.img-hashira{
		width: 48%;
	}
	.img-futeikei{
		width: 44%;
	}
	.light, .water, .wind{
		font-size: 56px;
	}
	.light{
		margin-top: 5vw;
	}
	.light::after{
		width: 160px;
		height: 160px;
	}
	.water::after{
		width: 160px;
		height: 160px;
		top: -10%;
		left: 55%;
	}
	.wind::after{
		width: 160px;
		height: 160px;
		top: 35%;
	}
	.water-wind-area{
		margin-top: 18vw;
		margin-bottom: 5vw;
	}
	.abso-info{
		margin-top: 4vw;
		padding: 0 12vw;
	}
	.water-give h3{
		margin-top: 5vw;
        left: 10vw;
		font-size: 20px;
	}
	.water-give-info{
		padding: 0 12vw;
	}
    .water-give-summary{
        width: 700px;
        margin: 2vw auto 0;
        border: 0.5vw solid #0e8b23;
        border-radius: 1.0vw;
    }
    .water-give-summary p{
        font-size: 1.4em;
        padding: 2.5vw 0;
        outline: 0.5vw dotted #86593b;
        border-radius: 1.5vw;
    }
	.plant-change h3{
		margin-top: 5vw;
        left: 10vw;
		font-size: 20px;
	}
	.method-pc-flex{
		max-width: calc(100vw - 200px);
		margin-left: 150px;
		display: flex;
		flex-wrap: wrap;
		column-gap: 20px;
	}
	.add-after-number{
		width: 340px;
		height: 450px;
	}
/*	.method-column-flex{
		position: absolute;
		bottom: 30px;
		right: 10px;
	}*/
	.method-column-flex{
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.method-column-flex div{
		height: 250px;
	}
	.method-column-flex p{
		height: 200px;
	}
	.illust-method-1{
		margin-top: 60px;
		width: 50%;
	}
	.illust-method-2{
		margin-top: 60px;
		margin-left: 25px;
		width: 40%;
	}
	.illust-method-4{
		margin-top: 100px;
		width: 60%;
	}
	.illust-method-5{
		margin-top: 40px;
		width: 40%;
	}
	.illust-method-6{
		margin-top: 40px;
		width: 43%;
	}
	.illust-method-7-1{
		margin-top: 20px;
		margin-left: 23px;
		width: 25%;
	}
	.illust-method-7-2{
		margin-top: 20px;
		margin-right: 23px;
		width: 30%;
	}
	.btn.active{
		background-color: #86593b;
		transform: scale(1.2);
	}
}