@charset "utf-8";
/*
Theme Name: hairati
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;
}
/* 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{
	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);
}
/*  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_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 .menu-main-container ul li a{
	color:#fff;
	padding:0 0 0 1rem;
	position:relative;
	display:inline-block;
}
.widget_nav_menu .menu-main-container 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 .menu-main-container 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 */



/* ------------------ 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;
}
.page-header img{
	width:100%;
	height:100%;
	object-fit:cover;
	position:absolute;
	left:0;
	top:0;
}
h1.page-header-title{
	color:var(--white);
	text-align:left;
	font-size:3rem;
	letter-spacing:0.3rem;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.7);
}
/* ----- 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;
}


/* ------------------------ 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;
	}
	
	
	.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;
		right:inherit;
		left:0;
		bottom:0;
		width:100%;
		padding:0 0.3rem;
	}
	.btn_contact_box li{
		width:48%;
		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 .menu-main-container ul li a{
		display:block;
	}
	.copy{
		padding-bottom:4rem;
	}
}
@media screen and (max-width:499.98px){
	.site_body_box{
		padding-top:0;
	}

}
