@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

.home {
	background: url('../../../wp-content/uploads/2026/04/bg_top.jpg') no-repeat top/contain; 
}
.home .main {
	padding-top: 150px;
	background: transparent;
}
.main {
	width: 1300px !important;
	margin: 0 auto !important;
}
.home #content-in {
	background-color: rgba(255,255,255,0.4);
	margin-top: -24px;
}
.home h1.entry-title {
	display: none;
}
.header-container {
	background-color: rgba(255,255,255,0.4);
}
.header-container.fixed-header {
	background-color: rgba(255,255,255,0.9);
}
.navi {
	background-color: transparent;
}
.navi-in > ul li {
	height: 40px;
}
.navi a:hover {
	background: transparent;
}
.navi-in > ul .sub-menu {
	margin: 0 0 0 30px;
	background-color: #fff;
}
#menu-item-64 {
	background: #f1d27b;
	border-radius: 50px;
	color: #fff;
}
#menu-item-64 a {
	color: #fff !important;
	font-weight: 600;
}
.catch {
	width: 220px;
	font-size: 0.75rem;
	font-weight: 700;
	color: #15803d;
	padding: 0.5rem 1.25rem;
	margin: 0 auto -50px !important;
	background-color: rgba(255, 255, 255, 0.9);
	border: 2px solid #dcfce7;
	border-radius: 20px;
}
.main_message {
	margin-bottom: 0 !important;
	text-shadow: 0 0 10px #ff6;
	letter-spacing: -2px;
}
.subtitle {
	font-size: 0.875rem;
	line-height: 1.25rem;
	margin-bottom: -0.5rem !important;
	font-weight: 700;
	letter-spacing: 0.1em;
}
.center {
	margin: 0 auto;
}
.bg-green {
	background: #16a34a;
}
.bg-green-25 {
	opacity: 1;
	background-color: #f0fdf4;
	color:#16a34a;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	border-radius: 1rem;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
}
.bg-green-25:hover {
	opacity: 1;
	background-color: #16a34a;
	color:#ffffff;
}
.bg-green-50 {
	opacity: 1;
	background-color: #f0fdf4;
	color:#16a34a;
	width: 5rem;
	height: 5rem;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	border-radius: 1rem;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
}
.bg-gray {
	background: #f9f9f9;
}
.bg-white {
	background: #ffffff;
}
.white {
	color: #ffffff;
}
.bg-white-20 {
	background-color: rgb(255 255 255 / 0.2);
	width: 5rem;
	height: 5rem;
	border-radius: 9999px;
	align-items: center;
	margin: 0 auto;
}
.green {
	color: #166534 !important;
}
.number {
	color: #fff;
	margin-right: 0.5rem;
	padding: 0.25rem 0.75rem;
	border-radius: 50px;
	font-weight: 700;
}
.brown {
	color: #d97706;
	text-shadow: 0 0 5px #fff;
}
.amber {
	color: #fbbf24 !important;
}
.gray {
	color: #9ca3af;
	font-size: 0.875rem;
}
.large {
	font-size:1.5rem;
}
.font_x2 {
	font-size: 200% !important;
}
.bold {
	font-weight: bold;
}
.m-10 {
	margin: 0 2.5rem;
}
.serif {
	font-family: 'Noto Serif JP', serif;
}
 #header .site-name-text {
    font-family: 'Noto Serif JP', serif;
  }
.article h1 {
	color: #999;
}
.article h2,
.article h3,
.article h4 {
	font-family: 'Noto Serif JP', serif;
}
.article h2 {
	font-size: 4.5rem;
	line-height: 1;	
	background: transparent;
	text-align: center;
}
.article h3 {
	border: none;
	font-size: 2.25rem;
    line-height: 2.5rem;
	margin-bottom: 0;
	position: relative;
	padding: 1.5rem;
	margin-bottom: 1.5rem;
	text-align: center;
}
.article h3:before {
	position: absolute;
	bottom: 5px;
	left: calc(50% - 30px);
	width: 60px;
	height: 5px;
	content: '';
	border-radius: 3px;
	background: #fbbf24;
}
.article h4 {
	border: none;
	margin-top: 1rem;
	font-size: 26px;
	color: darkgreen;
}
p {
	color: #4b5563;
}
.flex {
	display: flex;
}
.flex-col {
	flex-direction: column;
}
.justify-center {
	justify-content: center;
}
.justify-between {
	justify-content:space-between;
}
.items-center {
	align-items: center;
}
.items-end {
	align-items: flex-end;
}
.full-img {
    width: 100vw;
    height: auto;
    margin-left: calc(-50vw + 50%) !important;
}
.btn {
	margin: 0 0.5rem;
	box-shadow: 0 .25rem 1rem #999;
}
.btn:hover {
	transform: translate(0,-5px);
	opacity: 1;
}
.btn-bg-green {
	background: #16a34a;
	color: #fff;
	padding: 1em 2.5rem;
	border-radius: 50px;
	text-decoration: none;
	font-weight: 700;
}
.btn-bg-green:hover {
	background: #15803d;
}
.btn-bg-white {
	background: #ffffff;
	color: #333;
	padding: 1em 2.5rem;
	border-radius: 50px;
	border: 1px solid #eeeeee;
	text-decoration: none;
	font-weight: 700;
}
.btn-bg-white:hover {
	color: #333;
}
.icon-size10 {
	width: 2.5rem;
	height: 2.5rem;	
}
.rotate-3 {
	transform: rotate(3deg);
}
.wp-block-column {
	padding: 2rem;
}
.reason .wp-block-column:hover {
	background: #f0fdf4;
}
.plans .wp-block-column {
	border: 1px solid #e5e7eb;
	box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
	border-radius: 1.5rem;
	padding: 0;
	transition: all 0.3s ease-in-out;
	overflow: hidden;
}
.plans .wp-block-column:hover {
	transform: translateY(-5px);
	transition: all 0.3s ease-in-out; 
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.overflow-hidden {
	overflow: hidden;
	height: 20rem;
}
.plans .wp-block-column img {
	object-fit: cover;
}
.scale-110 {
	transition-duration: 700ms;
}
.scale-110:hover {
	transform: scale(1.1);
	transition-duration: 700ms;
}
.plans .wp-block-column h3 {
	padding: 2rem 1.5rem 1rem;
}
.plans .wp-block-column p {
	padding: 1rem 1.5rem 2rem;
}
.recommend {
	background: #f0fdf4;
	padding: 0.25rem 0.75rem;
	font-size: 10px;
	display: inline;
	border-radius: 9999px;
	font-weight: 700;
	color: #16a34a;
	margin: 5rem 1rem 0;
	position: relative;
	top: -1.25rem;
	right: 0rem;
}
.area-price {
	padding: 0 1.5rem 2rem;
}
.check {
	width: 1.5rem;
	height: 1.5rem;
}
.wp-block-table {
	border-radius: 1rem;
}
table th {
	width: 30%;
}
.article dt {
	font-weight: bold;
	font-size: 20px;
}
.article dd {
	margin: 0 0 30px 4rem;
}
figcaption {
	font-size: 1em;
	opacity: 1;
}
/* ここからアコーディオン */
.acd-check{
	display: none;
}
.acd-label{
	display: block;
	font-size: 16px;
	font-weight: 600;
	margin: -1em auto 1em;
	padding: 10px;
	position: relative;
	margin: 0 auto;
}
.acd-label::after{
	box-sizing: border-box;
	content: '\f0d7';
	display: block;
	font-family: "FontAwesome";
	height: 52px;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0px;
	font-size: 25px;
	color: #090;
}
.acd-content{
	display: block;
	height: 0;
	opacity: 0;
	padding: 0 25px;
	margin: 0 0 0 4em;
	transition: .5s;
	visibility: hidden;	
}
.acd-check:checked + .acd-label:after{
	content: '\f0d8';
}
.acd-check:checked + .acd-label + .acd-content {
	height: auto;
	opacity: 1;
	visibility: visible;
	color: #666;
	margin: 0 auto;
}
.acd-content p {
	line-height: 1.75em !important;
	font-size: 16px;
	padding: 1em;
	margin-bottom: -1em;
}
/* ここまでアコーディオン */

#footer h2 {
	font-size: 2rem;
}
#footer p {
	color: #fff;
}
.footer-in {
	width: 1300px;
	margin: 0 auto;
}
.phone_number {
	font-size: 2.25rem;
	margin-top: 2rem;
	font-weight: 600;
}
input[type="submit"] {
	background-color: #f1d27b;
	border-radius: 10px;
	margin-top: 1em;
}
.footer-bottom-logo {
	display: none;
}


/*1023px以下*/
@media screen and (max-width: 1023px){
	.wrap {
		width: 100%;
	}
	.main {
		width: 95% !important;
	}
	.article h2 {
		font-size: 3.5rem;
	}
	.article h3 {
		font-size: 1.5rem;
	}
	.font_x2 {
		font-size: 150% !important;
	}
	.wp-block-column {
		padding: 1rem;
	}
	.overflow-hidden {
		height: 12rem;
	}
	.recommend {
		margin: 5rem 0.5rem 0 0;
	}
	.acd-content {
		padding: 0;
	}
}

/*834px以下*/
@media screen and (max-width: 834px){
	.overflow-hidden {
		height: 20rem;
	}
	.footer-widgets {
		display: block;
	}
}

/*480px以下*/
@media screen and (max-width: 480px){
	.article h2 {
		font-size: 1.75rem;
		padding: 0.6em 0.2em;
	}
	.article h3 {
		font-size: 1.5rem;
		padding: 0.6em 0.2em;
	}
	.article h4 {
		padding: 0.6em 0;
		font-size: 22px;
	}
	.plans .bg-green {
		height: 650px;
	}
	.acd-label::after {
		right: -10px;
	}
}
