/* -------------------------------------------------- */
/* 見出し
/* -------------------------------------------------- */
.rp_h1,
.rp_h2,
.rp_h3,
.rp_h3_2,
.rp_h4,
.rp_h5,
.rp_gradation_title,
.rp_qa_title,
.rp_mid_menu
{
	font-weight: bold;
}
.rp_box{
	padding: 3.0rem 1.0rem;
}
.rp_h1{
	padding: 1.0rem 0;
	line-height: 2.5rem;
	font-size: 1.5rem;
}
.rp_h2{
	padding: 2.0rem 0 4.5rem 0;
}
.rp_h3{
	font-size: 1.5rem;
	line-height: 3.5rem;
}
/* よくある質問 */
.rp_qa_title{
	line-height: 2.0rem;
	font-size: 1.0rem;
}	
/* 特徴 */
.rp_h3_2{
	padding: 0 0 2.0rem 0;
	line-height: 3.5rem;
}
/* 中間メニュー */
.rp_mid_menu{
	font-size: 0.9rem;	
	text-align: center;
}
.rp_mid_menu>div{
	padding: 0;
	margin: 0;
}
.rp_read{
	font-size: 1.0rem;
	line-height: 1.8rem;	
	padding: 0.4rem 0;
}

/* New */
.new_h2{
	font-size: 1.5rem;
	font-weight: bold;
	background-color: #E7DAB0;
	padding: 1.0rem;
	margin: 3.0rem 0;
}
.new_read_2{
	font-size: 0.9rem;
	color: #3b3b3b;
	padding: 0.5rem 0;
	font-weight: bold;
}
.new_heading_3{
	font-size: 2.0rem;
	font-weight: bold;
	margin: 2.0rem 0;
}
.new_heading_1{
	font-size: 1.5rem;
	font-weight: bold;
	margin: 2.0rem 0;
}
/* 見出しリスト */
.new_heading_2 {
	font-size: 1.2rem;
	font-weight: bold;	
	position: relative;
	padding: 0.5rem 0 0.5rem 2.0rem;
	margin: 0;
  }
  .new_heading_2::before {
	position: absolute;
	left: 0; /* アイコンの位置 */
	top: 50%; /* 垂直方向中央揃え */
	transform: translateY(-50%); /* 中央揃えの微調整 */
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f058'; /* ここでアイコンコードを指定（例: チェックアイコン） */
	color: #FD7365; /* アイコンの色 */
	font-size: 1.5rem; /* アイコンのサイズ */
  }
  .new_ol li {
	margin: 10px 0;
}
  
/* サムネイル */
.thumbnail-item {
	position: relative; /* アイコンをサムネイル上に配置するために必要 */
	/* width: 320px; */
	height: auto;
	text-align: center;
	margin: 0.5rem 0;
  }
  
  .thumbnail-item img {
	height: 200px;
	/* width: 300px; */
	/* object-fit: cover; */
	border: solid 1px #999;
  }
  
/* 申込ボタン */
a.btn_10 {
	display: block;
	text-align: center;
	/* vertical-align: middle; */
	text-decoration: none;
	width: 300px;
	margin: auto;
	padding: 1rem;
	font-weight: bold;
	background-image: linear-gradient(to right, #F4604D 0%, #F18E2E 100%);
	border-radius: 100vh;
	color: #fff;
	border: 2px solid #fff;
	box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
	-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
	transition: 0.5s;
}
a.btn_10:hover {
	color: #fff;
	opacity: 0.5;
}
/* 普通の四角いボタン */
a.btn_01 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	/* width: 300px; */
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #00A9D1;
	color: #00A9D1;
	transition: 0.5s;
}
a.btn_01:hover {
	color: #fff;
	background: #00A9D1;
}
/* ここがポイント */
.box30 {
    margin: 2em 0;
    background: #F8F9FA;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}
.box30 .box-title {
    font-size: 1.2em;
    background: #00A9D1;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box30 p {
    padding: 15px 20px;
    margin: 0;
}
/* ご掲載の声 */
.new_voice li {
	list-style: none;
	font-size: 1.2rem;
	font-weight: bold;	
	position: relative;
	padding: 2.0rem 0 0.5rem 2.5rem;
	margin: 0;
	line-height: 1.8rem;
	border-top: solid 1px #999;
  }
.new_voice li::before {
	position: absolute;
	left: 0;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f118';
	color: #F18E2E;
	font-size: 1.8rem;
  }
/* 続きを読む */
.read-more-container {
    position: relative;
}

.read-more-container .read-more-item {
    position: relative;
    max-height: 700px; /* 開く前に見せたい高さを指定 */
    margin-bottom: 0;
    overflow: hidden;
    transition: max-height 1s;
}

.read-more-container:has(:checked) .read-more-item {
    /* max-height: 100vh; */
    max-height: 100%;
}

.read-more-container .read-more-item::after {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(180deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .9) 50%, hsla(0, 0%, 100%, .9) 0, #fff);
    content: '';
}

.read-more-container:has(:checked) .read-more-item::after {
    content: none;
}

.read-more-container label {
    display: flex;
    align-items: center;
    gap: 0 4px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: .4em 1.2em;
    border-radius: 1px;
    background-color: #000;
    color: #fff;
    font-size: 1.0rem;
}

.read-more-container label:hover {
    border:1px solid #000;
    background-color: #fff;
    color: #000;
    cursor: pointer;
}

.read-more-container:has(:checked) label {
    display: none;
}

.read-more-container label::after {
    display: inline-block;
    width: 10px;
    height: 5px;
    background-color: #fff;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.read-more-container label:hover::after{
    background-color: #000;
}

.read-more-container input {
    display: none;
}

/* 活用方法 */
.rp_h4{
	font-size: 1.3rem;
	color: #ffffff;
	background-color: #2F9AD4;
	padding: 1.0rem;
	margin: 1.0rem 0;
}	
.rp_h5{
	font-size: 1.3rem;
	padding: 1.0rem 0;
	margin: 1.0rem 0;
	line-height: 1.5rem;
}
.rp_gradation_title{
	font-size: 2.0rem;
	padding: 1.0rem 0;
	/* margin: 1.0rem 0; */
	text-align: center;
	line-height: 3.5rem;
}
.box21{
    padding: 0.5em 1em;
    background: -moz-linear-gradient(#ffb03c, #ff708d);
    background: -webkit-linear-gradient(#ffb03c, #ff708d);
    background: linear-gradient(to right, #ffb03c, #ff708d);
    color: #FFF;
}
.box21 p {
    margin: 0; 
    padding: 0;
}
.card-title-feature{
	font-size: 1.3em;
	font-weight: bold;
	line-height: 1.5;
}
/* -------------------------------------------------- */
/* リンクボタン
/* -------------------------------------------------- */
.rp_link{
	display: flex;
	/* border: solid 1px #007BFF; */
	padding: 0.5rem;
	margin: 1.0rem 0;
	border-radius: 5px;
	background-color: #007BFF;
	color: white;
}
/* -------------------------------------------------- */
/* ブログカード
/* -------------------------------------------------- */
.blog-card {
	border: 1px solid #e1e8ed;
	border-radius: 8px;
	max-width: 650px;
	display: flex;
	font-family: Arial, sans-serif;
	overflow: hidden;
	height: 120px;
  }
  
  .blog-card-link {
	text-decoration: none;
	color: inherit;
	display: flex;
	width: 100%;
	height: 100%;
  }
  
  .blog-card-image {
	flex: 0 0 120px;
	width: 120px;
	height: 120px;
	overflow: hidden;
  }
  
  .blog-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
  }
  
  .blog-card-content {
	padding: 12px;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
  }
  
  .blog-card-title {
	font-size: 14px;
	font-weight: bold;
	margin: 0 0 2px;
	line-height: 1.2;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
  }
  
  .blog-card-description {
	font-size: 12px;
	color: #657786;
	margin: 0;
	line-height: 1.2;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
  }
  
  .blog-card-url {
	font-size: 12px;
	color: #657786;
	margin: 0;
  }
  
/* -------------------------------------------------- */
/* 装飾
/* -------------------------------------------------- */
.border_1{
	border-bottom: solid 6px #6DCEE6;
}
.border_2{
	border-bottom: solid 6px #FD7365;
}
.color_1{
	color: #1D9BF0;
}	
.color_2{
	color: #FD7365;
}	
.bg_beige{
	background-color: #F7F5EF;
}
/* -------------------------------------------------- */
/* swiper（dynamicBullets版） */
/* -------------------------------------------------- */
/* これを入れないとsearchのフッターのピックアップがおかしくなる */
.swiper-wrapper {
    width: auto;
    height: auto;
  }
/* ページネーション、前へ・次へボタンを横並びにする */
 .slide-pagination-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto;
  }
  /* デフォルトのabsoluteからstaticへ変更 */
  .swiper-pagination {
	position: static;
	width: auto;
  }
  /* ダイナミックページネーションのスタイル上書き（右寄せになっている） */
  .swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
   .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    transform:none;
  }
  .slide-pagination-wrapper .swiper-pagination-bullet{
		background-color: #14A2B8;
  }
  /* スライドの前へ・次へボタンの位置をabsoluteからstaticへ変更 */
  .slide-pagination-wrapper .swiper-button-prev,
  .slide-pagination-wrapper .swiper-button-next
  {
	position: static;
	margin-top: initial;
	color: #14A2B8;
  }
  
  /* 通常の前へ・次へボタンの画像を非表示に変更 */
  .swiper-button-prev::after,
  .swiper-button-next::after {
	display: none;
  }
/* -------------------------------------------------- */
/* 横スクロールアイテム
/* -------------------------------------------------- */
.scroll_box {
	display: flex;
	width: 100%;
	overflow-x: scroll;
}
.voice_item {
	flex-shrink: 0;
	border: 1px solid #999;
	border-radius: 5px;
	width: 300px;
	height: 220px;
	margin: 5px;
	padding: 15px;
	padding-bottom: 0;
	background: #ffffff;
}
/* -------------------------------------------------- */
/* グローバルメニュー
/* -------------------------------------------------- */
/* .scroll_box_menu {
	display: flex;
	width: 100%;
	overflow-x: scroll;
}
.scroll_box_menu_item {
	flex-shrink: 0;
	margin: 0.5rem 1.0rem;
}
.scroll_box_menu_item>a {
	font-weight: bold;
	font-size: 0.9rem;
	color: #000000;
} */
/* -------------------------------------------------- */
/* アコーディオン */
/* -------------------------------------------------- */
.rp_accordion-title {
	position: relative;
	cursor: pointer;
}
.rp_accordion-title>h3{
	font-size: 1.2rem;
	font-weight: bold;
	margin: 0.5rem 0;
    line-height: 1.5rem;
}
.rp_accordion-content {
	cursor:auto;
	display: block;
	padding: 0;
}

/* -------------------------------------------------- */
/* 下部ボタン
/* -------------------------------------------------- */
.menu-b-conv-btn{
    border-radius : 5px;
    font-size     : 0.9rem;
    text-align    : center;
    cursor        : pointer;
    padding       : 1.0rem;
    background    : #D40E1A;
	border: solid 1px #D40E1A;
	border: solid 1px #fff;
    line-height   : 1rem;
    text-decoration: none;
	font-weight: bold;
}
.menu-b-conv-outline{
    border-radius : 5px;
    font-size     : 0.9rem;
    text-align    : center;
    cursor        : pointer;
    padding       : 1.0rem;
    background    : #ffffff;
	border: solid 1px #D40E1A;
    color         : #D40E1A;
    line-height   : 1rem;
    text-decoration: none;
	font-weight: bold;
}
/* -------------------------------------------------- */
/* プラン一覧 */
/* -------------------------------------------------- */
.plan_menu_1{
	background: #00A9D1;
	color: #FFF;
	font-weight: bold;
	font-size: 1.4rem;
}
.plan_menu_2{
	color: #F0627A;
	font-weight: bold;
	font-size: 1.5rem;
}
.plan_menu_3{
	color: #F0627A;
	font-weight: bold;
	font-size: 1.3rem;
}
.plan_menu_4{
	color: #F0627A;
	font-weight: bold;
}

/* **************************************************************** */
/* **************************************************************** */
/* -------------------------------------------------- */
/* RESPONSIVE CSS
/* -------------------------------------------------- */
/* sm 小デバイス（370px 以下） */
@media (max-width: 370px) {
}
/* sm 小デバイス（横向きモバイル, 576px 以下） */
@media (max-width: 576px) {
	/* -------------------------------------------------- */
	/* 見出し */
	/* -------------------------------------------------- */
	.rp_h1{
		padding: 0.5rem 0;
		line-height: 1.5rem;
		font-size: 1.2rem;
	}	
	.rp_h2{
		padding: 1.0rem 0 2.5rem 0;
		font-size: 1.6rem;
	}
	.new_h2{
		font-size: 1.2rem;
		padding: 1.0rem;
		margin: 2.0rem 0;
	}
	/* 見出しリスト */
	.new_heading_2 {
		font-size: 1.1rem;
		padding: 0.5rem 0 0.5rem 1.7rem;
	}
	.new_heading_2::before {
		font-size: 1.3rem; /* アイコンのサイズ */
	}
	.new_heading_3{
		font-size: 1.2rem;
		margin: 1.5rem 0;
	}
	.new_heading_1{
		font-size: 1.2rem;
		margin: 1.5rem 0;
	}
	/* ご掲載の声 */
	.new_voice li {
		font-size: 1.0rem;
		padding: 1.0rem 0 0.5rem 2.0rem;
		line-height: 1.5rem;
	}
	.new_voice li::before {
		font-size: 1.5rem;
	}
	/* 特徴 */
	.rp_h3_2{
		padding: 0 0 1.0rem 0;
		font-size: 1.2rem;
		line-height: 2.2rem;
	}		
	.rp_h3{
		font-size: 1.0rem;
		line-height: 1.8rem;
	}
	.rp_accordion-title>h3{
		font-size: 1.0rem;
	}
	/* キャンペーン情報 */
	.rp_gradation_title{
		font-size: 1.6rem;
	}

/* -------------------------------------------------- */
/* グローバルメニュー
/* -------------------------------------------------- */
	/* .scroll_box_menu_item {
		margin: 0;
		border: solid 1px #ffffff;
		border-right: 0;
		background-color: #6DCEE6;
		padding: 0.4rem 0.7rem;
	} */
/* -------------------------------------------------- */
/* アコーディオン */
/* -------------------------------------------------- */
.rp_h5{
	font-size: 1.0rem;
	padding: 1.0rem 0;
	margin: 0;
}
/* 活用方法 */
.rp_h4{
	font-size: 1.0rem;
	padding: 0.5rem;
	margin: 1.0rem 0;
}	
/* -------------------------------------------------- */
/* 横スクロールアイテム
/* -------------------------------------------------- */
.scroll_box_item {
	width: 290px;
	height: 100%;
	padding-bottom: 0;
}

}
/* sm 小デバイス（横向きモバイル, 576px 以上） */
@media (min-width: 576px) {
}
/* md 中デバイス（タブレット, 768px 以上） */
@media (min-width: 768px) {	
}
/* lg 大デバイス（デスクトップ, 992px 以下） */
@media (max-width: 992px) {
}
/* lg 大デバイス（デスクトップ, 992px 以上） */
@media (min-width: 992px) {
	/* メニューの右寄せ */
	/* .scroll_box_menu {
		justify-content: flex-end;
	} */
}
/* xl 特大デバイス（ワイド・デスクトップ, 1200px 以下） */
@media (max-width: 1200px) {
}
/* xl 特大デバイス（ワイド・デスクトップ, 1200px 以上） */
@media (min-width: 1200px) {
}
/* xxl 超特大デバイス (よりワイドな・デスクトップ, 1400px 以上） */
@media (min-width: 1400px) {
}
