/*
Theme Name: CURIOUS WORLD ACADEMY
*/

@charset "UTF-8";


/* --------------------------------
 * base
 * -------------------------------- */
html {
  font-size: 62.5%;
}
body {
  font-size: 1.4rem;
  text-align:center;
  color:#333;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
font-weight: 500;
}
*, *::before, *::after {
  box-sizing: border-box;
}
input[type="text"] {
	width:100%;
}
input[type="email"] {
	width:100%;
}
input[type="tel"] {
	width:100%;
}
textarea {
	width:100%;
}
section {
}
.section-wrapper {
	margin:0 auto;
}
ul {
	list-style:none;
	margin:0;
	padding:0;
}
a:hover {
	opacity:0.9;
	text-decoration:none;
}
.ib {
	display:inline-block;
}
.yt-wrapper {
  position: relative;
  width: 100%;
}
.yt-wrapper:before {
  content:"";
  display: block;
  padding-top: 56.25%;
}
.yt-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.row-eq-height {
	display: flex;
	flex-wrap: wrap;
}
table {
	width:100%;
	margin-bottom:20px;
}
th {
	background:#f0f0f0;
	padding:10px;
	text-align:center;
	border:1px solid #ddd;
	min-width:100px;
}
td {
	padding:10px;
	text-align:left;
	border:1px solid #ddd;
}

/* --------------------------------
 * header
 * -------------------------------- */
header.header {
	position:fixed;
	background:#f8f8f8;
	top:0;
	width:100%;
	z-index:100;
}
header .branding {

	padding:0;
	margin:0 auto;

}
@media screen and (min-width:768px) {

	body {
		padding-top: 50px;
	}
	header .brand {
    	display:table;
    	width:100%;
    	height:85px;
  	}
	header .brand .brand-l {
		display:table-cell;
		vertical-align:middle;
		width:50%;
		text-align:left;
		padding-left:10px;
	}
	header .brand .brand-r {
		display:table-cell;
		vertical-align:middle;
		width:30%;
		text-align:right;
	}
	header .brand .brand-r ul {
	}
	/*
	header .brand .brand-r ul li:first-child {
		width:60%;
		float:left;
		font-size:2.6rem;
		font-weight:bold;
		line-height:1.1;
		text-align:center;
		padding:0 0 0 15px;
	}
	header .brand .brand-r ul li:first-child span {
		font-size:1.2rem;
		line-height:1;
		margin-bottom:0 !important;
	}
	header .brand .brand-r ul li:first-child a {
		color:#000;
	}
	*/
	header .brand .brand-r ul li {
		width:300px;
		background:#ff4500;
		padding:20px;
		text-align:center;
		font-size:1.6rem;
		font-weight:bold;
		float:right;
		margin:5px;
	}
	header .brand .brand-r ul li a {
		color:#fff;
		display:block;
		width:100%;
	}
	.main-visual {
		width:100%;
		height:600px;
		background:url(/wp-content/uploads/2022/01/main-visual3.jpg);
		background-size:cover;
		position:relative;
	}
	.main-visual .main-visual-copy {
		position:absolute;
		top: 60%;
    	left: 50%;
    	transform: translate(-50%, -50%);
    	-webkit-transform: translate(-50%, -50%);
    	-ms-transform: translate(-50%, -50%);
	}
	.main-visual .main-visual-description {
		color:#fff;
		font-size:1.8rem;
		display:inline-block;
	}
	.main-visual .main-visual-title {
		color:#a6ce39;
		font-size:5rem;
		text-align:center;
		line-height:0.8;
		border-bottom:1px solid #fff;
		padding-bottom:20px;
	}
	.main-visual .main-visual-title span {
		font-size:3rem;
	}
	.sub-visual {
		width:100%;
		height:25px;
		/* background:url(/wp-content/uploads/2022/01/sub-visual.jpg); */
	}
	nav.NavMenu {
		width:100%;
		padding:5px 0 5px 0;
		margin-bottom:5px;
	}
	nav.NavMenu > ul {
	}
	nav.NavMenu >ul > li {
		display:inline-block;
		padding:5px 18px 5px 18px;
		border-left:1px solid #eee;
		font-weight:bold;
		font-size:16px !important;
		position:relative;
	}
	nav.NavMenu > ul > li:last-child {
		border-right:1px solid #eee;
	}
	nav.NavMenu > ul > li a {
		color:#000;
	}
	nav.NavMenu > ul > li:hover {
	}

/* 親メニューのリスト */
.NavMenu > ul > li {
    position: relative;
    list-style: none;
    z-index: 10; /* 他の要素より上に */
}

/* リンクエリアを広めに確保 */
.NavMenu .has-child > a {
    display: inline-block;
    padding: 10px 15px;
    text-decoration: none;
    color: inherit;
    cursor: pointer; /* 指マークを確実に出す */
    user-select: none; /* テキスト選択を防ぐ */
}

/* サブメニュー（オーバーレイ） */
.NavMenu .sub-menu {
    display: none;
    position: absolute;
    top:63px;
    left: 50%;
    transform: translateX(-50%);
    min-width: 100%;
    background: #ddd;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    padding: 15px;
    margin: 0;
    list-style: none;
	text-align:left;
	line-height:1.5;
	font-size:14px;
    z-index: 1000; /* 最前面へ */
}
.NavMenu .sub-menu li {
	margin-bottom:10px;
}
.NavMenu .sub-menu li:last-child {
	margin-bottom:0;
}

/* 表示用クラス（JavaScriptで制御） */
.NavMenu li.is-active > .sub-menu {
    display: block !important;
}

/* 矢印の回転 */
.NavMenu li.is-active .arrow {
    transform: rotate(180deg);
    display: inline-block;
}
	
	p {
font-size: 1.7rem;
        margin-bottom: 2rem;
        line-height: 1.6;
	}

}
@media screen and (max-width:768px) {

	body {
		padding-top: 115px;
	}
	header .brand {
	}
	header .brand .brand-l {
		margin:20px 0 20px 0;
		padding-left:15px;
		text-align:left;
	}
	header .brand .brand-r {
		margin:20px 0 20px 0;
	}
	header .brand .brand-r ul {
		text-align:center;
	}
	header .brand .brand-r ul li:first-child {
		font-size:2.5rem;
		font-weight:bold;
		padding-right:15px;
		margin-bottom:20px;
	}
	header .brand .brand-r ul li:first-child a {
		color:#000;
	}
	header .brand .brand-r ul li:last-child {
		background:#ff4500;
		padding:15px 0 15px 0;
		margin:20px 15px 20px 15px;
		text-align:center;
		font-size:1.6rem;
		font-weight:bold;
		margin-bottom:20px;
	}
	header .brand .brand-r ul li:last-child a {
		color:#fff;
		display:block;
		width:100%;
	}
	.main-visual {
		width:100%;
		height:325px;
		background:url(/wp-content/uploads/2022/01/main-visual3.jpg);
		background-size: cover;
		position:relative;
	}
	.main-visual .main-visual-copy {
		position:absolute;
		width:80%;
		top:25%;
		left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}
	.main-visual .main-visual-description {
		color:#fff;
		font-size:1.2rem;
		display:inline-block;
	}
	.main-visual .main-visual-title {
		color:#a6ce39;
		font-size:4rem;
		text-align:center;
		line-height:0.8;
		border-bottom:1px solid #fff;
		padding-bottom:20px;
	}
	.main-visual .main-visual-title span {
		font-size:2rem;
	}
	.sub-visual {
		width:100%;
		height:25px;
		/* background:url(/wp-content/uploads/2022/01/sub-visual.jpg); */
	}
	nav.NavMenu{
		position: fixed;
		z-index: 2;
		top: 0;
		left: 0;
		background: #fff;
		color: #000;
		text-align: center;
		width: 100%;
		transform: translateY(-100%);
		transition: all 0.6s;
	}
	nav.NavMenu > ul{
		background: #f2fdd4;
		width: 100%;
		margin: 0 auto;
		padding: 15px;
		text-align:left;
	}
	nav.NavMenu > ul > li{
		font-size: 1.1em;
		list-style-type: none;
		padding: 0;
		width: 100%;
		border-bottom: 1px solid #fff;
	}
	 nav.NavMenu > ul > li:last-child{
		padding-bottom: 0;
		border-bottom: none;
	}
	nav.NavMenu > ul > li > a{
		display: block;
		color: #458ac5;
		padding: 1em 0;
	}
	nav.NavMenu > ul > li > ul > li {
		margin-bottom:10px;
	}
	nav.NavMenu > ul > li > ul > li > a{
		font-size:14px;
	}
	nav.NavMenu.active{
		transform: translateY(0%);
	}
	.header .Toggle {
		display: block;
		border-radius:2px;
		position: fixed;
		right: 13px;
		top: 12px;
		width: 42px;
		height: 40px;
		cursor: pointer;
		z-index: 3;
	}
	.header .Toggle span {
		display: block;
		position: absolute;
		width: 30px;
		border-bottom: solid 5px #a6ce39;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
		left: 6px;
	}
	.header .Toggle span:nth-child(1) {
		top: 9px;
	}
	.header .Toggle span:nth-child(2) {
		top: 18px;
	}
	.header .Toggle span:nth-child(3) {
		top: 27px;
	}
	.header .Toggle.active span:nth-child(1) {
		top: 18px;
		left: 6px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.header .Toggle.active span:nth-child(2),
	.header .Toggle.active span:nth-child(3) {
		top: 18px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	p {
font-size: 1.6rem;
        margin-bottom: 2rem;
        line-height: 1.8;
	}

}


/* --------------------------------
 * parts
 * -------------------------------- */
 @media screen and (min-width:768px) {

	.heading {
		display: inline-block;
		margin:40px 0 20px 0;
		padding:0 0 20px 0;
		letter-spacing: 2px;
		font-size: 2.5rem;
		color:#000000;
		font-weight:bold;
		line-height:1.5;
		position:relative;
	}
	.heading::after {
    	content: '';
    	position: absolute;
    	bottom: 0;
    	left: 50%; transform: translateX(-50%);
    	width: 60px;       /* 線の長さ（100%にすれば全体になります） */
    	height: 6px;       /* 線の太さ */
    	background: #f39200; /* オレンジ色 */

	}
	.lead {
		font-size:1.8rem;
		margin:20px 0 40px 0;
		font-weight:bold;
		color:#607d10;
	}
	.conv {
		font-size:1.8rem;
		margin:20px 0 40px 0;
		font-weight:bold;
		text-align:center;
	 }
	 .conv span {
		 font-size:2.4rem;
	 }
	.link-btn {
		background:#607d10;
		width:100%;
		font-size:1.6rem;
		padding:15px;
		text-align:center;
		margin:20px auto 20px auto;
		position:relative;
	}
	.link-btn:after {
		content:'〉';
		color:#ffffff;
		position:absolute;
		top:30%;
		right:10px;
	}
	.link-btn a {
		display:block;
		color:#ffffff;
		width:100%;
	}
	.link-btn:hover {
		opacity:0.9;
	}
	 /*
	.conv-btn {
		background:#ff4500;
		width:500px;
		font-size:1.8rem;
		padding:15px;
		text-align:center;
		margin:20px auto 20px auto;
		position:relative;
	}
	 */
	.conv-btn {
		background: linear-gradient(to right, rgba(247, 207, 0, 0.7), rgba(246, 37, 2, 0.7) 45%, rgba(182, 47, 82, 0.7) 75%, rgba(113, 58, 166, 0.7));
		width: 350px;
		padding: 20px 20px;
		border-radius:50px;
		text-align: center;
		margin: 0 auto;
		animation: squash 3s ease-in-out infinite;
		color: #fff;
		font-size: 1.8rem;
	}
	@keyframes squash {
		0% {transform: scale(1);}
		50% {transform: scale(1.05);}
		100% {transform: scale(1);}
	}
	.conv-btn:after {
		content:'〉';
		color:#ffffff;
		position:absolute;
		top:30%;
		right:10px;
	}
	.conv-btn a {
		display:block;
		color:#ffffff;
		width:100%;
	}
	.conv-btn:hover {
		opacity:0.9;
	}
	input[type="submit"] {
		background:#337ab7;
		color:#fff;
		font-size:1.8rem;
		width:500px;
		padding:15px;
		text-align:center;
		margin:20px auto 20px auto;
		border:none;
	}
	input[type="submit"]:hover {
		opacity:0.9;
	}
	 .separator-line {
		 text-align:center;
		 color:#b2cd69;
		 font-size:3rem;
		 margin:75px 0 25px 0;
	 }
	 
}
@media screen and (max-width:768px) {

	.heading {
		display: inline-block;
		margin:20px 0 10px 0;
		padding:10px;
		letter-spacing: 2px;
		font-size: 1.8rem;
		color:#000000;
		font-weight:bold;
	}
	.lead {
		font-size:1.6rem;
		margin:0 0 20px 0;
		font-weight:bold;
		color:#607d10;
	}
	.conv {
		font-size:1.6rem;
		margin:20px 0 20px 0;
		font-weight:bold;
		text-align:center;
	 }
	.link-btn {
		background:#607d10;
		width:100%;
		font-size:1.6rem;
		padding:15px;
		text-align:center;
		margin:20px auto 20px auto;
		position:relative;
	}
	.link-btn:after {
		content:'〉';
		color:#ffffff;
		position:absolute;
		top:30%;
		right:10px;
	}
	.link-btn a {
		display:block;
		color:#ffffff;
		width:100%;
	}
	.link-btn:hover {
		opacity:0.9;
	}
	/*
	.conv-btn {
		background:#ff4500;
		width:100%;
		font-size:1.8rem;
		padding:15px;
		text-align:center;
		margin:20px auto 20px auto;
		position:relative;
	}
	*/
	.conv-btn {
		background: linear-gradient(to right, rgba(247, 207, 0, 0.7), rgba(246, 37, 2, 0.7) 45%, rgba(182, 47, 82, 0.7) 75%, rgba(113, 58, 166, 0.7));
		width: 300px;
		padding: 20px 20px;
		border-radius:50px;
		text-align: center;
		margin: 0 auto;
		animation: squash 3s ease-in-out infinite;
		color: #fff;
		font-size: 1.6rem;
	}
	@keyframes squash {
		0% {transform: scale(1);}
		50% {transform: scale(1.05);}
		100% {transform: scale(1);}
	}
	.conv-btn:after {
		content:'〉';
		color:#ffffff;
		position:absolute;
		top:30%;
		right:10px;
	}
	.conv-btn a {
		display:block;
		color:#ffffff;
		width:100%;
	}
	.conv-btn:hover {
		opacity:0.9;
	}
	#send-btn {
		background:#ff4500;
		color:#ffffff;
		width:500px;
		padding:15px;
		text-align:center;
		margin:20px auto 20px auto;
		border:none;
	}
	#send-btn a {
		display:block;
		color:#ffffff !important;
		width:100%;
	}
	#send-btn:hover {
		opacity:0.9;
	}
	input[type="submit"] {
		background:#337ab7;
		color:#fff;
		font-size:1.8rem;
		width:500px;
		padding:15px;
		text-align:center;
		margin:20px auto 20px auto;
		border:none;
	}
	input[type="submit"]:hover {
		opacity:0.9;
	}

}


 /* --------------------------------
 * footer
 * -------------------------------- */
@media screen and (min-width:768px) {

	footer {
		margin:0 0 0 0;
		padding:40px 0 100px 0;
		color:#ffffff;
		background:#607d10;
	}
	footer p {
		margin:0;
	}
	footer .footer-menu {
		text-align:center;
		margin-bottom:40px;
	}
	footer .footer-menu li {
		display:inline-block;
		margin-right:10px;
		margin-left:10px;
		color:#fff;
	}
	footer .footer-menu li a {
		color:#fff;
	}
	#footer-conv-pc {
		display:block;
		background:#ff4500;
		position:fixed;
		width:150px;
		height:150px;
		border-radius:50%;
		text-align:center;
		font-size:2rem;
		bottom:50px;
		right:50px;
	}
	#footer-conv-pc:hover {
		opacity:0.9;
	}
	#footer-conv-pc a {
		color:#ffffff;
		display:block;
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		padding-top:30%;
	}
	#footer-conv-sp {
    	display:none;
	}

}
@media screen and (max-width:768px) {

	footer {
		margin:0;
		padding:0 0 100px 0;
		color:#ffffff;
		background:#607d10;
	}
	footer p {
		margin:0;
	}
	footer .footer-menu {
		margin-bottom:20px;
	}
	footer .footer-menu li {
		border-bottom:1px solid #dff6a0;
		position:relative;
		text-align:left;
		padding:7px 0 7px 7px;
	}
	footer .footer-menu li a {
		color:#fff;
		display:block;
		position:relative;
		top:0;
		left:0;
		width:100%;
		height:100%;
	}
	#footer-conv-pc {
    	display:none;
	}
	#footer-conv-sp {
		display:block;
   	 	background:#ffffff;
		border:1px solid #458ac5;
		position:fixed;
		bottom:0;
		width:100%;
		text-align:center;
	}
	#footer-conv-sp li {
		display:inline-block;
		padding:10px;
		width:32%;
		text-align:center;
	}
	#footer-conv-sp li a{
		color:#333;
	}
	#footer-conv-sp li i {
		font-size:40px;
		color:#458ac5;
	}
	#footer-conv-sp .tel-btn {
		border-right:1px solid #458ac5;
	}
	#footer-conv-sp .mail-btn {
		border-right:1px solid #458ac5;
	}
	#footer-conv-sp .line-btn a {
		color:#1dcd00;
	}
	#footer-conv-sp .line-btn i {
		color:#1dcd00;
	}

}


/* --------------------------------
 * archive
 * -------------------------------- */
.articles_index {
	border-bottom:1px solid #eee;
	padding-bottom:20px;
	margin-bottom:20px;
	overflow:hidden;
	z-index:1;
	position:relative;
}
.articles_index a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent:-999px;
    z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}
.articles_index::after {
	content:'〉';
	color:#666;
	position:absolute;
	top:35%;
	right:5px;
}
.articles_index .article_thumnail {
	float:left;
	width:100px;
}
.articles_index .article_thumnail img{
	width:100px;
	height:100px;
}
.articles_index .article_content {
	float:right;
	width: 100%;
	margin-left: -110px;
	padding-left: 110px;
	padding-right:40px;
	box-sizing: border-box;
}
.articles_index .article_content h2 {
	font-size:1.8rem;
	border-left:none;
	background:none;
	margin:0 0 10px 0;
	padding:0;
	font-weight:bold;
}
.articles_index .article_content p {
	margin:0;
}
.articles_index .article_content time {
	text-align:right;
	display:block;
	margin-top:20px;
}
#pager_navigation {
	width:100%;
	text-align:center;
}
#pager_navigation a {
	display:inline-block;
	width:120px;
	background:#f6f6f6;
	padding:10px;
	text-align:center;
	border:1px solid #ddd;
	margin:0 50px 0 50px;
}


 /* --------------------------------
 * page_top
 * -------------------------------- */
#page_top {
	position: fixed;
	bottom: 30px;
	right: 20px;
}
#page_top a {
	background-color: #999;
	color: #fff;
	text-align: center;
	text-decoration: none;
	padding: 20px 20px;
}
#page_top a:hover {
	 background-color: #666;
	text-decoration: none;
}





/* --- 印刷用設定の追加 --- */
@media print {
    /* 1. 背景色・背景画像を強制的に表示 */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* 2. ヘッダーの固定を解除（印刷崩れの大きな原因） */
    header {
        position: static !important;
        background: #f8f8f8 !important;
    }

    /* 3. 全体のレイアウト調整 */
    body {
        padding-top: 0 !important;
        text-align: left !important;
        width: 100% !important;
    }

    /* 4. コンテンツ幅を紙面に合わせる */
    .container, .section-wrapper {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 10px !important;
    }

    /* 5. 印刷に不要な動くボタンや浮いている要素を隠す */
    #page_top, 
    #footer-conv-pc, 
    #footer-conv-sp, 
    .Toggle, 
    nav.NavMenu {
        display: none !important;
    }

    /* 6. 背景画像があるセクション（conceptやprogram等）の調整 */
    .concept, .program {
        background-size: cover !important;
        padding: 50px 0 !important;
        color: #fff !important;
    }

    /* 7. 表（table）が途切れないように調整 */
    table {
        page-break-inside: auto;
    }
    tr {
        page-break-inside: avoid;
        page-break-after: auto;
    }
}
@media print {
    /* 1. ページ上部の背景画像を強制表示 */
    .main-visual, .concept {
        background-image: url(/wp-content/uploads/2022/01/main-visual3.jpg) !important;
        background-color: #f8f8f8 !important;
        background-size: cover !important;
        -webkit-print-color-adjust: exact !important;
        min-height: 300px !important; /* 高さが潰れるのを防ぐ */
    }

    /* 2. 「目的から探す」などのカードの背景色を復活 */
    .service-box, .reason ul, .program-box {
        background-color: #f8f8f8 !important;
        border: 1px solid #ddd !important;
        display: block !important;
    }

    /* 3. テキストの色が白抜きで見えなくなるのを防ぐ */
    .main-visual-title, .concept-copy, .main-visual-description {
        color: #a6ce39 !important; /* タイトル色 */
    }

    /* 4. ヘッダーを完全に消して、1ページ目の開始位置を調整 */
    header {
        display: none !important;
    }
    body {
        padding-top: 0 !important;
    }
}


/* 下層ページ タイトル帯 */
.sub-visual {
    width: 100%;
    height: 150px; /* お好みの高さに調整 */
    background: #607d10; /* コーポレートカラーの緑 */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 85px; /* ヘッダーが固定(fixed)のため、その分下げる */
}

.sub-visual .page-title {
    color: #fff;
    font-size: 2.8rem;
    font-weight: bold;
    margin: 0;
    letter-spacing: 0.05em;
}

/* パンくずリスト */
.breadcrumb-area {
    background: #f8f8f8;
    padding: 10px 0;
    font-size: 1.2rem;
    text-align: left;
    border-bottom: 1px solid #eee;
	margin:0 !important;
}

.breadcrumb-area .section-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 15px;
}

/* モバイル対応（768px以下） */
@media screen and (max-width: 768px) {
    .sub-visual {
        height: 100px;
		margin-top: 45px;
		padding:0 15px;
    }
    .sub-visual .page-title {
        font-size: 2.0rem;
		line-height:1.5;
    }
}

/* ==========================================================================
   資料ダウンロードフォーム：決定版デザイン
   ========================================================================== */

/* 1. フォームの器：余白をゆったり取り、影で浮かせる */
.cwa-form-container {
    max-width: 800px;
    margin: 40px auto 80px;
    padding: 60px 50px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
    box-sizing: border-box;
}

/* 2. 項目ごとのブロック：ここを広げて「次との間隔」を作る */
.download-form .form-item {
    margin-bottom: 45px !important; /* 入力欄から次のラベルまでの距離 */
    text-align: left;
    display: block !important;
}

/* 3. ラベル：文字を太くし、入力欄との隙間を作る */
.download-form .form-item label {
    display: block !important;
    font-size: 1.6rem;
    font-weight: bold;
    color: #333;
    line-height: 1;
}

/* 4. 必須チップ */
.download-form .required {
    background: #e74c3c;
    color: #fff;
    font-size: 1.1rem;
    padding: 3px 8px;
    border-radius: 3px;
    margin-left: 10px;
    vertical-align: middle;
    font-weight: normal;
}

/* 5. 入力フィールド：高さを出し、背景を薄くして清潔感を出す */
.download-form input[type="text"],
.download-form input[type="email"],
.download-form input[type="tel"],
.download-form textarea {
    width: 100% !important;
    padding: 16px !important;
    font-size: 1.6rem !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    background-color: #fafafa !important;
    box-sizing: border-box !important;
    transition: all 0.3s;
}

/* 入力中（フォーカス時）の演出 */
.download-form input:focus {
    border-color: #f39c12 !important;
    background-color: #fff !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(243, 156, 18, 0.1);
}

/* 6. ラジオボタン：横並びにして余白を調整 */
.download-form .wpcf7-list-item {
    display: inline-block;
    margin: 5px 25px 5px 0;
}
.download-form .wpcf7-list-item label {
    font-weight: normal !important;
    font-size: 1.5rem !important;
    margin-bottom: 0 !important;
    cursor: pointer;
}

/* 7. 送信ボタン：確実に中央寄せにする */
.download-form .form-submit {
    margin-top: 50px;
    text-align: center; /* 親要素で中央寄せ */
}

.download-form .wpcf7-submit {
    display: inline-block !important; /* text-alignを効かせるため */
    width: 100% !important;
    max-width: 450px !important;
    padding: 20px 30px !important;
    background: linear-gradient(135deg, #f39c12 0%, #e67e22 100%) !important;
    color: #fff !important;
    font-size: 1.8rem !important;
    font-weight: bold !important;
    border: none !important;
    border-radius: 50px !important;
    box-shadow: 0 8px 20px rgba(243, 156, 18, 0.3) !important;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s !important;
}

.download-form .wpcf7-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(243, 156, 18, 0.4) !important;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
    .cwa-form-container {
        padding: 40px 20px;
        margin: 20px 10px;
    }
    .download-form .form-item {
        margin-bottom: 35px !important;
    }
}

.order-box {
    margin-bottom: 25px !important; /* 次の要素との距離 */
}
.order-title {
	margin-bottom:5px;
}

/* ==========================================================================
   資料ダウンロード完了ページ：テキストサイズとレイアウトの微調整
   ========================================================================== */

/* カード内のメインテキストを読みやすいサイズに修正 */
.cwa-form-container p {
    font-size: 1.7rem !important; /* 1.1remから1.7remへ大幅に拡大 */
    line-height: 1.8;
    color: #333;
    margin-bottom: 40px !important;
}

/* 下部の注意書きテキストのサイズも調整 */
.cwa-form-container div p {
    font-size: 1.4rem !important; /* 0.9remから1.4remへ拡大 */
    color: #666;
    margin-bottom: 20px !important;
}

/* リンクテキスト（お問い合わせフォーム）の色と太さを強調 */
.cwa-form-container div p a {
    font-weight: bold;
    color: #0071bc !important;
}

/* スマホ表示でのフォントサイズ調整 */
@media screen and (max-width: 768px) {
    .cwa-form-container p {
        font-size: 1.5rem !important;
        margin-bottom: 30px !important;
    }
    
    .cwa-form-container div p {
        font-size: 1.3rem !important;
    }
}