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

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









/*　諸設定　*/

/* 日本語の文字を強制的に斜体にする設定 */
em, i, .has-italic-font-style {
    font-style: normal !important;
    transform: skewX(-15deg);
    display: inline-block;
}

/* 「.indent-box」という名前をつけた段落の左側に、品の良い20px分の余白（字下げ）を作る設定 */
.indent-box {
    padding-left: 20px !important;
}








/* メインカラム */

.entry-content {
}

.no-sidebar #main {	/* 1カラム時の本文の横幅を800pxに */
    max-width: 800px;
    margin: 0 auto;
}




/* フォント設定 */

body, h1, h2, h3, h4, h5, h6, input, textarea, select {
    font-family: sans-serif !important;
}











/* ヘッダー */

.header-in {
  	text-align: left !important;
	align-items: flex-start !important;	
	padding-left: 40px !important;
	margin: 0 !important;
}

.header {
    /*background-color: #2e4f7b;*/
	background-color: #fff;
	border-bottom: 1px solid #e0e0e0 !important;
}

.tagline {
	margin: 15px 0px 0px !important;
	/*color: #fff !important;*/
	color: #2e4f7b !important;
	font-size: 13px !important;	
	line-height: 1 !important;
}

.logo-text {
    margin: 0 0 8px !important;
    padding: 0px 0px 0px !important;
}

.site-name-text-link {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

header .site-name-text {
    /*color: #fff !important;*/
	color: #2e4f7b !important;
    font-weight: 600 !important;
    font-size: 20px !important;
}







/* タイトル上ウィジット全般設定 */
.widget-above-single-content-title.widget_custom_html {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* PR文表記 */
.site-ad-notice {
    font-size: 11px;
    color: #999;
    text-align: right;
    margin-bottom: 5px;
}











/* 記事トップのアイキャッチ */
.eye-catch-wrap img {
    max-width: 70% !important;
    margin: 0 auto !important;
    display: block !important;
}









/* 日付表示 */
.single .entry-header .date-tags {
  display: inline-block !important;
  vertical-align: middle !important;
}








/* 共有ボタン */

/* 全体 */
.yt-share-wrap {
	display: inline-block !important;
	vertical-align: middle !important;	
  	float: right !important;	/* 右寄せ */
	text-align: right !important;
	width: auto !important;
	margin: 0 !important;
}

/* ボタン本体 */
.yt-share-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #0000000d !important; 
  color: #0f0f0f !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  height: 32px !important;
  padding: 0 12px !important;
  border-radius: 16px !important; 
  text-decoration: none !important;
  border: none !important;
}
.yt-share-button:hover {
	background: #0000001a !important; 
}

/* SVG矢印 */
.yt-share-button svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
  margin-right: 4px !important;
  pointer-events: none !important;
}










/*　見出し　*/


.article h1 {
	margin-top: 10px !important;
}

.entry-content h2 {
	background-color: #00b0ff08 !important;
	color: #1d3759 !important;
	border-left: 4px solid #00b0ff !important;
	border-top: 1px solid #00b0ff07 !important;
	border-bottom: 1px solid #00b0ff07 !important;
	border-radius: 0px;
	padding: 14px 14px !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	margin: 60px 0px 40px !important;
	letter-spacing: 0.06em !important;
}

.entry-content h2.is-small-h2 { /* 学科･コース(子)用のh2 */
	font-size: 17px !important;
	line-height: 1.5 !important;
	margin: 40px 0px 0px !important;
	padding: 10px 35px 10px 20px !important;
	display: inline-block !important;
	background: #00b0ff0f !important;
	color: #444444 !important;
	border: none !important;
	border-radius: 0 !important;
	clip-path: polygon(0% 0%, 100% 0%, calc(100% - 15px) 50%, 100% 100%, 0% 100%) !important;
}

.entry-content h3 {
  font-size: 18px !important;
  margin: 60px 0px 40px !important;
  padding: 0 0 10px 5px !important;
  border: none !important;
  background: linear-gradient(to right, #00b0ff 80px, #e8e8e8 80px) no-repeat left bottom / 100% 2px !important;
}

.entry-content h4 {
    display: inline-block !important;
    width: fit-content !important;
    border: none !important;
    border-bottom: 1px dashed #1d375933 !important;
    padding: 0 0 4px !important;
    margin: 0 0 5px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1d3759 !important;
}















/* 追従広告 */
#floating-navi-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    box-sizing: border-box !important;
    background-color: #444444cc !important;
    height: 60px !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    font-size: 16px !important; 
    margin-bottom: 0 !important;
}

#floating-navi-bar .my-a8-link-container a {
    background-color: #4565d5 !important;
    color: #ffffff !important;
    padding: 14px 30px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    text-decoration: none !important;
	  text-align: center !important;
    box-shadow: 0 2px 5px rgba(69,101,213,0.3) !important;
}

.my-a8-link-container img {
    display: none !important;
}

.navi-close-btn {
    position: absolute !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    top: 0 !important;
    right: 0 !important;
    font-size: 24px !important;
    width: 35px !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
	  color: #ffffff !important;
}












/* 大学内記事項目メニュー */
.pasnavi-university-container {
    max-width: 100%;
    margin: 0px auto 0px;
    padding: 0px 10px 10px 0;
    font-family: sans-serif;
}
/* 一番上の大学名（看板） */
.pasnavi-university-title {
    font-size: 24px;
	line-height: 1;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
    text-align: left;
}
/* 親の箱（横一列の整列） */
.pasnavi-university-menu {
    display: flex;
	overflow-x: auto !important;
	flex-wrap: nowrap !important; 
}
/* ボタン全体の共通ルール */
.pasnavi-menu-btn {
    width: calc((100% - 20px) / 6);
	margin: 5px 5px 5px 0;
	min-width: 100px !important;
	flex-shrink: 0 !important;
    text-align: center;
    font-weight: bold;
	line-height: 1.3;
    font-size: 13.3px;
	height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.3s, border 0.3s;
	outline: 1px solid transparent;
	border: 1px solid transparent !important;
}

/* ボタンの色変更 */
/* 通常時のボタン */
.pasnavi-menu-btn.is-normal {
    background-color: #eef0f4;
    color: #333;
}
/* 現在地のボタン */
.pasnavi-menu-btn.is-active {
    background-color: #00b0ff;
    color: white;
}

/* ホバー時の色変更 */
.pasnavi-menu-btn:not(.is-active):hover {
    background-color: #eefbff !important;
	border: 1px solid #1e84a2 !important;
}








/*　アコーディオンボックス　*/

/* 詳細タブ接続・border設定 */
.univ-accordion-wrap details {
  margin: 0 !important;
  background-color: #ffffff !important;
  border-top: 1px solid #1d375933 !important;
}
.univ-accordion-wrap details:last-of-type {
  border-bottom: 1px solid #1d375933 !important;
}

/* 詳細タブタイトルデザイン設定 */
.univ-accordion-wrap details summary {
	padding: 18px 4px 18px 16px !important;
	color: #1d3759 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 20px !important;
	cursor: pointer !important;
	list-style: none !important;  
	background: linear-gradient(#00b0ff, #00b0ff) no-repeat 0px 8px / 2px calc(100% - 16px) !important;
}
.univ-accordion-wrap details summary::-webkit-details-marker {
	display: none !important;
}

/*　開閉アイコン　*/
.univ-accordion-wrap details summary::after {
	content: "" !important;
	float: right !important;
	width: 24px !important;
	height: 24px !important;	
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d375933' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 8 12 14 18 8'></polyline></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
}
.univ-accordion-wrap details[open] summary::after {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d375933' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='18 14 12 8 6 14'></polyline></svg>") !important;
}

/* 詳細タブ内部デザイン設定 */
.univ-content-box {
	padding: 0px 0px 8px 0px !important;
}
.univ-content-box h4 {
	border: none !important;
	padding: 0 0 6px 2px !important;
	margin: 25px 0 0px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	/*color: #262626 !important;*/
	/*color: #3a475d !important;*/
	color: #3a475d !important;
	border-bottom: 1px dashed #1d375933 !important;
}
/* 先頭がH4だった時のmargin設定 */
.univ-content-box > h4:first-child {
    margin-top: 12px !important; 
}
.univ-content-box p {
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #585858 !important;
	line-height: 1.7 !important;
	margin: 16px 0 4px 0 !important;
}
















/* 科目一覧ボックスデザイン */
/* 全体 */
.univid-subject-box {
    background-color: #f7fcff !important; 
    border-left: 3px solid #98c7e2 !important;
    padding: 15px !important;
    margin: 20px 0 !important;
    border-radius: 0 4px 4px 0 !important;
}
/* 見出し部分 */
.univid-subject-box h5 {
    font-weight: 600 !important;
    color: #5c6b83 !important;
	font-size: 14px !important;
	border: none !important;
	padding: 0 0 0px !important;
	margin: 5px 0 10px !important;
}
/* 本文部分 */
.univid-subject-box p {
    color: #59788f !important;
    margin: 10px 0 0 !important;
}










/* 大学一覧メニューBOX */
.wiki-nav-container {
    width: 100% !important;
    margin-top: 60px !important;
    border: 1px solid #bbb !important;
    padding: 2px !important;
    background-color: #fff !important;
    box-sizing: border-box !important;
}

.wiki-nav-title {
    background-color: #5870c9 !important;
    color: #fff !important;
    padding: 3px !important;
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border: 2px solid #fff !important;
}

.wiki-nav-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
}

.wiki-nav-grid a {
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16.666% !important;
    height: 40px !important;
    color: #333333 !important;
    font-size: 13.5px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    word-break: break-all !important;
    box-sizing: border-box !important;
    border: 2px solid #ffffff !important; 
    background-color: #f0f3ff !important;
}

.wiki-nav-grid a:hover {
    background-color: #d0d7ff !important;
}

@media screen and (max-width: 1200px) {
    .wiki-nav-grid a {
        width: 20% !important;
    }
}

@media screen and (max-width: 992px) {
    .wiki-nav-grid a {
        width: 25% !important;
    }
}

@media screen and (max-width: 600px) {
    .wiki-nav-grid a {
        width: 33.333% !important;
    }
}









/* フロー図 */

.flow-svg-container {
    width: 100%;
    max-width: var(--canvas-width); 
    margin: 0 auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.flow-svg-element {
    display: block;
    width: 100%;
    min-width: calc(var(--canvas-width) * 0.85); 
    height: auto;
    font-family: sans-serif;
}

.flow-svg-container::-webkit-scrollbar {
    height: 6px;
}
.flow-svg-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}
.flow-svg-container::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
}









/* 参照元情報詳細ボックス */

.source-details {
  margin: 5px auto 20px !important;
}

.source-details summary {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #718096 !important;
  cursor: pointer !important;
  outline: none !important;
  user-select: none !important;
}

.source-details p,
.source-details ul,
.source-details li {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #888888 !important;
  line-height: 1.4 !important;
  margin-top: 6px !important;
  margin-bottom: 0 !important;
}









/* 資料請求解説画像 */
.guide-img {
    display: block !important;
    margin: 30px auto !important;
    width: 100% !important;
    max-width: 320px !important;
    height: auto !important;
}
















/* 学部学科記事･リンクエリア */
/* リンクカードを格納する外枠 */
.university-connect-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
/* リンクカードの外枠 */
.univ-link-box {
	width: 180px;
	height: 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #eee;
	border-radius: 8px;
	text-decoration: none !important;
}

/* 表示名外枠 */
.univ-link-box-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.2;
}
/* 表示名(サブ) */
.univ-link-box-sub {
	display: block;
	font-size: 13px;
}
/* 表示名(メイン) */
.univ-link-box-main {
	display: block;
	font-size: 18px;
	font-weight: bold;
}
/* キャッチコピー */
.univ-link-box-caption {
	font-size: 13px;
	margin-top: 2px;
	line-height: 1.2;
}

/* 現在記事点灯系 */
.univ-link-box.is-current-page {
	background: #1d3759;
	border-color: #1d3759;
}
.univ-link-box.is-current-page .univ-link-box-sub {
	color: #bcd2ee;
}
.univ-link-box.is-current-page .univ-link-box-main,
.univ-link-box.is-current-page .univ-link-box-caption {
	color: #ffffff;
}












/* 学部学科記事･SVG-HTMLエリア */
/* 全体のコンテナデザイン */
.course-section {
    position: relative;
    width: 100%;
    margin: 30px auto;
	max-width: 680px;
}

/* 隠しスイッチ非表示 */
.course-page-trigger {
    display: none;
}

/* ラッパーデザイン */
.course-outer-container {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    container-type: inline-size;
}
.course-island-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
}

/* ヘッダーデザイン */
.course-header {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    background: none;
    border: none;
}
.course-sub-title {
    display: block;
    margin: 0;
    padding: 0 0 2px 0;
    font-size: 13px;
    color: #666;
    line-height: 1.4;
}
.course-section .course-main-title {
    display: block !important;
    margin: 0 !important;
    padding: 0 0 6px 0 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #1d3759 !important;
    line-height: 1.2 !important;
    border: none !important;
    background: none !important;
}
.course-main-title::before,
.course-main-title::after {
    display: none !important;
}

/* カードレイアウト */
.course-card-wrapper {
    display: flex;
    width: 680px;
    height: 510px;
    transition: transform 0.3s ease-out;
}

/* 片面全体 */
.course-svg-page {
    width: 340px;
    height: 510px;
    position: relative !important;
    overflow: hidden !important;	
}

/* テキストHTML */
.course-hybrid-text-layer {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 340px !important;
    height: 510px !important;
    z-index: 2 !important;
    display: block !important;
}
.course-hybrid-text-layer h4,
.course-hybrid-text-layer p,
.course-hybrid-text-layer div {
    all: unset !important;
    white-space: pre !important;
/*	white-space: nowrap !important;
    white-space: collapse preserve-spaces !important;*/
    position: relative !important;
    line-height: 1 !important;
    display: block !important;
}
.course-hybrid-text-layer span {
    position: absolute !important;
    display: block !important;
	/* デフォルト値 */
    font-size: 15px;
    color: #444444;
    font-weight: normal;
    letter-spacing: 0em;
}

/* ナビボタンデザイン */
.course-nav-button {
    position: absolute;
    right: 5px;
    bottom: -30px;
    width: 44px;
    height: 44px;
    background: #111111a6;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
}
.course-arrow-icon {
    width: 24px;
    height: 24px;
    fill: #fff;
    transform: translateX(1px);
}

/* スイッチON時の表示切り替え */
.course-page-trigger:checked ~ .course-island-wrapper .course-card-wrapper {
    transform: translateX(calc(100cqw - 100%));
}
.course-page-trigger:checked ~ .course-nav-button .course-arrow-icon {
    transform: translateX(-1px) rotate(180deg);
}

/* グラデーションシャドウ（右側） */
.course-island-wrapper::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 20px;
    height: 100%;
    background: linear-gradient(to right, transparent, #ffffff);
    z-index: 10;
    opacity: 1;
    transition: opacity 0.3s ease-out;
}
.course-page-trigger:checked ~ .course-island-wrapper::after {
    opacity: 0 !important;
}

/* グラデーションシャドウ（左側） */
.course-island-wrapper::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 20px;
    height: 100%;
    background: linear-gradient(to left, transparent, #ffffff);
    z-index: 10;
    opacity: 0;
    transition: opacity 0.3s ease-out;
}
.course-page-trigger:checked ~ .course-island-wrapper::before {
    opacity: 1 !important;
}

/* PCサイズ時のデザイン */
@container (min-width: 680px) {
    .course-island-wrapper {
        overflow: visible;
    }
    .course-outer-container .course-nav-button {
        display: none;
    }
	.course-island-wrapper::after {
		opacity: 0 !important;
    }
	.course-island-wrapper::before {
		opacity: 0 !important;
    }
}

/* 縮小レスポンシブデザイン */
@media (max-width: 380px) {
	.course-island-wrapper {
		--current-width-num: calc(100cqw / 1px);
        --scale-factor: calc((var(--current-width-num) * 1.94) / 680);
		
		height: calc(510px * var(--scale-factor, 1)) !important;
	}
    .course-card-wrapper {
        transform: scale(var(--scale-factor, 1));
        transform-origin: top left;
    }
	.course-page-trigger:checked ~ .course-island-wrapper .course-card-wrapper {
		transform: translateX(calc(100cqw - (100% * var(--scale-factor, 1)))) scale(var(--scale-factor, 1));
    }
}

/* フォント固定（Noto Sans JP） */
.course-svg-page,
.course-svg-page * {
    font-family: 'Noto Sans JP', sans-serif !important;
}






























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

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

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