@charset "UTF-8";

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

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
.wp-block-group {
margin-bottom: 0 !important;
}
.wp-block-group.is-layout-constrained.wp-block-group-is-layout-constrained {
margin-bottom: 0;
}
.wp-block-group.rensei-banner-box.is-layout-flow.wp-block-group-is-layout-flow {
margin-bottom: 0;
}


/********* HTML再定義 ****/
/*
body {	
	font-family:"MS Serif", "New York", serif;
}
*/
section {
margin-bottom: 0 !important;
}
.entry-content {
    margin-top: 0;
    margin-bottom: 0;
}
article {
margin-bottom: 0 !important;
padding-bottom: 0 !important;
}

article ul {
margin-left: 1.2em;
}



/********* 全体 ***********************************************/

#footer,
.footer {
margin-top: 0;
}
.breadcrumb {
max-width: 1280px;
}
@media only screen and (max-width: 1279px) {
.breadcrumb {
padding: 0 30px!important;
}
}
@media only screen and (max-width: 1023px) {
.breadcrumb {
padding: 0 16px!important;
}
}
@media only screen and (max-width: 640px) {
.breadcrumb {
display: none;
}
}


.eye-catch-wrap {
border: 5px solid #F2F2F2;
}
.eye-catch-wrap img,
.eye-catch-wrap figure {
display: block;
width: 100%;
max-width: inherit;
}
@media screen and (max-width: 640px){
.eye-catch-wrap {
border: 3px solid #F2F2F2;
}
}
.eye-catch {
display: block;
margin: 0 auto;
max-width: 100%;
}
.eye-catch-image {
display: block;
    width: 100%;
    height: auto;
	max-width: none;
    padding: 0;
    margin: 0;
    border: none;
    vertical-align:bottom

}

.content_box_line_top {
  padding: 0 0;
  margin-top: 0;
  margin-bottom: 0;
  border-top: 10px solid #eee;
}


/*グローバルメニュー*/
    .navi {
	background: #14753a;
	margin: 0 auto;
	width: 100%;
	margin-top: 16px;
    }
	.navi-in {
	margin: 0 auto;
	max-width: 1080px;
	padding-top: 16px;
	padding-bottom: 16px;
    }

    /*グローバルメニュー*/
    .navi-in > ul {
        margin: 0;
        padding: 0;
    }

    .navi-in > ul li {
        margin: 0;
        padding: 0;
        font-weight: bold;
        letter-spacing: 0;
        height: 30px;
        line-height: 30px;
		overflow: visible;
		width: calc(100% / 5);
    }
@media screen and (max-width: 1080px){
  .navi-in > ul li {
		width: calc(100% / 5 - 36px);
    }
}
@media screen and (max-width: 1032px){
  .navi-in > ul li {
		width: auto;
    }
}

    .navi-in > ul li:last-child a {
        border-right: 1px solid #999;
    }

    .navi-in > ul li ul li:last-child a {
        border-right: none;
    }
    .navi-in > ul li ul li a{
        border-left: none;
    }

    .navi-in > ul li a {
        border-left: 1px solid #999;
        color: #FFF !important;
    }
    .navi-in > ul li ul li a {
        color: #000 !important;
    }

    .navi-in > ul li a:hover {
        color: #999 !important;
        background: none;
    }

    .bt_red {
        display: inline-block;
        font-weight: bold;
    }

    .bt_red a {
        display: block;
        text-decoration: none;
        padding: 5px 30px;
        text-align: center;
        font-weight: bold;
        color: #FFF;
        background-color: #F00;
        border-radius: 20px;
    }

    .bt_red a:hover {
        text-decoration: none !important;
        transition: all 0.3s;
        opacity: 0.7;
    }
	
	
/********* ヘッダー ***********************************************/


.header-container {
padding: 0;
margin: 0 auto;
}
.header-container-in {
margin: 0;
padding: 0 0;
}
@media screen and (max-width: 1023px) {
.header-container {
display: none;
}
}

.site-name-text-link {
padding: 0;
}
.head_flex {
display: flex;
max-width: 1080px;
margin: 0 auto;
padding: 0 0;
justify-content: space-between;
flex-wrap: wrap;
align-items: center;
}
@media only screen and (max-width: 1080px) {
.head_flex {
padding: 0 16px;
}
}
.logo.logo-header.logo-image {
padding: 0;
margin: 0;
text-align: left;
}
.site-name.site-name-text-link {
margin: 0;
text-align: left;
}

.head_flex_left {
display: block;
max-width: 360px;
width: 30%;
}
.head_flex_right{
display: block;
width: 70%;
}
.header {
display: block;
padding: 0 !important;
margin: 0 !important;
}
.header-in {
float: none;
margin: 0 !important;
padding: 0 0 !important;
width: 100% !important;
}


@media only screen and (max-width: 834px) {
.header {
padding: 1em 1em;
}
}

.site-logo-image.header-site-logo-image {
display: block;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: auto !important;
}


/************************************
** ヘッダーレイアウト ヘッダー固定時崩れ防止
************************************/
.header-container-in.hlt-top-menu {
  display: block;
  margin: 0 auto;
  padding-top: 16px;
  width: 100%;
}







ul.header_bt { 
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
align-items: center;
margin: 0;
padding: 0;
}
ul.header_bt li {
list-style: none;
display: inline-block;
margin: 0;
padding: 0;
margin-left: 16px;
line-height: 100%;
white-space: nowrap;
}

ul.header_bt li .imagecenter00 {
max-height: 1.15em;
width: auto;
}
ul.header_bt li a {
  padding: 0 0;
  padding-left: 0.2em;
  display: block;
}
ul.header_bt li a:hover { 
color: #479557;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}


.header_tel {
position: relative;
display: flex;
align-items: center;
text-align: left;
padding-left: 1.15em;
line-height: 0.95;
letter-spacing: 0;
margin-bottom: 0 !important;
}
.header_tel:before {
position: absolute;
margin-left: -1.15em;
margin-top: 0em;
    content: "";
    display: inline-block;
  background-image: url(../../uploads/2025/11/icon_tel_orange.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 0.95em;
    height: 0.95em;
}
.bt_mailimg {
display: block;
max-height: 50px;
width: auto;
}

.header_bt a {
text-decoration: none !important;
color: #135;
font-weight: bold;
}

.header_bt .header_tel {
font-size: 32px;
}
@media screen and (max-width: 1080px) {
.header_bt .header_tel {
font-size: 2.831vw;
}
}

@media screen and (max-width: 640px) {
.header_bt .header_tel {
font-size: 24px;
}
}


ul.header_bt li i {
  font-weight: 900;
  margin-right: 0.2em;
  color: #F9B54F;
}
ul.header_bt li i.fa-envelope {
  font-weight: 400;
margin-top: -0.1em;
font-size: 105%;
}
ul.header_bt li i.fa-mobile-alt {
margin-top: -0.05em;
}

.logo-menu-button  {
margin: 0;
}
.logo-menu-button img {
padding: 0 0px;
margin-left: 16px;
max-height: 56px;
}

.mobile-header-menu-buttons.mobile-menu-buttons {

line-height: 80px;
}
.mobile-header-menu-buttons .mobile-menu-buttons .menu-button {
width: 32px;
line-height: 80px;
}
	
/********* タイトル ***********************************************/

#title {
    position: relative;
	display: block;
    padding-top: 10%;
    padding-bottom: 13%;
    height: 0;
    overflow: hidden;
	margin-bottom: 20px;
	background: url(../../uploads/2025/11/page_back.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	box-shadow: 0 5px 10px rgba(0,0,0,0.3);
}
.title {
display: block;
    position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 10px;
	text-align: left;
	color: #FFF;
	font-weight: bold;
	text-shadow: 0 0 2px rgba(0,0,0,1), 2px 2px 5px rgba(0,0,0,1);
}

@media only screen and (max-width: 1279px) {
.title {
	padding: 0 30px;
}
}

@media only screen and (max-width: 1023px) {
#title {
margin-top: 80px;
    padding-top: 15%;
    padding-bottom: 15%;
}
.title {
	padding: 0 16px;
}
}
@media only screen and (max-width: 640px) {
#title {
    padding-top: 25%;
    padding-bottom: 25%;
}
}



/********* フッター 問い合わせ*************************************************/

table.foot_contact {
	margin: 0;
	padding: 0;
	table-layout: fixed;
	border-collapse: collapse;
	width: 100%;
	color: #FFF;
	text-align: center;
	border: none;
	background: none;
}
table.foot_contact tr {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}
table.foot_contact td {
	border: none;
	background-color: #789;
	padding: 80px 100px;
}

@media only screen and (max-width: 1080px) {
table.foot_contact td {
	padding: 80px 24px;
}

}
table.foot_contact td h4 {
	font-size: 200%;
	font-weight: normal;
}
table.foot_contact td h5 {
	font-size: 150%;
	font-weight: normal;
	margin-bottom: 5px;
}
table.foot_contact td p {
	margin: 20px 0;
}
table.foot_contact td:nth-child(2) {
	background-color: #048;
}
.foot_mail {
	display: inline-block;
}

.foot_mail a {
	display: block;
	padding: 15px 30px;
	font-size: 90%;
	border: 1px solid #FFF;
	color: #FFF;
	text-decoration: none;
	background-color: #048;
}
.foot_mail a:hover {
	background-color: #FFF;
	color: #048;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
.foot_tel {
	display: inline-block;
	text-align: left;
	line-height: 160%;
}
.foot_tel span {
	font-size: 90%;
}

.foot_tel_no {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 240%;
	font-weight: bold;
	padding: 2px 5px;
	margin: 5px 0;
	padding-left: 34px;
	background: url(../../../../uploads/2025/08/icon_tel_wh.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
}
.foot_tel_no a {
	display: block;
	color: #FFF;
	text-decoration: none;
}
.foot_tel_no a:hover {
	opacity: 0.7;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}

@media screen and (max-width: 1024px) {
table.foot_contact {
	text-align: left;
}
table.foot_contact td {
	display: block;
	padding: 40px 16px;
}
table.foot_contact td h4 {
	font-size: 150%;
}
table.foot_contact td h5 {
	font-size: 130%;
	margin-bottom: 5px;
}
table.foot_contact td p {
	margin: 10px 0;
}
.foot_mail a {
	display: block;
	padding: 10px 20px;
}
.foot_tel {
	display: block;
	line-height: 130%;
}
.foot_tel span {
	font-size: 90%;
}

}




/********* フッター *************************************************/
#footer {
  display: block;
  margin: 0 auto;
  padding: 0 0;
  background-color: #14753a;
  color: #FFF;
}
#footer-in {
  position: relative;
  max-width: 1080px;
  display: block;
  margin: 0 auto;
  padding: 40px 0;
}
@media only screen and (max-width: 1080px) {
  #footer-in {
    padding: 40px 16px;
}
}
@media screen and (max-width: 1024px) {
  #footer-in {
    padding: 24px 16px;
	padding-top: 0;
	border-top: none;
}
}




.foot_add_flex {
    display: block;
	margin-bottom: 8px;
}
.foot_add_grid_mail,
.foot_add_grid_tel {
display: inline-block;
margin: 0;
}


@media screen and (max-width: 1024px) {
.foot_add_flex {
display: none;
/*    display: flex;*/
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 8px;
}
.foot_add_grid_mail,
.foot_add_grid_tel {
display: inline-block;
max-width: calc(100% / 2 - 8px);
text-align: center;
margin: 0 4px;
}


.foot_add_grid_mail {
	box-shadow: 0 5px 5px rgba(0,0,0,0.2);
}
}

p.foot_add_txt_pc {
margin-bottom: 0;
display: block;
}
p.foot_add_txt_sp {
display: none;
}
@media only screen and (max-width: 780px) {
p.foot_add_txt_pc {
display: none;
}
p.foot_add_txt_sp {
margin-bottom: 0;
display: block;
text-align: center;
}
}



 

/************************
/ ページトップボタン
/************************/
#go-to-top {bottom: 68px;}

.footerMenu_aki {
display: none;
}

#footerMenu {
	display: none;
}

@media screen and (max-width: 780px) {
.footerMenu_aki {
display: block;
padding-top: 60px;
}

#footerMenu {
	display: block;
	text-align: center;
	background-color: rgba(255,255,255,0.85);
	width: 100%;
	height: 0px;
	position: fixed;
	z-index: 10000;
	bottom: 0;
	overflow: none;
	left: 0;
	transition: all 0.4s ease-in-out;
}
#footerMenu.show {
	height: 60px;
	padding: 0 0;
	-moz-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.footerMenu {
position: relative;
	display: block;
margin: 0 auto;
color: #FFF;
}
}




ul.footerMenulist {
    display:flex;
    flex-wrap:wrap;
margin: 0;
padding: 0;
	height: 60px;
justify-content: center;
align-items: center;
}
ul.footerMenulist li {
	list-style: none;
	margin: 0;
	padding: 0;
	height: 100%;
	display: inline-block;
	line-height: 150%;
max-width: calc(100% / 3 - 2px );
	vertical-align: middle;
	text-align: center;
	box-sizing:border-box;
	font-size: 80%;
}
ul.footerMenulist li .imagecenter00 {
width: auto;
max-height: 60px;
}




ul.footerMenulist li a:hover {
	background-color: #EEE;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}




.copy {
display: block;
color: #FFF;
background-color: #14753a;
text-align: center;
padding: 16px 0;
line-height: 1.2;
}
.copy p {
margin-bottom: 0;
}

@media screen and (max-width: 780px) {
.copy {
padding-top: 16px;
padding-bottom: 16px;
}
}

/*フッターモバイルポップアップ*/
.mobile-footer-menu-buttons .menu-button .fas {
  color: #f9b54f;
}


.footer-bottom {
display: block;
  margin: 0;
  padding: 0;
}
.foot_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}
.foot_flex_left {
order: 1;
display: block;
width: 40%;
}
.foot_flex_right {
order: 2;
display: block;
width: 60%;
}
/*
@media screen and (max-width: 920px) {
.foot_flex_left {
width: calc(35% - 16px);
}
.foot_flex_right {
width: calc(65% - 16px);
}
}
*/

@media screen and (max-width: 1024px) {
.foot_flex {
  display: block;
}
.foot_flex_left {
max-width: inherit;
padding: 0 0;
width: auto;
margin: 0 auto;
margin-left: 0;
margin-top: 16px;
}
.foot_flex_right {
width: auto;
max-width: inherit;
  margin-left: auto;

}
}
.logo.logo-footer.logo-image {
text-align: center !important;
display: block;
margin-bottom: 8px;
float: none;
}
.logo.logo-footer.logo-image,
.logo.logo-footer.logo-image a {
text-align: center;
display: block;
width: auto !important;
  padding: 0 !important;
  margin: 0 !important;

}
.logo.logo-footer.logo-image a:hover {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0.7;
}
.site-logo-image.footer-site-logo-image {
display: inline-block;
float: none;
  padding: 0 !important;
  margin: 0 auto !important;
  height: auto !important;
max-width: 240px !important;
width: inherit;
}
@media screen and (max-width: 780px) {
.logo.logo-footer.logo-image,
.logo.logo-footer.logo-image a {
  margin: 0 auto!important;
text-align: center;
}
.site-logo-image.footer-site-logo-image {
  margin: 0 auto!important;
}
}

.foot_logo {
display: block;
max-width: 320px;
margin-bottom: 16px;
}
p.foot_company {
margin: 0;
padding: 0;
}
@media screen and (max-width: 1024px) {
.foot_logo {
display: block;
max-width: 240px;
margin: 0;
margin-bottom: 16px;
}
p.foot_company {
padding-left: 0;
}
}



.footer_menu_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 1024px) {
.footer_menu_box {
  display: block;
}
}





ul.foot_menu {
margin: 0;
padding: 0;
width: calc(100% / 3 - 8px);
}
@media screen and (max-width: 1032px) {
ul.foot_menu {
max-width: inherit;
}
}
ul.foot_menu li {
position: relative;
list-style: none;
line-height: 200%;
font-weight: 500;
margin: 0;
padding: 0;
margin-bottom: 1em;
}
ul.foot_menu li a {
position: relative;
display: block;
font-weight: 700;
color: #FFF;
text-decoration: none;
}
ul.foot_menu li:last-child {
margin-bottom: 0;
}
ul.foot_menu li a:hover {
text-decoration: underline;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
ul.foot_menu li ul li {
margin-bottom: 4px;
}
ul.foot_menu li ul li:first-child {
margin-top: 4px;
}
ul.foot_menu li ul li:last-child {
margin-bottom: 0;
}
ul.foot_menu li ul li a {
padding-left: 1em;
font-weight: 400;
}


ul.foot_menu li ul li a:before {
  position: absolute;
  content: "-";
  margin: 0;
  margin-left: -1em;
  padding: 0;
}

ul.foot_menu li:nth-child(n+2) {
margin-top: 0;
}
ul.foot_menu li ul li:nth-child(n+2) {
margin-top: 0;
}

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

ul.foot_menu {
margin: 0 -16px;
margin-bottom: 0;
padding: 0;
width: auto;
}
ul.foot_menu li {
margin-bottom: 0;
border-top: 1px solid #EEE;
max-width: inherit;
}

ul.foot_menu li a {
display: block;
padding: 12px 8px;
color: #FFF;
	background: #14753a; /* Old browsers */
	background-repeat: repeat;
	background-position: ltop;
	background-size: auto;
margin-bottom: 0;
}
ul.foot_menu li a:before {
  margin-left: -1.2em;
}
ul.foot_menu li a:hover {
text-decoration: underline;
}
ul.foot_menu li ul {
margin: 0;
padding: 0.75em 8px;
background-color: #2c8952;
}

ul.foot_menu li ul li {
display: block;
background: none;
padding: 0.2em 0;
min-width: 4em;
border-top: none;
}
ul.foot_menu li ul li a {
display: block;
padding: 0.25em 16px;
background: none;
border-top:  none;
}

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

ul.foot_menu li ul li {
margin-right: 0;
min-width: 8.0em;
}
ul.foot_menu li ul li a {
padding: 0.2em 16px;
padding-right: 0;
}
}

ul.foot_menu li ul li a:before {
  margin-left: -1em;
}
ul.foot_menu li:nth-child(n+2) {
margin-top: 0;
}
ul.foot_menu li ul li:first-child {
margin-top: 0;
}
ul.foot_menu li a:hover {
text-decoration: none;
background-color: #F9F9F9;
color: #479557 !important;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
}











/********* お知らせ ***********************************************/


ul.top_news {
	margin: 0;
	padding: 0;
	border-top: 1px dotted #CCC;
}
ul.top_news li {
	display: block;
	list-style: none;
	margin: 0;
	padding: 8px 8px;
	border-bottom: 1px dotted #CCC;
}
ul.top_news li p {
	clear: both;
	margin: 0;
	padding: 0;
}
ul.top_news li p span {
}
ul.top_news li p a {
	margin: 0;
	padding: 0;
	display: block;
	color: #000;
	text-decoration: none;
}


ul.top_news li p a:hover {
	text-decoration: underline;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

@media screen and (max-width: 640px){
ul.top_news {
	margin-bottom: 0;
}
}

table.table_top_news {
	table-layout: fixed;
	width: 100%;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
}
table.table_top_news tr, table.table_top_news th, table.table_top_news td {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}
table.table_top_news th, table.table_top_news td {
	border-collapse: collapse;
	border: none;
	background: none;
	font-weight: normal;
	margin: 0;
	padding: 0;
}
table.table_top_news th {
	color: #555;
	width: 11em;
}

@media screen and (max-width: 640px){
table.table_top_news th {
	display: block;
	margin-bottom: 8px;
}
table.table_top_news td {
	display: block;
	margin-bottom: 0;
}
table.table_top_news th {
	width: auto;
}
table.table_top_news td {
	line-height: 130%;
}
}

.tag_news {
	display: inline-block;
	margin: 0 8px;
	padding: 2px;
	padding-bottom: 0;
	font-size: 80%;
	width: 5em;
	text-align: center;
	background-color: #F00 !important;
	color: #FFF !important;
	line-height: 1.2;
}


/* PC：3列 */
.rensei-banner-box {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.rensei-banner img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}

/* PC表示画像 */
.pc-img {
  display: block;
}
.sp-img {
  display: none;
}

/* スマホ（SP）では1列 + SP画像に切り替え */
@media screen and (max-width: 768px) {

  .rensei-banner-box {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .pc-img {
    display: none !important;
  }

  .sp-img {
    display: block !important;
  }
}

/* SP画像を確実に隠す（PC時） */
.rensei-banner .sp-img {
  display: none !important;
}

/* PC画像は表示 */
.rensei-banner .pc-img {
  display: block !important;
}

/* スマホ時の切り替え */
@media screen and (max-width: 768px) {

  /* PC画像を隠す */
  .rensei-banner .pc-img {
    display: none !important;
  }

  /* SP画像を表示 */
  .rensei-banner .sp-img {
    display: block !important;
  }
}



/* ===========================
   検定お申込みブロック
   =========================== */

.exam-apply-section {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

.exam-apply-list {
  display: flex;
  gap: 16px;
  align-items: flex-start; /* これで左揃えになる */
}

/* 各カード共通 */
.exam-apply-item {
  flex: 1 1 0;
  text-decoration: none;
  display: block;
}

.exam-apply-item__inner {
  display: flex;
  align-items: stretch;
  height: 100%;
  overflow: hidden;
}

/* PC：画像が左、テキストが右 */
.exam-apply-item__image {
  flex: 0 0 38%;
}

.exam-apply-item__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.exam-apply-item__body {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 12px;
  box-sizing: border-box;
}

.exam-apply-item__text {
  display: inline-block;
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  text-align: left;
}

/* 色違い */
.exam-apply-item--eiken  .exam-apply-item__body { background-color: #f7c643; }
.exam-apply-item--suken  .exam-apply-item__body { background-color: #d2b7ff; }
.exam-apply-item--kanken .exam-apply-item__body { background-color: #7fdfff; }

/* ホバー（任意） */
.exam-apply-item:hover .exam-apply-item__body {
  opacity: 0.9;
}

/* ---------------------------------
   スマホ：2枚目のレイアウト
   画像が上、色付きテキストが下
   --------------------------------- */
@media (max-width: 768px) {
  .exam-apply-list {
    gap: 8px;
  }

  .exam-apply-item__inner {
    flex-direction: column;
  }

  .exam-apply-item__image {
    flex: 0 0 auto;
  }

  .exam-apply-item__body {
    width: 100%;
    padding: 6px 4px 10px;
    justify-content: center;
    align-items: center;
  }

  .exam-apply-item__text {
    text-align: center;
    font-size: 13px;
  }
}

/* ================================
   RS サイト TOP サブメニュー
   ================================ */

/* 12カラムグリッド（PC） */
.entry-content .rs-submenu-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
  max-width: 1080px;
  margin: 0 auto 24px;
  box-sizing: border-box;
}

/* SP（〜640px） */
@media only screen and (max-width: 640px) {
  .entry-content .rs-submenu-grid {
    grid-template-columns: repeat(12, 1fr);
    gap: 16px;
  }
}

/* 各ボックス：PCは3カラム分（12分割のうち3） */
.entry-content .rs-submenu-box {
  grid-column: span 3 / span 3;
}

/* SPでは6カラム分（2列表示） */
@media only screen and (max-width: 640px) {
  .entry-content .rs-submenu-box {
    grid-column: span 6 / span 6;
  }
}

/* gap 0 用ユーティリティ */
.entry-content .rs-gap0 {
  gap: 0;
}

/* アイコン & リンクデザイン */
.entry-content .rs-top_bt_submenubox i {
  display: block;
  font-size: 36px;
  color: #999;
  margin-bottom: 10px;
}

.entry-content .rs-top_bt_submenubox a {
  display: block;
  width: auto;
  text-align: center;
  text-decoration: none;
  border: 1px solid #999;
  background-color: #fff;
  color: #000;
  padding: 1em 0;
  box-sizing: border-box;
}

/* ホバー */
.entry-content .rs-top_bt_submenubox a:hover {
  background-color: #f5f5f5;
  transition: all 0.3s;
}

/* -----------------------
   れんせい会 コースロゴ用
   ----------------------- */

.rensei-course-wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  box-sizing: border-box;
}

.rensei-course-box {
  flex: 1 1 calc(100% / 3 - 8px);
  border: 1px solid #ddd;
  padding: 10px 8px;
  box-sizing: border-box;
  text-align: center;
  background-color: #fff;
}

/* 上のコピー部分 */
.rensei-course-copy {
  margin: 0 0 6px;
  font-size: 11px;
  line-height: 1.4;
}

/* ロゴ画像 */
.rensei-course-logo img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

/* 色味(必要に応じて調整) */
.rensei-course-red {
  border-color: #e74c3c;
}

.rensei-course-blue {
  border-color: #1f4fa8;
}

.rensei-course-green {
  border-color: #1c8c3a;
}

/* ------------- スマホレイアウト ------------- */
/* スマホでは、ボックスを縦一列にして
   各ボックス内は「左：ロゴ、右：テキスト」のまま */
@media (max-width: 767px) {
  .rensei-course-wrap {
    flex-direction: column;
    gap: 8px;
  }

  .rensei-course-box {
    flex: 1 1 100%;
  }

  .rensei-course-inner {
    padding: 8px 10px;
  }

  .rensei-course-main {
    font-size: 20px;
  }

  .rensei-course-sub1,
  .rensei-course-sub2 {
    font-size: 10px;
  }
}




.grid_12 {
max-width: 1080px;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 24px;
}
@media only screen and (max-width: 640px) {
.grid_12 {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 16px;
}
}
.grid_doublebox {
    grid-column: span 6 / span 6;
}
.grid_triplebox {
    grid-column: span 4 / span 4;
}
.grid_fourbox {
    grid-column: span 3 / span 3;
}
@media only screen and (max-width: 640px) {

.grid_doublebox {
    grid-column: span 12 / span 12;
}
.grid_triplebox {
    grid-column: span 12 / span 12;
}
.grid_fourbox {
    grid-column: span 6 / span 6;
}
}

.gap0 {
gap: 0;
}

.top_bt_submenubox i {
  display: block;
  font-size: 36px;
  color: #999;
  margin-bottom: 10px;
}
.top_bt_submenubox a {
  display: block;
  width: auto;
  text-align: center;
  text-decoration: none;
  border: 1px solid #999;
  border-collapse: collapse;
  background-color: #fff;
  color: #000;
  padding: 1em 0;
}
.top_bt_submenubox a:hover {
  background-color: #f5f5f5;
  transition: all 0.3s;
}

.top_flex_course01_box i {
  position: absolute;
  right: -2px;
  top: -2px;
  font-weight: 900;
  font-size: 36px;
  text-shadow: 0 0 5px rgba(255, 255, 255, 1);
}


/* ==========================================
   スライダー（スマホ1枚表示・横スワイプ）
   PCでは3枚横並び
========================================== */

/* スライダー枠 */
/* 固定ページ用（本文内） */
.entry-content .renseikai-course-slider,
/* トップテンプレート用（どこに置いても効くように全体も指定） */
.renseikai-course-slider {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 1080px;
  margin: 0;
}

/* カード */
.entry-content .renseikai-course-card,
.renseikai-course-card {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* 画像ラップ */
.entry-content .renseikai-course-figure,
.renseikai-course-figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
}

/* 画像 */
.entry-content .renseikai-course-figure img,
.renseikai-course-figure img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .4s ease;
}

.entry-content .renseikai-course-card:hover img,
.renseikai-course-card:hover img {
  transform: scale(1.05);
}

/* ラベル */
.entry-content .renseikai-course-label,
.renseikai-course-label {
  position: absolute;
  left: 12px;
  bottom: 12px;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 0 6px rgba(0,0,0,.7);
}

/* --- スマホ（スライド表示） --- */
@media (max-width: 768px) {
  .entry-content .renseikai-course-slider,
  .renseikai-course-slider {
    display: flex;
    overflow-x: auto;
    gap: 12px;
    scroll-snap-type: x mandatory;
    padding-bottom: 6px;
  }

  .entry-content .renseikai-course-card,
  .renseikai-course-card {
    flex: 0 0 80%;
    scroll-snap-align: center;
  }
}

/* --- さらに小さい画面 --- */
@media (max-width: 480px) {
  .entry-content .renseikai-course-card,
  .renseikai-course-card {
    flex: 0 0 90%;
  }
}

.bt_black {
display: inline-block;
}
.bt_black a {
display: block;
color: #FFF;
text-align: center;
background: #999;
padding: 0 16px;
border-radius: 24px;
text-decoration: none;
}


h2.title_ently {
  position: relative;
  color: #c52d28;
  background-image: url(https://31120.net/rs2025/wp-content/uploads/2025/11/icon_pencil.png) !important;
  background-position: left top!important;
  background-repeat: no-repeat!important;
  padding-left: 30px !important;
  padding-bottom: 7px !important;
  padding-top: 2px !important;
  border-bottom: solid 3px #ccc!important;
}
h2.title_ently:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #c52d28;
  bottom: -3px;
  left: 0;
  width: 25%;
}

ul.list_dott {
  margin: 0;
  padding: 0;
}
ul.list_dott li {
  position: relative;
  list-style: none;
  text-align: justify;
  margin: 0;
  padding: 0;
  padding-left: 1em;
}

ul.list_dott.inline li {
display: inline-block;
margin-right: 1em;
}
ul.list_dott.inline li:last-child {
margin-right: 0;
}
ul.list_dott li:before {
  position: absolute;
  content: "・";
  margin-left: -1.0em;
}



ul.bt_pdf {
  margin: 0;
  padding: 0;
}
ul.bt_pdf li {
  display:inline-block;
  list-style: none;
  margin: 5px;
  padding: 0;
}
ul.bt_pdf li a {
  display: block;
  padding: 10px 20px;
  min-width: 126px;
  background-color: #41c3e9;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  background-image: url(../../uploads/2025/01/icon_pdf.png);
  background-repeat: no-repeat;
  background-size: 30px;
  padding-left: 60px;
  background-position: 10px center;
}
ul.bt_pdf li a:hover {
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}


