@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
*/

/************************************
** 共通 common
************************************/


/* -------------------------------
   マージン・パディング・ボックスサイズリセット
-------------------------------- */


/* ヘッダー・フッターなどの構造の余白や装飾を解除 */
.header-container,
.footer-container,
.sidebar,
.main,
.entry-content,
.article {
  all: unset;
  display: block;
  text-box-trim: trim-start;
}



/********* ヘッダー *************************************************/

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

/************************************
** 共通 common
************************************/

/* 初期設定 */
* {
  box-sizing: border-box;
}

html {
  height: 100%;
  text-box-trim: trim-both;
}
body {
  margin: 0;
  padding: 0;
  text-box-trim: trim-both;
}

.eye-catch {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
.eye-catch-image {
  display: block;
  max-width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
  border: none;
  vertical-align: bottom;
}
.wp-post-image {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}


.textwidget,
.custom-html-widget {
  display: block;
  padding: 0 !important;
  margin: 0 !important;
  width: auto;
}

/************************************
** 子テーマ用のスタイルを書く
************************************/


.sp_only {
  display: none;
}


@media screen and (max-width: 640px) {
.sp_only {
display: block;
}
.pc_only {
display: none;
}
}




/*ページの投稿日・更新日・著者情報を消す*/
.page .date-tags,
.page .author-info {
  display: none;
}
/*エントリーカードカテゴリー名非表示*/
.cat-label {
  display: none;
}



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

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


.main_txt_top {
display: block;
  width: calc(100% - 240px - 24px);
  padding: 0;
  order: 1;
}
.sidebar {
display: block;
  float: none !important;
  width: 240px !important;
  height: auto;
  padding: 0;
  margin: 0;
  margin-bottom: 16px;
  order: 2;
}

@media only screen and (max-width: 1080px) {
.content-in {
padding: 0 16px;
}
.main_txt_top {
  width: calc(99% - 240px - 12px);
}
.main_txt_top {
  width: calc(76% - 16px);
}
.sidebar {
  width: 23% !important;
}

}



@media screen and (max-width: 640px) {	
  .content-in-sideari {
    display: block;
    margin: 0;
    padding: 0;
    padding-bottom: 0;
    box-shadow: none;
  }
  .main_txt_top {
    width: auto;
    margin: 0;
    margin-bottom: 16px;
    padding: 0;
    border-radius: 0;
  }
.content-in-side-no .main_txt {
    width: auto;
    margin: 0;
    margin-bottom: 16px;
    padding: 0;
    border-radius: 0;
}

.sidebar {
    width: auto !important;
    margin: 0;
  margin-bottom: 0;
    padding: 16px;
  }

  .main_txt_in {
    padding: 16px;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
  margin-bottom: 0;
  }
}


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

#container {
  position: relative;
  padding: 0 !important;
  margin: 0 !important;
}
.container {
  margin: 0 auto;
  padding: 0;
  display: block;
  background: none;
}
#content {
  background: none;
  margin: 0;
  margin-bottom: 0;
  padding: 0;
  padding-bottom: 0;
  width: auto !important;
  max-width: none !important;
  float: none;
}
.content {
overflow: hidden;
  background: none;
  margin: 0;
  margin-bottom: 0 !important;
  padding: 0;
  padding-bottom: 0 !important;
  width: auto !important;
  max-width: none !important;
  float: none;
}

.content-in {
  background: none;
  margin: 0 auto;
  width: auto;
  max-width: 1080px;
  padding: 0;
}

@media only screen and (max-width: 1080px) {
.content-in {
padding: 0 16px;
}
}
@media only screen and (max-width: 640px) {
  .content-in {
    width: auto;
    margin: 0 0;
	padding: 0 8px;
  }
}




.entry-content,
.article-footer,
article {
  margin: 0;
  margin-bottom: 0 !important;
  padding: 0;
}

/************************************
** カラムサイズ指定
************************************/
main,
.main,
.main_top {
  display: block;
  width: auto;
  background: none;
  padding: 0!important;
  margin: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/************************************
** カラムサイズ指定
************************************/
.entry-card {
  height: auto;
}

.article-header,
.entry-header {
  margin: 0;
  padding: 0;
}

#breadcrumb {
  width: auto;
  max-width: 1080px;
  margin: 0 auto;
  margin-bottom: 16px;
  line-height: 1.0;
  padding: 0;
}


@media screen and (max-width: 1080px) {
  #breadcrumb {
    padding: 0 16px;
  }
}
@media screen and (max-width: 640px) {
  #breadcrumb {
    display: none;
}
}

img {
  max-width: 100%;
  /* width: 100%; */
}


/************************************
** 級数指定
************************************/


.schList_name,
.navi-in > ul li ul li a,
.entry-content,
article,
.top_main,
.top_content,
.sidebar,
.bt_news, .bt_left_arrow,
.menu-parent,
p, ul, ol, dl,
dl.top_news,
dl.top_shinryou,
table.table_timetable,
table {
  font-size: 16px;
  line-height: 1.6;
}
.foot_logo,
p.foot_add,
ul.foot_menu li,
ul.list_footer_schList,
p.head_desc,
.copy,
.copy p,
.grid_copy_txt,
table.table_campus_add {
font-size: 14px;
  line-height: 1.6;
}

.breadcrumb {
font-size: 13px;
  line-height: 1.0;
}


article h1,
.sidebar h1,
#title h1,
.topmain h1,
.entry-content h1,
h1 {
  font-size: 28px;
  line-height: 1.2;
}
article h1,
.sidebar h1,
#title h1,
.topmain h1,
.entry-content h1 {
  text-box-trim: trim-both;
}

article h2,
.sidebar h2,
.title h2,
.topmain h2,
.entry-content h2,
h2 {
  font-size: 24px;
  line-height: 1.3;
  text-box-trim: trim-both;
}

article h3,
.sidebar h3,
.title h3,
.entry-content h3,
h3.entry_title,
h3 {
  font-size: 22px;
  line-height: 1.4;
  text-box-trim: trim-both;
}

.navi-in > ul li a,
article h4,
.sidebar h4,
.title h4,
.entry-content h4,
h4.entry_title,
h4 {
  font-size: 20px;
  line-height: 1.5;
  text-box-trim: trim-both;
}

dl.faq dt,
article h5,
.sidebar h5,
.title h5,
.topmain h5,
.entry-content h5,
h5 {
  font-size: 18px;
  line-height: 1.6;
  text-box-trim: trim-both;
}


@media only screen and (max-width: 1080px) {
ist_name,
.navi-in > ul li ul li a,
.entry-content,
article,
.top_main,
.top_content,
.sidebar,
.bt_news, .bt_left_arrow,
.menu-parent,
p, ul, ol, dl,
dl.top_news,
dl.top_shinryou,
table.table_timetable,
table {
  font-size: 1.48vw;
}

.foot_logo,
p.foot_add,
ul.foot_menu li,
ul.list_footer_schList,
p.head_desc,
.copy,
.copy p,
.grid_copy_txt,
table.table_campus_add {
  font-size: 1.30vw;
}

.breadcrumb {
  font-size: 1.20vw;
}

article h1,
.sidebar h1,
#title h1,
.topmain h1,
.entry-content h1,
h1 {
  font-size: 2.59vw;
}

article h2,
.sidebar h2,
.title h2,
.topmain h2,
.entry-content h2,
h2 {
  font-size: 2.22vw;
}

article h3,
.sidebar h3,
.title h3,
.entry-content h3,
h3.entry_title,
h3 {
  font-size: 2.04vw;
}

.navi-in > ul li a,
article h4,
.sidebar h4,
.title h4,
.entry-content h4,
h4.entry_title,
h4 {
  font-size: 1.85vw;
}

dl.faq dt,
article h5,
.sidebar h5,
.title h5,
.topmain h5,
.entry-content h5,
h5 {
  font-size: 1.67vw;
}
}


@media only screen and (max-width: 640px) {
.schList_name,
.navi-in > ul li ul li a,
.entry-content,
article,
.top_main,
.top_content,
.sidebar,
.bt_news, .bt_left_arrow,
.menu-parent,
p, ul, ol, dl,
dl.top_news,
dl.top_shinryou,
table.table_timetable,
table {
  font-size: 14px !important;
}

.foot_logo,
p.foot_add,
ul.foot_menu li,
ul.list_footer_schList,
p.head_desc,
.copy,
.copy p,
.grid_copy_txt,
table.table_campus_add {
font-size: 13px !important;
}


article h1,
.sidebar h1,
#title h1,
.topmain h1,
.entry-content h1,
h1 {
  font-size: 26px !important;
}

article h2,
.sidebar h2,
.title h2,
.topmain h2,
.entry-content h2,
h2 {
  font-size: 22px !important;
}

article h3,
.sidebar h3,
.title h3,
.entry-content h3,
h3.entry_title,
h3 {
  font-size: 20px !important;
}

.navi-in > ul li a,
article h4,
.sidebar h4,
.title h4,
.entry-content h4,
h4.entry_title,
h4 {
  font-size: 18px !important;
}

dl.faq dt,
article h5,
.sidebar h5,
.title h5,
.topmain h5,
.entry-content h5,
h5 {
  font-size: 16px !important;
}
}


.greetingbox_name h2 {
font-size: 40px !important;
} 

@media only screen and (max-width: 640px) {
.greetingbox_name h2 {
font-size: 19px !important;
} 
}




/********* セクション *************************************************/

.content_section {
display: block;
margin-bottom: 0;
}
.content_section0 {
display: block;
margin-bottom: 0;
}
.content_section1em {
display: block;
margin-bottom: 1em;
}
.content_section80 {
display: block;
margin-bottom: 64px;
}
.content_section40 {
display: block;
margin-bottom: 40px;
}
.content_section32 {
display: block;
margin-bottom: 32px;
}
.content_section24 {
display: block;
margin-bottom: 24px;
}
.content_section16 {
display: block;
margin-bottom: 16px;
}
.content_section8 {
display: block;
margin-bottom: 8px;
}
.content_section40map {
display: block;
margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
.content_section80 {
display: block;
margin-bottom: 32px;
}
.content_section40 {
margin-bottom: 32px;
}
.content_section32 {
margin-bottom: 24px;
}
.content_section24 {
margin-bottom: 16px;
}
.content_section16 {
margin-bottom: 8px;
}
.content_section8 {
margin-bottom: 8px;
}
.content_section40map {
margin-bottom: 32px;
}
}



/************************************
** 画像
************************************/

.imageleft {
  max-width: 40%;
  float: left;
  margin-right: 16px;
}
.imageright {
  max-width: 40%;
  float: right;
  margin-left: 16px;
}
.imagecenter {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
.imagecenter00 {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
.imagecenter80 {
  max-width: 80%;
  display: block;
  margin: 0 auto;
}
.pic_center {
	display: block;
	margin: 0 auto;
	border: 5px solid #FFF;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
	
}
@media screen and (max-width: 640px) {
  .imageleft {
    max-width: 50%;
    float: left;
    margin-right: 8px;
  }
  .imageright {
    max-width: 50%;
    float: right;
    margin-left: 8px;
  }
  .imagecenter {
    max-width: 100%;
    display: block;
    margin: 0 auto;
  }
}





/************************************
** ページャー
************************************/

table.table_postnavi {
  table-layout: auto;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
table.table_postnavi tr,
table.table_postnavi th,
table.table_postnavi td {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
}
table.table_postnavi th {
  padding: 0 15px;
  width: auto;
  text-align: center;
  white-space: nowrap;
}
table.table_postnavi th a {
  padding: 15px;
}
table.table_postnavi td.left_post {
}
table.table_postnavi td.right_post {
  text-align: right;
}






/************************************
** ボックス
************************************/
.flex_two {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_two_box {
width: calc(100% / 2 - 8px);
display: block;
}
.flex_two_box:nth-child(n+3) {
margin-top: 16px;
}

@media screen and (max-width: 640px) {
.flex_two {
flex-flow: column;
}
.flex_two_box {
width: auto;
min-height: 286px;
}
.flex_two_box:nth-child(n+2) {
margin-top: 8px;
}
}
.flex_three {
position: relative;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin: 0;
padding: 0;
}
.flex_three_box {
width: calc(100% / 3 - 11px);
display: block;
  flex-grow: 1;
padding: 0 !important;
margin: 0 8px;
background: #EEE;
}
.flex_three_box:first-child {
margin-left: 0;
}
.flex_three_box:last-child {
margin-right: 0;
}

@media screen and (max-width: 640px) {
.flex_three {
margin: 0 -16px;
margin-top: -8px;
}
.flex_three_box {
width: auto;
display: block;
margin: 0 4px;
}
}

.flex_four {
position: relative;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
  flex-grow: 1;
}
.flex_four_box::after {
content: "";
display: block;
width: calc(100% / 4 - 12px);
}
.flex_four_box::before {
order: 1;
content: "";
display: block;
width: calc(100% / 4 - 12px);
}
.flex_four_box {
width: calc(100% / 4 - 12px);
display: block;
background: #EEE;
}
.flex_four_box:nth-child(n+5) {
margin-top: 16px;
}

@media screen and (max-width: 640px) {
.flex_four_box::after {
display: none;
}
.flex_four_box::before {
display: none;
}
.flex_four_box {
width: calc(100% / 2 - 4px);
min-height: 138px;
}
.flex_four_box:nth-child(n+3) {
margin-top: 4px;
}
}



.flex_two_pic,
.flex_two_txt {
width: calc(100% / 2 - 8px);
display: block;
flex-grow: 1;
}
.flex_two_txt {
order: 1;
}
.flex_two_pic {
order: 2;
}


@media screen and (max-width: 640px) {
.flex_two_pic,
.flex_two_txt {
width: auto;
flex-flow: column;
}
.flex_two_txt {
margin-top: 8px;
}
}


/************************************
** テキスト位置
************************************/
.t_center {
  text-align: center !important;
}
.t_center_pc {
  text-align: center !important;
}
@media only screen and (max-width: 640px) {
  .t_center_pc {
    text-align: left !important;
  }
  .t_center_sp {
    text-align: center !important;
  }
}
.t_left {
  text-align: left !important;
}
.t_right {
  text-align: right !important;
}

.right {
  float: right !important;
}



/************************************
** padding
************************************/
.pb0 {
  margin-bottom: 0 !important;
}
.pb4 {
  padding-bottom: 4px !important;
}
.pb8 {
  padding-bottom: 8px !important;
}
.pb16 {
  padding-bottom: 16px !important;
}
.pb24 {
  padding-bottom: 24px !important;
}
.pb32 {
  padding-bottom: 32px !important;
}
.pb40 {
  padding-bottom: 40px !important;
  margin-bottom: 0 !important;
}
.pb80 {
  padding-bottom: 80px !important;
}
.pt0 {
  padding-top: 0 !important;
}
.pt4 {
  padding-top: 4px !important;
}
.pt8 {
  padding-top: 8px !important;
}
.pt16 {
  padding-top: 16px !important;
}
.pt24 {
  padding-top: 24px !important;
}
.pt32 {
  padding-top: 32px !important;
}
.pt40 {
  padding-top: 40px !important;
}
@media screen and (max-width: 780px) {
.pb4 {
  padding-bottom: 2px !important;
}
.pb8 {
  padding-bottom: 4px !important;
}
.pb16 {
  padding-bottom: 8px !important;
}
.pb24 {
  padding-bottom: 16px !important;
}
.pb32 {
  padding-bottom: 24px !important;
}
.pb40 {
  padding-bottom: 32px !important;
}
.pb80 {
  padding-bottom: 72px !important;
}
}

/************************************
** マージン
************************************/
.mb0 {
  margin-bottom: 0 !important;
}
.mb4 {
  margin-bottom: 4px !important;
}
.mb8 {
  margin-bottom: 8px !important;
}
.mb16 {
  margin-bottom: 16px !important;
}
.mb24 {
  margin-bottom: 24px !important;
}
.mb32 {
  margin-bottom: 32px !important;
}
.mb36 {
  margin-bottom: 36px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}
.mt0 {
  margin-top: 0 !important;
}
.mt4 {
  margin-top: 4px !important;
}
.mt8 {
  margin-top: 8px !important;
}
.mt16 {
  margin-top: 16px !important;
}
.mt24 {
  margin-top: 24px !important;
}
.mt32 {
  margin-top: 32px !important;
}
.mt40 {
  margin-top: 40px !important;
}
@media screen and (max-width: 780px) {
.mb4 {
  margin-bottom: 2px !important;
}
.mb8 {
  margin-bottom: 4px !important;
}
.mb16 {
  margin-bottom: 8px !important;
}
.mb24 {
  margin-bottom: 16px !important;
}
.mb32 {
  margin-bottom: 24px !important;
}
.mb36 {
  margin-bottom: 28px !important;
}
.mb40 {
  margin-bottom: 32px !important;
}

.mb80 {
  margin-bottom: 72px !important;
}

.mt4 {
  margin-top: 4px !important;
}
.mt8 {
  margin-top: 2px !important;
}
.mt16 {
  margin-top: 16px !important;
}
.mt24 {
  margin-top: 16px !important;
}
.mt32 {
  margin-top: 24px !important;
}
.mt40 {
  margin-top: 32px !important;
}
}
/************************************
** フォントサイズ
************************************/


.fs80 {
font-size: 80%;
}
.fs90 {
font-size: 90%;
}
.fs110 {
font-size: 110%;
}
.fs120 {
font-size: 120%;
}
.fs130 {
font-size: 130%;
}
.fs140 {
font-size: 140%;
}
.fs150 {
font-size: 150%;
}
.fs200 {
font-size: 200%;
}
.fs250 {
font-size: 250%;
}
.fs300 {
font-size: 230%;
}
.fs10 {
  font-size: 10px;
}
.fs12 {
  font-size: 12px;
}
.fs14 {
  font-size: 14px;
}
.fs16 {
  font-size: 16px;
}
.fs18 {
  font-size: 18px;
}
.fs20 {
  font-size: 20px;
}
.fs22 {
  font-size: 22px;
}
.fs23 {
  font-size: 23px;
}
.fs24 {
  font-size: 24px;
}
.fs26 {
  font-size: 26px;
}
.fs28 {
  font-size: 28px;
}
.fs30 {
  font-size: 30px;
}
.fs32 {
  font-size: 32px;
}
.fs34 {
  font-size: 34px;
}
.fs36 {
  font-size: 36px;
}
.fs37 {
  font-size: 37px;
}
.fs38 {
  font-size: 38px;
}
.fs40 {
  font-size: 40px;
}
.fs42 {
  font-size: 42px;
}


/************************************
** カラー
************************************/
.red {
  color: #f00;
}
.pink {
  color: #fc5987;
}
.yellow {
  color: #f9d50b;
}

.yellow02 {
  color: #fcff00;
}
.blue {
  color: #0236df;
}
.orange {
  color: #fd9902;
}
.blown {
  color: #900;
}
.rose {
  color: #D25;
}
.green {
  color: #287928;
}
.navy {
  color: #06A;
}
.pink02 {
  color: #f9b;
}
.gold {
  color: #eee06d;
}
.gray {
  color: #555;
}
.wine {
  color: #b07;
}
.wine02 {
  color: #D25;
}


