/*!
Theme Name: kadogev
Theme URI: https://waraku18.com/
Author: WARACRO
Author URI: https://waraku18.com/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: waracro
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

WARACRO is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
}

body {
	font-size: 1.6rem;
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	line-height: 1.5;
	color: #333;
}

p {
	line-height: 1.7;
}

a {
	color: #333;
	text-decoration: none;
	word-break: break-all;
	transition: all .3s;
}

a:hover {
	opacity: 0.8;
}

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

video {
	max-width: 100%;
}

iframe {
	max-width: 100%;
}

ul, ol {
	list-style: none;
}

.sp {
	display: none;
}

@media screen and (max-width: 1024px) {
	body {
		font-size: 1.4rem;
	}
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
}

.wrapper {
	overflow: hidden;
}

/* ヘッダー */
.site-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 30px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
}

.site-branding a {
	display: flex;
}

.site-branding img {
	width: 240px;
}

.main-navigation-pc {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.main-navigation-pc ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation-pc ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation-pc ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation-pc ul ul li:hover > ul,
.main-navigation-pc ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation-pc ul ul a {
	width: 200px;
}

.main-navigation-pc ul li:hover > ul,
.main-navigation-pc ul li.focus > ul {
	left: auto;
}

.main-navigation-pc li {
	position: relative;
}

.main-navigation-pc a {
	display: block;
	text-decoration: none;
}

.main-navigation-contact {
	background: #b4aefc;
	color: #fff;
	display: block;
	padding: 10px 30px;
	text-align: center;
	border-radius: 50px;
	margin-left: 30px;
}

/* Small menu. */
.menu-toggle,
.main-navigation-pc.toggled ul {
	display: block;
}

.menu-toggle {
	display: none;
}

.main-navigation-pc ul {
	display: flex;
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

.main-navigation-sp {
	display: none;
}

.main-navigation-pc ul {
	justify-content: flex-end;
	align-items: center;
}

.main-navigation-pc li {
	margin-left: 30px;
}

.main-navigation-pc li a {
	font-weight: 600;
}

.main-navigation-pc li a:hover {
	color: #ffb6ec;
}

@media screen and (max-width: 1024px) {
	.site-header {
		padding: 0px 20px;
		height: 55px;
	}
	.site-branding img {
		width: 150px;
	}

	.main-navigation-pc {
		display: none;
	}

	.main-navigation-sp {
		display: block;
	}

	/*　ハンバーガーメニューボタン　*/
	.menu-toggle {
		display: block;
		position: fixed;
		z-index: 5;
		right: 0;
		top: 0;
		width: 55px;
		height: 55px;
		cursor: pointer;
		text-align: center;
		background: #333;
	}

	.menu-toggle span {
		display: block;
		position: absolute;
		width: 20px;
		height: 2px;
		left: 0;
		right: 0;
		margin: auto;
		background: #fff;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}

	.menu-toggle span:nth-child(1) {
		top: 18px;
	}

	.menu-toggle span:nth-child(2) {
		top: 26px;
	}

	.menu-toggle span:nth-child(3) {
		top: 34px;
	}

	/* スマホメニューを開いてる時のボタン */
	.menu-toggle.active span:nth-child(1) {
		top: 26px;
		background: #fff;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.menu-toggle.active span:nth-child(2),
	.menu-toggle.active span:nth-child(3) {
		top: 26px;
		background: #fff;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	/* メニュー背景　*/
	.main-navigation-sp .menu-footer-nav-container {
		position: fixed;
		z-index: 4;
		top: 0;
		right: 0;
		color: #fff;
		background: #333;
		width: 70%;
		transform: translateX(100%);
		transition: all 0.6s;
		height: 100%;
		display: flex;
		align-items: center;
	}

	.main-navigation-sp .menu-footer-nav-container ul {
		margin: 0 auto;
		padding: 0;
	}

	.main-navigation-sp .menu-footer-nav-container ul li {
		padding: 0;
		width: 100%;
	}

	.main-navigation-sp .menu-footer-nav-container ul li:last-child {
		padding-bottom: 0;
	}

	.main-navigation-sp .menu-footer-nav-container ul li a {
		display: block;
		color: #fff;
		padding: 10px 0;
		font-weight: 600;
		font-size: 1.6rem;
	}

	/* クリックでjQueryで追加・削除 */
	.main-navigation-sp .menu-footer-nav-container.active {
		opacity: 100;
		transform: translateX(0%);
	}
}

/* MV */
.main-visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	/* padding: 50px 0; */
}

.main-visual_img {
	width: 100%;
	object-fit: cover;
}

.main-visual_text {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 10%;
	margin: auto;
	text-align: center;
	width: 50%;
}

.main-visual_text img {
	width: 70%;
	margin-bottom: 5%;
}

.main-visual_text h1 {
	font-size: 2.5vw;
	line-height: 1.3;
	margin-bottom: 1%;
	color: #fff;
	width: fit-content;
	margin: 0 auto 2%;
	background: linear-gradient(to right, #ef7eff, #28c3ff);
	padding-top: .2vw;
}

.main-visual_text p {
	font-size: 1.5vw;
	/* 	    color: #ffb6ec; */
	font-weight: bold;
}

@media screen and (max-width: 1024px) {
	.main-visual_img {
		aspect-ratio: 3 / 5;
	}
	.main-visual_text {
		top: 20%;
		transform: initial;
		right: 5%;
		width: 90%;
	}
	.main-visual_text img {
		width: 70%;
		margin-bottom: 5%;
	}
	.main-visual_text h1 {
		font-size: 5vw;
	}
	.main-visual_text p {
		font-size: 4vw;
	}
}

/* 下層ページMV */
.sub-main {
	position: relative;
	min-height: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 99px;
	background-image: url(/wp-content/themes/kadogev/img/mv_sub.png);
	background-position: center;
	background-size: cover;
	padding: 10px 0;
}

.sub-main_text h1 {
	font-size: 4rem;
}

.sub-main_text.single h1 {
	font-size: 3rem;
}

.sub-main_text.search-none h1 {
	text-align: center;
}

.sub-main_text.search-none p {
	position: relative;
	top: 30px;
}

.sub-main_img_01 {
	position: absolute;
	top: 20%;
	right: 10%;
	transform: translateY(-50%);
	width: 6%;
	z-index: 1;
}

.sub-main_img_01.slidein.is-animated {
	animation: slideIn 3s forwards;
}

@media screen and (max-width: 1024px) {
	.sub-main {
		min-height: 100px;
		margin-top: 55px;
	}

	.sub-main_text {
		padding: 0 20px;
	}

	.sub-main_text h1 {
		font-size: 2.4rem;
	}

	.sub-main_text.single h1 {
		font-size: 1.8rem;
	}
}

/* TOP */
.inner {
	max-width: 1200px;
	margin: 0 auto;
}

.section_title {
	margin-bottom: 40px;
	text-align: center;
}

.section_title h2 {
	font-size: 4rem;
}

.section_title p {
	color: #ffb6ec;
	font-weight: bold;
}

.image_cover {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	top: 0;
	left: 0;
}

.about {
	padding: 70px 0;
}

.about .section_title {
	margin-bottom: 20px;
	text-align: left;
}

.about_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.about_box_img {
	width: 44%;
}

.about_box_img img {
	width: 100%;
}

.about_box_text {
	width: 50%;
}

.member {
	padding: 70px 0;
}

.member_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.member_box_item {
	width: 48%;
}

.member_box_item_youtube {
	margin-bottom: 20px;
	aspect-ratio: 16 / 9;
}

.member_box_item_youtube iframe {
	width: 100%;
	height: 100%;
}

.member_box_item > img {
	width: 100%;
	margin-bottom: 20px;
}

.member_box_item_sns {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

.member_box_item_sns a {
	width: 40px;
}

.member_box_item p {
	position: relative;
	background: #3a84ff;
	color: #fff;
	padding: 10px;
}

.member_box_item p:before {
	content: "";
	width: 10px;
	height: 10px;
	border-top: 2px solid;
	border-right: 2px solid;
	position: absolute;
	top: 40%;
	right: 10px;
	transform: translate(-50%) rotate(45deg);
}

.news {
	padding: 70px 0;
}

.news_box {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 40px 2%;
	margin-bottom: 40px;
}

.news_box_item {
	width: 32%;
}

time {
	font-size: 1.4rem;
	color: #b5b5b5;
	margin: 10px 0 0;
	display: block;
}

.news_box_item h3 {
	margin-bottom: 10px;
	font-size: 1.6rem;
}

.post-categories {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 10px;
}

.post-categories a {
	background: #b4aefc;
	color: #fff;
	padding: 2px 12px;
	border-radius: 50px;
	font-size: 1.4rem;
}

.news_button a {
	background: #ffb6ec;
	color: #fff;
	display: block;
	width: 240px;
	padding: 10px;
	font-size: 1.8rem;
	text-align: center;
	border-radius: 50px;
	margin: 0 auto;
}

.contact {
	background: #b4aefc;
	padding: 40px 0;
	color: #fff;
	text-align: center;
}

.contact .section_title p {
	color: #fff;
}

.contact_box p {
	margin-bottom: 30px;
}

.contact_box a {
	background: #fff;
	color: #b4aefc;
	display: block;
	width: 240px;
	margin: 0 auto;
	padding: 10px 0;
	border-radius: 50px;
}

@media screen and (max-width: 1200px) {
	.inner {
		padding: 0 20px;
	}
}

@media screen and (max-width: 1024px) {
	.section_title {
		margin-bottom: 30px;
	}
	.section_title h2 {
		font-size: 2.4rem;
	}

	.section_title p {
		font-size: 1.4rem;
	}

	.about {
		padding: 40px 0;
	}

	.about .section_title {
		text-align: center;
	}

	.about_box {
		flex-direction: column-reverse;
		gap: 30px;
	}

	.about_box_img {
		width: 100%;
	}

	.about_box_text {
		width: 100%;
	}

	.member {
		padding: 40px 0;
	}

	.member_box {
		flex-direction: column;
		gap: 50px;
	}

	.member_box_item {
		width: 100%;
	}
	.member_box_item_youtube {
		margin-bottom: 10px;
	}
	.news {
		padding: 40px 0;
	}

	.news_box {
		flex-direction: column;
		gap: 30px;
	}

	.news_box_item {
		width: 100%;
	}

	.contact_box p {
		text-align: left;
	}
}

/* フッター */
.site-footer {
	background: #333;
	color: #fff;
	padding-top: 70px;
}

.footer_logo {
	width: 300px;
	display: block;
	margin: 0 auto 70px;
}

.footer-navigation {
	margin-bottom: 40px;
}

.footer-navigation .menu {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.footer-navigation .menu li {
	padding: 0 10px;
}

.footer-navigation .menu li a {
	color: #fff;
}

.site-info {
	background: #222;
	padding: 10px 0;
}

.footercopy-text {
	text-align: center;
	font-size: 1.4rem;
}

@media screen and (max-width: 1024px) {
	.footer_logo {
		width: 200px;
	}
	.footer-navigation .menu {
		gap: 20px 4%;
		flex-wrap: wrap;
	}
	.footer-navigation .menu li {
		padding: 0;
		width: 48%;
	}
	.footercopy-text {
		font-size: 1.2rem;
	}
}

/* トップへ戻る */
#scrollTopBtn {
	position: fixed;
	right: 20px;
	bottom: 20px;
	background-color: #ffb6ec;
	color: #fff;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	z-index: 3;
	transition: initial;
}

#scrollTopBtn span {
	transform: rotate(-45deg);
	width: 12px;
	height: 12px;
	border-top: 3px solid;
	border-right: 3px solid;
	margin-top: 5px;
	display: block;
}

@media screen and (max-width: 1024px) {
	#scrollTopBtn {
		right: 10px;
		bottom: 10px;
		width: 40px;
		height: 40px;
	}
	#scrollTopBtn span {
		transform: rotate(-45deg);
		width: 8px;
		height: 8px;
		border-top: 2px solid;
		border-right: 2px solid;
	}
}

/* 問い合わせ */
.contact-page {
	padding: 70px 0;
}
.contact-page h2 {
	font-size: 2.4rem;
	text-align: center;
	margin-bottom: 30px;
}

.contact-page_box {
	max-width: 900px;
	margin: 0 auto;
}
.contact-page_box > p {
	margin-bottom: 40px;
}
.contact_form dl {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}

.contact_form dt {
	padding-top: 20px;
}

.contact_form dt span {
	background: #e60012;
	padding: 3px;
	margin-left: 10px;
	font-size: 1.3rem;
	color: #fff;
}

.contact_form dd {
	width: 78%;
}

.contact_form dd input {
	width: 100%;
	padding: 20px;
	font-size: 1.6rem;
	background: #f0f2f5;
	border: none;
	border-radius: 3px;
}

.contact_form dd textarea {
	width: 100%;
	padding: 20px;
	font-size: 1.6rem;
	background: #f0f2f5;
	border: none;
	border-radius: 3px;
}

.contact_form ::placeholder {
	color: #ccc;
}

.contact_form_privacy {
	text-align: center;
	margin-bottom: 30px;
}

.contact_button {
	text-align: center;
}

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;
}

.contact_button input {
	width: 300px;
	padding: 15px 0;
	font-size: 1.6rem;
	background: #b4aefc;
	color: #fff;
	font-weight: 600;
	border-radius: 50px;
	transition: all .3s;
}

.contact_button input:hover {
	opacity: 0.8;
}

@media screen and (max-width: 1024px) {
	.contact-page {
		padding: 40px 0;
	}
	.contact-page h2 {
		font-size: 2rem;
	}
	.contact_form dl {
		display: block;
	}

	.contact_form dt {
		margin-bottom: 10px;
		padding-top: 0;
	}

	.contact_form dd {
		width: 100%;
	}

	.contact_button {
		width: 100%;
		text-align: center;
	}

	.contact_button input {
		padding: 20px 0;
	}

	.contact_button input:hover {
		padding: 18px 0;
	}

	.wpcf7-spinner {
		display: block;
		margin: 0 auto;
	}
}

/* アーカイブページ */
.news-archive h2 {
	font-size: 2.4rem;
	text-align: center;
	margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
	.news-archive h2 {
		font-size: 2rem;
	}
}

/* シングルページ、固定ページ */
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	margin: 2em 0 0.8em;
	line-height: 1.5;
}

.entry-content h2 {
	background: linear-gradient(to right, #ef7eff, #28c3ff);
	padding: 10px 20px;
	color: #fff;
}

.entry-content h3 {
	font-size: 2rem;
	position: relative;
	padding-left: 20px;
}

.entry-content h3:before {
	content: "";
	position: absolute;
	width: 10px;
	background: linear-gradient(to bottom, #ef7eff, #28c3ff);
	height: 24px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.entry-content p {
	margin-bottom: 0.8em;
}

.entry-content a {
	text-decoration: underline;
}

.entry-content ol,
.entry-content ul {
	padding-left: 1em;
}

.entry-content ul {
	list-style: disc;
}

.entry-content ol {
	list-style: decimal;
}

.entry-content li {
	margin-bottom: 0.8em;
}

.sub-main_text {
	padding: 0 30px;
}

.site-main .single {
	padding: 40px 0;
}

.entry-meta {
	margin-bottom: 10px;
}

.cat-links {
	margin-bottom: 30px;
	display: inline-block;
}

.cat-links a {
	display: inline-block;
	padding: 2px 12px;
	background: #ffb6ec;
	color: #fff;
	border-radius: 20px;
	font-size: 1.4rem;
	margin-right: 10px;
	margin-bottom: 10px;
}

.wp-block-code {
	border: 2px solid;
	padding: 20px;
}

@media screen and (max-width: 1024px) {
	.post-navigation .nav-links {
		display: block;
	}

	.post-navigation .nav-next {
		text-align: initial;
	}
}

/* ページネーション */
.pagination ul {
	display: flex;
	justify-content: center;
}

.pagination li {
	margin: 5px;
}

.page-numbers {
	padding: 5px 10px;
}

.pagination li a:hover {
	background-color: #ffb6ec;
	color: #fff;
}

.page-numbers.current {
	background-color: #ffb6ec;
	color: #fff;
}

@media screen and (max-width: 1024px) {
	.pagination ul {
		width: 100%;
	}
}

/* パンくず */
.breadcrumb {
	padding: 50px 0;
}

.breadcrumb ul {
	display: flex;
	flex-wrap: wrap;
}

.breadcrumb li {
	list-style: none;
	margin-bottom: 10px;
	font-size: 1.2rem;
	color: #c3c6d2;
}

.breadcrumb li:not(:last-child) {
	margin-right: 10px;
}

.breadcrumb li:not(:last-child):after {
	content: ">";
}

.breadcrumb li:not(:last-child) a {
	padding-right: 10px;
	color: #8c8f9a;
}

@media screen and (max-width: 1024px) {
	.breadcrumb {
		padding: 20px 0;
	}
}

/* 404ページ */
.error-404 {
	padding: 70px 0;
}

.page404 .single_inner_box {
	display: block;
}

.page404 .single_inner_box p {
	text-align: center;
	margin: 0 auto 70px;
	font-size: 2rem;
}

.page404 .button a {
	background: #ffb6ec;
	color: #fff;
	display: block;
	width: 240px;
	padding: 10px;
	font-size: 1.8rem;
	text-align: center;
	border-radius: 50px;
	margin: 0 auto;
}

@media screen and (max-width: 1024px) {
	.error-404 {
		padding: 40px 0;
	}
	.page404 .single_inner_box p {
		font-size: 1.6rem;
	}
}