@charset "utf-8";
/* CSS Document */

/*
Theme Name: movementpress202602
Generic WordPress Theme © 2015-2022 GenericTools
Generic is distributed under the terms of the GNU GPL
*/

/*==========
Googleフォント
==========*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap');


/*==========
リセットCSS
==========*/
@import url("css/destyle.css");


/*==========
共通パーツCSS
==========*/
@import url("css/common.css");



.wrap {
	margin-top: 56px;
	min-height: calc(100vh - 400px);
}


/*==========
MV
==========*/
.mv {}

.mv .container {
	width: 100%;
}

.mv_item a {
	display: block;
}

.mv_item_photo_wrap {}

.mv_item_photo_wrap img {
	object-fit: cover;
	aspect-ratio: 16 / 9;
}

.mv_item_text {
	background: #000;
	padding: 12px 18px;
	position: relative;
	height: 12rem;
}

.mv_item_title {
	color: #FFF;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.mv_item_text time {
	font-size: 1.2rem;
	color: #999797;
	position: absolute;
	bottom: 12px;
	right: 18px;
}


@media (min-width: 900px) {
	.mv_item_text {
		padding: 18px 24px;
		height: 14rem;
	}

	.mv_item_title {
		font-size: 2.2rem;
	}

	.mv_item_text time {
		font-size: 1.3rem;
		bottom: 18px;
		right: 24px;
	}
}



/*==========
動画スライダー
==========*/
.movie_slider {
	padding: 40px 0 60px;
}

.movie_slider_main_youtube_wrap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.movie_slider_main_youtube_wrap iframe {
	position: absolute;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.movie_slider_thumbnail {
	padding-top: 20px;
}

.movie_slider_thumbnail .slick-track {
	display: flex;
	gap: 10px;
}

.movie_slider_thumbnail_item_img {
	margin-bottom: 6px;
	object-fit: cover;
	aspect-ratio: 16 / 9;
}

.movie_slider_thumbnail p {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.4;
}

.movie_slider_thumbnail .slick-current {
	border-top: solid 2px #d0f257;
}

.movie_slider_thumbnail li:not(.slick-current) {
	margin-top: 2px;
}

.movie_slider_thumbnail .slick-current img {
	opacity: 0.5;
}


@media (min-width: 900px) {
	.movie_slider_thumbnail p {
		font-size: 1.3rem;
	}

	.movie_slider_thumbnail:hover {
		cursor: pointer;
	}
}


/*==========
特集スライダー
==========*/
.special {
	padding: 40px 0;
	margin: 60px 0;
	background: rgb(208 242 87 / 60%);
}

.special_title {
	text-align: center;
	font-size: 2.4rem;
	font-weight: 900;
	color: #000;
	letter-spacing: 1px;
	margin-bottom: 12px;
}

.special_item_img {
	object-fit: cover;
	width: 100%;
	height: 17vh;
}

.special_item {
	margin: 0 9px;
}

.special_item_title {
	font-size: 1.3rem;
	margin-top: 6px;
	color: #000;
}

.slick-dotted.slick-slider {
	padding-bottom: 12px;
}


@media (min-width: 900px) {
	.special {
		padding: 40px 0 60px;
		margin-bottom: 90px;
	}

	.special_title {
		font-size: 3rem;
		margin-bottom: 30px;
	}

	.special_item_img {
		height: 35vh;
	}

	.special_item_title {
		font-size: 1.5rem;
		margin-top: 9px;
		text-align: center;
	}
}





/*==========
ニュース一覧
==========*/
.news_list {
	padding: 20px 0 60px;
}

.news_list_wrap {
	margin-bottom: 40px;
}

.news_list_item a {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 12px 18px;
}

.news_list_item_thumbnail_wrap {}

.news_list_item_thumbnail_wrap img {
	width: 120px;
	height: 80px;
	object-fit: cover;
}

.news_list_item_text {
	width: calc(100% - 129px);
	/*padding: 0 9px;*/
	position: relative;
}

.news_list_item_category {
	background: #e5e5e5;
	border-radius: 3px;
	padding: 1px 9px;
	margin-right: 6px;
	font-size: 1rem;
	display: inline-block;
}

.news_list_item_text time {
	font-size: 1.2rem;
	color: #999797;
}

.news_list_item_title {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 6px;
}

/*HOMEの最近記事の先頭3つに対するスタイリング */
.latest_posts .news_list_item:nth-child(-n+3) a {
	flex-direction: column;
}

.latest_posts .news_list_item:nth-child(-n+3) .news_list_item_thumbnail_wrap {
	width: 100%;
}

.latest_posts .news_list_item:nth-child(-n+3) .news_list_item_thumbnail_wrap img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.latest_posts .news_list_item:nth-child(-n+3) .news_list_item_text {
	width: 100%;
	padding: 12px 9px;
}

.latest_posts .news_list_item:nth-child(-n+3) .news_list_item_title {
	font-size: 1.7rem;
}

@media (min-width: 900px) {
	.news_list {
		padding: 50px 0 160px;
	}

	.news_list_item a {
		padding: 0 12px 24px;
	}

	.news_list_item_thumbnail_wrap {}

	.news_list_item_thumbnail_wrap img {
		width: 180px;
		height: 120px;
		object-fit: cover;
	}

	.news_list_item_text {
		width: calc(100% - 192px);
		/*padding: 0 12px;*/
	}

	.news_list_item_title {
		font-size: 1.8rem;
		line-height: 1.5;
		margin-top: 9px;
	}

	.news_list_item_category {
		padding: 1px 12px;
		margin-right: 9px;
		font-size: 1.2rem;
	}

	.news_list_item_text time {
		font-size: 1.3rem;
	}

	.latest_posts .news_list_item:nth-child(-n+3) .news_list_item_text {
		padding-bottom: 18px;
	}

	.latest_posts .news_list_item:nth-child(-n+3) .news_list_item_title {
		font-size: 2.2rem;
	}
}



/*==========
ニュース詳細ページ
==========*/
.news_article {
	padding: 20px 0 80px;
}

.news_article_eyecatch {
	padding: 0 12px;
}

.news_article_eyecatch img {
	width: 100%;
}

.news_article_info {
	padding: 12px 9px 30px;
}

.news_article_title {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 6px;
}

.news_article_category {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.news_article_category li a {
	background: #e5e5e5;
	border-radius: 3px;
	padding: 1px 9px;
	font-size: 1rem;
}

.news_article_info time {
	font-size: 1.2rem;
	color: #999797;
}

.news_article_tags {
	display: flex;
	flex-wrap: wrap;
}

.news_article_tags li {
	margin-right: 10px;
}

.news_article_tags li a {
	font-size: 1rem;
	color: #999797;
}

.news_article_body {
	padding: 0 12px 60px;
}

.news_article_body p {
	margin-bottom: 2rem;
	line-height: 1.85;
	word-break: break-word;
}

.news_article_body h2 {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 1.8rem;
}

.news_article_body h3 {
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 1.8rem;
}

.news_article_body .article_youtube {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
}

.news_article_body .article_youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.wp-block-embed-youtube .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.wp-block-embed-youtube .wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.news_article_body iframe {
	max-height: 70vh;
	width: 100%;
}

.wp-block-image figcaption {
	margin-top: 0;
	margin-bottom: 1.5rem;
	font-size: 1.3rem;
	color: #a9a9a9;
}

.wp-block-image figcaption a {
	color: #a9a9a9;
}

.news_article_body a {
	color: #4792ef;
}

.news_article_share {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 36px;
	border-top: solid 1px #e5e5e5;
	border-bottom: solid 1px #e5e5e5;
	padding: 12px 0 6px;
	margin: 0 12px;
}

.news_article_share svg {
	height: 32px;
}

@media (min-width: 900px) {
	.news_article {
		padding: 50px 0 160px;
	}

	.news_article_info {
		padding: 18px 9px 42px;
	}

	.news_article_title {
		font-size: 2.6rem;
	}

	.news_article_category {
		gap: 9px;
	}

	.news_article_category li a {
		padding: 1px 12px;
		font-size: 1.2rem;
	}

	.news_article_info time {
		font-size: 1.4rem;
	}

	.news_article_tags {}

	.news_article_tags li a {
		font-size: 1.2rem;
	}

	.news_article_body {
		padding: 0 12px 90px;
		line-height: 1.6;
	}

	.news_article_share svg {
		height: 40px;
	}

	.news_article_share svg:hover {
		fill: #464646;
	}

	.news_article_body iframe {
		max-height: 80vh;
	}
}




/*==========
関連ニュース
==========*/
.related_news {
	padding-bottom: 60px;
}

.related_news .section_title_wrap {
	margin-bottom: 30px;
}




/*==========
動画一覧
==========*/
.movie_list {
	padding: 20px 0 60px;
}

.movie_list_wrap {
	margin-bottom: 40px;
}

.movie_list_item a {
	display: block;
	padding: 0 12px 18px;
}

.movie_list_item_thumbnail_wrap {
	position: relative;
	width: 100%;
}

.movie_list_item_thumbnail_wrap img {
	object-fit: cover;
	aspect-ratio: 16 / 9;
}

.movie_list_item_thumbnail_wrap svg {
	height: 30px;
	fill: #ed2e21;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

.movie_list_item_text {
	width: 100%;
	padding: 12px 9px;
}

.movie_list_item_category {
	background: #e5e5e5;
	border-radius: 3px;
	padding: 1px 9px;
	margin-right: 6px;
	font-size: 1rem;
	display: inline-block;
}

.movie_list_item_text time {
	font-size: 1.2rem;
	color: #999797;
}

.movie_list_item_title {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 6px;
}

@media (min-width: 900px) {
	.movie_list {
		padding: 50px 0 160px;
	}

	.movie_list_wrap {
		display: flex;
		flex-wrap: wrap;
		gap: 15px;
		margin-bottom: 40px;
	}

	.movie_list_item {
		width: calc((100% - 15px * 1) / 2);
	}

	.movie_list_item a {
		padding: 0 0 24px;
	}

	.movie_list_item_text {
		padding: 0;
	}

	.movie_list_item_title {
		font-size: 1.5rem;
		line-height: 1.4;
		margin-top: 3px;
	}
}



/*==========
動画詳細ページ
==========*/
.movie_article_youtube_wrap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.movie_article_youtube_wrap iframe {
	position: absolute;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.artist_info_wrap {
	padding: 0 12px 60px;
}

.artist_info_item {
	background: #efefef;
	padding: 18px 12px;
	margin-bottom: 18px;
}

.artist_info_item_name {
	font-size: 1.4rem;
	margin-bottom: 4px;
}

.artist_info_item_note {
	font-size: 1.3rem;
	margin-bottom: 7px;
}

.artist_info_item_sns {
	display: flex;
	gap: 20px;
}

.artist_info_item_sns svg {
	height: 24px;
	fill: #000;
}

@media (min-width: 900px) {
	.artist_info_item {
		padding: 24px 18px;
		margin-bottom: 24px;
	}

	.artist_info_item_name {
		font-size: 1.5rem;
	}

	.artist_info_item_note {
		font-size: 1.4rem;
	}

	.artist_info_item_sns {
		gap: 20px;
	}

	.artist_info_item_sns svg {
		height: 30px;
	}

	.artist_info_item_sns svg:hover {
		fill: #464646;
	}
}




/*==========
関連動画
==========*/
.related_movie {
	padding: 20px 0 60px;
}

.related_movie_wrap {
	margin-bottom: 40px;
}

.related_movie_item a {
	display: flex;
	flex-wrap: wrap;
	padding: 0 12px 18px;
	align-items: flex-start;
}

.related_movie_item_thumbnail_wrap {
	width: 120px;
	position: relative;
}

.related_movie_item_thumbnail_wrap img {
	object-fit: cover;
	aspect-ratio: 16 / 9;
}

.related_movie_item_thumbnail_wrap svg {
	height: 20px;
	fill: #ed2e21;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

.related_movie_item_text {
	width: calc(100% - 120px);
	padding: 0 9px;
}

.related_movie_item_category {
	background: #e5e5e5;
	border-radius: 3px;
	padding: 1px 9px;
	margin-right: 6px;
	font-size: 1rem;
	display: inline-block;
}

.related_movie_item_text time {
	font-size: 1.2rem;
	color: #999797;
}

.related_movie_item_title {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 3px;
}

@media (min-width: 900px) {
	.related_movie_wrap {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}

	.related_movie_item {
		width: calc((100% - 10px * 2) / 3);
	}

	.related_movie_item a {
		padding: 0 0 24px;
		flex-direction: column;
	}

	.related_movie_item_thumbnail_wrap {
		width: 100%;
	}

	.related_movie_item_thumbnail_wrap svg {
		height: 26px;
	}

	.related_movie_item_text {
		width: 100%;
		padding: 6px 0;
	}

	.related_movie_item_category {
		padding: 0 12px;
		font-size: 1.1rem;
	}

	.related_movie_item_text time {
		font-size: 1.2rem;
	}

	.related_movie_item_title {
		font-size: 1.3rem;
		line-height: 1.5;
	}
}


/*==========
会社概要ページ
==========*/
.company_page_table {
	border: solid 1px #d7d7d7;
}

.company_page_table td,
.company_page_table th {
	border: solid 1px #d7d7d7;
	padding: 18px 6px;
}

.company_page_table th {
	background: #dffd75;
	width: 30%;
	vertical-align: middle;
}

.company_page_table caption {
	text-align: center;
}

.company_page_logo {
	width: 80%;
	margin-bottom: 20px;
}

@media (min-width: 900px) {
	.company_page_logo {
		max-width: 400px;
		margin-bottom: 40px;
	}

	.company_page_table td,
	.company_page_table th {
		padding: 24px 18px;
	}
}


/*==========
フォーム
==========*/
input[type="text"],
input[type="search"],
input[type="image"],
input[type="button"],
input[type="submit"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="url"],

input[type="date"],
input[type="password"],
select,
textarea {
	vertical-align: middle;
	border: 1px solid #dedede;
	height: 44px;
	padding: 4px 8px;
	font-size: 1.5rem;
	text-align: left;
	width: 100%;
	background: #FFF;
}

.contact_table {
	width: 100%;
	margin: auto;
}

.contact_table th,
.contact_table td {
	display: block;
}

.contact_table th {
	padding-bottom: 6px;
	color: #4e4e4e;
}

.contact_table td {
	padding-bottom: 24px;
}

.form_required {
	font-size: 1.1rem;
	color: #FF0000;
	margin-left: 6px;
	font-weight: 400;
}

.mwform-tel-field input[type="text"] {
	width: 25%;
}

@media (min-width: 900px) {

	input[type="text"],
	select {
		width: 50%;
	}

	input[type="email"] {
		width: 60%;
	}

	.mwform-tel-field input[type="text"] {
		width: 20%;
	}

	.contact_table td {
		padding-bottom: 36px;
	}
}

.contact_table textarea {
	height: 30vh;
}

.form_btn_wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.form_btn_wrap input[type="submit"] {
	background: #d0f257;
	height: 60px;
	max-width: 60%;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	border: none;
}

.form_btn_wrap input[type="submit"].form_btn_back {
	background: #dddddd;
}

.mw_wp_form_preview .contact_table th {
	padding-top: 18px;
}

.mw_wp_form_preview .contact_table td {
	padding-bottom: 18px;
	border-bottom: 1px solid #dedede;
}

.mw_wp_form_preview .contact_table {
	border-top: 1px solid #dedede;
	margin-bottom: 40px;
}

.contact_table .error {
	margin-top: 6px;
	color: #FF0000;
}



/*==========
お問い合わせページ
==========*/
.contact_page p {
	text-align: center;
}

.contact_btn_line {
	border: solid 1px #d7d7d7;
	width: 90%;
	height: 66px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

.contact_btn_line span {
	font-size: 1.6rem;
	font-weight: 900;
	color: #3e3e3e;
}

.contact_btn_line_svg_circle {
	background: #06c755;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 6px;
}

.contact_btn_line_svg_line {
	fill: #FFF;
	height: 30px;
}

@media (min-width: 900px) {
	.contact_page p {
		margin-bottom: 40px;
	}

	.contact_btn_line {
		max-width: 440px;
		height: 70px;
	}

	.contact_btn_line span {
		font-size: 1.8rem;
	}

	.contact_btn_line_svg_circle {
		width: 55px;
		height: 55px;
	}

	.contact_btn_line_svg_line {
		height: 34px;
	}
}




/*==========
ABOUTページ
==========*/
.about {
	background: url("img/about_bg.jpg");
	width: 100%;
	height: 100%;
	padding: 80px 0;
	position: relative;
	background-repeat: repeat;
	background-size: 2000px auto;
	animation: bg-slider 71s linear infinite;
}

@keyframes bg-slider {
	0% {
		background-position: 0 2000px;
	}

	100% {
		background-position: 0 0;
	}
}

.about .section_title {
	color: #FFF;
}

.about_logo {
	text-align: center;
	padding-bottom: 20px;
}

.about_logo img {
	height: 90px;
}

.about_wrap {
	width: 90%;
	margin: 0 auto;
	background: rgba(0, 0, 0, 0.80);
	padding: 40px 18px;
	color: #e3e3e3;
	margin-bottom: 30px;
}

.about_wrap h2 {
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 12px;
}

.about_wrap h2:first-letter {
	color: #d0f257;
}

.about_wrap p {
	font-size: 1.3rem;
}

.about_mail_link {
	text-align: center;
	font-size: 1.3rem;
	color: #2A91FF;
	margin-top: 6px;
}

.about_link_contact {
	background: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 66px;
	margin-top: 20px;
}

.about_link_contact span {
	font-size: 1.3rem;
	font-weight: 700;
}

.about_link_contact svg {
	fill: #000;
	height: 12px;
	margin-left: 6px;
}


@media (min-width: 900px) {
	.about_wrap {
		width: 100%;
		padding: 60px 80px 90px;
	}

	.about_wrap h2 {
		font-size: 3rem;
		margin-bottom: 24px;
	}

	.about_wrap p {
		font-size: 1.5rem;
	}

	.about_mail_link {
		font-size: 1.5rem;
		margin-top: 12px;
	}

	.about_link_contact {
		max-width: 400px;
		margin: 30px auto 0;
	}

	.about_link_contact span {
		font-size: 1.4rem;
	}

	.about_link_contact svg {
		height: 15px;
		margin-left: 6px;
	}

}



/*==========
404ページ
==========*/
.not_found {
	padding-top: 20px;
	min-height: calc(100vh - 400px);
}

.not_found_message {
	text-align: center;
}



/*==========
特集記事ページ
==========*/
.special_article {
	background: #3a3a37;
}

.special_article_info {
	padding: 24px 0;
}

.special_article_title {
	color: #f9f9f9;
	font-size: 3rem;
	font-weight: 900;
	text-align: center;
}

.special_article_body {
	color: #f9f9f9;
	font-size: 1.3rem;
	width: 96%;
	margin: 0 auto;
	padding-bottom: 60px;
}

.special_news {
	padding: 40px 0 60px;
}

.special_news .container {
	width: 92%;
	margin: 0 auto;
}

.special_list_wrap {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 30px;
}

.special_list_item_thumbnail_wrap {
	margin-bottom: 3px;
}

.special_list_item_thumbnail_wrap img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.special_list_item_text time {
	font-size: 1.2rem;
	color: #999797;
}

.special_list_item_title {
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 3px;
}

@media (min-width: 900px) {
	.special_list_wrap {
		flex-direction: row;
		gap: 20px;
	}

	.special_list_item {
		width: calc((100% - 20px * 1)/2);
	}
}


/*==========
バナー
==========*/
.banner {
	margin-bottom: 60px;
	text-align: center;
}

@media (max-width: 899px) {
	.banner img {
		width: 100%;
	}
}

@media (min-width: 900px) {
	.banner {
		margin-bottom: 120px;
	}

}





/*==========
記事ランキング
==========*/
.ranking_news {
	background: #242422;
	padding: 60px 0 40px;
	margin-bottom: 80px;
}

.ranking_news .section_title {
	color: #ffffff;
}

.ranking_news_wrap {
	margin-top: 30px;
}

.ranking_news_item {
	padding-bottom: 18px;
}

.ranking_news_item a {
	color: #FFF;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 12px 18px;
}

.ranking_news_item_img_wrap {
	position: relative;
}

.ranking_news_item_no {
	position: absolute;
	width: 24px;
	height: 24px;
	background: #d0f257;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.3rem;
	font-weight: 700;
	color: #000;
}

.ranking_news_item_img {
	object-fit: cover;
	width: 120px;
	height: 120px;
}

.ranking_news_item_title {
	width: calc(100% - 132px);
	font-size: 1.4rem;
}


@media (min-width: 900px) {
	.ranking_news {
		padding: 80px 0;
	}

	.ranking_news_item_no {
		width: 30px;
		height: 30px;
		font-size: 1.5rem;
		z-index: 10;
	}

	.ranking_news_item_img {
		object-fit: cover;
		width: 180px;
		height: 180px;
	}

	.ranking_news_item_title {
		width: calc(100% - 198px);
		font-size: 1.8rem;
		line-height: 1.5;
	}
}



/*==========
画像ランキング
==========*/
.ranking_photo {
	background: #242422;
	padding: 60px 0 40px;
}

.ranking_photo .section_title {
	color: #ffffff;
}

.ranking_photo_wrap {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 3px;
}

.ranking_photo_item {
	width: calc((100% - 3px * 2) / 3);
}

.ranking_photo_item_img_wrap {
	position: relative;
	width: 100%;
	padding-bottom: 100%;
}

.ranking_photo_item_no {
	position: absolute;
	width: 24px;
	height: 24px;
	background: #d0f257;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.3rem;
	font-weight: 700;
	color: #000;
	z-index: 10;
}

.ranking_photo_item_img {
	position: absolute;
	object-fit: cover;
	object-position: center 20%;
	width: 100%;
	height: 100%;
}


@media (min-width: 900px) {
	.ranking_photo {
		padding: 80px 0 120px;
	}

	.ranking_photo_wrap {
		width: 80%;
		max-width: 600px;
		margin: 0 auto;
	}

	.ranking_photo_item_no {
		width: 30px;
		height: 30px;
		font-size: 1.5rem;
		z-index: 10;
	}
}


/*==========
お問い合わせ
==========*/
.contact {
	margin: 60px 0;
}

.contact .container {
	position: relative;
}

.contact_item {
	width: 80%;
	margin: 0 auto;
	position: absolute;
	bottom: 5%;
	left: calc((100% - 80%) / 2);
}

.contact_item_comment {
	font-size: 1.3rem;
	text-align: center;
	margin-bottom: 12px;
}

.contact_item_link {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40px;
	background: #000;
	margin: 0 auto;
	border-radius: 6px;
}

.contact_item_link:active {
	background: #768639;
}

.contact_item_link span {
	font-size: 1.3rem;
	font-weight: 700;
	color: #FFF;
}

.contact_item_link svg {
	fill: #FFF;
	height: 12px;
	margin-left: 6px;
}

@media (min-width: 900px) {
	.contact_item {
		width: 80%;
		bottom: 6%;
	}

	.contact_item_comment {
		font-size: 1.5rem;
		margin-bottom: 24px;
	}

	.contact_item_link {
		width: 80%;
		height: 48px;
	}

	.contact_item_link:hover {
		background: #464646;
	}
}


.mt-20 {
	margin-top: -20px;
}

.mt60 {
	margin-top: 60px;
}



/* ==================== */
/* 投稿ページギャラリーリンク */
/* ==================== */
.acf_gallery_link {
	background-color: #FFF;
	border-radius: 6px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 12px 0px, rgb(216, 216, 216) 0px 0px 0px 1px;
	max-width: 420px;
	margin: 3rem auto;
}

.acf_gallery_link .acf-gallery-thumbs {
	display: flex;
	flex-wrap: wrap;
	border-radius: 6px 6px 0px 0px;
	overflow: hidden;
}

.acf_gallery_link .acf-gallery-thumbs img {
	width: calc(100% / 3);
}

.acf_gallery_link p {
	text-align: center;
	padding: 1rem 0;
	color: #000;
	font-weight: 600;
}

/* ==================== */
/* ギャラリーページ */
/* ==================== */
.news_gallery {
	padding: 24px 12px;
}

.news_gallery_title {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 2rem;
}

.gallery-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 3rem 0;
}

.gallery-grid a {
	display: block;
	position: relative;
	overflow: hidden;
}

.gallery-grid img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.3s ease;
}

.gallery-item {
	width: calc((100% - 9px * 2) / 3);
}

.gallery-item img {
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 6px;
	overflow: hidden;
}

.back_to_news_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .6rem 0;
	background-color: #e5e5e5;
	border-radius: 3px;
}

.back_to_news_wrap a {
	font-size: 1.3rem;
	font-weight: 600;
}

@media (min-width: 768px) {
	.gallery-item {
		width: calc((100% - 9px * 4) / 5);
	}
}


/* ==================== */
/* スタジオ検索システム */
/* ==================== */

.container_wrap {
	padding: 0 8px;
}

/* パンくずリスト */
.studio_breadcrumb {
	padding-bottom: 12px;
}

.studio_breadcrumb ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 1.2rem;
}

.studio_breadcrumb li:not(:last-child)::after {
	content: ">";
	margin-left: 6px;
	color: #999;
}

.studio_breadcrumb a {
	color: #4792ef;
}

.studio_breadcrumb span {
	color: #666;
}

/* 全国ページ・エリアページ共通 */
.studio_archive,
.studio_taxonomy,
.studio_single {
	padding: 20px 0 60px;
}

/* タイトルアクセント */
.section_title_accent {
	color: #d0f257;
}

/* 日本地図エリア */
.studio_japan_map {
	margin-bottom: 40px;
	padding: 20px 0;
}

.studio_japan_map_inner {
	position: relative;
	max-width: 400px;
	margin: 0 auto;
}

.studio_japan_map_img {
	width: 100%;
	height: auto;
}

.studio_japan_map_label {
	position: absolute;
	display: inline-block;
	background: #d0f257;
	color: #000;
	padding: 6px 12px;
	border-radius: 4px;
	font-size: 1.2rem;
	font-weight: 700;
	white-space: nowrap;
	transition: background 0.2s, transform 0.2s;
}

.studio_japan_map_label:hover {
	background: #c5e84d;
	transform: scale(1.05);
}

/* 地域ラベルの位置（モバイル） */
.studio_japan_map_label--hokkaido-tohoku {
	top: 28%;
	right: 5%;
}

.studio_japan_map_label--kanto {
	top: 48%;
	right: 70px;
}

.studio_japan_map_label--chubu {
	top: 63%;
	right: 32%;
}

.studio_japan_map_label--kansai {
	top: 70%;
	left: 35%;
}

.studio_japan_map_label--chugoku-shikoku {
	top: 45%;
	left: 30%;
}

.studio_japan_map_label--kyushu-okinawa {
	bottom: 10%;
	left: 4%;
}

/* 地域・都道府県リンク */
.studio_region_links {
	margin-top: 40px;
	padding: 0 3%;
}

.studio_region_links_item {
	padding: 16px 8px;
	border-bottom: 1px solid #e5e5e5;
}

.studio_region_links_title {
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 8px;
}

.studio_region_links_title a {
	color: #000;
}

.studio_region_links_title a:hover {
	color: #333;
}

.studio_region_links_list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
}

.studio_region_links_list li a {
	color: #4792ef;
	font-size: 1.4rem;
}

.studio_region_links_list li a:hover {
	text-decoration: underline;
}

.studio_region_links_list li:not(:last-child)::after {
	content: "|";
	margin-left: 12px;
	color: #ccc;
}

/* ==================== */
/* エリアページ（taxonomy-area） */
/* ==================== */

/* ページタイトル */
.studio_page_title {
	font-size: 1.8rem;
	font-weight: 700;
	border-bottom: solid 2px #d0f257;
	margin-bottom: 20px;
	padding: 0 0 4px 4px;
}

/* 子エリアチップ */
.studio_child_areas {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 30px;
}

.studio_child_area_chip {
	display: inline-block;
	padding: 4px 24px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 50vmax;
	font-size: 1.3rem;
	font-weight: 600;
	color: #333;
	transition: background 0.2s, border-color 0.2s;
}

.studio_child_area_chip:hover {
	background: #f5f5f5;
	border-color: #ccc;
}

/* グループ化リスト */
.studio_grouped_list {
	margin-top: 20px;
}

.studio_group {
	margin-bottom: 40px;
}

.studio_group_title {
	position: sticky;
	top: 55px;
	background: #fff;
	border-bottom: 1px solid #e5e5e5;
	z-index: 10;
	font-size: 1.8rem;
	font-weight: 700;
	border-bottom: solid 2px #d0f257;
	padding: 0 0 4px 4px;
}

/* スタジオカードリスト */
.studio_card_list {
	display: flex;
	flex-direction: column;
}

.studio_card {
	border-bottom: 1px solid #e5e5e5;
}

.studio_card a {
	display: flex;
	gap: 15px;
	padding: 16px 4px;
}

.studio_card_thumbnail {
	flex-shrink: 0;
	width: 130px;
	height: 90px;
	border-radius: 4px;
	overflow: hidden;
}

.studio_card_thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.studio_card_content {
	flex: 1;
	display: flex;
	flex-direction: column;
	/* justify-content: center; */
	min-width: 0;
}

.studio_card_area {
	font-size: 1.4rem;
	/* color: #666; */
	margin-bottom: 4px;
}

.studio_card_title {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 4px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.studio_card_price {
	font-size: 1.5rem;
	/* color: #666; */
}

/* エリアリスト */
.studio_area_list {
	margin-bottom: 40px;
}

.studio_area_list_title,
.studio_new_list_title,
.studio_list_title,
.studio_related_title {
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 18px;
	padding-bottom: 12px;
	border-bottom: 2px solid #d0f257;
}

.studio_area_list_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.studio_area_list_item {
	width: calc((100% - 12px) / 2);
}

.studio_area_list_item a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 18px;
	background: #f5f5f5;
	border-radius: 6px;
	transition: background 0.2s;
}

.studio_area_list_item a:hover {
	background: #e8e8e8;
}

.studio_area_list_item .area_name {
	font-size: 1.4rem;
	font-weight: 700;
}

.studio_area_list_item .area_count {
	font-size: 1.2rem;
	color: #999;
}

/* スタジオ一覧 */
.studio_list_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

.studio_list_item {
	width: calc((100% - 18px) / 2);
}

.studio_list_item a {
	display: block;
}

.studio_list_item_thumbnail {
	margin-bottom: 9px;
	overflow: hidden;
}

.studio_list_item_thumbnail img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform 0.3s;
}

.studio_list_item a:hover .studio_list_item_thumbnail img {
	transform: scale(1.05);
}

.studio_list_item_area {
	display: inline-block;
	background: #d0f257;
	padding: 2px 9px;
	border-radius: 3px;
	font-size: 1.1rem;
	font-weight: 700;
	margin-bottom: 6px;
}

.studio_list_item_title {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.4;
}

/* スタジオが見つからない場合 */
.studio_not_found {
	text-align: center;
	padding: 40px 0;
	color: #666;
	font-size: 1.4rem;
}

/* 個別スタジオページ */
.studio_single_header {
	margin-bottom: 24px;
}

.studio_single_area {
	margin-bottom: 9px;
}

.studio_single_area a {
	display: inline-block;
	background: #d0f257;
	padding: 4px 12px;
	border-radius: 3px;
	font-size: 1.2rem;
	font-weight: 700;
}

.studio_single_title {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	border-bottom: solid 2px #d0f257;
	margin-bottom: 20px;
	padding: 0 0 4px 4px;
}

.studio_single_thumbnail {
	margin-bottom: 24px;
}

.studio_single_thumbnail img {
	width: 100%;
	height: auto;
}

.studio_single_content {
	margin-bottom: 40px;
	line-height: 1.8;
}

.studio_single_content p {
	margin-bottom: 1.5rem;
}

.studio_single_content h1,
.studio_single_content h2,
.studio_single_content h3 {
	font-weight: 600;
	margin-bottom: 1rem;
}

.studio_single_content h1 {
	font-size: 2rem;
}

.studio_single_content h2 {
	font-size: 1.8rem;
}

.studio_single_content h3 {
	font-size: 1.6rem;
}

.studio_single_acf {
	margin-bottom: 40px;
}

/* 関連スタジオ */
.studio_related {
	padding-top: 40px;
}

/* PCでは3件表示（4件目を非表示） */
@media (min-width: 900px) {
	.studio_related .studio_list_item:nth-child(4) {
		display: none;
	}
}

@media (min-width: 900px) {

	.studio_archive,
	.studio_taxonomy,
	.studio_single {
		padding: 50px 0 120px;
	}

	.container_wrap {
		padding: 0 3%;
	}


	.studio_breadcrumb {
		margin-top: -24px;
	}

	.studio_breadcrumb ul {
		font-size: 1.3rem;
	}

	/* 日本地図（デスクトップ） */
	.studio_japan_map {
		margin-bottom: 60px;
		padding: 30px 0;
	}

	.studio_japan_map_inner {
		max-width: 500px;
	}

	.studio_japan_map_label {
		padding: 8px 16px;
		font-size: 1.4rem;
	}

	/* 地域ラベルの位置（デスクトップ） */
	.studio_japan_map_label--hokkaido-tohoku {
		top: 30%;
		right: 5%;
	}

	.studio_japan_map_label--kanto {
		top: 50%;
		right: 18%;
	}

	.studio_japan_map_label--chubu {
		top: 62%;
		right: 31%;
	}

	.studio_japan_map_label--kansai {
		top: 68%;
		left: 36%;
	}

	.studio_japan_map_label--chugoku-shikoku {
		top: 46%;
		left: 24%;
	}

	.studio_japan_map_label--kyushu-okinawa {
		bottom: 11%;
		left: 3%;
	}

	/* 地域・都道府県リンク（デスクトップ） */
	.studio_region_links {
		margin-top: 60px;
	}

	.studio_region_links_item {
		padding: 24px 0;
	}

	.studio_region_links_title {
		font-size: 1.8rem;
		margin-bottom: 15px;
	}

	.studio_region_links_list li a {
		font-size: 1.5rem;
	}

	/* エリアページ（デスクトップ） */
	.studio_page_title {
		font-size: 2rem;
	}

	.studio_child_areas {
		gap: 12px;
		margin-bottom: 40px;
	}

	.studio_child_area_chip {}

	.studio_group {
		margin-bottom: 50px;
	}

	.studio_group_title {
		font-size: 2rem;
	}

	.studio_card a {
		gap: 20px;
		padding: 20px 0;
	}

	.studio_card_thumbnail {
		width: 160px;
		height: 100px;
	}

	.studio_card_area {}

	.studio_card_title {}

	.studio_card_price {}

	.studio_area_list_title,
	.studio_new_list_title,
	.studio_list_title,
	.studio_related_title {
		font-size: 2.2rem;
		margin-bottom: 24px;
	}

	.studio_area_list_wrap {
		gap: 15px;
	}

	.studio_area_list_item {
		width: calc((100% - 15px * 3) / 4);
	}

	.studio_area_list_item a {
		padding: 18px 24px;
	}

	.studio_area_list_item .area_name {
		font-size: 1.5rem;
	}

	.studio_list_wrap {
		gap: 24px;
	}

	.studio_list_item {
		width: calc((100% - 24px * 2) / 3);
	}

	.studio_list_item_title {
		font-size: 1.5rem;
	}

	.studio_single_title {
		font-size: 2.8rem;
	}

	.studio_single_thumbnail {
		margin-bottom: 36px;
	}
}

/* 無限スクロール */
.studio_loader {
	text-align: center;
	padding: 30px 0;
}

.studio_loader_spinner {
	width: 40px;
	height: 40px;
	border: 3px solid #e5e5e5;
	border-top-color: #d0f257;
	border-radius: 50%;
	margin: 0 auto;
	animation: studio-spin 0.8s linear infinite;
}

@keyframes studio-spin {
	to {
		transform: rotate(360deg);
	}
}

.studio_load_end {
	text-align: center;
	padding: 30px 0;
	color: #999;
	font-size: 1.3rem;
}

/* スタジオ情報テーブル */
.studio_info_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.4rem;
	border: 1px solid #e5e5e5;
}

.studio_info_table th,
.studio_info_table td {
	padding: 16px 12px;
	border-bottom: 1px solid #e5e5e5;
	text-align: left;
}

.studio_info_table th {
	width: 30%;
	background: #f5f5f5;
	font-weight: 700;
}

.studio_info_table td a {
	color: #4792ef;
	word-break: break-all;
}

@media (min-width: 900px) {
	.studio_info_table {
		font-size: 1.5rem;
	}

	.studio_info_table th,
	.studio_info_table td {
		padding: 16px 18px;
	}

	.studio_info_table th {
		width: 20%;
	}
}
