@charset "UTF-8";


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
/*!
Theme Name: Cocoon Child
Template:   cocoon-master
Version:    1.0.8
*/

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

/************************************
** グローバルメニュー PC
************************************/


.sp_only {
  display: none;
}

.pc_only {
  display: block;
}

body.custom-background {
  background-image: unset;
}

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

  .pc_only {
    display: none;
  }
}

/* TITLE */
.display_none {
  display: none;
}

.article h2 {
  position: unset;
  margin: 2rem 0;
  padding: 6px 0px 6px 14px;
  background: unset;
  border-left: 7px solid #0d6fc2;
  border-top: none;
  box-shadow: unset;
  border-radius: unset;
  border-bottom: none;
}
.article h2 ::after{
  display:none;
}
h3,
#sidebar h3,
#sidebar-menu-content h3 {
  background: unset;
  border-left: 7px solid #0d6fc2;
  border-top: none;
  box-shadow: unset;
  border-radius: unset;
  border-bottom: none;
  padding: 6px 0px 6px 14px;
}

/* HEADER */

#header-container .navi {
  background-color: #0d6fc2;
}

.navi-in a {
  color: #fff;
}

.navi-in a {
  border: unset;
  margin: 5px;
  padding: 0 10px;
  border-right: solid 1px #ffffff;
}

.header-container-in {
  background-color: #ffffff;
}

.header_wrap {
  background-color: #fff;
  padding: 7px 10px 0px;
  display: flex;
  justify-content:space-between;
}

@media screen and (max-width: 480px){
	.header_wrap {
		display:none;
	}
}

	.header_tel{
		display:none;
	}

@media screen and (min-width: 1022px){
	.header_tel{
		display:block;
	}
}

.logo_wrap {
  width: 250px;
}
.header_cv{
  display: flex;
  justify-content:space-between;
  align-items: flex-end;
}

.header_tel{
  width:440px;
}
.header_btn {
    width: 248px;
    height: 60px;
    margin-bottom: 16px;
    font-size: 24px;
    line-height: 1.7;
    background-color: #33BE21;
}

#header-img img{
	width:100%;
}

/* MAINCONTAINTS */
ul,
li {
  list-style: none;
  padding: 0;
}

.navi-in>ul .sub-menu {
  display: none;
}

.top_categories.flexbox ul {
    display: flex;
    justify-content: space-between;
    padding: 0;
}

.flexbox.top_categories {
    margin: 0;
}

.top_categories.flexbox li {
    margin: 4px;
}

@media screen and (max-width: 480px) {
  .top_categories.flexbox ul {
/*     display: block; */
	      flex-wrap: wrap;
  }
  .top_categories.flexbox ul {
    padding: 15px 10px;
  }
	
.top_categories.flexbox li {
    margin: 4px;
    width: 10rem;
}
}

/* FOOTER */

#footer {
  color: #ffffff;
  background-color: #0d6fc2;
}

div#header-img {
    padding-top: 50px;
}

.navi-footer-in a {
    color: #fff;
}

.footer-widgets.cf a {
    color: #fff;
    padding: 2px;
}

.footer-widgets.cf a:hover {
    color: #c5c5c5;
    background:unset;
}

.menu-item {
    font-weight: bold;
}

.widget_nav_menu ul.sub-menu {
    font-weight: normal;
    padding-left: 0;
    font-size: 16px;
}

ul.sub-menu li{
    padding:0;
}

ul.sub-menu a {
    font-weight: normal;
}


/* Footer mobile */

.widget_nav_menu ul .menu-item a {
    color: #fff;
    padding: 2px;
    font-size: 14px;
}

.footer-mobile {
    display: flex;
    justify-content:space-between;
}

img.site-logo-image {
    width: 140px;
    margin: 2px auto 0;
}

.navi-menu-content{
	left: auto;
	right: 0;
	transform: translateX(101%);
}

 /* ロゴの大きさ・幅に関するもの */
.header-container-in.hlt-top-menu .logo-header img {
  max-height: 100%;
  height: auto;
  max-width: 210px;
  vertical-align: middle;
  margin: 20px 0;
}
#header-container {
  box-shadow: 0 0 10px rgba(30, 30, 30, .1);
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  z-index: 10;
}
.site-name-text-link {
  color: #fff;
}
.navi {
  background: none;
}
.navi-in > ul .sub-menu {
  background: #fff;
  box-shadow: 0 0 10px rgba(30, 30, 30, .1);
}
.navi-in > ul li {
  width: auto;
}
.navi-in a {
  font-size: 13px; /* ナビ文字大きさ */
  font-weight: bold;
  position: relative;
  color: #fff; /* ナビ文字色 */
  padding: 0 20px;
  display: block;
  text-decoration: none;
}
.navi-in a:hover {
  background: none;
}
.navi-in a:before {
  position: absolute;
  left: 0;
  bottom: 6px;
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #fff; /* マウスON時の下線色 */
  transform: scale(0, 1);
  transition: 0.4s;
}
.navi-in a:hover:before {
  transform: scale(1);
}
.navi-in > ul .sub-menu a {
  color: #666; /* サブメニュー文字色 */
  font-size: 12px; /* サブメニュー文字の大きさ */
}
.navi-in > ul .sub-menu a:before {
  background: #42d5e7; /* サブメニューマウスON時の下線色 */
}
.header-container-in.hlt-top-menu .logo-header {
  max-height: 100%;
}
.header-small {
  opacity: 0.9;
}
.header-small .header-container-in.hlt-top-menu .logo-header img {
  max-width: 130px;
  margin: 10px 0;
}

.front-top-page .content {
    margin-top: 24px;
}
.front-top-page .entry-content{
margin-top: -1rem;
}

.front-top-page .entry-title{
	display:none;
}

.content {
    margin-top: 64px;
}
#container {
  padding-top: 90px;
}

@media screen and (max-width: 480px){
.content {
    margin-top: 0;
}
#container {
  padding-top: 0;
}
	div#header-img{
  padding-top: 0;
	}
}
[id^="toc"]:target {
  padding-top: 85px;
  margin-top: -85px;
}


.navi-in>ul li{
    height:auto;
}
.navi-in a {
    padding: 0 30px;
}

.navi-in .has-icon {
    top: -10px;
    right: 8px;
}

.navi-in a:hover {
    background-color: #ffffff;
    transition: all .3s ease-in-out;
    color: #0c6fc1;
    border-bottom: none;
    border-radius: 2px;
}

.top-has-sub.has-sub.has-icon {
    font-size: 23px;
}

.caption-wrap .item-label {
    font-size: 15px;
    line-height: 2.6;
}

.navi-in>ul .sub-menu {
    font-size: 6px;
}


/************************************
** サイドメニュー
************************************/

.new-entry-card-content.widget-entry-card-content.card-content {
    font-size: 14px;
    padding-top: 2px;
}
.widget-entry-cards .a-wrap {
    padding: 5px 8px;
    line-height: 1.3;
    margin-bottom: 10px;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
}

.widget-entry-cards figure {
    width: 110px;
}

aside#categories-3 li {
    padding: 5px 8px;
    line-height: 1.3;
    margin-bottom: 10px;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    font-size:14px;
}


@media screen and (max-width: 480px){
.menu-drawer li {
    border: 1px solid #d0d0d0;
    border-radius: 2px;
}
}

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

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

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

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


/* ===================================================================
   2026-06-20 Vキャンパス デザイン洗練 ブルー #0d6fc2 (伸学α/伏見と同方式)
=================================================================== */
:root{ --vc-blue:#0d6fc2; --vc-blue-d:#0a5596; --vc-line:#e1e6f0; }
body{ font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif !important; }
.article, .entry-content{ color:#3f4658; line-height:1.95; letter-spacing:.02em; }
.article p{ margin:0 0 1.45em; }
/* 見出しフラット化 */
.article h2{ background:#fff !important; color:#16213f !important; border:none !important; border-left:5px solid var(--vc-blue) !important; border-bottom:1px solid var(--vc-line) !important; border-radius:0 !important; box-shadow:none !important; padding:.4em .7em !important; margin:2.4em 0 1em !important; font-weight:700; }
.article h2::before, .article h2::after{ display:none !important; }
.article h3{ background:none !important; color:#16213f !important; border:none !important; border-left:4px solid var(--vc-blue) !important; border-radius:0 !important; box-shadow:none !important; padding:.15em .65em !important; margin:2.0em 0 .8em !important; font-weight:700; }
.article h3::before, .article h3::after{ display:none !important; }
.article h2:first-child, .article h3:first-child{ margin-top:.4em !important; }
.widget .widget_header, .widget h3, .sidebar h3, .widget-title{ background:none !important; color:var(--vc-blue) !important; border:none !important; border-bottom:2px solid var(--vc-blue) !important; border-radius:0 !important; padding:.2em .1em .45em !important; font-weight:700; }
/* リンク・ボタン */
.article a:not(.btn):not(.wp-block-button__link){ color:var(--vc-blue-d); text-underline-offset:2px; }
.article a:not(.btn):not(.wp-block-button__link):hover{ color:var(--vc-blue); }
.article .btn, .wp-block-button__link, a.btn{ border-radius:9px !important; padding:.85em 1.8em !important; box-shadow:0 4px 12px rgba(13,111,194,.16) !important; transition:transform .15s ease, box-shadow .15s ease; letter-spacing:.03em; }
.article .btn:hover, .wp-block-button__link:hover, a.btn:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(13,111,194,.24) !important; }
/* 表 */
.article table{ border-collapse:separate; border-spacing:0; border:1px solid var(--vc-line); border-radius:10px; overflow:hidden; width:100%; }
.article table th, .article table td{ padding:.8em 1em !important; border-color:#eaedf4 !important; }
.article table th{ background:var(--vc-blue) !important; color:#fff !important; font-weight:700; }
.article table tbody tr:nth-child(even) td{ background:#f4f6fb !important; }
.article hr{ border:none; height:1px; background:var(--vc-line); margin:2.4em 0; }
/* fade-up */
.fade-up{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .75s cubic-bezier(.22,.61,.36,1); will-change:opacity,transform; }
.fade-up.in{ opacity:1; transform:none; will-change:auto; }
.wp-block-cover.fade-up{ transform:none !important; will-change:auto !important; }
@media (prefers-reduced-motion: reduce){ .fade-up{ opacity:1 !important; transform:none !important; transition:none !important; } }
/* コンテンツ幅 中央寄せ制限 + 本文iframe中央 */
.entry-content{ max-width:860px; margin-left:auto; margin-right:auto; }
.entry-content iframe, .entry-content p > iframe { display:block; margin-left:auto; margin-right:auto; max-width:100%; }
/* トップ限定: 動画と alignfull cover を画面いっぱい */
body.home .entry-content figure.wp-block-video,
body.home .entry-content .wp-block-cover.alignfull{ width:100vw !important; max-width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; border-radius:0 !important; }
body.home .entry-content figure.wp-block-video video{ width:100% !important; height:auto !important; display:block; }
