@charset "UTF-8";

/* フルワイド 背景カバー */
.wp-block-cover.bg-bleed {
  max-width: none !important;
  width: 100vw;
  position: relative;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  box-sizing: border-box;
}

.wp-block-cover.bg-bleed > .wp-block-cover__inner-container {
  max-width: 960px; /* 本文幅に合わせる */
  margin: 0 auto;
  padding: 0 16px;
}

.entry-content .wp-block-cover.bg-bleed.parallax {
  background-attachment: fixed;  /* スクロール時に背景を固定 */
  background-position: center;
  background-size: cover;
}

/* 開閉メニュー（デフォルト） */
.wp-block-details{
  padding: 20px 20px;
  border: 1px solid #ddd;
  border-radius: 5px;
}

/* シンプルなlist（デフォルト） */
.post_content ul {
    list-style: disc !important;
}

/* アイコン付き（チェックマーク）list */
.post_content ul.check-icon {
    list-style: none !important;
    margin-left: 0em !important;
}

.post_content ul.check-icon li{
    background-image:url("/kaigaikyoiku/wp-cms/wp-content/themes/solaris_tcd088/img/common/icon-check.png");
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: 0 10px;
    padding-left: 1.3em;
}

/* ul（add class） */
.post_content ul.mb0 {
    margin-bottom: 0px !important;
}

@media (max-width: 750px) {
    .post_content ul.check-icon li{
        background-position: 0 4px;
        padding-left: 1.5em;
        margin-bottom: 5px;
    }
}

/* h2〜h6（デフォルト） */
.post_content .wp-block-heading{
    margin-top:0px !important;
}

/* h2（シンプルな見出し） */
.styled_h2 {
  position: relative;
  padding-bottom: 0.4rem !important;
  padding-left: 0.8rem !important;
  border-bottom: 2px solid #f6f6f6;
}

.styled_h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;     /* 上に少し余白 */
  bottom: 0.3em;  /* 下にも少し余白 */
  width: 0.24rem;
  background-color: #178E3C;
  border-radius: 4px; /* 角を丸めると柔らかい印象（任意） */
}

.styled_h3 {
  display: inline-block;
  border-bottom: 1px solid #fff;
  background: 
}

/* h2（デザイン見出し） */
h2.design_headline1{
  font-family: "neulis-sans", "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 600;
  /* 左から右へグラデーション */
  background: linear-gradient(90deg, #ABECD6 0%, #FBED96 80%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 767px) {
  :is(.design_headline1, .tcdce-body .design_headline1) {
    font-size: 20px !important;
  }
}

/* p（デフォルト） */
.post_content p{
    line-height:1.8 !important;
    margin:0 0 1.2em 0 !important;
}

/* p（add class） */
.post_content p.mb0{
    margin:0 0 0 0 !important;
}
.post_content p.mb10{
    margin:0 0 10px 0 !important;
}

.post_content p.pd5{
    padding: 5px !important;
}

/* post_content（add class） */
.post_content .midashi-font{
    font-family: "neulis-sans", "heisei-kaku-gothic-std", sans-serif;
    font-style: normal;
}

/* mark（ハイライト / デフォルト） */
mark{
    font-family: "neulis-sans", "heisei-kaku-gothic-std", sans-serif;
    font-style:normal;
    font-weight:400;
    padding: 2px 3px 3px 3px;
}

/* table（デフォルト） */
.post_content table th{
    padding: 10px 20px !important;
    line-height: 1.8 !important;
}
.post_content table td{
    padding: 10px 20px !important;
    line-height: 1.8 !important;
}

/* table（はみ出し） */
.post_content .table-class01 table{
    width: 170% !important;
}

/* メディアとテキスト（デフォルト） */

.wp-block-media-text>.wp-block-media-text__media{
  padding:0 8%;
}
.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__media{
  padding:0 8%;
}

.wp-block-media-text>.wp-block-media-text__content{
  padding:0 0 0 0;
}
@media (max-width: 600px) {
    .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media{
        padding:8% 8%;
    }
    .wp-block-media-text.has-media-on-the-right>.wp-block-media-text__media{
        padding:8% 8%;
    }
}

/*=========テキストグラフ表示のためのCSS ===============*/

.record-box{
	width: 100%;
	font-family: "neulis-sans", "heisei-kaku-gothic-std", sans-serif;
    font-style: normal;
	font-weight: 600;
}

.record-box h3{
	text-align: center;
	text-transform: uppercase;
	font-size: 1.4rem;
	margin-bottom: 0px;
}
.record-box h3 span{ 
	display: block; 
	font-size: 1.0rem;
}

.record-count{
 	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 20px;
	margin-bottom: 20px;
}

.record-count p{
	text-align: center;
	margin-bottom: 0px !important;
}

.count-box{
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px;
	background-image: linear-gradient(150deg, rgba(253, 251, 251, 1), rgba(235, 237, 238, 1));
	text-align: center;
	border-radius: 10px;
	box-sizing: border-box;
	min-width: 0;
}

.count-size{
	font-size:3rem;
	color: #178E3C;
}

/*=========円グラフ表示のためのCSS ===============*/

.graph-box{
	width: 100%;
	padding: 20px 0px 14px;
	background-image: linear-gradient(150deg, rgba(253, 251, 251, 1), rgba(235, 237, 238, 1));
	text-align: center;
	border-radius: 10px;
	margin-bottom: 20px;
}

.chart-area{/*円グラフがスマホでつぶれないようにする*/
	position: relative;
	width:100%;
	height:50vh;
}

@media screen and (max-width: 750px) {
	.contents{
		width: 100%;
	}

	.record-count{
		flex-wrap: wrap;
	}
	.count-box {
    	flex: 0 0 100%;
    	width: 100%;
	}
}

/* ========= Page 目的で選ぶ／国で選ぶ：slickフレーム＋矢印（最適化） ========= */

/* セクション間余白（既存踏襲） */
.prg-slider-area01,
.prg-slider-area02{
  margin-bottom: 40px;
}

/* 共有変数（ガター・矢印サイズ・フォーカス色） */
:is(.prg-slider01, .prg-slider02){
  --gutter: 10px;            /* スライド間余白 */
  --arrow-size: 48px;        /* 矢印のヒットエリア */
  --arrow-icon: 16px;        /* 矢印アイコンの見た目サイズ */
  --arrow-inset: 8px;        /* 左右の寄せ量 */
  --ring: #0ea5e9;           /* フォーカスリング */
}

/* リンク外観（スライダ内だけに限定） */
:is(.prg-slider01, .prg-slider02) .slick-slide a{
  display: block;
  text-decoration: none;
  font-weight: 600;
  color: #000;
  transition: color .3s ease, opacity .3s ease; /* ← hover側でなくベースに書く */
}
:is(.prg-slider01, .prg-slider02) .slick-slide a:hover{
  opacity: .7;
  color: #C4DB60;
}
:is(.prg-slider01, .prg-slider02) .slick-slide a p{
  margin: 5px 0 !important;
  text-align: center;
  line-height: 1.6 !important;
}

/* 画像のはみ出し/行間ズレ防止 */
:is(.prg-slider01, .prg-slider02) .slick-slide img{
  display: block;
  width: 100%;
  height: auto;
}

/* ガター実装（左右マイナス → 各スライドに余白） */
:is(.prg-slider01, .prg-slider02) .slick-list{
  margin: 0 calc(var(--gutter) * -1);
}
:is(.prg-slider01, .prg-slider02) .slick-slide{
  margin: 0 var(--gutter);
}

/* ===== 矢印（3スライダ共通） ===== */
:is(.prg-slider01, .prg-slider02, .counselor-slider){ position: relative; }

:is(.prg-slider01, .prg-slider02, .counselor-slider) .slide-arrow{
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  width: var(--arrow-size, 48px);
  height: var(--arrow-size, 48px);
  z-index: 5;
  user-select: none;
  touch-action: manipulation;
  transition: opacity .2s ease;
  border-radius: 9999px;              /* hover時の背景に備えて */
}

/* アイコン画像（見た目サイズと独立） */
:is(.prg-slider01, .prg-slider02, .counselor-slider) .slide-arrow img{
  display: block;
  width: var(--arrow-icon, 16px);
  height: 26px;
  pointer-events: none;
}

/* 位置（中央寄せ） */
:is(.prg-slider01, .prg-slider02, .counselor-slider) .prev-arrow{
  position: absolute; top: 35%; left: var(--arrow-inset, 8px); transform: translateY(-35%);
}
:is(.prg-slider01, .prg-slider02, .counselor-slider) .next-arrow{
  position: absolute; top: 35%; right: var(--arrow-inset, 8px); transform: translateY(-35%);
}

/* フォーカスリング（キーボード操作の視認性） */
:is(.prg-slider01, .prg-slider02, .counselor-slider) .slide-arrow:focus-visible{
  outline: 3px solid var(--ring, #0ea5e9);
  outline-offset: 2px;
}

/* 無効時の視覚表現 */
.slick-disabled{ opacity: .35; pointer-events: none; }

/* ===== SP（<=750px）で微調整 ===== */
@media (max-width: 750px){
  :is(.prg-slider01, .prg-slider02){
    --gutter: 8px;
    --arrow-inset: 4px;
    /* 必要なら
    --arrow-size: 44px;
    --arrow-icon: 22px;
    */
  }
  :is(.prg-slider01, .prg-slider02, .counselor-slider) .prev-arrow{
    position: absolute; top: 40%; left: 40px; transform: translateY(-40%);
  }
  :is(.prg-slider01, .prg-slider02, .counselor-slider) .next-arrow{
    position: absolute; top: 40%; right: 40px; transform: translateY(-40%);
  }
}

/* ============ slick dots (scope: .prg-dots) ============ */
/* カラー/サイズはここで調整 */

.post_content ul.prg-dots{
  margin-left:0px;
}

.prg-dots{
  --dot: 12px;
  --dot-gap: 16px;
  --dot-active-scale: 1.25;
  --dot-color: #C4DB60;
  --dot-active: #178e3c;
  --dot-hover: #178e3c;

  list-style: none;
  padding-left: 0;
  margin: 5px 0 0;
  display: flex !important;
  justify-content: center;
  gap: var(--dot-gap);
}
.prg-dots li{ list-style: none; }
.prg-dots li::marker,
.prg-dots li::before{ content: none; } /* テーマの箇条書き装飾を無効化 */

/* ボタン本体（数字は視覚的に隠す） */
.prg-dots li button{
  appearance: none; -webkit-appearance: none;
  background: none; border: 0; padding: 0;
  width: var(--dot); height: var(--dot);
  position: relative; cursor: pointer;
  text-indent: -9999px; overflow: hidden;
  border-radius: 9999px;
}

/* 見た目のドット */
.prg-dots li button::before{
  content: '';
  position: absolute; inset: 0;
  border-radius: inherit;
  background: var(--dot-color);
  opacity: 1;                       /* slick-theme の opacity を打ち消し */
  transform: scale(1);
  transition: transform .2s ease, background-color .2s ease;
}

/* 状態 */
.prg-dots li.slick-active button::before{
  background: var(--dot-active);
  transform: scale(var(--dot-active-scale));
}
.prg-dots li button:hover::before{ background: var(--dot-hover); }
.prg-dots li button:focus-visible{
  outline: 3px solid var(--dot-active);
  outline-offset: 3px;
  border-radius: 9999px;
}

/* SP 微調整 */
@media (max-width: 750px){
  .prg-dots{ --dot: 10px; --dot-gap: 8px; }
}

/* ======= バー型（ライン）にしたい時のオプション ======= */
.prg-dots.prg-dots--pill li button{
  width: 22px; height: 6px; border-radius: 9999px;
}


/* ======= 目的で選ぶ - 画像の上にレイヤー表示 ======= */

.prg-slider-item {
  display: block;
  position: relative;
}

.prg-slider-img {
  position: relative;
}

.prg-slider-img img {
  display: block;
  width: 100%;
  height: auto;
}

.prg-slider-overlay {
  position: absolute;
  bottom: 0px;
  left: 0px;
  color: #fff;
  padding: 18px;
}

.prg-slider-overlay p {
  text-align: left !important;
  font-family: "neulis-sans", "heisei-kaku-gothic-std", sans-serif;
  font-weight: normal;
  font-style: normal;
}
.prg-slider-overlay p span.prg-slider-catch {
  display:block;
  font-size:11px;
  font-weight: bold;
  line-height: 1.4;
  padding-bottom:2px;
}
.prg-slider-overlay p span.prg-slider-txt {
  display:block;
  font-size:9px;
}

.prg-slider-title {
  margin-top: 8px; /* 画像下のタイトル */
  font-size: 1rem;
}

@media (max-width: 750px){
.prg-slider-overlay p span.prg-slider-catch {
  font-size:13px;
  line-height: 1.4;
}
.prg-slider-overlay p span.prg-slider-txt {
  font-size:11px;
}
}

/* box（角丸） */
.radius-box01{
    padding: 20px;
    border-radius: 10px;
}

.radius-box02{
    padding: 5px 20px !important;
    border-radius: 5px;
}

.line-box01{
    padding: 20px;
    border:2px solid #ddd;
}

.blank-box{
    border:none;
}

/* モバイル画像（w80%） */
@media (max-width: 750px){
    .mobile-img80 figure {
        text-align: center;
    }
    .mobile-img80 figure img{
        width: 80%;
    }
}

/* ボタンデザイン（add class） */
.btn-type01 a.wp-block-button__link{
	background: linear-gradient(165deg, #0BA360 0%, #3CBA92 80%);
	background-size: 200% 200%;
	border-radius: 6px;
	margin: 10px;
	padding: 12px 12px 14px 12px;
	color: #fff;
	font-size:16px;
	font-weight:bold;
	transition: background-position 0.6s ease, color 0.4s ease;
}
.btn-type01 a.wp-block-button__link:hover{
	background-position: right bottom;
}

.btn-type02 a.wp-block-button__link{
	background: linear-gradient(165deg, #FDA085 0%, #F6D365 80%);
	background-size: 200% 200%;
	border-radius: 6px;
	margin: 10px;
	padding: 12px 12px 14px 12px;
	color: #fff;
	font-size:16px;
	font-weight:bold;
	transition: background-position 0.6s ease, color 0.4s ease;
}
.btn-type02 a.wp-block-button__link:hover{
	background-position: right bottom;
}

@media (max-width: 750px){
    .btn-type01{
        width:100%;
        display:block;
    }
    .btn-type02{
        width:100%;
        display:block;
    }
}

/* p aタグ（add class） */

.post_content .txt-link a{
    text-decoration: underline;
}

.link-type01 a{
	text-decoration: underline !important;
}
.link-type01 svg {
  position: relative;
  top: 0.1em; /* 微調整用 */
}

.link-type02 a{
  display: block;
  padding: 6px 20px;
  border-radius: 4px;
  border: 1px solid #ddd;
}
.link-type02 a:hover{
  background-color: #f6f6f6;
}
