@charset "utf-8";
/* CSS Document */

/@charset "utf-8";
/* CSS Document */

/*common*/
.bsbox::-moz-selection {
	background: none;
}
.bsbox::selection {
	background: none;
}

/*common*/
.sp {
	display: block;
}
.pc {
	display: none;
}
.ks_img {
	width: 100%;
	height: auto;
	display: block;
}
.kstext {
	font-size: 4vw;
	line-height: 1.7em;
	color: #000;
}
.kstext.b {
	font-weight: bold;
}
/*font*/
.f_dada {
	font-family: ads-dada, sans-serif;
	font-weight: 400;
	font-style: normal;
}
.f_selfish {
	font-family: "sicselfish", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.f_fude {
	font-family: "sicfude-senkou", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.f_handich {
	font-family: "sichandich", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.f_mdanceb {
	font-family: "sicmacarondance", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.f_ppetit {
	font-family: sicprintempspetit, sans-serif;
	font-weight: 400;
	font-style: normal;
}
.f_ppetit .e {
	font-weight: 800;
}
.wf-loading {
	opacity: 0;
}

#header {
	background-color: #fff;
}
#kofukusenryu {
	background: url(ksbg.jpg) 50% 50% repeat;
}

/*kshead*/
.kshead {
	width: 100vw;
	height: 100vw;
	position: relative;
}
.kshead::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #e1b364;
	mix-blend-mode: multiply;
	opacity: 0.8;
}
.kshead_inner {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	position: absolute;
}
.kshead_1,
.kshead_2 {
	height: 25vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.kshead_1st_90th {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
.syuku_img {
	width: 33px;
}
.kshead_logo {
	width: 53vw;
	background: url(kshead_logo_bg.png) 50% 50% no-repeat;
	background-size: 100% auto;
	margin: -5px auto 0;
}
.kshead_logo .kstext {
	text-align: center;
	font-size: 4.1vw;
	line-height: 9.5vw;
}
.link_90th .link_90th_btn {
	display: block;
	width: 68px;
	transition: 0.3s;
	z-index: 1;
}
.link_90th .link_90th_btn:hover .ks_img {
	animation: logo90thhover 0.8s;
}
@keyframes logo90thhover {
	0% {
		transform: rotateY(360deg);
	}
	100% {
		transform: rotateY(0deg);
	}
}

.kshead_2 {
	flex-direction: column-reverse;
}
.link_bakasen_btn {
	width: 200px;
	margin: 5px auto;
}
.link_bakasen_btn:hover .ks_img {
	animation: logo90thhover 0.8s;
}

.kshead_h {
	height: calc(100% - 50vw); /*minus kshead_1+2 height*/
	text-align: center;
	color: #fff;
	font-size: 10vw;
	line-height: 1.4em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.kshead_h .f_selfish,
.kshead_h .f_handich {
	font-size: 13vw;
}
.kshead_h .s {
	font-size: 8vw;
}
.kshead_h_inner {
	margin-top: -0.5em;
}

/*ksvisual*/
.ksvisual {
	width: 100%;
	height: 100svh;
	max-height: 680px;
	position: relative;
	background: url(ksvisual_bg.png) 50% 0 no-repeat;
	background-size: 100% auto;
}
.ksvisual_h {
	width: 60vw;
	height: 60vw;
	position: absolute;
	inset: 0;
	margin: auto;
	transition: 0.4s;
}
.ksvisual_h_inner {
	width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
.ksvisual_h_inner::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	margin: auto;
	background-color: #fff;
	border-radius: 50%;
	opacity: 0.7;
}
.ksvisual_h_inner .kstext {
	z-index: 1;
	font-size: 7.4vw;
	writing-mode: vertical-rl;
}
.ksvisual_h_inner .kstext .s {
	font-size: 85%;
}

.ksvisual_words {
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	margin: auto;
	transition: 0.4s;
}
.ksvisual_words_inner {
	width: 100%;
	height: 100%;
	position: relative;
}
.ksvisual_text {
	position: absolute;
	inset: 0;
	margin: auto;
	font-size: 6vw;
	width: 2.8em;
	height: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	transition: 0.4s;
}
.ksvisual_text .kstext {
	font-size: 6vw;
	writing-mode: vertical-rl;
	line-height: 1.4em;
	padding: 0.5em;
}
.ksvisual_text .kstext .s {
	font-size: 85%;
}
.ksvisual_text .kstext .upright {
	text-combine-upright: all;
	-webkit-text-combine: horizontal; /* Safari用 */
}
/*font-size 36pt*/
.kt1,
.kt1 .kstext,
.kt7,
.kt7 .kstext,
.kt9,
.kt9 .kstext {
	font-size: 5vw;
}

/*右上*/
.kt1, .kt2 {
	transform-origin: left bottom;
}
.kt1 {
	transform: translate(240%, -130%);
	background-image: url(kt1_bg.png);
}
.kt2 {
	padding: 0.5em;
	transform: translate(75%, -115%);
	background-image: url(kt2_bg.png);
}
/*左上*/
.kt3, .kt4 {
	transform-origin: right bottom;
}
.kt3 {
	padding: 0.5em 0;
	transform: translate(-80%, -150%);
	background-image: url(kt3_bg.png);
}
.kt4 {
	padding: 0.5em 0 0;
	transform: translate(-165%, -105%);
	background-image: url(kt4_bg.png);
}
/*右下*/
.kt5, .kt6 {
	transform-origin: left top;
}
.kt5 {
	padding: 0.5em 0 0;
	transform: translate(235%, 120%);
	background-image: url(kt5_bg.png);
}
.kt6 {
	padding: 0.5em 0;
	transform: translate(145%, 135%);
	background-image: url(kt6_bg.png);
}
/*左下*/
.kt7, .kt8 {
	transform-origin: right top;
}
.kt7 {
	padding: 0.3em;
	transform: translate(-150%, 145%);
	background-image: url(kt7_bg.png);
}
.kt8 {
	padding: 0.5em 0;
	transform: translate(-235%, 125%);
	background-image: url(kt8_bg.png);
}
/*左中*/
.kt9 {
	padding: 0.5em 0.5em 0.25em;
	transform: translate(-205%, -5%);
	transform-origin: right;
	background-image: url(kt9_bg.png);
}
/*右中*/
.kt10 {
	padding: 0.5em 0;
	transform: translate(230%, -20%);
	transform-origin: left;
	background-image: url(kt10_bg.png);
}

.ksvisual_papa {
	width: 48vw;
	height: 48vw;
	position: absolute;
	inset: 0;
	margin: auto;
	transition: 0.4s;
	transform: translate(-15%, 120%);
	transform-origin: top;
}

/*ksmain*/
.ksmain_h .kstext {
	text-align: center;
	font-size: 11vw;
}
.ksmain_h .kstext .s {
	display: inline-block;
	font-size: 8vw;
	transform: translate(0, 0.5em);
}
.ksmain_h .kstext .b {
	display: inline-block;
	position: relative;
}
.ksmain_h .kstext .b::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	display: block;
	width: 1.4em;
	height: 1.4em;
	transform: translate(-0.2em, 0);
	background-color: #ccff99;
	border-radius: 50%;
	mix-blend-mode: color;
}
.ksmain_h .kh2 .kstext .b::after {
	margin: auto;
	content: "５";
	color: #fff;
	display: block;
	position: absolute;
	inset: 0;
}
.ksmain_h .kh2 .kstext .b.b7::after {
	content: "７";
}
.ksmain_h .kh2 .kstext .b::before {
	background-color: #d3a86d;
	mix-blend-mode: multiply;
}
.ksmain_h .kh3 .kstext .b::before {
	background-color: #fe9bc3;
	mix-blend-mode: darken;
}

.ksform_wrap {
	width: 98%;
	margin: 1em auto;
	padding: 1em 2%;
	box-sizing: border-box;
	background-color: #d3a86d;
	border-radius: 10px;
	position: relative;
}
.ksform_about .about_h {
	font-size: 7vw;
	color: #fff;
	text-align: center;
	padding: 0.5em 0;
	background-color: #d3a86d;
	position: relative;
	z-index: 1;
}
.ksform_about .kstext {
	margin-bottom: 1.2em;
	font-size: 4.4vw;
	text-align: center;
	line-height: 1.4em;
}
.ksform_about .kstext .s {
	font-size: 85%;
}
.yusyu {
	width: 80%;
	background-color: #fffde5;
	border: 10px #ccff99 solid;
	border-radius: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px 0;
	margin: 0 auto 1em;
}
.ksform_about .yusyu .kstext {
	margin-bottom: 0;
	font-size: 5vw;
	white-space: nowrap;
}
.yusyu .red {
	color: red;
}

.bookinfo_link {
	width: 40%;
	margin: 2em auto 2em;
	position: sticky;
	bottom: 5px;
}
.bookinfo_link_btn {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
	background-color: #fff;
	border: 2px #fff solid;
	box-shadow: 0 2px 2px rgba(0,0,0,0.3);
}
.bookinfo_link_btn:hover {
	border-color: #0af;
}
.bookinfo_link_btn .ks_img {
	width: 50%;
	border: 1px #fff solid;
}
.bookinfo_link_btn .kstext {
	color: #0af;
	line-height: 1.4em;
}

/*ksform*/
.ksform {
	background-color: #fff;
	margin: 1em auto;
	padding: 1em 0;
}
/* 投句フォーム */
#bakasen-form {
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	font-size: 30px;
	margin: 10px auto 0;
	padding: 1.5em 0;
}
#bakasen-form .field {
	width: 1.2em;
	text-align: left;
	margin: 0 0.8em;
}
#bakasen-form .label {
}
#bakasen-form .inputfield {
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	border: 1px #0af solid;
	background-color: #fff;
	box-sizing: content-box;
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	text-align: left;
	line-height: 1em;
	display: inline-block;
	position: relative;
	overflow: hidden;
	font-size: 30px;
}
#bakasen-form .inputfield::before {
	display:block;
	position: absolute;
	top: 0;
	left: 0;
	color: #0af;
}
#bakasen-form .hide::before {
	visibility: hidden;
}
/*#bakasen-form #line1.inputfield::before {
	content: "";
}
#bakasen-form #line2.inputfield::before {
	content: "";
}
#bakasen-form #line3.inputfield::before {
	content: "";
}*/
#bakasen-form #webname.inputfield::before {
	content: "ウェブネーム";
}
#bakasen-form .text5 .inputfield,
#bakasen-form .text7 .inputfield {
	width: 1.2em;
	font-size: 1em;
	line-height: 1.2em;
	background-color: #fff;
	padding: 0.1em;
}
#bakasen-form .text5 .inputfield {
	height: 7em;
}
#bakasen-form .text7 .inputfield {
	height: 9em;
}
#bakasen-form .webname-wrap {
	width: 1.2em;
	line-height: 1.2em;
	text-align: right;
}
#bakasen-form .webname-wrap .sub,
#bakasen-form .webname-wrap .label {
	display: inline-block;
	font-size: 0.5em;
	vertical-align: middle;
}
#bakasen-form .webname-wrap .inputfield {
	font-size: 0.5em;
	/*text-align: right;*/
	width: 1em;
	height: 10em;
	margin: auto;
	vertical-align: middle;
	padding: 0.1em;
}
#bakasen-form .webname-wrap #age {
	font-size: 0.5em;
	text-align: center;
	width: 2em;
	height: 1em;
	padding: 0.2em 0.1em;
	box-sizing: content-box;
	border: 1px #0af solid;
	background-color: #fff;
	writing-mode: lr;
	line-height: 1em;
	padding: 0.1em;
}
#bakasen-form .webname-wrap #age:placeholder-shown { color: #0af; }
#bakasen-form .webname-wrap #age::-webkit-input-placeholder { color: #0af; }
#bakasen-form .webname-wrap #age:-moz-placeholder { color: #0af; opacity: 1; }
#bakasen-form .webname-wrap #age::-moz-placeholder { color: #0af; opacity: 1; }
#bakasen-form .webname-wrap #age:-ms-input-placeholder { color: #0af; }

/*add*/
#bakasen-form .field.kofukutoha,
#bakasen-form .text5.kofukutoha .inputfield {
	width: 1.7em;
}
#bakasen-form .text5.kofukutoha .inputfield {
	border-color: #333;
}
.btn_submit {
	width: 80%;
	margin: 1em auto;
	padding: 1em 0;
	background-color: #00abff;
	border-radius: 10px;
	color: #fff;
	text-align: center;
	box-shadow: 0 4px 0 #0094dd;
	transition: 0.2s;
	cursor: pointer;
}
.btn_submit:hover {
	color: #ff0;
	box-shadow: none;
	transform: translate(0, 4px);
}
.btn_submit .e {
	font-size: 28px;
}
.btn_submit .caution {
	font-size: 14px;
}

/*ksohisama*/
.ksohisama {
	position: relative;
	width: 100%;
	padding: 0 0 2em;
}
.ksohisama::before {
	content: "";
	display: block;
	position: absolute;
	top: 160px;
	width: 100%;
	height: calc(100% - 160px);
	background-color: #b1fd22;
	mix-blend-mode: multiply;
}

.ksohisama_papa {
	position: relative;
}

.ksohisama_book {
	position: relative;
	margin: 2em auto 0;
	width: 96%;
	padding: 1em;
	box-sizing: border-box;
	background-color: #fff;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
}
.bi1 .ks_img {
	width: 80%;
	border: 1px #888 solid;
	margin: auto;
}
.bi1 .kstext {
	text-align: center;
	margin: 0.5em auto 0;
}
.bi_title {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4em;
	margin: 1em auto;
}
.bi2 .kstext {
	text-align: left;
	margin-bottom: 0.75em;
}
.bi_photo {
	margin: 2em auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
.bi_photo_btn {
	display: block;
	border: 1px #666 solid;
	margin: 0 0.5em;
	cursor: pointer;
}
.bi_photo_btn:hover {
	border-color: #00abff;
}
.bf_link_btn {
	display: block;
	width: 80%;
	padding: 1em 0;
	margin: 2em auto 1em;
	text-align: center;
	background: #D7D7D7;
	background: linear-gradient(0deg, rgba(215, 215, 215, 1) 0%, rgba(255, 255, 255, 1) 100%);
	border: 1px #000 solid;
	border-radius: 5px;
	color: #00abff;
	font-weight: bold;
}
.bf_link_btn:hover {
	background: #00ABFF;
	background: linear-gradient(0deg, rgba(0, 171, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
	border-color: #00abff;
	color: #fff;
}

@media (min-width: 768px) {
	
	/*common*/
	.sp {
		display: none;
	}
	.pc {
		display: block;
	}
	/*.ks_img {
		width: auto;
	}*/

	/*kshead*/
	.kshead {
		width: 100%;
		height: 120px;
	}
	.kshead_1,
	.kshead_2 {
		height: 100%;
	}

	.link_90th .link_90th_btn,
	.link_90th .link_90th_btn .ks_img {
		width: 80px;
	}
	.kshead_inner {
		flex-direction: row;
		justify-content: center;
		align-items: center;
	}
	.kshead_logo {
		width: 264px;
	}
	.kshead_logo .kstext {
		text-align: center;
		font-size: 24px;
		line-height: 44px;
	}
	.kshead_2 {
		flex-direction: column;
	}
	.link_bakasen_btn {
		width: 266px;
		margin: 5px auto;
	}
	.kshead_h {
		height: 120px;
		font-size: 45px;
		flex-direction: column;
		margin: 0 20px;
	}
	.kshead_h .f_selfish,
	.kshead_h .f_handich {
		font-size: 54px;
	}
	.kshead_h .f_selfish {
		letter-spacing: -0.1em;
	}
	.kshead_h .s {
		font-size: 36px;
	}
	.kshead_h_inner {
		margin-top: 0;
		letter-spacing: -0.05em;
	}

	/*ksvisual*/
	.ksvisual {
		width: 1280px;
		height: 560px;
		max-height: none;
		margin: auto;
	}
	.ksvisual_h {
		width: 300px;
		height: 300px;
	}
	.ksvisual_h_inner .kstext {
		font-size: 38px;
	}
	.ksvisual_words {
		width: 960px;
	}
	.ksvisual_text,
	.ksvisual_text .kstext {
		font-size: 32px;
	}
	/*font-size 24pt*/
	.kt1,
	.kt1 .kstext,
	.kt7,
	.kt7 .kstext,
	.kt9,
	.kt9 .kstext {
		font-size: 24px;
	}

	/*右上*/
	.kt1 {
		transform: translate(505%, -90%) rotate(-20deg);
	}
	.kt2 {
		transform: translate(205%, -45%) rotate(-15deg);
	}
	/*左上*/
	.kt3 {
		transform: translate(-250%, -70%) rotate(30deg);
	}
	.kt4 {
		transform: translate(-335%, -45%) rotate(10deg);
	}
	/*右下*/
	.kt5 {
		transform: translate(475%, 0%);
	}
	.kt6 {
		transform: translate(390%, 45%) rotate(10deg);
	}
	/*左下*/
	.kt7 {
		transform: translate(-470%, -25%) rotate(10deg);
	}
	.kt8 {
		transform: translate(-415%, 55%) rotate(-15deg);
	}
	/*左中*/
	.kt9 {
		transform: translate(-235%, 55%) rotate(-35deg);
	}
	/*右中*/
	.kt10 {
		transform: translate(210%, 70%) rotate(40deg);
	}

	.ksvisual_papa {
		width: 240px;
		height: 240px;
		transform: translate(-15%, 97%);
	}

	/*ksmain*/
	.ksmain {
		margin-top: 40px;
	}
	.ksmain_h {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.ksmain_h .kstext {
		font-size: 48px;
	}
	.ksmain_h .kstext .s {
		font-size: 38px;
	}

	.ksform_wrap {
		width: 960px;
		background-color: transparent;
		display: flex;
		justify-content: space-between;
		align-items: start;
		padding: 0;
	}
	.about_1 { order: 1; }
	.ksform { order: 2; }
	.about_2 { order: 3; }

	.ksform_about {
		background-color: #d3a86d;
		border-radius: 20px;
		width: 232px;
	}
	.ksform_about .about_h {
		font-size: 24px;
		background-color: transparent;
	}
	.ksform_about .kstext {
		font-size: 16px;
	}
	.ksform_about .yusyu .kstext {
		font-size: 18px;
	}

	.bookinfo_link {
		width: auto;
		margin: 2em auto 2em;
		position: relative;
		bottom: auto;
	}
	.bookinfo_link_btn {
		background-color: transparent;
		border: none;
		flex-direction: column;
		box-shadow: none;
	}
	.bookinfo_link_btn:hover {
		border-color: none;
	}
	.bookinfo_link_btn .ks_img {
		width: 140px;
		border: 1px #fff solid;
	}
	.bookinfo_link_btn .kstext {
		color: #fff;
		text-decoration: underline;
		font-size: 20px;
		margin-top: 1em;
	}

	.ksform {
		width: 482px;
		background-color: #fff;
		border-radius: 20px;
		margin-top: 0;
	}
	#bakasen-form {
		writing-mode: vertical-rl;
		-webkit-writing-mode: vertical-rl;
		font-size: 40px;
		margin: 0 auto;
		background-color: #fff;
		width: 324px;
	}

	#bakasen-form .text5 .inputfield,
	#bakasen-form .text7 .inputfield {
	}
	#bakasen-form .webname-wrap #age {
		font-size: 0.4em;
	}
	/*has-theme*/
	#bakasen-form.has-theme {
		padding: 0.5em 0 1.5em;
	}
	#bakasen-form .field.theme select {
		font-size: 0.42em;
		padding: 1px;
	}
	#bakasen-form.has-theme .rl-wrap {
		margin: 1em auto 0;
	}

	/*ksohisama*/
	.ksohisama::before {
		top: 210px;
		height: calc(100% - 210px);
	}
	.ksohisama_papa {
		width: 480px;
		margin: auto;
	}
	.ksohisama_book {
		width: 960px;
		flex-direction: row;
		justify-content: space-between;
		align-items: start;
		padding: 1.4em;
	}
	.bi1 .ks_img {
		width: 280px;
	}
	.bi1 .kstext {
		font-size: 18px;
		margin: 1em auto 0;
	}

	.bi2 {
		width: 608px;
	}
	.bi_title {
		font-size: 20px;
		text-align: left;
		margin: 2em auto;
	}
	.bi2 .kstext {
		font-size: 18px;
	}
	.bf_link_btn {
		font-size: 17px;
		width: 265px;
		float: right;
		margin: 1em 0;
	}
	.bi_photo {
		margin: 3em auto 2em;
		justify-content: space-between;
	}
	.bi_photo_btn {
		margin: 0;
	}

}
