@charset "utf-8"; /* 〠 */

/*----------------------------------------------*/
/* frontpage CSS [PC]
/*----------------------------------------------*/

/*---- Slider ----*/
:root {
	--top-slider-height: 550px;  /* スライダー高さ */
}

#sliderbox {
x	background-color: #0000FF;
}

#slider {
	width: 100%;  /* スライダーの幅はここで指定する */
	height: var(--top-slider-height);  /* 本来、「#slider .slick-list li」で高さを指定するので不要だが、ページを開いてスライダーが初期化されるまでの間の高さを保持するため指定する */
	
	/* スライダーの初期化が終わるまで非表示にする */
	opacity: 0;
	transition: opacity 0.3s linear;
	
x	background-color: #FFFF00;
}

#slider.slick-initialized {  /* スライダー初期化後に設定されるCSS */
	opacity: 1;
}

#slider .slick-list li {  /* 「.slick-list」はスライダー画像リストの親要素 */
x	display: none;  /* 指定すると非表示のままとなってしまうので使わない */
	height: var(--top-slider-height);  /* スライダーの高さはここで指定する */
	
	background-size: cover;
	background-repeat: none;
}

#slider .slick-list li a {
	display: block;
	height: var(--top-slider-height);  /* リンクするスライダー用に「#slider .slick-list li」と同じ高さを指定する */
}

#slider .slick-list li img {
	display: none;  /* SP用画像は非表示 */
}

.slick-dots {
	bottom: -40px;  /* ドット位置を下げる */
}

/*---- リード ----*/
.top-lead {
	margin: 50px 0px 100px;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 2.4;
	text-align: center;
	font-family: var(--common-font-mincho);
}

/*---- タイトル ----*/
.title-main::after {
	width: 200px;
}

.top-title-copy {
x	margin-bottom: 35px;
	margin-bottom: 30px;
	font-size: 16px;
	font-size: 1.6rem;
	text-align: center;
}

/*---- メリット ----*/
.top-meritframe {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	column-gap: 10px;
}

.top-meritbox {
	width: 320px;
	margin-bottom: 20px;
	padding: 10px 0px;
	box-sizing: border-box;
	
	text-align: center;
	font-weight: bold;
	border: 2px solid var(--common-color-orange);
	border-radius: 20px;
}

.top-merit-left {
}

.top-merit-right {
}

.top-merit-num {
	font-size: 32px;
	font-size: 3.2rem;
	color: var(--common-color-orange);
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.top-merit-sub {
	margin-bottom: 5px;
	font-size: 15px;
	font-size: 1.5rem;
}

.top-merit-text a {
	display: inline-block;
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 1.2;
	text-decoration: none;
}

/*---- メリット 矢印 ----*/
.top-merit-arrow {
	margin-top: -7px;
	margin-right: 8px;
	display: inline-block;
x	vertical-align: 24px;
	vertical-align: 20px;
	color: var(--common-color-orange);
	line-height: 1;
	position: relative;
	width: 1.4em;
	height: 1.4em;
	width: 1.2em;
	height: 1.2em;
	background: currentColor;
	border-radius: 50%;
	box-sizing: content-box;
}

.top-merit-arrow:before {
	content: '';
	color: #FFFFFF;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-width: 0.4em 0.5em;
	border-left-color: currentColor;
	border-right: 0;
	transform: translateX(15%);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.top-merit_bnr {
	text-align: center;
}

.top-merit_bnr img {
	max-width: 100%;
}

/*---- 入会のメリット SP用 ----*/
.top-meritlist-sp {
	display: none;
}

/*---- セミナー ----*/
.top-contentsbody-seminarlist {
x	padding: 50px 20px;
	padding-top: 50px;
	background-color: var(--common-color-paleblue);
}

.top-seminarlistframe {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.top-seminarlistframe a {
	align-self: stretch;
	display: block;
	width: 480px;
	margin: 0px 10px 35px;
	text-decoration: none;
}

.top-seminarbox {
	display: table;
	width: 100%;
	height: 100%;
	border: 1px solid #D4D5DA;
}

.top-seminar-picbox {
	display: table-cell;
x	width: 40%;
x	max-width: 200px;
	width: 200px;
	
	background-size: cover;
	background-repeat: none;
	background-position: 50% 50%;
}

.top-seminar-picbox img {
	max-width: 100%;
	vertical-align: middle;
}

.top-seminar-textbox {
	display: table-cell;
	width: 250px;
	padding: 20px 20px;
	box-sizing: border-box;
	vertical-align: top;
	background-color: #FFFFFF;
}

.top-seminar-date {
	color: #6B6B6B;
	font-weight: bold;
}

.top-seminar-date-finish {
	color: #D13A1D;
	font-weight: bold;
}

.top-seminar-text {
	color: var(--common-color-maintext);
	line-height: 1.5;
}

.top-seminar-text:hover {
	color: var(--common-color-orange);
}

.top-seminar-arrow {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	background-color: var(--common-color-skyblue);
}

a:hover .top-seminar-arrow {
	opacity: 0.8;
}

.top-seminar-arrow img {
	width: 18px;
	height: 18px;
	vertical-align: middle;
}

.top-seminar-btn {
	text-align: center;
}

/*----- お知らせ -----*/
.top-newslistframe {
	padding-top: 50px;
	padding-bottom: 70px;
}

.top-newslist-catebox {
	margin-bottom: 40px;
	border-bottom: 1px solid #DEDEDE;
}

.top-newslist-catebox ul {
	display: block;
	height: 22px;
	line-height: 22px;
	text-align:right;
}

.top-newslist-catebox ul li {
	display: inline-block;
	width: 100px;
	margin-left: 10px;
}

.top-newslist-catebox ul li a {
	display: block; 
	color: #FFFFFF;
}

.top-news-arrow::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #FFFFFF;
	margin-right: 5px;
}

.top-newslistbox {
	margin-bottom: 30px;
}

.top-newslistbox li {
	padding: 7px 0px;
}

.top-newslistbox li a {
	display: table;
	width: 100%;
	text-decoration: none;
}

.top-news-cate {
	display: table-cell;
	width: 90px;
	padding-right: 15px;
}

.top-news-cate-icon {
	display: block;
	width: 100%;
	height: 22px;
	line-height: 22px;
	text-align: center;
	font-size: 13px;
	font-size: 1.3rem;
	color: #FFFFFF;
}

.top-news-cate-icon:hover {
	opacity: 0.8;
	text-decoration: none;
}

.top-news-cate-icon-insurance {
	background-color: var(--common-color-news-cate-insurance);
}

.top-news-cate-icon-activity {
	background-color: var(--common-color-news-cate-activity);
}

.top-news-cate-icon-volunteer {
	background-color: var(--common-color-news-cate-volunteer);
}

.top-news-cate-icon-general {
	background-color: var(--common-color-news-cate-general);
}

.top-news-cate-icon-member {
	background-color: var(--common-color-news-cate-member);
}

.top-news-date {
	display: table-cell;
	width: 90px;
	color: var(--common-color-maintext);
	text-decoration: none;
x	background-color: #FF0000;
}

.top-news-title {
	display: table-cell;
x	line-height: 1.2;
	line-height: 1.4;
	text-decoration: none;
	color: var(--common-color-maintext);
x	background-color: #FF0000;
}

.top-news-title:hover {
	color: var(--common-color-orange);
}

.top-news-btn {
	text-align: center;
}

/*----- 私たちの取り組み -----*/
.top-activityframe {
	overflow: hidden;
	padding: 50px 0px 50px;
	border-top: 1px solid #CCD7F3;
}

.top-activitybox {
	position: relative;
	margin-top: 100px;
x	margin-bottom: 50px;
	padding-bottom: 20px;
x	background-color: #FF0000;
}

.top-activity-bg {
	position: absolute;
x	z-index: 0;
	top: -40px;
x	left: calc(-30vw);
	left: calc(-50% + 250px);
x	width: 200px;
	width: 100%;
	height: 100%;
	background-color: var(--common-color-paleblue);
x	background-color: #FF0000;
	
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
}

.top-activity-inner {
	position: relative;
x	top: 0px;
x	left: 0px;
x	z-index: 1;
	display: flex;
	flex-direction: row-reverse;
	max-width: var(--common-width-contentsbody);
	margin: 0px auto;
}

.top-activity-picbox {
	width: 50%;
}

.top-activity-picbox img {
	max-width: 100%;
}

.top-activity-textbox {
	width: 50%;
	padding: 0px 20px;
x	padding: 0px 20px 30px;
	box-sizing: border-box;
}

.top-activity-subtitle {
x	margin-bottom: 25px;
	margin-bottom: 20px;
x	font-size: 30px;
x	font-size: 3.0rem;
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: bold;
	color: var(--common-color-darkblue);
	line-height: 1.5;
}

.top-activity-text {
	margin-bottom: 25px;
	line-height: 1.4;
}

.top-activitybox-reverse .top-activity-bg {
x	left: calc(30vw);
	left: calc(50% - 250px);
}

.top-activitybox-reverse .top-activity-inner {
	flex-direction: row;
}

.top-activity-btn {
x	text-align: left;
}

/*----- 関連団体 -----*/
.top-groupframe {
x	padding: 35px 0px 50px;
	padding: 50px 0px 0px;
	background-color: #F5F5F5;
}

.top-group-title {
x	max-width: 1100px;
x	max-width: var(--common-width-contentsbody);
x	margin: 0px auto;
	margin-bottom: 30px;
	font-size: 20px;
	font-size: 2.0rem;
	color: var(--common-color-darkblue);
	border-bottom: 1px solid var(--common-color-darkblue);
x	background-color: #FF0000;
}

.top-group-title span {
	font-size: 15px;
	font-size: 1.5rem;
}

.top-grouplist {
x	max-width: 1100px;
x	margin: 0px auto;
	display: flex;
x	flex-wrap: wrap;
x	justify-content: space-around;
	justify-content: space-between;
}

.top-group {
	width: 24.5%;
x	max-width: 250px;
}

.top-group img {
	max-width: 100%;
	margin-bottom: 10px;
	border: 1px solid #D9D9D9;
}

.top-group p {
	padding: 0px 10px;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.2;
	text-align: center;
}
