@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Template:   cocoon-master
Version:    1.1.1
*/

/* トップページ新着記事本文の行数指定 */
/* @media screen and (max-width: 834px){
  .voice-snippet {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
  }
} */
/************************************
** 子テーマ用のスタイルを書く
************************************/
/*vertical-align top設定*/
.vertop {
	vertical-align:top;
}

/*font size微調整用*/

.fz-09em table td {
    font-size: 0.9em!important;
}

.fz-10em table td {
    font-size: 1.0em!important;
}

/*モバイル「メニュー」の文字太字・大きく*/
.menu-caption {
	    font-weight: bold;
		font-size:15px!important;
		color: #0068b7;
}

/*Cocoonテンプレのアイコンリストボックス等、空きが大きすぎるので打ち消し*/


#main .blank-box {
	padding: 0!important;
}
/************************************
** トップページ、モバイルヘッダーメニューボタン(navigation)カスタマイズ
** 親スタイルを設定する必要あり！！！スタイル更新時、下記を親スタイルに適用
************************************/

/*1024px未満は、メイン画像下にヘッダーメニューウィジェット呼び込み(1024以上は非表示に)
**メニュー内容は外観→ウィジェットの「コンテンツ上部」で設定
**メニュー幅を7分の1で設定し、アイコンを非表示に。Labelフォントサイズとheightを調整
***/

@media screen and (min-width: 1024px) {
.content-top {
	display: none;
	}}

.box-menu {
	min-height:2em;
 }

/************************************
** 親テーマアップデート時、表示が崩れたら下記を親スタイルに直接適用する
** 右記テーマファイル一覧から無の「この子テーマは親テーマ Cocoon のテンプレートを引き継ぎます。」から親スタイルに飛べる
************************************/
.wwa .box-menu {
	width: calc(100%/4);
}

.box-menu-label {
	font-size: 16px;
	padding: 0.5em 0.5em;
	font-weight: 600;
}

.box-menu-icon {
    display: none;
}


/************************************
** フロントページカスタマイズ
************************************/


/*2カラム時の p に対して左右のPadding調整*/

.column-left p,
.column-right p {
    padding: 0 0.5em;
}


/*ヘッダー固定時のページ内リンクズレ防止 今は使ってない

@-webkit-keyframes modify {
    0% {
        padding-top: 60px;
    }
    100% {
        padding-top: 0;
    }
}

@keyframes modify {
    0% {
        padding-top: 60px;
    }
    100% {
        padding-top: 0;
    }
}

[id^="toc"]:target {
    -webkit-animation: modify 0.1s;
    animation: modify 0.1s;
}
*/

/*フロントページ目次前に H2 を配置する場合の上部空き調整*/

.before_toc_h2 {
    margin-top: 0px !important;
}

.video-container {
    max-width: 100%!important;
}


/* ページ内リンクの位置を調整する */

@keyframes modify {
    from {
        padding-top: 60px;
        margin-top: -60px;
    }
    to {
        padding-top: 0;
        margin-top: 0;
    }
}

 :target {
    animation: modify 0.1s;
}


/*アピールインボックスを非表示*/

.appeal-in {
    display: none !important;
}


/*記事内ヘッダーに表示させる同カテゴリ記事カードを横2列に (481px以上の場合のみ)*/

@media screen and (min-width: 481px) {
    .page .new-entry-cards {
        display: flex;
        flex-wrap: wrap;
    }
    .page .new-entry-card-link {
        width: 50%;
    }
}

/* TOPページの卒業生の声のレイアウト */
@media screen and (min-width: 481px) {
	.koe .new-entry-card-link {
	width: 100% !important;
	}
}

/*ブログカード表示、URLと投稿日を非表示(体験留学コースの表示部分など)*/

.blogcard-footer {
    display: none;
}

/*すべてのタイトルを非表示*/

.entry-title {
    display: none;
}

/*すべての投稿日を非表示*/

.post-date {
    display: none;
}

/*すべての更新日を非表示*/

.post-update {
    display: none;
}

/*すべての固定ページの更新日タグを非表示*/

.date-tags {
    display: none;
}

/*TOPページヘッダー画像を幅に合わせて高さ自動調整*/

.appeal {
    height: 40vw!important
}

/*フロント固定ページのシェアボタンを非表示*/

.home.page .sns-share {
    display: none;
}

/*フロント固定ページのフォローボタンを非表示*/

.home.page .sns-follow {
    display: none;
}

/*フロント固定ページの投稿者名を非表示*/

.home.page .author-info {
    display: none;
}

/*卒業生の声など、カテゴリー記事一覧表示の際の表示デザイン調整*/

.category .entry-card-title {
    line-height: 1.5;
    border-bottom: #333 dotted 2px;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

.category .entry-card-snippet {
    line-height: 1.5;
}

/*480px以下*/

@media screen and (max-width: 480px) {
    .category .entry-card-snippet {
        display: block !important;
        max-height: 12em !important;
    }
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/


/*1023px以下*/

@media screen and (max-width: 1023px) {
    /*必要ならばここにコードを書く*/
    /*1023px以下では、グローバルナビを非表示*/
/*     .header-container-in.hlt-top-menu .navi {
        display: none;
    } */
}


/*834px以下*/

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


/*480px以下*/

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

/************************************
** フォームに関するCSS (Contact form7)
************************************/

/*全体の文字の大きさと、文字の折り返し設定*/

.CF7_table {
    font-size: 0.8em;
    font-family: "Noto Sans JP", sans-serif;
    margin: 0 auto;
    color: #000!important;
	word-break: break-all;
}

.CF7_table input,
select,
textarea {
    font-size: 1em;
    font-family: "Noto Sans JP", sans-serif;
    margin: 0 auto;
    color: #000!important;
}


/*「必須」文字デザイン*/

.CF7_req {
    font-size: 1.1em;
    padding: 5px;
    background: #F57500;
    color: #fff;
    border-radius: 3px;
    margin-right: 5px;
}

.CF7_req_mini {
    font-size: 1em;
    padding: 5px;
    background: #F57500;
    color: #fff;
    border-radius: 3px;
	display: inline-block;
}

/*「任意」文字デザイン*/

.CF7_unreq {
    font-size: 1.1em;
    padding: 5px;
    background: #bdbdbd;
    color: #fff;
    border-radius: 3px;
    margin-right: 5px;
}




/* 背景グレー・ PCサイズ横幅35% */

@media screen and (min-width: 768px) {
    .CF7_table th {
        width: 30%;
        text-align: left;
        color: #000 !important;
        background-color: #ebedf5!important;
    }
    .CF7_table td {
        width: 70%!important;
        padding: 10px 10px!important;
        background-color: #fff!important;
    }
}


/* スマホ・タブレット横幅100%*/

@media screen and (max-width: 900px) {
    .CF7_table tbody,
    .CF7_table tr,
    .CF7_table td {
/* 2025.3.26渡辺さん指示によりスマホ・タブレットでもフォームは表で表示、以下のdisplay:blockのコメントアウトを解除すればレスポンシブ対応できます*/
/*         display: block; */
        width: 100%!important;
    }
    .CF7_table th {
		/* 2025.3.26スマホ・タブレットでthの幅を広くしました*/
        width: 60px;
        text-align: left;
        color: #000!important;
        display: block;
        margin: 0 auto;
        border: none;
        background-color: #ebedf5!important;
    }
	textarea {
		height: 100px;
	}
/* 2025.3.26渡辺さん指示により複数のセレクトボックスの幅を100%から75%に変更しました*/
	.float75 select {
		width: 75%
	}
}

/* ボタンを中央に合わせる */

.CF7_btn {
    text-align: center;
    margin-top: 20px;
}


/*境界線の書き直し*/

/* .wpcf7 table tbody tr td,
table {
	border-top: 1px solid #e5e5e5!important;
	border-bottom: 1px solid #e5e5e5!important;
	background: #FDFDFD!important;
} */

/* watermark,placeholder(例文)をblackに→渡辺さんからの指示*/
.wpcf7 .watermark {
    color: #555 !important;
}
::-webkit-input-placeholder {
    color: #555 !important;
}
:-moz-placeholder {
    color: #555 !important;
}
::-moz-placeholder {
    color: #555 !important;
}
:-ms-input-placeholder {
    color: #555 !important;
}

/* wpcf form input inline指定*/

.wpcf7-form .CF7_table .check input {
    width: auto !important;
}

.wpcf7-form .CF7_table .float50 input {
    width: 49%;
    display: inline-block;
}

.wpcf7-form .CF7_table .float50 select {
    width: 49%;
    display: inline-block;
}

.wpcf7-form .CF7_table .float25 select {
    width: 25%;
    min-width: 25%!important;
    display: inline-block;
}

.wpcf7-form .CF7_table .float25 text {
    width: 25%!important;
    min-width: 25%!important;
    display: inline-block;
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
    background: #FFF;
}

.wpcf7-form .CF7_table .date input {
    width: 50%;
    min-width: 50%!important;
    display: inline-block;
    color: #000;
}

.ui-datepicker table {
    width: auto!important;
}

.wpcf7 .wpcf7-form select,
input,
text,
textarea {
    color: #000!important;
}

.CF7_btn {
    text-align: center;
    margin-top: 20px!important;
}


/*Contact Form 7 IME Input Mode*/

form.wpcf7-form .ime_inactive {
    ime-mode: inactive;
}


/* CF7 「送信する」ボタンデザイン */

input.wpcf7-submit {
    background-color: #F57500;
    border: 0;
    color: #fff!important;
    font-size: 1.2em;
    font-weight: bold;
	display:block;
}

input.wpcf7-previous {
    background-color: #F57500;
    border: 0;
    color: #fff!important;
    font-size: 1.2em;
    font-weight: bold;
	display:block;
	padding: 11px;
    width: 100%;
    cursor: pointer;
	margin-bottom:15px;

}



/*table内フォント・padding・stripe設定時のborder調整 (481px以上のみ)*/

@media screen and (min-width: 481px) {
    .container table th {
        padding: 6px 12px;
        border: 0.1px solid;
        border-color: #ddd!important;
    }
    .container table td {
        font-size: 1.1em;
        border: 0.1px solid;
        border-color: #ddd!important;
    }
}

@media screen and (max-width: 480px) {
    .container table th {
        border: 0.1px solid;
        border-color: #ddd!important;
    }
    .container table td {
        border: 0.1px solid;
        border-color: #ddd!important;
    }
}

@media screen and (max-width: 480px) {
    .container table th {
        font-size: 0.7em;
    }
    .container table td {
        font-size: 1em;
    }
}


/*レベルチェックテストフォームに関する装飾*/


/*ラジオボタン選択肢を縦一列にする*/
#LVcheck-form span.wpcf7-list-item. #pickup-form span.wpcf7-list-item {
display: block;
}

/*label(問題文)をblockにして、上と頭に空きを持たせ、太字にする*/
#LVcheck-form label, #pickup-form label {
	padding-top: 1em;
	padding-left: 0.5em;
	display:block;
	font-weight:bold;
}

#LVcheck-form label:before, #pickup-form label:before {
	content: "\f14a";
	font-family: FontAwesome;
	padding-right: 0.5em;

}


/*フッター調整*/

@media screen and (min-width: 1200px) {
    #footer-in {
        width: 80%;
    }
}
/* MODAL CUSTOM CSS in APPLICATION FORM - GUTENBERG MODAL BLOCK */
.bod-btn{
	padding: 1% 5% !important; 
	font-weight: bold !important;
	font-size: 25px !important;
	border: none !important;
}
.bod-block-title-closer{
	background-color: #faaf00 !important;
	color: white !important;
	border: none;
	padding: 20px;
}
.size-m{
	height: 85% !important;	
}

/* CUSTOMIZED ANCHOR TAG OF MODAL OPENER */
a.roomsandrate-modal{
	text-decoration: underline;
}


/*フッターメニューフォント調整*/

.footer-bottom {
    font-weight: 500;
    margin-top: 12px;
}

.footer-bottom .footer-p {
    font-size: 1.15em !important;
}


/*FontAwseomeアイコンフォント調整*/

.fa-lg {
    vertical-align: baseline;
    font-size: 1.3em;
}


/*フッターロゴ画像つぶれ解除*/

.footer-bottom-logo img {
    height: 80px!important;
}

.footer-bottom-logo .logo-image {
    max-width: 100%;
    vertical-align: text-top;
}


/* モーダルウィンドウ */
/*モーダルを開くボタン*/
.modal-open{
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    left: 50%;
    width: 300px;
    height: 50px;
    font-weight: bold;
    color: #fff;
    background: #000;
    margin: auto;
    cursor: pointer;
    transform: translate(-50%,-50%);
  }
  /*モーダル本体の指定 + モーダル外側の背景の指定*/
  .modal-container{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0,0,0,50%);
    padding: 40px 20px;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    box-sizing: border-box;
  }
  @media screen and (max-width: 1023px) {
    .modal-container{
      padding-top: 90px;
    }
  }
  /*モーダル本体の擬似要素の指定*/
  .modal-container:before{
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
  }
  /*モーダル本体に「active」クラス付与した時のスタイル*/
  .modal-container.active{
    opacity: 1;
    visibility: visible;
  }
  /*モーダル枠の指定*/
  .modal-body{
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 900px;
    width: 80%;
  }
  @media screen and (max-width: 1023px) {
    .modal-body{
      width: 78%;
    }
    .modal-body p{
        font-size: 15px;
    }
    .modal-body h4{
        font-size: 18px;
    }
  }
  /*モーダルを閉じるボタンの指定*/
  .modal-close{
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: -40px;
    right: -40px;
    width: 40px;
    height: 40px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
  }
  @media screen and (max-width: 1023px) {
    .modal-close{
      top: -34px;
      right: 0;
      width: 30px;
      height: 30px;
      font-size: 30px;
    }
}
  /*モーダル内のコンテンツの指定*/
  .modal-content{
    background: #fff;
    text-align: left;
    padding: 10px;
    overflow-y: auto;
    height: 80vh;
  }
  @media screen and (max-width: 1023px) {
    .modal-content{
        height: 80vh;
    }
  }
  .roomsandrate-modal{
    cursor: pointer;
  }



/************************************
** トップページ改修
************************************/
#content-in > font{
	display: contents
}
.article h2{
	text-indent: unset;
    padding-left: .5em;
}
.article h2::after {
    margin-left: -0.5em;
}
.scroll-table{
    height: 410px;
    overflow-y: auto;
}
.main figure.wp-block-table.scroll-table{
	 width: fit-content;
}
.top-cta{
	padding: 30px !important;
}
.d-inline-block a{
	display:inline-block
}

.br-sp, .main figure.wp-block-table.br-sp {
display: none;
}

@media screen and (max-width: 1023px) {
.br-pc, .main figure.wp-block-table.br-pc {
display: none;
}

.br-sp, .main figure.wp-block-table.br-sp {
display: inline-block;
}
}

/************************************
** フローティングメニュー
************************************/


.fixed-sp {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
display: none;
align-items: center;
justify-content: center;
z-index: 999999;
}
.fixed-sp-m {
	position: relative;
    top: 0;
	display:none;
    left: 0;
    width: 100%;
    align-items: center;
    justify-content: center;
/*     z-index: 999999; */
}

@media screen and (max-width: 1023px) {
.fixed-sp {
display: flex;
}

.fixed-sp a {
position: relative;
display: inline-block;
width: 50%;
font-size: 14px;
background: #ea5506;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
padding: 9px 9px 9px 0;
}
	
.fixed-sp a:not(:last-child){
border-right: 1px solid #fff;
}

.fixed-sp a::after {
position: absolute;
font-family: FontAwesome;
margin-right: 8px;
transition: all 0.2s ease;
content: "\f105";
font-size: 20px;
right: 0;
top: 50%;
transform:translatey(-50%);
}
	
.fixed-sp-m{
/* display:flex; */
	display:none;
}
	.fixed-sp-m a {
position: relative;
display: inline-block;
width: 50%;
font-size: 14px;
background: #ea5506;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
padding: 9px 9px 9px 0;
}
.fixed-sp-m a::after {
position: absolute;
font-family: FontAwesome;
margin-right: 8px;
transition: all 0.2s ease;
font-size: 20px;
right: 0;
top: 50%;
transform:translatey(-50%);
}