@charset "utf-8";
/*
Theme Name: kidsch
Theme URI: ★ テーマの公式サイトなどのURL（空欄でも可） ★
Template: lightning
Description: ★ テーマの説明（空欄でも可） ★
Author: ★ テーマ作成者の名前（空欄でも可） ★
Tags: 
Version: 0.1.2
*/
/* cssの読み込み */
@import url("font/font.css");
/* motion.css読み込み */
@import url("motion.css");
/* ----------------------------------- 共通 ----------------------------------- */
:root {
	--red:#cc0000;/* 赤 */
	--pink:#ed1e79; /* ピンク */
	--white:#fff; /* 白 */
	--black:#222; /* 黒 */
	--gray:#333;/* 灰色 */
	--gray01:#F4F4F4; /* 薄灰色 */
	--gray02:#ccc;/* 灰色 */
	--gray03:#707070;/* 灰色 */
	--font:"font01", sans-serif;
	/*--font02:"font02", sans-serif;*/
	--grade:linear-gradient(90deg, #8b5cf6, #eb22f0);
	--grade02:linear-gradient(90deg, #eb22f0, #8b5cf6);
	--grade03:linear-gradient(90deg, #5C8FF6, #8b5cf6);
	--grade04:linear-gradient(90deg, #5C8FF6, #8b5cf6, #eb22f0);
}
body , p{
	color:var(--black);
	font-size:16px;
	font-family:"Meiryo","メイリオ", sans-serif;
}
.center{
	text-align:center;
}
.right{
	text-align:right;
}
.bold{
	font-weight:bold;
}
.red{
	color:#cc0000;
}
.gray , .gray p{
	color:var(--gray);
}
p a , li a , a{
	color:#222222;
	text-decoration:none;
	transition:all 0.4s;
}
p a:hover , li a:hover ,  a:hover{
	color:#222222;
	text-decoration:none;
	transition:all 0.4s;
}
/* flex_box */
.flex_box{
	display:flex;
	display:-webkit-flex;
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
}
/* justify-content */
.jc_c{
	justify-content:center;
}
.jc_sb{
	justify-content:space-between;
}
/* align-items */
.ai_c{
	align-items:center !important;
}
.as_c{
	align-self:center !important;
}
/* w50 */
.w50{
	width:48%;
	margin:0 1% 2rem 1%;
}
/* font-size */
.fs12{
	font-size:1.2rem;
}
.fs15{
	font-size:1.5rem;
}
/* margin */
.m0{
	margin:0;
}
.m05{
	margin:0.5rem;
}
.mt05{
	margin-top:0.5rem;
}
.mt2{
	margin-top:2rem;
}
.mt3{
	margin-top:3rem;
}
.mb05{
	margin-bottom:0.5rem !important;
}
.mb1{
	margin-bottom:1rem !important;
}
.mb15{
	margin-bottom:1rem !important;
}
.mb2{
	margin-bottom:2rem !important;
}
.mb3{
	margin-bottom:3rem !important;
}
.mb5{
	margin-bottom:5rem !important;
}
.mb7{
	margin-bottom:7rem;
}
/* display:none */
.vk-mobile-nav-menu-btn , .entry-meta , .entry-meta-item-updated , .entry-meta-item-author , .sp991 , .sp767 , .sp599 , .logged-in .um-login, .logged-in .login_text, .logged-in .um-form div.um-account-meta, .logged-in .logout_text{
	display:none;
}
/* header部分との調整 */
.slide_box, .breadcrumb , .site-body , .site-footer{
	padding-left:300px;
}
.page-header{
	margin-left:300px;
}
/* ----------- header ----------- */
#site-header{
	position:fixed;
	top:0;
	left:0;
	width:300px;
	height:100vh;
	background-color:#fff;
	box-shadow:none;
}
.admin-bar #site-header{
	top:32px;
}
#site-header-container{
	flex-wrap:wrap;
	padding:0 1.2rem;
}
.site-header--layout--nav-float .site-header-logo{
	margin-right:0;
	padding-top:1.5rem;
}
/* menu */
#menu-main.menu{
	padding:0;
}
#menu-main.menu > li a{
	padding:0.5rem;
	display:block;
	position:relative;
}
#menu-main.menu > li a:after{
	content:"";
	display:block;
	width:100%;
	height:1px;
	position:absolute;
	left:0;
	bottom:0;
}
#menu-main.menu > li > a:after{
	bottom:5px;	
}
#menu-main.menu > li a:after{
	background:var(--grade04);
	z-index:-1;
	transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transition-duration: .2s;
    transition-duration: .2s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94);
}
#menu-main.menu .sub-menu{
	padding-left:1rem;
	margin-bottom:0.5rem;
}
#menu-main.menu .sub-menu a{
	padding:0.1rem 0.5rem;
}
#menu-main.menu > li a:hover:after{
	transform: scaleX(1);
}
.menu-item a i{
	color:var(--pink);
	font-size:1.2rem;
}
/*  hamburger  */
body.device-pc .vk-mobile-nav{
	display:block;
}
.hamburger{
	width:80px;
	height:80px;
	cursor:pointer;
	position:fixed;
	top:10px;
	right:10px;
	z-index:100000;
	transition:all 0.4s;
	border-radius:50%;
}
.hamburger:before,.hamburger:after{
	content:"";
	display:block;
	position:absolute;
	border-radius:50%;
}
.hamburger:before{
	width:80px;
	height:80px;
	right:0;
	top:0;
	background:var(--grade);
	z-index:-1;
}
.hamburger:after{
	width:76px;
	height:76px;
	right:2px;
	top:2px;
	background:var(--white);
	z-index:-2;
}
.admin-bar .hamburger{
	top:32px;
}
.hamburger span{
	display:block;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.hamburger .sp_menu_span{
	position:absolute;
	width:30px;
	height:2px;
	left:25px;
	background:#fff;
}
.hamburger .sp_menu_th:before , .hamburger .sp_menu_th:after{
	font-size:0.7rem;
	display:block;
	position:absolute;
	bottom:13px;
	left:50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}
.hamburger span:nth-child(1) {
	top:21px;
}
.hamburger span:nth-child(2) {
	top:31px;
}
.hamburger span:nth-child(3) {
	top:41px;
}
.hamburger .sp_menu_th:before{
	content:"MENU";
	color:#fff;
	transition:all 0.4s;
}
.hamburger .sp_menu_th:before{
	color:#fff;
}
/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1){
	width:30px;
	top:32px;
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
.hamburger.active span:nth-child(3){
	width:30px;
	top:32px;
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	transform:rotate(45deg);
}
.hamburger .sp_menu_th:after{
	content:"CLOSE";
	color:var(--block);
	opacity:0;
	transition:all 0.4s;
}
.hamburger.active .sp_menu_th:before , .hamburger.active span:nth-child(2){
	opacity:0;
}
.hamburger.active .sp_menu_th:after{
	opacity:1;
}
.hamburger.active .sp_menu_span{
	background:var(--black);
}
.hamburger.active:before{
	z-index:-3;
}
/* ----------- footer ----------- */
.site-footer{
	background-color:#000;
}
.site-body-bottom{
	padding-top:2rem;
	color:#fff;
}
.footer_top_th{
	width:300px;
	text-align:center;
	margin-right:2%;
}
.footer_top_th span{
	color:#fff;
	font-size:0.7rem;
}
.footer_top_td{
	width:calc( (94% - 300px)/2 );
	text-align:center;
	margin:0 1% 1rem 1%;
}
.footer_top_td a{
	display:block;
	font-size:1rem;
	color:#222;
	border-radius:0.5rem;
	padding:0.7rem 0.5rem;
	position:relative;
}
.footer_top_tel a:before , .footer_top_tel a:after{
	content:"";
	display:block;
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	border-radius:0.5rem;
	transition:all 0.4s;
}
.footer_top_tel a:before{
	z-index:-2;
	background:var(--grade);
}
.footer_top_tel a:after{
	z-index:-1;
	background:#fff;
}
.footer_top_tel a:hover{
	color:#fff;
}
.footer_top_tel a:hover:after{
	opacity:0;
}
.footer_top_fax a{
	color:#222;
	background-color:#fff;
	pointer-events:none;
}
.site-footer-content{
	border-top:solid 1px #fff;
	border-bottom:solid 1px #fff;
	padding:1.3rem 2rem 1rem 2rem;
	margin-bottom:1.5rem;
}
.widget_nav_menu .site-footer-title{
	color:#fff;
	font-size:0.8rem;
	margin-bottom:0.3rem !important;
}
.widget_nav_menu > div > ul > li > a{
	color:#fff;
	padding:0 0 0 1rem;
	position:relative;
	display:inline-block;
}
.widget_nav_menu > div > ul > li > a:before{
	content:"";
	position:absolute;
	left:0.2rem;
	top:6px;
	width:5px;
	height:5px;
	-webkit-transform: rotate(45deg);
   	transform: rotate(45deg);
	border-top:solid 1px;
	border-right:solid 1px;
}
.widget_nav_menu > div > ul > li > a:hover{
	color:var(--gray03);
}
/* copyright */
.copy{
	background-image:var(--grade);
	color:var(--white);
	padding:14px 0;
	margin:0;
	font-size:0.8rem;
}
/* btn_contact_box / 資料請求・お問合せボタン */
.btn_contact_box{
	position:fixed;
	z-index:10;
	bottom:0.5rem;
	right:0;
	padding:0;
	margin:0;
}
.btn_contact_box li{
	list-style:none;
	padding:0;
	margin-bottom:0.5rem;
	text-align:center;
}
.btn_contact_box li a{
	color:#fff;
	font-size:0.8rem;
	letter-spacing:0.1rem;
	padding:1rem 0.5rem 1rem 0.6rem;
	display:block;
	border-radius:1rem 0 0 1rem;
	writing-mode: vertical-rl;
}
.btn_contact_box li a i{
	margin-top:0.3rem;
}
.btn_contact_box li .btn_c01{
	border:solid 2px var(--pink);
	background-color:var(--pink);
}
.btn_contact_box li .btn_c02{
	border:solid 2px var(--black);
	background-color:var(--black);
}
.btn_contact_box li .btn_c01:hover{
	color:var(--pink);
}
.btn_contact_box li .btn_c02:hover{
	color:var(--black);
}
.btn_contact_box li a:hover{
	background-color:var(--white);
}
/* btn / link button */
/* arrow */
.arrow{
	width:18px;
	height:18px;
	position:absolute;
	top:50%;
	right:0;
	transform: translateY(-50%);
   -webkit-transform: translateY(-50%);
   -ms-transform: translateY(-50%);	
}
.arrow:before , .arrow:after{
	display:block;
	position:absolute;
	transition:all 0.3s;
	content:"";
}
.arrow:before{
	width:18px;
	height:18px;
	border-radius:50%;
	border:solid 1px;
}
.arrow:after{
	width:6px;
	height:6px;
	-webkit-transform: rotate(45deg);
   	transform: rotate(45deg);
	top:6px;
	right:7px;
	border-top:solid 1px;
	border-right:solid 1px;
}
/* btn01 */
.btn01{
	position:relative;
	letter-spacing:0.1rem;
	padding:0.6rem 1.8rem;
	font-size:0.9rem;
	border-radius:2rem;
	color:var(--white);
	z-index:0;
}
.btn01:before, .btn01:after{
	content:"";
	display:block;
	position:absolute;
	border-radius:2rem;
	transition:all 0.4s;
}
.btn01:before{
	left:0;
	top:0;
	width:100%;
	height:100%;
}
.btn01:after{
	left:2px;
	top:2px;
	width:calc(100% - 4px);
	height:calc(100% - 4px);
	opacity:0;
}
.btn01:before{
	background:var(--grade);
	z-index:-2;
}
.btn01:after{
	background:var(--white);
	z-index:-1;
}
.btn01 span{
	padding-left:0.5rem;
}
.btn01 span:after{
	content:"→"
}
.btn01:hover:after{
	opacity:1;
}
/* btn02 */
.btn02{
	letter-spacing:0.5rem;
	padding:0.8rem 2rem 0.8rem 2.5rem;
	border-radius:2rem;
	color:var(--white);
	background-color:var(--pink);
	border:solid 2px var(--pink);
}
.btn02:hover{
	color:var(--pink);
	background-color:var(--white);
}

/* ------------------ TOPページ ------------------ */
/* slide */
.slide_box .swiper-wrapper{
	border-radius:0 0 0 7rem;
	overflow:hidden;
}
.swiper-button-next , .swiper-button-prev , .swiper-pagination{
	display:none;
}
.slide_box .swiper-slide img{
	/*height:98vh; */
	object-fit:cover;
	object-position:left top;
}
/* お知らせ */
.news_top_box{
	padding:1.5rem 5rem;
	background-color:var(--gray01);
	position:relative;
}
.news_top_box .th01{
	position:absolute;
	top:-2rem;
	left:3rem;
	margin-bottom:0;
	z-index:0;
}

.news_top_box .news{
	margin:4rem auto 2.5rem auto;
	position:relative;
	z-index:1;
}
.news{
	margin:0 auto;
	padding:0;
}
.news_box{
	margin:0;
	padding:1rem 1.5rem;
	border-bottom:solid 1px #ffffff;
	align-items:center;
}
.newsb_l , .newsb_r , .newsb_cat{
	margin:0;
}
.newsb_l{
	width:110px;
}
.newsb_cat{
	font-size:0.8rem;
   	color:#ffffff;
   	padding:0.2rem 0.3rem 0 0.3rem;
   	width:70px;
   	text-align:center;
   	border-radius:2px;
}
.newsb_r{
	width:calc(100% - 180px);
	position:relative;
	padding-left:1rem;
}
.newsb_r a{
	display:block;
	padding-right:3em;
}
.newsb_r a .icon{
	display:block;
	position:absolute;
	top: 50%;
	right:0;
   transform: translateY(-50%);
   -webkit-transform: translateY(-50%);
   -ms-transform: translateY(-50%);	
}
.newsb_r a .icon:before , .newsb_r a .icon:after{
	content:"";
	display:block;
}
.newsb_r a .icon:before{
	background-color:#e40f85;
	border-radius:50%;
	width:24px;
	height:24px;
	position:relative;
	transition:all 0.4s;
}
.newsb_r a .icon:after{
	position:absolute;
	width:9px;
	height:9px;
	border-top:solid 2px #ffffff;
	border-right:solid 2px #ffffff;
	-webkit-transform: rotate(45deg);
   transform: rotate(45deg);
	top:8px;
	right:9px;
}
.newsb_r a:hover{
	color:var(--pink);
}
.newsb_r a:hover .icon:before{
	background-color:#333333;
}


/* ------------------ 共通ページ ------------------ */
/* ----- th ----- */
/* th01 */
.th01{
	font-size:6rem;
	white-space:nowrap;
	margin-bottom:3rem;
}
.th01_box{
	position:relative;
	padding-left:8rem;
}
.th01_th{
	font-family:var(--font);
	background:var(--grade02);
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
	position:absolute;
	left:0;
	top:7px;
}
.th01 small{
	font-weight:bold;
	letter-spacing:0.15rem;
	font-size:1.5rem;
	position:relative;
	z-index:1;
	color:var(--gray);
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}

/* ----- page-header ----- */
.page-header{
	min-height:20rem;
	overflow:hidden;
	border-radius:0 0 0 7rem;
	position:relative;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important; /* 完全に中央寄せ */
}
.page-header img{
	width:100%;
	height:100%;
	object-fit:cover;
	position:absolute;
	left:0;
	top:0;
	z-index:0;
}
.page-header-inner{
	position:relative;
	z-index:2;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(255, 204, 204, 0.45)) !important; /* 白と薄ピンクの美しいグラデーション磨りガラス */
	backdrop-filter:blur(12px) !important;
	-webkit-backdrop-filter:blur(12px) !important;
	padding:2rem 4rem !important;
	border-radius:20px !important; /* スタイリッシュなモダンカード型 */
	display:inline-block !important;
	box-shadow:0 15px 35px rgba(0,0,0,0.15) !important; /* 立体的な深いシャドウ */
	border:2px solid rgba(255, 255, 255, 0.6) !important;
	margin: 0 auto !important; /* 完全に真ん中に配置 */
	text-align: center !important;
}
h1.page-header-title{
	color:#222 !important; /* 上品な濃いグレーに変更 */
	text-align:center !important;
	font-size:2.2rem !important;
	text-shadow:none !important;
	font-weight:900 !important; /* スタイリッシュな極太ウェイト */
	margin:0 !important;
	letter-spacing: 0.15em !important; /* 文字間を広げてかっこよく */
	line-height: 1.4 !important;
}  
/* ----- breadcrumb ----- */
.breadcrumb{
	margin-top:0.5rem;
}
.breadcrumb .container{
	margin:0;
	max-width:none;
}




/* ファッション甲子園のcss */
/* book_box */
.left_book {
	width: 35%;
   position: relative;
}
.right_book {
	width: 65%;
   padding: 5em 0 0 5%;
}
/* box01 */
.box01{
	margin:1em 0;
	position:relative;
	background:url("https://f-koshien-anniversary.com/wp-content/uploads/2021/08/fashion_image.png") no-repeat right top;
	background-size:contain;
	height:47vw;
}
.about_text{
	width: 45vw;
   padding-left: 10vw;
   padding-top: 10vw;
	position:relative;
	z-index:100;
}
.about_text p{
	line-height:2em;
}
/* box02 */
.box02{
	position:relative;
	margin:5em 0;
}
.live_box{
	justify-content:center;
	-webkit-justify-content:center;
	margin-bottom:
}
.left_b{
	width:60%;
	text-align:right;
	position:relative;
	padding:5vw 0 0 10vw;
}
.left_b iframe{
	position:relative;
	z-index:1;
}
.y_movie{
	position: relative;
	padding-bottom: calc(315 / 560 * 100%);
}
.y_movie iframe {
     position: absolute;
     top: 0;
     right: 0;
     width: 100%;
     height: 100%;
}
.left_b:before{
	content:"";
	display:block;
	position:absolute;
	left:0;
	top:0;
	width:55vw;
	height:25vw;
	background-image   : radial-gradient(#474646 7%, transparent 10%),
		radial-gradient(#474646 7%, transparent 10%);
	background-position: 0 0, 8px 8px;
	background-size    : 16px 16px;
}
.right_b{
	width:40%;
	position:relative;
	padding:15vw 1vw 0 3vw;
}
.right_b:after{
	content:"";
	display:block;
	position:absolute;
	right:0;
	bottom:-2vw;
	width:55vw;
	height:25vw;
	background-color:#151616;
	z-index:0;
}
.right_btext{
	position:relative;
	z-index:1;
}
.title_day{
	font-size:2em;
	color:#ffffff;
	font-weight:normal;
	border:none;
	padding:0;
}
.title_day .small{
	font-size:0.6em;
}
.title_day:after{
	width:50%;
	border-color:#ffffff;
}
/* box03 */
.box03{
	position:relative;
	margin:5em 0;
}
.box03_box{
	padding-top:12em;
}
/* box04 */
.box04{
	position:relative;
	margin:5em 0;
}
.box04:before{
	content:"";
	display:block;
	position:absolute;
	top:5vw;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width:90vw;
	height:15vw;
	background-image   : radial-gradient(#474646 7%, transparent 10%),
		radial-gradient(#474646 7%, transparent 10%);
	background-position: 0 0, 8px 8px;
	background-size    : 16px 16px;
}
.box04 .container{
	padding-top:15vw;
	position:relative;
	z-index:2;
}
.judge_box{
	justify-content:center;
}
.j_box{
	width:25%;
	padding:0 1em;
	text-align:center;
}
.j_pink{
	color:#e62c86;
	margin-bottom:0.2em;
}
.j_name{
	color:#e62c86;
	margin:0.4em 0 0.2em 0;
	padding:0;
}
.j_name:after{
	display:none;
}
.j_kana{
	font-size:0.8em;
	margin-bottom:0.5em;
}
.j_sub{
	font-size:0.7em;
	margin-bottom:0.5em;
}
/* .box05 */
.box05{
	background-color:#151616;
	padding:5em 0 3em 0;
}
.left_c{
	width:40%;
	padding:1em 1em 1em 0;
}
.right_c{
	width:60%;
}
.f_syusai{
	color:#ffffff;
	margin-bottom:0.5em;
	font-size:1.2em;
}
.f_syusai .small{
	font-size:0.9em;
}
.f_syusai:after{
	content:"";
	display:block;
	width:88%;
	height:1px;
	border-bottom:solid 1px #ffffff;
	margin-top:0.5em;
}
.f_contact{
	color:#ffffff;
	border:none;
	margin-bottom:0.5em;
	font-size:0.8em;
}
.left_c > p{
	padding:0 1em;
	font-size:0.8em;
}
.right_c dl{
	color:#ffffff;
	display:flex;
	font-size:0.75em;
}
.right_c dt{
	width:12%;
	text-align:right;
	padding-right:1em;
	font-weight:normal;
}
.right_c dd{
	width:85%;
}
/* 各タイトル周り */
.t_img{
	overflow:hidden;
	border:none;
	color:transparent;
	width:25vw;
	height:15vw;
	position:absolute;
	top:0;
	z-index:0;
	padding:0;
}
#t_about , #t_entry{
	left:0;
}
#t_live , #t_judge{
	right:0;
}
#t_book{
	background:url("https://f-koshien-anniversary.com/wp-content/uploads/2022/06/t_book01.png") no-repeat left top;
	background-size:contain;
	width:28vw;
}
#t_about{
	background:url("https://f-koshien-anniversary.com/wp-content/uploads/2021/08/t_about.png") no-repeat left top;
	background-size:contain;
	width:38vw;
}
#t_live{
	background:url("https://f-koshien-anniversary.com/wp-content/uploads/2021/08/t_live.png") no-repeat right top;
	background-size:contain;
	z-index:1;
}
#t_entry{
	background:url("https://f-koshien-anniversary.com/wp-content/uploads/2021/08/t_entry.png") no-repeat left top;
	background-size:contain;
	width:28vw;
}
#t_judge{
	background:url("https://f-koshien-anniversary.com/wp-content/uploads/2021/08/t_judge.png") no-repeat right top;
	background-size:contain;
	width:35vw;
}
/* footer */
.fb_a{
	width:60%;
	color:#e62c86;
}
.fb_b{
	width:15%;
}
.fb_c{
	width:25%;
}
 .fb_b , .fb_c{
	 padding-left:3em;
	 position:relative;
}
 .fb_b a , .fb_c a{
	color:#e62c86;
}
 .fb_b i , .fb_c i{
	font-size:2em;
	 position:absolute;
	 top:50%;
	 left:0;
	 transform: translateY(-50%);
	 -webkit-transform: translateY(-50%);
	 -ms-transform: translateY(-50%);
}
 .fb_b a:hover , .fb_c a:hover{
	color:rgba(230,44,130,0.6);
	 transition:all 0.4s;
}
/* mobile_menu周り */
.vk-mobile-nav{
	background-color:var(--black);
	padding-left:1rem;
	padding-right:1rem;
}
.vk-mobile-nav-menu-outer{
	background-color:#fff;
}
.vk-mobile-nav nav>ul , .vk-mobile-nav .widget_nav_menu ul li a, .vk-mobile-nav nav ul li a{
	border-color:var(--black);
}
.vk-mobile-nav nav ul li a{
	padding-left:1rem;
}

/* ============================  個別相談フォーム用スタイル  ============================ */

/* ラジオボタンを横並びにする（区分など） */
.ba-form .mwform-radio-field,
.ba-form .mwform-checkbox-field {
    display: inline-block !important;
    margin-right: 25px;
    margin-bottom: 10px;
}

/* ラベルの間隔を整える */
.ba-form .mwform-radio-field label,
.ba-form .mwform-checkbox-field label {
    display: inline-block;
    margin-left: 5px;
}

/* 必須マーク（.hissu）を赤く強制 */
.ba-form .hissu {
    color: #ff0000 !important;
    font-weight: normal;
}

/* ラベル内の他の要素の色上書き対策 */
.ba-form label .hissu {
    color: #ff0000 !important;
}

/* ★ フォーム全体を中央寄せ、幅を整える */
.ba-form {
    max-width: 900px; /* お好みで 800〜1000px でもOK */
    margin: 0 auto;   /* ← 中央寄せ */
    padding: 20px;
    color: #000 !important; /* 白文字を強制カット */
}

/* ★ 全ての文字は黒に強制 */
.ba-form * {
    color: #000 !important;
}

/* ★ flex ボックスを有効化（テーマ側に上書きされてたので強制） */
.ba-form .flex_box {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px;
    margin-top: 15px;
}

/* ★ 2カラム（50%） */
.ba-form .w50 {
    width: calc(50% - 10px) !important; 
}

/* ★ スマホでは縦並び */
@media screen and (max-width: 768px) {
    .ba-form .w50 {
        width: 100% !important;
    }
}

/* ★ input, select, textarea を幅100%に */
.ba-form input[type="text"],
.ba-form input[type="email"],
.ba-form select,
.ba-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

/* ★ ラベルの見やすさ */
.ba-form label {
    font-weight: bold;
    margin-top: 15px;
    display: block;
}

/* ★ 送信ボタンの見た目 */
.ba-form input[type="submit"] {
    background: #0066cc;
    color: #fff !important;
    padding: 10px 25px;
    margin-top: 20px;
    border: none;
    border-radius: 4px;
    font-size: 1.1rem;
    cursor: pointer;
}

.ba-form input[type="submit"]:hover {
    opacity: 0.9;
}

.ba-form,
.ba-form * {
    color: #000 !important;
}

.ba-form {
    color: #000;
    font-size: 1rem;
}

/* 見出し */
.ba-form .course_h4.h4_de {
    margin-bottom: 1em;
}

/* 必須表示 */
.ba-form .hissu {
    font-size: 0.9em;
    color: #d00;
    margin-left: 0.3em;
}

/* ラベル */
.ba-form label {
    display: block;
    font-weight: 600;
    margin: 0.8em 0 0.3em;
}

/* 説明テキスト */
.ba-form p {
    margin: 0.4em 0;
}

/* 小さい赤文字注意書き */
.ba-form .red_s {
    color: #d00;
    font-size: 0.85rem;
}

/* 入力フォーム */
.ba-form input[type="text"],
.ba-form input[type="email"],
.ba-form textarea,
.ba-form select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.4em 0.6em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 0.95rem;
}

/* フレックスレイアウト：2カラム（名前/ふりがな・電話/メール） */
.ba-form .flex_box {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    margin-top: 0.5em;
}

.ba-form .flex_box .w50 {
    width: 48%;
}

@media screen and (max-width: 768px) {
    .ba-form .flex_box .w50 {
        width: 100%;
    }
}

/* チェックボックス・ラジオの間隔 */
.ba-form input[type="checkbox"],
.ba-form input[type="radio"] {
    margin-right: 0.3em;
}

/* 送信ボタン */
.ba-form input[type="submit"],
.ba-form input.mwform_submit,
.ba-form input[name="送信"] {
    margin-top: 1.5em;
    padding: 0.6em 2.5em;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    background-color: #0074c2;
    color: #fff;
}

.ba-form input[type="submit"]:hover,
.ba-form input.mwform_submit:hover,
.ba-form input[name="送信"]:hover {
    opacity: 0.9;
}

/* ----- 20260517追加　web出願エントリー ----- */
/* ultimate member */
.p15 , .logout_text , .um-editing{
	padding-left:1.5rem;
	padding-right:1.5rem;
}
.web_entry_box{
	padding: 2rem 3rem 3rem;
	margin:2rem;
	border-radius: 5px;
	background-color:#ffcccc !important;
}
h2.base_h2 {
	color:#d0006f;
	font-size: 1.6rem;
}
h2.course_h2 {
	color: #222;
    margin: 0 0 1rem;
    border: none;
    font-size: 1.5rem;
    line-height: 1.5rem;
	padding:0;
}
.web_entry_box p {
	margin: 0;
    padding: 3.5%;
    background-color: #ffffff;
	border-radius: 5px;
}
ul.course_list {
	list-style-type:none;
	margin:0;
    padding:2% 3% 2% 3rem;
    background-color:#ffffff;
    border-radius:5px;
}
ul.course_list li {
	position: relative;
}
ul.course_list li::before {
	content: "■";
	font-size:1.5rem;
	padding-right: 0.3rem;
	position: absolute;
	left:-1.8rem;
	top:-0.35rem;
	color:#ffcccc;
}
/* mw wp form / エントリーシート */
.p1{
	padding-right:1rem;
	padding-left:1rem;
}
.entry_h4{
	font-size: 1.1rem;
    color: #ffffff;
	padding:0.5rem 0.5rem 0.3rem 0.5rem;
    border-radius: 4px;
	margin-top:2rem;
	background-color:#EA651E;
	letter-spacing:0.2rem;
}
.entry_box input{
	margin-top:0 !important;	
}
.entry_box input[type="text"] , .entry_box input[type="number"] , .entry_box input[type="tel"]{
	width:auto;
	max-width:100%;
	display:inline-block;
}
.mw_wp_form input:read-only , .mw_wp_form input:read-only:focus{
    outline: none;
    cursor: default;
	box-shadow:none;
	border-color:rgba(0,0,0,0.2);
}
.hissu_r_box , .entry_box p > label{
	position:relative;
	line-height:2rem;
	font-weight:bold;
	font-size:1rem;
}
.hissu_r{
	font-size:70%;
	line-height:1rem;
	font-weight:normal;
	color:#ffffff;
	background-color:#E00020;
	padding:0.2rem 0.4rem;
	border-radius:0.2rem;
	position:absolute;
	display:block;
	bottom:2px;
	right:-3rem;
}
.hissu_b{
	color:var(--pink);
	font-weight:bold;
	font-size:0.85rem;
}
article.doui{
	padding:20px 40px;
	background-color:#ffcccc !important;
	margin:2rem 1rem;
}
.doui_inner {
	width: 100%;
   	height: 16rem;
   	padding: 20px 15px 10px;
   	background: #fff;
   	border-radius: 3px;
	overflow: auto;
   	resize: vertical;
}
.doui_inner p{
	font-size:0.85rem;
}
article.doui h4 {
	border-bottom: solid 2px #242424;
	margin: 1rem 0.2rem;
	font-size:1.3rem;
}
p.doui_check {
	margin: 1.5rem 0 1rem;
}
p.doui_check input {
	font-weight:bold;
}

/* Web出願フォーム専用の送信ボタン・戻るボタンの新規デザイン */
.btn_base {
	display: inline-block !important;
	padding: 15px 45px !important;
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	border-radius: 50px !important;
	transition: all 0.3s ease !important;
	cursor: pointer !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
	letter-spacing: 0.1em !important;
	margin: 10px !important;
	text-decoration: none !important;
}

/* 送信ボタン (入力内容を確認する・送信する) */
.btn_form {
	background: linear-gradient(135deg, #ffcccc 0%, #ffb3b3 100%) !important; /* 淡いピンクの美しいグラデーション */
	color: #222 !important; /* 読みやすい濃い色 */
	border: 2px solid #ffcccc !important;
}

.btn_form:hover {
	background: linear-gradient(135deg, #ffe6e6 0%, #ffcccc 100%) !important; /* ホバーでふんわり明るく */
	color: #222 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 25px rgba(255, 204, 204, 0.5) !important; /* ピンクの淡いシャドウ */
}

.btn_form:active {
	transform: translateY(1px) !important;
}

/* 戻るボタン */
.btn_back {
	background: #ffffff !important;
	color: #666 !important;
	border: 2px solid #e0e0e0 !important;
}

.btn_back:hover {
	background: #f5f5f5 !important;
	color: #333 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08) !important;
}

/* ------------------------ Responsive ------------------------ */
@media screen and (max-width: 1199.98px){
	.box05_box{
		flex-wrap:wrap;
		-webkit-flex-wrap:wrap;
	}
	.left_c , .right_c{
		width:100%;
	}
	.about_text{
		padding-left:7vw;
	}
	.f_syusai{
		font-size:1.1em;
	}
	.left_c{
		padding-right:0;
	}
	
	
	/* news / お知らせ */
	.newsb_r{
		width:100%;
		padding:0.3rem 0 0 0;
	}
	
}
@media screen and (max-width:991.98px){
	/* header部分との調整 */
	.slide_box , .page-header , .breadcrumb , .site-body , .site-footer{
		padding-left:0;
	}
	/* header */
	#site-header{
		height:auto;
		background-color:transparent;
	}
	#global-nav{
		display:none;
	}
	/* page-header */
	.page-header{
		margin:0;
	}
	
	
	
	.about_text{
		width:50vw;
	}
	.box03_box{
		padding-top:8em;
	}
	.fb_a{
		width:45%;
	}
	.fb_b{
		width:20%;
	}
	.fb_c{
		width:35%;
	}
}
@media screen and (max-width:767.98px){
	#global-nav{
		display:none;
	}
	/* flex_box */
	.live_box , .judge_box , .right_c dl , .footer_box{
		flex-wrap:wrap;
		-webkit-flex-wrap:wrap;
	}
	.left_b , .right_b , .j_box , .right_c dt , .right_c dd , .fb_a , .fb_b , .fb_c{
		width:100%;
	}
	.site_body_box{
		padding-top:5em;
		background-repeat:repeat-y;
		background-size:contain;
	}
	/* book_box */
	.book_box {
		display:block;
	}
.left_book {
	width: 80%;
   margin: 0 10%;
}
.right_book {
	width: 80%;
   padding: 3em 0 0 0;
   margin: 0 10%;
	text-align: center;
}
	/* box01 */
	.box01{
		height:100%;
		background:url("https://f-koshien-anniversary.com/wp-content/uploads/2021/08/fashion_image.png") no-repeat center bottom;
		background-size:contain;
		padding-bottom:78vw;
	}
	.about_text{
		width:100%;
		padding-top:5em;
	}
	/* box02 */
	.box02{
		margin:3em 0;
		padding-top:7em;
	}
	.left_b{
		padding:5vw 0 0 0;
	}
	.right_btext{
		text-align:center;
	}
	.title_day:after{
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
	.right_b{
		padding:7vw 5vw 5vw 5vw;
		background-color:#151616;
	}
	.right_b:after{
		display:none;
	}
	/* box03 */
	/* box04 */
	.box04 .container{
		padding-top:10em;
	}
	.j_box{
		margin-bottom:3em;
	}
	/* box05 */
	.left_c{
		text-align:center;
	}
	.f_syusai:after{
		margin:0.5em auto 0 auto;
	}
	.right_c dt{
		text-align:center;
	}
	.right_c dd{
		font-size:0.7em;
		text-align:center;
	}
	/* 各タイトル周り */
	#t_about , #t_live , #t_entry , #t_judge,#t_book {
		max-width:300px;
		width:100%;
		right:auto;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
	#t_live{
		max-width:200px;
	}
	
	
	/* th01 */
	.th01{
		width:calc(100% - 8rem);
		text-align:center;
	}
	/* news / お知らせ */
	.news_top_box .th01{
		left:0;
	}
	.news_top_box{
		padding:1.5rem 2rem;
	}
	/* お問合せ /　資料請求 */
	.btn_contact_box{
		display:flex;
		display:-webkit-flex;
		justify-content:center;
		align-items:flex-end;
		right:inherit;
		left:0;
		bottom:0;
		width:100%;
		padding:0 0.3rem;
	}
	.btn_contact_box li{
		min-width:110px;
		margin:0 1%;
	}
	.btn_contact_box li a{
		writing-mode:horizontal-tb;
		padding:0.7rem 1rem;
		border-radius:1rem 1rem 0 0;
	}
	.btn_contact_box li a i{
		margin:0 0 0 0.3rem;
	}
	/* ----------- footer ----------- */
	.footer_top_th{
		width:100%;
		margin-right:0;
	}
	.footer_top_td{
		width:48%;
	}
	.site-footer-content{
		border:none;
	}
	.site-footer-content .row > div:not(:last-child) .widget_nav_menu{
		margin-bottom:1rem;
	}
	.widget_nav_menu .site-footer-title{
		border-bottom:solid 1px #fff;
	}
	.widget_nav_menu div ul li a{
		display:block;
	}
	.copy{
		padding-bottom:4rem;
	}
	/* page-header */
	.page-header{
		min-height:15rem;
	}
	h1.page-header-title{
		font-size:1.5rem;
	}
	/* w50 */
	.w50{
		width:98%;
		margin:0 1% 2rem 1%;
	}
}
@media screen and (max-width:499.98px){
	.site_body_box{
		padding-top:0;
	}

}

/* 資料請求 */

:root {
    --primary-color: #ffcccc;
    /* Hot Pink -> Pale Pink */
    --secondary-color: #00d2ff;
    /* Cyan */
    --bg-color: #1a0b2e;
    /* Deep Purple */
    --card-bg: rgba(255, 255, 255, 0.95);
    --text-color: #333;
    --accent-yellow: #fff100;
}

.form-container {
    max-width: 800px;
    margin: 0 auto;
    background: var(--card-bg);
    padding: 60px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    position: relative;
    overflow: hidden;
}

/* Decorative top bar */
.form-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 10px;
    background: linear-gradient(90deg, var(--primary-color), var(--secondary-color), var(--accent-yellow));
}

.course_h4 {
    font-size: 2rem;
    font-weight: 900;
    color: #d0006f; /* 濃いピンクにして文字の視認性を確保 */
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: 0.1em;
    border-bottom: 3px solid var(--primary-color); /* アンダーラインを #ffcccc に */
    display: inline-block;
    padding-bottom: 10px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.form-intro {
    font-size: 0.95rem;
    margin-bottom: 40px;
    background: #f4f4f4;
    padding: 20px;
    border-radius: 10px;
    border-left: 5px solid var(--primary-color);
}

.required-mark {
    background: #ff4444;
    /* Bright Red for high visibility */
    color: #ffffff;
    font-weight: bold;
    font-size: 0.8rem;
    padding: 3px 8px;
    border-radius: 4px;
    margin-right: 8px;
    vertical-align: text-bottom;
    display: inline-block;
    line-height: 1;
}

.form-row {
    margin-bottom: 30px;
}

/* Label styling - Wrapper logic */
.form-row label {
    display: block;
    font-weight: 700;
    font-size: 1.1rem;
    color: #000;
    line-height: 1.8;
}

.hissu,
.note,
.block-note {
    font-size: 0.8rem;
    font-weight: normal;
    background: #eee;
    padding: 2px 8px;
    border-radius: 4px;
    margin-left: 10px;
    color: #666;
}

/* Inputs */
/* Since inputs are now inside labels (for text) or siblings (if shortcode expands), 
   we target inputs generally within the form-row */

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
    width: 100%;
    padding: 15px;
    border: 2px solid #ddd;
    border-radius: 8px;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: #fff;
    box-sizing: border-box;
    margin-top: 10px;
    /* Space from text label */
    display: block;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
textarea:focus {
    border-color: var(--secondary-color);
    box-shadow: 0 0 0 4px rgba(0, 210, 255, 0.1);
    outline: none;
}

/* Radios and Checkboxes - likely rendered as separate elements by MW WP Form shortcode */
/* The shortcode usually outputs input+label pairs. 
   If we wrap the SHORTCODE in a label, we might get nested labels or invalid HTML if not careful.
   But user insists on [mwform] inside label.
   If mwform outputs <label><input>...</label>, then we have <label>...<label>...</label></label>.
   Standard MW WP Form radio shortcode outputs:
   <span class="mwform-radio-field ...">
     <label><input type="radio" ...> Text</label>
   </span>
   If this is inside a parent label, strictly speaking it's invalid HTML (interactive content inside label).
   BUT, browsers often handle it. 
   However, styling: */

/* We target the spans generated by MW WP Form inside our .form-row label */
.form-row label>span.mwform-radio-field,
.form-row label>span.mwform-checkbox-field-text {
    font-weight: normal;
    background: #fff;
    border: 2px solid #ddd;
    padding: 10px 20px;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    margin: 5px 10px 5px 0;
}

/* Hover effects for generated labels */
.form-row label>span.mwform-radio-field:hover,
.form-row label>span.mwform-checkbox-field-text:hover {
    border-color: var(--secondary-color);
    background: #f0fbff;
}

.form-row label>span input {
    margin-right: 8px;
    margin-top: 0;
    /* Reset global input margin */
    width: auto;
    display: inline-block;
}

/* Address special handling */
.bg-zip {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    font-weight: normal;
}

.bg-zip input {
    width: 100px !important;
    /* Force width for zip */
    margin-top: 0;
    text-align: center;
    display: inline-block;
}

/* Submit Button */
.form-actions {
    text-align: center;
    margin-top: 50px;
}

/* MW WP Form submit button is <input type="submit"> */
.confirm-button {
    background: linear-gradient(45deg, var(--primary-color), #ff6b6b);
    color: white;
    font-size: 1.5rem;
    font-weight: 900;
    border: none;
    padding: 20px 80px;
    border-radius: 50px;
    cursor: pointer;
    letter-spacing: 0.1em;
    width: auto;
}


/* Responsive */
@media (max-width: 600px) {
    .form-container {
        padding: 30px 20px;
        width: 90%;
    }

    .bg-zip {
        flex-wrap: wrap;
    }

    .bg-zip input {
        width: 80px !important;
    }
}

/* 　　　コース紹介ページ　　　 */

.course-guide-wrapper {
    background-color: #ffffff !important;
    background-image:
        radial-gradient(circle at 5% 10%, rgba(255, 183, 197, 0.15) 0%, transparent 20%),
        radial-gradient(circle at 95% 90%, rgba(0, 210, 255, 0.1) 0%, transparent 20%) !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    color: #333 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.8 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Header */
.course-guide-wrapper .page-header {
    text-align: center !important;
    padding: 80px 20px 40px !important;
    background: #fff !important;
}

.course-guide-wrapper .main-title {
    font-size: 3rem !important;
    font-weight: 900 !important;
    margin: 0 !important;
    color: #d0006f !important; /* 視認性の良い濃いピンクに変更 */
    letter-spacing: 0.1em !important;
    line-height: 1.2 !important;
}

.course-guide-wrapper .sub-title {
    font-size: 1.2rem !important;
    color: #ffcccc !important; /* #ffcccc に統一 */
    letter-spacing: 0.3em !important;
    margin-top: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

/* Course Sections */
.course-guide-wrapper .course-section {
    margin-bottom: 80px !important;
}

/* Hero Images */
.course-guide-wrapper .hero-image-box {
    width: 100% !important;
    height: 400px !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    margin-bottom: -60px !important;
    /* Overlap effect */
    z-index: 1 !important;
}

.course-guide-wrapper .hero-img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 0 !important;
}

.course-guide-wrapper .hero-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(255, 255, 255, 0.2) !important;
    z-index: 1 !important;
    backdrop-filter: blur(2px) !important;
}

.course-guide-wrapper .course-title-box {
    position: relative !important;
    z-index: 2 !important;
    text-align: center !important;
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(5px) !important;
    padding: 20px 40px !important;
    border-radius: 50px !important;
    box-shadow: 0 10px 30px rgba(255, 204, 204, 0.3) !important; /* #ffcccc に基づく影 */
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
}

.course-guide-wrapper .course-title {
    font-size: 2.5rem !important;
    color: #d0006f !important; /* 濃いピンクで視認性確保 */
    margin: 0 !important;
    font-family: 'Zen Kaku Gothic New', sans-serif !important;
    line-height: 1.2 !important;
}

.course-guide-wrapper .course-detail {
    font-size: 1.1rem !important;
    color: #666 !important;
    margin-top: 5px !important;
    font-weight: bold !important;
}

/* Content Container */
.course-guide-wrapper .content-container {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    position: relative !important;
    z-index: 3 !important;
}

/* Feature Block */
.course-guide-wrapper .feature-block {
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid #ffeef2 !important;
    padding: 80px 60px 50px !important;
    /* Top padding to clear overlap */
    border-radius: 20px !important;
    text-align: center !important;
    margin-bottom: 50px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05) !important;
}

.course-guide-wrapper .section-heading {
    display: inline-block !important;
    font-size: 1.4rem !important;
    color: #d0006f !important; /* 濃いピンクで視認性確保 */
    border-bottom: 2px solid #ffcccc !important; /* #ffcccc に統一 */
    padding-bottom: 10px !important;
    margin-bottom: 30px !important;
    font-weight: bold !important;
}

.course-guide-wrapper .lead-text {
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    line-height: 1.8 !important;
    margin-bottom: 25px !important;
    color: #333 !important;
    display: block !important;
}

.course-guide-wrapper .desc-text {
    font-size: 1rem !important;
    color: #666 !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    text-align: left !important;
    line-height: 1.9 !important;
}

/* Grid Layout */
.course-guide-wrapper .info-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
}

.course-guide-wrapper .grid-item {
    background: #fff !important;
    border-radius: 20px !important;
    padding: 40px !important;
    color: #333 !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03) !important;
    border: 1px solid #f0f0f0 !important;
}

.course-guide-wrapper .grid-title {
    font-size: 1.3rem !important;
    color: #333 !important;
    border-left: 4px solid #ffcccc !important; /* #ffcccc に統一 */
    padding-left: 15px !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    font-weight: bold !important;
}

.course-guide-wrapper .mt-large {
    margin-top: 40px !important;
}

/* Lists */
.course-guide-wrapper ul {
    padding-left: 0 !important;
    list-style: none !important;
    margin: 0 !important;
}

/* Icon List (Curriculum) */
.course-guide-wrapper .icon-list li {
    padding: 12px 0 !important;
    border-bottom: 1px solid #f9f9f9 !important;
    padding-left: 18px !important;
    position: relative !important;
    color: #555 !important;
    text-align: left !important;
    font-size: 0.95rem !important;
}

.course-guide-wrapper .icon-list li::before {
    content: '◇' !important;
    /* Diamond symbol for elegance */
    color: #ffb7c5 !important;
    position: absolute !important;
    left: 0 !important;
    font-size: 0.8em !important;
    top: 15px !important;
}

/* Box List (Professions) */
.course-guide-wrapper .box-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.course-guide-wrapper .box-list li {
    background: #fff0f5 !important;
    /* Very light pink */
    padding: 8px 15px !important;
    border-radius: 50px !important;
    /* Rounded pill style */
    font-size: 0.9rem !important;
    color: #d0006f !important; /* 濃いピンクで視認性確保 */
    margin: 0 !important;
    border: 1px solid #ffcccc !important; /* #ffcccc に統一 */
}

/* Badge List (Qualifications) */
.course-guide-wrapper .badge-list li {
    padding: 6px 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    color: #444 !important;
    text-align: left !important;
    font-size: 0.95rem !important;
}

.course-guide-wrapper .badge-list li::before {
    content: '✔' !important;
    color: #00d2ff !important;
    /* Cyan accent for qualifications */
    margin-right: 10px !important;
    font-weight: bold !important;
}

/* Responsive */
@media (max-width: 768px) {
    .course-guide-wrapper .info-grid {
        grid-template-columns: 1fr !important;
    }

    .course-guide-wrapper .course-title {
        font-size: 2rem !important;
    }

    .course-guide-wrapper .lead-text {
        font-size: 1.2rem !important;
    }

    .course-guide-wrapper .feature-block {
        padding: 60px 20px 40px !important;
    }

    .course-guide-wrapper .course-title-box {
        width: 80% !important;
        padding: 15px 20px !important;
    }
}

/* Header */
.course-guide-wrapper .page-header {
    text-align: center !important;
    padding: 80px 20px 40px !important;
    background: #fff !important;
}

.course-guide-wrapper .main-title {
    font-size: 3rem !important;
    font-weight: 900 !important;
    margin: 0 !important;
    color: #e6007e !important;
    letter-spacing: 0.1em !important;
    line-height: 1.2 !important;
}

.course-guide-wrapper .sub-title {
    font-size: 1.5rem !important;
    color: #ff99cc !important;
    letter-spacing: 0.1em !important;
    margin-top: 15px !important;
    font-weight: 700 !important;
}

.course-guide-wrapper .header-badge-box {
    margin-top: 20px !important; /* 上に20pxの余白を追加 */
}

.course-guide-wrapper .badge-national-qual {
    display: inline-block !important;
    background: #fff !important;
    color: #333 !important;
    border: 2px solid #333 !important;
    padding: 4px 15px !important;
    font-size: 1rem !important;
    font-weight: bold !important;
    line-height: 1 !important;
}

/* 通信課程・修得者課程のカリキュラム詳細用スタイル */
.course-guide-wrapper .curriculum-detail .sub-heading {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #333 !important;
    border-left: 4px solid #ffb7c5 !important;
    padding-left: 10px !important;
    margin-bottom: 10px !important;
    margin-top: 30px !important;
}

.course-guide-wrapper .curriculum-detail .sub-heading:first-child {
    margin-top: 0 !important;
}

.course-guide-wrapper .curriculum-detail .text-content {
    font-size: 0.95rem !important;
    line-height: 1.8 !important;
    color: #555 !important;
    margin-bottom: 0 !important;
}

/* 写真上の自動タイトルだけ消す */
.page-id-158 .page-header > div > h1 {
    display: none !important;
}

.page-id-186 .page-header > div > h1 {
    display: none !important;
}

.page-id-190 .page-header > div > h1 {
    display: none !important;
}

.page-id-253 .page-header > div > h1 {
    display: none !important;
}


/* Hide Default WordPress Page Titles (div only, keeping custom header tag) */
.page-id-158 div.page-header,
.page-id-186 div.page-header,
.page-id-190 div.page-header,
.page-id-253 div.page-header {
    display: none !important;
}

.page-id-158 div.page-header .page-header-title,
.page-id-186 div.page-header .page-header-title,
.page-id-190 div.page-header .page-header-title,
.page-id-253 div.page-header .page-header-title {
    display: none !important;
}


@charset "utf-8";

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&display=swap");

/* ------------------------------------------------------------------- */
/* オープンキャンパス用のスタイル                                       */
/* ------------------------------------------------------------------- */
.opencampus-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    padding: 4rem 1.5rem;
    font-family: inherit;
    color: var(--black, #222);
}

.opencampus-title {
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 2.5rem;
    color: var(--black, #222);
    position: relative;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
    padding-bottom: 0.8rem;
}

.opencampus-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: var(--grade, linear-gradient(90deg, #8b5cf6, #eb22f0));
    border-radius: 3px;
}

.opencampus-table-container {
    overflow-x: auto;
    margin-bottom: 3.5rem;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.04);
    padding: 1.5rem;
}

.opencampus-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 700px;
}

.opencampus-table th,
.opencampus-table td {
    padding: 16px 20px;
    vertical-align: middle;
    line-height: 1.6;
    border: none;
    border-bottom: 1px solid #f0f0f0;
}

.opencampus-table tbody tr:last-child td {
    border-bottom: none;
}

.opencampus-table th {
    font-weight: bold;
    text-align: center;
    background-color: var(--pink, #ed1e79);
    color: #fff;
    font-size: 1.05rem;
    letter-spacing: 0.05em;
}

.opencampus-table th:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}
.opencampus-table th:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

.opencampus-table tbody tr {
    transition: background-color 0.3s ease;
}

.opencampus-table tbody tr:hover {
    background-color: #fff5f8;
}

.opencampus-table td.date-col,
.opencampus-table td.time-col {
    text-align: center;
    white-space: nowrap;
}

.opencampus-table td.event-col {
    text-align: left;
}

.event-desc {
    display: inline-block;
    padding-left: 0;
    margin-top: 0.3rem;
    font-size: 0.9rem;
    color: #666;
}

.opencampus-schedule-details {
    max-width: 100%;
    margin: 0;
    background: #fafafa;
    padding: 2rem;
    border-radius: 12px;
}

.schedule-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
}

.schedule-item {
    display: flex;
    align-items: center;
    width: 50%;
    box-sizing: border-box;
    padding: 0.8rem 1.5rem;
    line-height: 1.8;
}

.schedule-item dt {
    font-weight: bold;
    color: var(--pink, #ed1e79);
    width: 5em;
    min-width: 5em;
    font-size: 1rem;
    text-align: left;
}

.schedule-item dd {
    margin: 0;
    color: var(--black, #222);
    font-size: 1rem;
}

.event-link {
    color: var(--black, #222);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.3s ease;
    font-weight: bold;
}

.event-link::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 2px solid var(--pink, #ed1e79);
    border-right: 2px solid var(--pink, #ed1e79);
    transform: rotate(45deg);
    margin-left: 0.6rem;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.event-link:hover {
    color: var(--pink, #ed1e79);
}

.event-link:hover::after {
    transform: rotate(45deg) translate(2px, -2px);
}

@media screen and (max-width: 767px) {
    .opencampus-wrapper          { padding: 2rem 1rem; }
    .opencampus-title            { font-size: 1.3rem; margin-bottom: 1.5rem; }
    .opencampus-table-container  { padding: 1rem; border-radius: 8px; }
    .opencampus-table th,
    .opencampus-table td         { padding: 12px 10px; font-size: 0.95rem; }
    .opencampus-table td.date-col,
    .opencampus-table td.time-col { white-space: normal; }
    .opencampus-schedule-details { padding: 1.5rem 1rem; }
    .schedule-list               { flex-direction: column; }
    .schedule-item               { width: 100%; padding: 0.5rem 1rem; }
}

/* ------------------------------------------------------------------- */
/* スライダー SP対応                                                    */
/* ------------------------------------------------------------------- */
@media (max-width: 767px) {
  .veu_slider,
  .vk_slider,
  .swiper,
  .swiper-wrapper,
  .swiper-slide                { height: auto !important; }
  .veu_slider .slide-item,
  .vk_slider .slide-item,
  .swiper-slide                { background-position: center center !important; background-size: contain !important; background-repeat: no-repeat !important; }
  .veu_slider img,
  .vk_slider img,
  .swiper-slide img            { width: 100% !important; height: auto !important; object-fit: contain !important; object-position: center center !important; }
}

/* ------------------------------------------------------------------- */
/* 通信 Web出願ガイド（wag-wrap）                                       */
/* ------------------------------------------------------------------- */
.wag-wrap {
  --rose:        #d95f5f;
  --rose-light:  #ffcccc;
  --rose-pale:   #fff0f0;
  --rose-dark:   #a33030;
  --text-dark:   #2a0a0a;
  --text-mid:    #5c3030;
  --text-light:  #a06060;
  --bg:          #FFFFFF;
  --bg-sec:      #fff5f5;
  --border:      rgba(210, 80, 80, 0.22);

  max-width: 800px;
  margin: 0 auto;
  padding: 0 1.5rem;
  box-sizing: border-box;
}

/* 通信課程グリーン上書き */
.wag-wrap.theme-tsushin {
  --rose:        #6cc7b6;
  --rose-light:  #b2e0d9;
  --rose-pale:   #e8f5f2;
  --rose-dark:   #318172;
  --text-dark:   #1a2e2a;
  --text-mid:    #2d5a50;
  --text-light:  #6cc7b6;
  --bg-sec:      #f3f9f8;
  --border:      rgba(49, 129, 114, 0.22);
}


.wag-wrap {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 1.5rem;
  box-sizing: border-box;
}
.btn-tuusin .wp-block-button__link,
.btn-tuusin.wp-block-button__link {
  background-color: #318172 !important;
  border-color:     #318172 !important;
  color:            #ffffff !important;
}

.btn-tuusin .wp-block-button__link:hover,
.btn-tuusin.wp-block-button__link:hover {
  background-color: #6cc7b6 !important;
  border-color:     #6cc7b6 !important;
}
.wag-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--text-light);
  margin-bottom: 0.75rem;
  letter-spacing: 0.05em;
}
.wag-breadcrumb a       { color: var(--text-light); text-decoration: none; }
.wag-breadcrumb a:hover { color: var(--rose); }

.wag-hero {
  background: var(--rose-pale);
  border: 0.5px solid var(--rose-light);
  border-radius: 16px;
  padding: 3rem 2.5rem 2.5rem;
  margin-bottom: 3rem;
  position: relative;
  overflow: hidden;
}
.wag-hero::before {
  content: '';
  position: absolute;
  top: -50px; right: -50px;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: var(--rose-light);
  opacity: 0.45;
}
.wag-hero::after {
  content: '';
  position: absolute;
  bottom: -40px; left: 30px;
  width: 120px; height: 120px;
  border-radius: 50%;
  background: var(--rose-light);
  opacity: 0.3;
}
.wag-hero-badge {
  display: inline-block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  color: var(--rose);
  border: 0.5px solid var(--rose);
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 1.25rem;
  text-transform: uppercase;
  position: relative;
}
.wag-hero h1 {
  font-family: 'Cormorant Garamond', sans-serif;
  font-weight: 700;
  font-size: 32px;
  color: var(--rose-dark);
  line-height: 1.5;
  margin-bottom: 0.75rem;
  position: relative;
}
.wag-hero-sub {
  font-size: 14px;
  color: var(--text-mid);
  line-height: 1.9;
  position: relative;
}
.wag-hero-accent {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 18px;
  color: var(--rose);
  display: block;
  margin-top: 0.75rem;
  font-weight: 300;
}

.wag-section-label      { display: flex; align-items: center; gap: 14px; margin-bottom: 1.5rem; }
.wag-section-label-line { flex: 1; height: 0.5px; background: linear-gradient(to right, var(--rose-light), var(--border)); }
.wag-section-label-line.right { background: linear-gradient(to left, var(--rose-light), var(--border)); }
.wag-section-label-text { font-family: 'Noto Sans JP', sans-serif; font-size: 18px; letter-spacing: 0.2em; color: var(--rose); white-space: nowrap; }

.wag-section { margin-bottom: 3rem; }

.wag-merit-list         { list-style: none; display: flex; flex-direction: column; padding: 0; margin: 0; }
.wag-merit-list li      { display: flex; align-items: baseline; gap: 12px; padding: 0.85rem 0; border-bottom: 0.5px solid var(--border); font-size: 14px; color: var(--text-mid); line-height: 1.7; }
.wag-merit-list li:first-child { border-top: 0.5px solid var(--border); }
.wag-merit-bullet       { font-size: 20px; color: var(--rose); flex-shrink: 0; line-height: 1; }

.wag-flow-steps         { display: flex; align-items: flex-start; margin-bottom: 1.5rem; overflow-x: auto; padding-bottom: 8px; }
.wag-flow-step          { display: flex; flex-direction: column; align-items: center; min-width: 90px; flex: 1; }
.wag-flow-step-inner    { display: flex; align-items: center; width: 100%; }
.wag-flow-dot           { width: 40px; height: 40px; background: var(--bg); border: 1.5px solid var(--rose); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: var(--rose); flex-shrink: 0; font-family: 'Noto Sans JP', sans-serif; text-decoration: none; }
.wag-flow-dot:hover     { background: var(--rose); color: white; }
.wag-flow-dot.active    { background: var(--rose); color: white; }
.wag-flow-line          { flex: 1; height: 0.5px; background: var(--rose); opacity: 0.3; }
.wag-flow-label         { font-size: 11px; color: var(--text-mid); text-align: center; margin-top: 8px; padding: 0 4px; line-height: 1.4; letter-spacing: 0.02em; }
.wag-flow-note          { background: var(--bg); border-radius: 0 12px 12px 0; border-left: 2px solid var(--rose); padding: 1rem 1.25rem; font-size: 13px; color: var(--text-mid); line-height: 1.9; }

.wag-step-card          { background: var(--bg); border: 0.5px solid var(--border); border-radius: 16px; overflow: hidden; margin-bottom: 1.25rem; transition: box-shadow 0.2s; scroll-margin-top: 1rem; }
.wag-step-card:hover    { box-shadow: 0 4px 20px rgba(210, 80, 80, 0.12); }
.wag-step-card-header   { display: flex; align-items: center; gap: 14px; padding: 1.1rem 1.5rem; border-bottom: 0.5px solid var(--border); background: var(--rose-pale); }
.wag-step-num           { width: 32px; height: 32px; background: var(--rose); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; flex-shrink: 0; font-family: 'Noto Sans JP', sans-serif; }
.wag-step-num.gold      { background: var(--gold); }
.wag-step-title         { font-family: 'Noto Sans JP', sans-serif; font-weight: 400; font-size: 16px; color: var(--rose-dark); }
.wag-step-body          { padding: 1.25rem 1.5rem; }
.wag-step-item          { display: flex; gap: 12px; margin-bottom: 1rem; font-size: 13.5px; color: var(--text-mid); line-height: 1.8; }
.wag-step-item:last-child { margin-bottom: 0; }
.wag-step-item-num      { width: 22px; height: 22px; border: 0.5px solid var(--rose); color: var(--rose); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; font-family: 'Noto Sans JP', sans-serif; flex-shrink: 0; margin-top: 3px; }

.wag-download-btns      { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 0.75rem; }
.wag-dl-btn             { display: inline-flex; align-items: center; gap: 6px; padding: 7px 16px; border: 0.5px solid var(--rose); border-radius: 24px; font-size: 12px; color: var(--rose); text-decoration: none; background: transparent; transition: background 0.15s; }
.wag-dl-btn:hover       { background: var(--rose-light); }

.wag-bank-box           { background: var(--bg-sec); border: 0.5px solid var(--border); border-radius: 10px; padding: 1rem 1.1rem; font-size: 13px; color: var(--text-mid); line-height: 1.9; margin: 0.75rem 0; }
.wag-bank-highlight     { font-weight: 500; color: var(--text-dark); }

.wag-exam-note          { background: var(--gold-light); border-radius: 10px; padding: 0.85rem 1rem; font-size: 13px; color: #7A5C20; line-height: 1.8; margin-top: 0.75rem; border: 0.5px solid #E8C97A; }

.wag-cta-block          { margin-top: 3rem; text-align: center; padding: 3rem 2rem; background: var(--rose-pale); border-radius: 20px; border: 0.5px solid var(--rose-light); }
.wag-cta-lead           { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 26px; color: var(--rose); display: block; margin-bottom: 0.75rem; font-weight: 300; }
.wag-cta-sub            { font-size: 13px; color: var(--text-mid); margin-bottom: 1.75rem; line-height: 1.8; }
.wag-cta-btn            { display: inline-flex; align-items: center; gap: 8px; padding: 14px 36px; background: var(--rose); color: white; border-radius: 40px; font-size: 14px; font-weight: 500; text-decoration: none; letter-spacing: 0.06em; }
.wag-cta-btn:hover      { background: var(--rose-dark); color: white; }

.wag-contact-row        { display: flex; gap: 2rem; margin-top: 2rem; justify-content: center; flex-wrap: wrap; }
.wag-contact-item       { text-align: center; font-size: 12px; color: var(--text-light); }
.wag-contact-num        { font-size: 20px; font-weight: 500; color: var(--text-dark); display: block; letter-spacing: 0.06em; margin-top: 4px; font-family: 'Noto Sans JP', sans-serif; }
.wag-contact-hours      { font-size: 11px; color: var(--text-light); margin-top: 1rem; }

@media (max-width: 600px) {
  .wag-hero h1   { font-size: 24px; }
  .wag-hero      { padding: 2rem 1.5rem; }
  .wag-cta-lead  { font-size: 20px; }
}


/* ------------------------------------------------------------------- */
/* 2027年度 募集要項 共通構造（youkou-wrap / tuusin-wrap）              */
/* ------------------------------------------------------------------- */

/* ── カラー変数: 昼間課程デフォルト（ローズ系） ── */
.youkou-wrap,
.tuusin-wrap {
  --navy:         #2a0a0a;
  --accent:       #ffcccc;
  --accent-dark:  #f19ca7;
  --accent-light: #fff0f0;
  --border:       rgba(210, 80, 80, 0.22);
  --white:        #ffffff;
  --cream:        #fff5f5;

  max-width: 840px;
  margin: 0 auto;
  padding: 8px 16px;
  box-sizing: border-box;
  background: var(--cream);
  color: var(--navy);
  font-weight: normal;
}

/* ── カラー変数: 通信課程オーバーライド（グリーン系） ── */
.tuusin-wrap {
  --accent:       #6cc7b6;
  --accent-dark:  #6cc7b6;
  --accent-light: #e8f5f2;
  --border:       rgba(49, 129, 114, 0.22);
  --cream:        #f3f9f8;
}

/* ── 共通構造ルール ── */
.youkou-wrap strong,   .tuusin-wrap strong,
.youkou-wrap b,        .tuusin-wrap b        { font-weight: normal; }

.youkou-wrap .section-title, .tuusin-wrap .section-title,
.youkou-wrap .section-num,   .tuusin-wrap .section-num   { font-weight: bold; }

.youkou-wrap *, .youkou-wrap *::before, .youkou-wrap *::after,
.tuusin-wrap *, .tuusin-wrap *::before, .tuusin-wrap *::after { box-sizing: border-box; }

.youkou-wrap .section,        .tuusin-wrap .section        { background: var(--white); margin-bottom: 12px; border-top: 2px solid var(--accent); }
.youkou-wrap .section-body,   .tuusin-wrap .section-body   { padding: 28px 32px; }
.youkou-wrap .section-header, .tuusin-wrap .section-header { display: flex; align-items: baseline; gap: 16px; padding: 22px 32px 18px; background: var(--accent-light); border-bottom: 1px solid var(--border); }
.youkou-wrap .section-num,    .tuusin-wrap .section-num    { color: var(--accent-dark); line-height: 1; flex-shrink: 0; }

.youkou-wrap table,   .tuusin-wrap table   { width: 100%; border-collapse: collapse; margin-bottom: 6px; }
.youkou-wrap table                         { font-size: 1em; }
.youkou-wrap th,      .tuusin-wrap th      { background: var(--accent-dark); color: var(--white); padding: 10px 16px; text-align: center; }
.youkou-wrap td,      .tuusin-wrap td      { padding: 10px 16px; border: 1px solid var(--border); vertical-align: middle; }
.youkou-wrap .td-center, .tuusin-wrap .td-center { text-align: center; }
.youkou-wrap .td-right,  .tuusin-wrap .td-right  { text-align: right; }
.youkou-wrap .schedule-table th,                    .tuusin-wrap .schedule-table th                    { background: var(--accent-dark); }
.youkou-wrap .schedule-table tr:nth-child(even) td, .tuusin-wrap .schedule-table tr:nth-child(even) td { background: var(--accent-light); }

.youkou-wrap .doc-list,       .tuusin-wrap .doc-list,
.youkou-wrap .info-card,      .tuusin-wrap .info-card,
.youkou-wrap .contact-block,  .tuusin-wrap .contact-block,
.youkou-wrap .fee-highlight,  .tuusin-wrap .fee-highlight  { border: 1px solid var(--border); }

.youkou-wrap .info-card-title,   .tuusin-wrap .info-card-title,
.youkou-wrap .contact-block h3,  .tuusin-wrap .contact-block h3 { padding-bottom: 10px; margin-bottom: 12px; border-bottom: 1px solid var(--border); }

.youkou-wrap .sub-label,             .tuusin-wrap .sub-label             { display: flex; align-items: center; gap: 10px; margin: 22px 0 10px; }
.youkou-wrap .sub-label:first-child, .tuusin-wrap .sub-label:first-child { margin-top: 0; }
.youkou-wrap .sub-label::before,     .tuusin-wrap .sub-label::before     { content: ''; width: 20px; height: 1px; background: var(--accent-dark); flex-shrink: 0; }

.youkou-wrap .doc-list,               .tuusin-wrap .doc-list               { list-style: none; padding: 0; margin: 0; }
.youkou-wrap .doc-list li,            .tuusin-wrap .doc-list li            { padding: 10px 16px; border-bottom: 1px solid var(--border); display: flex; align-items: baseline; gap: 10px; margin: 0 !important; }
.youkou-wrap .doc-list li:last-child, .tuusin-wrap .doc-list li:last-child { border-bottom: none; }
.youkou-wrap .doc-list li::before,    .tuusin-wrap .doc-list li::before    { content: '—'; color: var(--accent-dark); flex-shrink: 0; }
.youkou-wrap .doc-list li p,          .tuusin-wrap .doc-list li p          { margin: 0 !important; padding: 0; }

.youkou-wrap .info-line,         .tuusin-wrap .info-line         { border-left: 2px solid var(--accent-dark); padding: 12px 16px; background: var(--accent-light); margin: 14px 0; }
.youkou-wrap .info-line.caution, .tuusin-wrap .info-line.caution { border-left-color: var(--navy); background: #f7f7f7; }

.youkou-wrap .info-card,      .tuusin-wrap .info-card      { padding: 20px 24px; margin-top: 16px; }

.youkou-wrap .fee-highlight,  .tuusin-wrap .fee-highlight  { text-align: center; padding: 20px; margin-bottom: 16px; }
.youkou-wrap .fee-label,      .tuusin-wrap .fee-label      { margin-bottom: 6px; }
.youkou-wrap .fee-amount,     .tuusin-wrap .fee-amount     { font-size: 1.5rem; }
.youkou-wrap .fee-sub,        .tuusin-wrap .fee-sub        { margin-top: 4px; }

.youkou-wrap .contact-grid,           .tuusin-wrap .contact-grid           { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 4px; }
.youkou-wrap .contact-block,          .tuusin-wrap .contact-block          { padding: 20px; }
.youkou-wrap .event-row,              .tuusin-wrap .event-row              { display: flex; gap: 14px; padding: 7px 0; border-bottom: 1px dotted var(--border); }
.youkou-wrap .event-row:last-of-type, .tuusin-wrap .event-row:last-of-type { border-bottom: none; }
.youkou-wrap .event-date,             .tuusin-wrap .event-date             { color: var(--accent-dark); min-width: 90px; flex-shrink: 0; }
.youkou-wrap .address-block strong,   .tuusin-wrap .address-block strong   { display: block; margin-bottom: 4px; }

.youkou-wrap .note, .tuusin-wrap .note { margin-top: 8px; padding: 10px 14px; border-left: 2px solid var(--border); background: #fafafa; }

.youkou-wrap a, .tuusin-wrap a { color: var(--accent-dark); }

.youkou-wrap .recommend-box,         .tuusin-wrap .recommend-box         { border: 1px solid var(--accent); padding: 24px 28px; position: relative; }
.youkou-wrap .recommend-box::before, .tuusin-wrap .recommend-box::before { content: '勤務先推薦'; color: var(--accent-dark); position: absolute; top: -9px; left: 20px; background: var(--white); padding: 0 8px; }

.youkou-wrap .scheme-card,   .tuusin-wrap .scheme-card   { font-weight: normal; border: 1px solid var(--border); margin-bottom: 16px; }
.youkou-wrap .scheme-card *, .tuusin-wrap .scheme-card * { font-weight: normal; }
.youkou-wrap .scheme-header, .tuusin-wrap .scheme-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 18px; background: var(--accent-light); border-bottom: 1px solid var(--border); }
.youkou-wrap .scheme-name,   .tuusin-wrap .scheme-name   { color: var(--accent-dark); font-weight: bold; }
.youkou-wrap .scheme-body,   .tuusin-wrap .scheme-body   { padding: 16px 18px; }

.youkou-wrap .rank-label, .tuusin-wrap .rank-label { display: inline-block; padding: 4px 14px; color: var(--white); }
.youkou-wrap .rank-a,     .tuusin-wrap .rank-a     { background: var(--accent-dark); }
.youkou-wrap .rank-b,     .tuusin-wrap .rank-b     { background: #888888; }

.youkou-wrap .flow-list,               .tuusin-wrap .flow-list               { list-style: none; padding: 0; margin: 0; counter-reset: flow-counter; }
.youkou-wrap .flow-list li,            .tuusin-wrap .flow-list li            { counter-increment: flow-counter; padding: 12px 16px 12px 48px; border-bottom: 1px solid var(--border); position: relative; }
.youkou-wrap .flow-list li:last-child, .tuusin-wrap .flow-list li:last-child { border-bottom: none; }
.youkou-wrap .flow-list li::before,    .tuusin-wrap .flow-list li::before    { content: counter(flow-counter); position: absolute; left: 12px; top: 12px; background: var(--accent-dark); color: var(--white); width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8em; }

.youkou-wrap .def-list,    .tuusin-wrap .def-list    { margin: 0; padding: 0; }
.youkou-wrap .def-list dt, .tuusin-wrap .def-list dt { margin-top: 14px; }
.youkou-wrap .def-list dd, .tuusin-wrap .def-list dd { margin: 4px 0 0 8em; line-height: 1.8; }

@media (max-width: 600px) {
  .youkou-wrap .contact-grid,  .tuusin-wrap .contact-grid  { grid-template-columns: 1fr; }
  .youkou-wrap .section-body,  .tuusin-wrap .section-body  { padding: 20px 16px; }
  .youkou-wrap .section-header,.tuusin-wrap .section-header { padding: 16px; }
}

/* ------------------------------------------------------------------- */
/* オープンキャンパス Q&A（#oc7）                                       */
/* ------------------------------------------------------------------- */
#oc7.page_box {
    max-width: 1000px;
    margin: 0 auto;
    padding: 4rem 1.5rem;
    font-family: inherit;
    color: var(--black, #222);
}

#oc7 .course_h4 {
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0 auto 2.5rem;
    color: var(--black, #222);
    position: relative;
    display: table;
    padding-bottom: 0.8rem;
}

#oc7 .course_h4::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: var(--grade, linear-gradient(90deg, #8b5cf6, #eb22f0));
    border-radius: 3px;
}

#oc7 .qa-card {
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.04);
    padding: 1rem 2rem;
}

#oc7 .q1 {
    display: flex;
    align-items: flex-start;
    font-weight: bold;
    color: var(--black, #222);
    line-height: 1.7;
    padding: 1.4rem 0 0.8rem;
    margin: 0;
}

#oc7 .q1::before {
    content: "Q";
    flex-shrink: 0;
    width: 1.9rem;
    height: 1.9rem;
    margin-right: 0.9rem;
    background-color: var(--pink, #ed1e79);
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    line-height: 1;
}

#oc7 .a1 {
    display: flex;
    align-items: flex-start;
    line-height: 1.8;
    color: #444;
    padding: 0 0 1.4rem;
    margin: 0;
    border-bottom: 1px solid #f0f0f0;
}

#oc7 .a1::before {
    content: "A";
    flex-shrink: 0;
    width: 1.9rem;
    height: 1.9rem;
    margin-right: 0.9rem;
    background-color: #fff;
    color: var(--pink, #ed1e79);
    border: 2px solid var(--pink, #ed1e79);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    line-height: 1;
    box-sizing: border-box;
}

#oc7 .a1:last-child { border-bottom: none; }

@media screen and (max-width: 767px) {
    #oc7.page_box        { padding: 2rem 1rem; }
    #oc7 .course_h4      { font-size: 1.3rem; margin-bottom: 1.5rem; }
    #oc7 .qa-card        { padding: 0.5rem 1.2rem; border-radius: 8px; }
    #oc7 .q1,
    #oc7 .a1             { font-size: 0.95rem; }
    #oc7 .q1::before,
    #oc7 .a1::before     { width: 1.7rem; height: 1.7rem; margin-right: 0.7rem; font-size: 0.85rem; }
}


/* ============================================================*/
/* 情報公開ページ | WordPress用スコープCSS | 親クラス: .jouhou-wrap */
/* ============================================================*/
   
.jouhou-wrap {
  --navy:         #2a0a0a;
  --accent-dark:  #f19ca7;
  --accent-light: #fff0f0;
  --border:       rgba(210, 80, 80, 0.22);

  max-width: 840px;
  margin: 0 auto;
  padding: 8px 16px 32px;
  color: var(--navy);
}

/* ===== セクション見出し ===== */
.jouhou-wrap h2.wp-block-heading {
  font-size: 1rem !important;
  font-weight: bold !important;
  color: var(--navy) !important;
  padding: 10px 16px 10px 18px !important;
  margin: 28px 0 0 !important;
  background: var(--accent-light) !important;
  border-left: 4px solid var(--accent-dark) !important;
  border-bottom: 1px solid var(--border) !important;
  border-top: none !important;
  border-right: none !important;
}

.jouhou-wrap h2.wp-block-heading:first-child { margin-top: 0 !important; }

/* ===== リストアイテム ===== */
.jouhou-wrap li {
  list-style: none !important;
  border-bottom: 1px solid var(--border);
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.jouhou-wrap li p,
.jouhou-wrap li br { margin: 0 !important; padding: 0; display: none; }

/* ===== リンク ===== */
.jouhou-wrap li a {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  color: var(--navy) !important;
  text-decoration: none !important;
  line-height: 1.5 !important;
  transition: background 0.15s, color 0.15s;
}

.jouhou-wrap li a::before {
  content: '\2014';
  color: var(--accent-dark);
  flex-shrink: 0;
}

.jouhou-wrap li a:hover {
  background: var(--accent-light);
  color: var(--accent-dark) !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 600px) {
  .jouhou-wrap { padding: 8px 12px 24px; }
}

/* ============================================================
   一括申込フォーム（Contact Form 7）- 受付終了表示スタイル
   対象: events チェックボックス欄（複数イベント一括申込フォーム）
   仕様: ラベルに「【このイベントは終了しました】」を含む項目を
         JSで自動検出→取り消し線＋バッジ＋選択不可に変換
   作成日: 2026-07-29
   ============================================================ */

.event-full-text {
  text-decoration: line-through;
  opacity: 0.6;
}
.event-full-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  font-size: 0.75em;
  color: #fff;
  background-color: #999;
  border-radius: 3px;
  vertical-align: middle;
}
.is-full label {
  cursor: not-allowed;
}