@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 250801_yuki_共通 */
/* 250617_yuki_フォントサイズ調整 */
/*html{
	font-size: 62.5%;
}*/

/* 子テーマの style.css か［外観 › 追加 CSS］の最終行にコピペ */
:root{
  /* 1vw = ビューポート幅 × 1% なので
     100vw ÷ 144 ＝ 0.694444…vw と同義                       */
  --vw: 100vw;                               /* なくても OK。可読性用 */
  --swl-fz--root: calc(var(--vw) / 144);     /* = 0.694444vw */
}

/* ────────────────────────────────────────────
   モバイル基準（幅 767px 以下は 750px デザイン幅を採用）
   750px で 1rem = 10px → 式 = 100vw ÷ 75
   ────────────────────────────────────────────*/
@media (max-width: 600px){
  :root{
    --swl-fz--root: calc(100vw / 75);
  }
}

/* テーマパネルがあとから上書きする場合は !important を付ける */
html{ font-size: var(--swl-fz--root) !important; }

/* フォントサイズ調整ここまで */

/* フォント追加 */
.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}
/* フォント追加ここまで */

/* PC フォントサイズ */
.f-12{
	font-size: 1.2rem;
}

.f-14{
	font-size: 1.4rem;
}

.f-16{
	font-size: 1.6rem;
}

.f-18{
	font-size: 1.8rem;
}

.f-20{
	font-size: 2.0rem;
}

.f-24{
	font-size: 2.4rem;
}

.f-32{
	font-size: 3.2rem;
}

.f-40,.f-40 strong{
	font-size: 4rem;
}

.f-48 strong{
	font-size: 4.8rem;
}

.f-56,.f-56 strong{
	font-size: 5.6rem;
}

.f-64{
	font-size: 6.4rem;
}

.f-72{
	font-size: 7.2rem;
}

.f-80 strong,.f-80 span{
	font-size: 8rem!important;
}

.f-90{
	font-size: 9.6rem;
}

.f-104{
	font-size: 10.4rem;
}

.fw-50,.fw-50 strong{
	font-weight: 500!important;
}

.fw-80,.fw-80 strong{
	font-weight: 800!important;
}

.fw-90,.fw-90 strong{
	font-weight: 900!important;
}

/* フォントサイズ、ここまで */

/* タブレットブレイクポイントサイズ変更 */
@media not all and (min-width: 960px){
	.sp-box{
		display: none!important;
	}
}

@media not all and (min-width: 600px) {
    .pc-box {
        display: none !important;
    }
	.sp-box{
		display: block!important;
	}
}
/* タブレットブレイクポイントここまで */

/* パンくず */
.p-breadcrumb__list {
    flex-wrap: wrap; //記事名が長い場合は折り返す
}

.single .p-breadcrumb__item:last-child>span.p-breadcrumb__text {
    display: block!important; //記事名の表示
    opacity: 1; //記事名を半透明にしない
    white-space: pre-wrap;//記事名が長い場合は折り返す
}
/* パンくずここまで */
/* 250801_yuki_共通ここまで */


/* 250801_yuki_トップ */
.pc-box{
	padding-top: 10rem!important;
	padding-bottom: 10rem!important;
}

.sp-box{
	padding-top: 6rem!important;
	padding-bottom: 6rem!important;
}

.top-rc_full{
	padding-top: 0!important;
}

.p-postList__cat.u-thin.icon-folder{
	background: #1A2662;
    color: #fff;
    border-radius: 13px;
    padding: 4px 8px;
}

.top-rc_full,.top-cr_full,.top-article_full{
	border-bottom: 2px solid #182564;
}

.top-rc_title>span{
	font-size: 3.2rem;
}

.top-cr1_box>.swell-block-columns__inner,.top-article_box>.swell-block-columns__inner{
	justify-content: space-between;
}

.top-cr1_box{
	border-bottom: 1px solid #74a3d3;
	padding-bottom: 2.8rem;
}

.top-article_box{
	padding-bottom: 2.8rem;
}

.top-cr1_title,.top-article_title{
	width: auto!important;
}

.top-cr1_text{
	width: auto!important;
	margin-left: 8rem!important;
}

.top-cr1_button a{
	background: #e3f2f6;
	border: 1px solid #74a3d3;
}

.top_cr-list{
	justify-content: center;
}

.top-article_list ul{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.top-article_list ul li{
	margin-bottom: 0!important;
}


.top-article_list ul li:nth-of-type(n+3)::before{
	display: block;
	content: "";
    height: 1px;
	width: calc(100% + 3rem);
    background: #cbcfe1;
	margin-bottom: 30px;
}

.top-article_list ul li a{
	position: relative;
	display: block;
}

.top-article_list ul li:nth-of-type(even) a::before{
	display: block;
	content: "";
    width: 1px;
	height: 100%;
    background: #cbcfe1;
	position: absolute;
	left: -15px;
}

.top-article_list-sp ul li:nth-of-type(-n+5){
	border-bottom: 1px solid #cbcfe1;
	margin-bottom: 3rem!important;
	padding-bottom: 3rem;
}

.is-style-more_btn a{
	background: #182564;
	color: #fff;
	transition: opacity .25s;
}

.is-style-more_btn a:hover{
	opacity: .8;
}


@media(max-width: 600px){
	.top-rc_full{
		margin-top: 0!important;
	}
	.top-rc_title{
		margin-bottom: 4rem!important;
	}
	.top-rc_title span{
		font-size: 4.8rem;
	}
	.top_cr-title-sp{
		font-size: 4rem;
	}
	.top-cr1_text-sp{
		margin-left: 1.5rem!important;
	}
	.top-cr1_text-sp span{
		font-size: 2.4rem;
	}
	.top-cr1_box{
		padding-bottom: 6rem!important;
	}
	.top-article_list ul{
		display: block;
	}
	.top_cr-full{
		padding-top: 6rem!important;
		padding-bottom: 6rem!important;
	}
	.top_cr-list span{
		font-size: 2.4rem;
	}
}


/* --- ページネーションドット（位置を下へ） ---------------------- */
.top-cr_list-slider-pagination{
  position: static;          /* ← absolute をやめて通常のフローに */
  margin-top: 12px;          /* ul との間隔。お好みで調整 */
  display: flex;
  justify-content: center;
  gap: 6px;
}

.top-cr_list-slider-pagination .swiper-pagination-bullet{
  width: 8px; height: 8px;
  background: #ccc;
  opacity: 1;
  border-radius: 50%;
}

.top-cr_list-slider-pagination .swiper-pagination-bullet-active{
  background: var(--color_primary, #2271b1);
}


.p-spMenu__nav a{
	font-size: 3.2rem!important;
}
