/* CSS Document */
:root {
	/* 文字カラー */
	--txt-color: #0036BE;
	
	/* ベースカラー */
	--base-color:#000000;
	
	/* メインカラー */
	--main-color:#144894;
	
	/* アクセントカラー */
	--accent-color:#93DD7B;
	
	/* 枠カラー */
	--waku-color:#cccccc;
	
	/* メインカラーのホバー（ボタン等に使用） */
	/*--main-color-hover:#ECE9E4;*/
	--main-color-hover:#7391D1;
	
	/* アクセントカラーのホバー（ボタン等に使用） */
	--accent-color-hover:#84DBD3;
	
	/* 文字のホバー */
	--txt-hover:#606086;
	
	/* ホバー時のアニメーションの時間 */
	--ani-time:.8s;

}



/****************/
/* テンプレート */
/****************/
html {
	scroll-behavior: smooth;
	scroll-padding-top: 180px;
}

body{
	margin:0;
	padding:0;
	background-color: #ffffff;
	/*background-image: linear-gradient(#cccccc 110px, #ffffff 5%);*/
}

.wrapper{
    min-height: 100vh;
    position: relative;/*←相対位置*/
    padding-bottom: 200px;/*←footerの高さ*/
    box-sizing: border-box;/*←全て含めてmin-height:100vhに*/
}

b, strong, .bold{
	font-weight:bold;
}


a{
	color: var(--txt-color);
	text-decoration: underline;
}

a:hover{
	color:var(--txt-hover);
	transition:var(--ani-time);
	text-decoration: none;
}

table{
	border-collapse: collapse;
	border-spacing: 0;
}

/* supのズレを解消する */
sup{
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	_vertical-align: bottom;
	position: relative;
	bottom: 1ex;
}

/* ヘッダー用のh1タグ */
header.site-header h1{
	text-align: center;
	margin:0;
	padding: 0;
	font-size: 12px;
	font-weight: normal;
	color:#ccc;
}

/* 各種h2タグ */
h2.main{
	text-align: center;
	margin:0;
	color:var(--main-color);
	font-family: "Sawarabi Mincho";
	font-size:32px;
	line-height: 120%;
	font-weight: bold;
}

h2.main2{
    text-align: left;
    margin:0 0 26px;
	color:var(--main-color);
	font-family: "Sawarabi Mincho";
	font-size:32px;
	line-height: 120%;
	font-weight: normal;
    border-bottom: 1px solid var(--main-color);
}

h2.subpage{
	text-align: center;
	color:var(--main-color);
	font-family: "Sawarabi Mincho";
	font-size:38px;
	line-height: 120%;
	font-weight: bold;
	
	text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF,
              -2px 2px 0 #FFF, 2px -2px 0 #FFF,
              0px 2px 0 #FFF,  0 -2px 0 #FFF,
              -2px 0 0 #FFF, 2px 0 0 #FFF;
	
	/*padding: 0.25em;
  border-top: solid 2px var(--main-color);
  border-bottom: solid 2px var(--main-color);
  background: -webkit-repeating-linear-gradient(-45deg, #E8EBF6, #E8EBF6 3px,#e9f4ff 3px, #e9f4ff 7px);
  background: repeating-linear-gradient(-45deg, #E8EBF6, #E8EBF6 3px,#e9f4ff 3px, #e9f4ff 7px);*/
	
	margin-bottom: 30px;
}


h3{
	margin-bottom:20px;
	padding:0 0 5px;
	font-size:22px;
	color:var(--main-color);
	border-bottom:1px solid var(--main-color);
}

h4{
	font-size: 16px;
	margin:0;
	padding: 0;
}

/* ボタン（デフォルト） */
a.button{
	display: block;
	text-decoration: none;
	text-align: center;
	padding:10px;
}

a.button:hover{
	transition:var(--ani-time);
	opacity: 0.7;
}

/* ▼メインビジュアル */
.default-mainvisual{
	margin-top:20px;
}

.default-mainvisual img{
	width:100%;
}
/* ▲メインビジュアル */


/* ▼パンくずリスト */
.pankuzu{
	/*width:100%;*/
	width:1000px;
	text-align: right;
	margin:15px auto;
	color: #9D9D9D;
	font-size:12px;
}

.pankuzu a{
	text-decoration: none;
}

.pankuzu a strong{
	font-weight: normal;
}
/* ▲パンくずリスト */


.br-sp430{
	display: none;
}

.inner{
	width:1000px;
	margin:0 auto;
	padding: 0;
}


/* ▼ヘッダー */
header.site-header{
	background: #144894;
    /*background-image:url("../img/Templates/header_bg.jpg");*/
    background-repeat: repeat-x;
    background-position: center;
	/*display: flex;*/
	position: fixed;
	justify-content: space-between;
	width:100%;
	height:110px;
	z-index: 9999;
}

header.site-header .headerInner{
	position: relative;
	width:1000px;
	margin:0 auto;
	padding: 0;
	/*background:transparent url(../img/Templates/header_bg.png) right top no-repeat;*/
	
}


/* ▼お問い合わせボタン */
header.site-header .headerInner .header-contactArea{
	position: absolute;
	right:0;
	top:18px;
	width: 140px;
}

header.site-header .headerInner .header-contactArea a{
	padding: 3px 5px;
	font-size: 14px;
	background-color:#fff;
	color:#1b408e;
}
/* ▲お問い合わせボタン */

/* ▼英語サイトボタン */
header.site-header .headerInner .header-english{
	position: absolute;
	right:0;
	top:18px;
	width: 140px;
}

header.site-header .headerInner .header-english a{
	padding: 3px 5px;
	font-size: 14px;
	background-color:#1b408e;
	color:#fff;
}

/* ▲英語サイトボタン */


header.site-header .headerTop{
	/*background-color: #1C1C1C;*/
}

header.site-header .logo{
	width:461px;
}

header.site-header .logo img{
	width:100%;
	/*margin-top:12px;*/
}


header.site-header .headMenu{
	width:100%;
	margin:0;
	/*border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;*/
	/*background-color: #323264;
	position:relative;
	background-image: linear-gradient(#131336, #323264 30px, #96ADDD 250px, #7391D1);*/
}

/*header.site-header .headMenu .headMenuInner{
	width:1000px;
	margin:0 auto;
	padding: 0;
}*/

header.site-header .headMenu a{
	display: block;
	text-align: center;
	float:left;
	font-size:14px;
	font-weight:bold;
	text-decoration: none;
	width:calc(100% / 7 - 1px);
	height:30px;
	padding-top:10px;
	color:#fff;
	/*border-left:1px solid #444;*/
	/*background-color:var(--main-color);*/
	background-color: #323264;
	position:relative;
	background-image: linear-gradient(#131336, #323264 30px, #96ADDD 250px, #7391D1);
	background-size:calc(100% / 7 - 1px) 280px;
	transition:var(--ani-time);
}

header.site-header .headMenu a:not(:last-child){
	border-right:1px solid #555;
}

header.site-header .headMenu a:hover{
	/*background-color:var(--main-color-hover);
	background-image: linear-gradient(180deg, #7391D1 50%, #96ADDD 100%);
	color: #fff;
	transition:var(--ani-time);*/
	background-position:0 100%;
}

header.site-header .headMenu a.double{
	padding-top:15px;
	line-height: 120%;
	padding-bottom:5px;
}


.headerTop:after{
	content:"";
	clear: both;
	display: block;
}
/* ▲ヘッダー */



/* ▼コンテンツ部分 */
.site-contents{
	/*display: flex;*/
	padding-top:125px;
	margin: 0 auto;
	/*width: 1000px;*/
	width: 100%;
}
/* ▲コンテンツ部分 */



/* ▼フッター */
/* スマホ用のフッターを消しておく */
.sp-footer{
	display: none;
}

footer{
	width:100%;
	background-color:#144894;
	color:#fff;
	
	padding:20px 0;
	
	position: absolute;/*←絶対位置*/
    bottom: 0; /*下に固定*/
}

footer .inner{
	width:1000px;
}

.site-footer-link-new{
	display: flex;
}

.site-footer-link-new .logoArea{
	width:40%;
	margin-top:20px;
	margin-right:15%;
}

.site-footer-link-new .logoArea .logo img{
	width:250px;
}

.site-footer-link-new .logoArea .logo .catch{
	font-size:12px;
}

.site-footer-link-new .logoArea .logo .company{
	font-size:18px;
	font-weight: bold;
}



.site-footer-link-new .linkArea{
	width:70%;
}

.site-footer-link-new .linkArea ul{
	display: flex;
	flex-wrap: wrap;
}

.site-footer-link-new .linkArea ul li{
	list-style-type: none;
	display: block;
}

.site-footer-link-new .linkArea ul li:not(:last-child){
	margin-right: 20px;
}

.site-footer-link-new .linkArea ul li a{
	text-decoration: none;
	color:#fff;
	font-size:14px;
}

.site-footer .isoArea{
	width:100%;
	text-align: center;
	margin-top:0;
}

.site-footer .isoArea .isoWaku{
	display: inline-block;
	width:50px;
	font-size:10px;
	line-height: 120%;
}

.site-footer .isoArea .isoWaku img{
	width:100%;
}


.site-footer .snsArea{
	width:100%;
	text-align: center;
	margin-top:20px;
}

.site-footer .snsArea ul{
	display: flex;
	/*width:430px;*/
	width:40px;
	margin:0 auto;
	padding-left: 0;
}

.site-footer .snsArea li{
	display: block;
	list-style-type: none;
	/*width:70px;*/
	width:40px;
	text-align: center;
}


.site-footer .snsArea li img{
	height:30px;
}


.site-footer .snsArea li img.bigicon{
	height:40px;
	margin-top: -5px;
}


.copyright{
	width:100%;
	/*position: absolute;
	bottom: 0;*/
	text-align: center;
	font-size:12px;
	height:60px;
	padding:40px 0 0 0;
}
/* ▲フッター */


/**********************/
/* サブページ共通部分 */
/**********************/
/* ▼コンテンツ部分 */
.subpage-contents{
	display: flex;
	flex-direction: row-reverse; /* 並び順を逆方向にする（サイドを左側、メインを右側） */
}
/* ▲コンテンツ部分 */

/* ▼サイド部分 */
.subpage-sideArea{
	width:25%;
}
/* ▲サイド部分 */

/* ▼メイン部分 */
.subpage-mainArea{
	width:100%;
	/*margin-left: 3%;*/
}

.subpage-mainArea .subpage-txtArea{
	clear: both;
	margin-bottom: 40px;
}

.subpage-mainArea .subpage-txtArea p{
	font-size:16px;
	line-height: 160%;
	text-indent: 1em;
}
/* ▲メイン部分 */



/* ▼新着情報（ライブラリ） */
.library-info{
	margin:0 0 40px;
	border:1px solid var(--waku-color);
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
}

.library-info h2.library-info-h2{
	padding:20px 0 0 40px;
	background-size: 35px 41px;
	font-size:18px;
	line-height: 130%;
}

.library-info .frame{
	width:calc(97% - 1px);
	height:250px;
	overflow: auto;
	margin: 0;
	padding: 5px;
}

.library-info .newsWaku{
	margin:10px 0 10px 0;
	padding-bottom:5px;
	border-bottom:dotted 1px #828282;
	overflow:hidden;
}

.library-info .day{
	display:block;
	font-size:14px;
	/*margin-bottom:1px;*/
	font-weight: bold;
}

.library-info .newsWaku p{
	margin:0 0 5px;
	padding:0;
	line-height: 120%;
}

.library-info .newsWaku p a{
	font-size:14px;
}

.library-info-buttonArea{
	padding:10px;
	border-top:dotted 1px #828282;
}

.library-info-buttonArea a{
	width:50%;
	background-color: var(--main-color);
	color:#fff;
	font-size:12px;
	margin:0 0 0 auto;
	padding: 5px;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
}

.library-info-buttonArea a span{
	position: relative;
	margin-left: 18px;
}

.library-info-buttonArea a span:before{
	position:absolute;
	top:1px;
	left: -14px;
	display: inline-block;
	font-family: 'Material Symbols Outlined';
	content:'\e1c4';
	font-size:12px;
}
/* ▲新着情報（ライブラリ） */




/*********/
/* index */
/*********/
/* ▼スライダー */
.index-slider .txtImg{
	 position: absolute;
    right:10vw;
    top:calc(28% - 6vw);
}

.index-slider .txtImg img{
    width:30vw;
}
/* ▲スライダー */


/* ▼slick */
.slider {
	width: 100%;
	margin: 0 auto;
	padding-top:110px;
}

    .slick-slide {
      margin: 0px 0px;
    }

    .slick-slide img {
      width: 100%;
    }

    .slick-prev:before,
    .slick-next:before {
        color: black;
    }

.slider {
  display:none;
}
.slider.slick-initialized {
  display: block;
}
/* ▲slick */


/* ▼和泉大津地区労働基準協会の取り組み */
/*.index-torikumi{
	margin:80px 0 120px;
	padding:0;
}

.index-torikumi .catch{
    text-align: center;
    margin: 10px 0 24px;
    font-weight: bold;
    font-size: 20px;
}

.index-torikumi p{
	font-size:18px;
	line-height: 160%;
	text-indent: 1em;
}*/

.index-torikumi {
    margin: 80px 0 120px;
    padding: 0 20px; /* スマホ時の端の余白 */
}

.index-torikumi .inner {
    max-width: 900px; /* 文章を読みやすくするために少し絞る */
    margin: 0 auto;
}

/* 見出し：h2.main は共通パーツとして定義されている想定 */
h2.main {
    text-align: center;
    margin: 0 0 15px; /* 下に少し余白 */
    color: var(--main-color);
    font-family: "Sawarabi Mincho", serif;
    font-size: 32px;
    line-height: 1.2;
    font-weight: bold;
}

h2.main span {
    display: inline-block; /* 途中で改行させない魔法の指定 */
}

/* サブコピー（キャッチフレーズ） */
.index-torikumi .catch {
    text-align: center;
    margin: 0 0 40px;
    font-weight: bold;
    font-size: 20px;
    /*color: #d32f2f;*/ /* 信頼感の中にも熱意を感じる落ち着いた赤色をアクセントに */
    letter-spacing: 0.1em;
}

.index-torikumi .catch span {
    display: inline-block; /* 途中で改行させない魔法の指定 */
}

/* 文章本文 */
.index-torikumi p {
    font-size: 17px; /* 18pxより少しだけ絞ると品が出ます */
    line-height: 2.0; /* 行間を広げて「読ませる」から「語りかける」へ */
    margin-bottom: 0.8em; /* 段落ごとの間隔をしっかり取る */
    text-align: justify; /* 両端を揃えて美しく */
    text-indent: 0; /* モダンなデザインにするため1文字下げを解除 */
    color: #333;
}

.index-torikumi p:last-child {
    margin-bottom: 0;
}

/* ▼ レスポンシブ対応 */
@media screen and (max-width: 768px) {
    .index-torikumi {
        margin: 60px 0 80px;
    }

    h2.main {
        font-size: 24px;
    }

    .index-torikumi .catch {
        font-size: 16px;
        margin-bottom: 30px;
        line-height: 1.5;
        padding: 0 10px;
    }

    .index-torikumi p {
        font-size: 15px;
        line-height: 1.8;
        margin-bottom: -10px;
    }
}


/* ▼ リンクボタンのエリア */
.torikumi-btn-wrap {
    text-align: center;
    margin-top: 50px; /* 文章との間隔をしっかり取る */
}

/* ボタン本体の設定 */
.btn-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--main-color); /* 協会のメインカラーを使用 */
    color: #fff !important; /* 文字色は白 */
    text-decoration: none;
    padding: 12px 60px; /* 横幅を広めに取って品格を出す */
    font-size: 18px;
    font-weight: bold;
    border-radius: 4px; /* 誠実な印象を与える控えめな角丸 */
    transition: all 0.3s ease;
    position: relative;
}

/* 右矢印アイコンをCSSで作成（疑似要素） */
.btn-more::after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    margin-left: 15px;
    transition: transform 0.3s ease;
}

/* ホバー（マウスを乗せた時）の動き */
.btn-more:hover {
    opacity: 0.85;
    transform: translateY(-2px); /* 少し浮き上がる */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* ホバー時に矢印を少し右に動かす遊び心 */
.btn-more:hover::after {
    transform: translateX(5px) rotate(45deg);
}

/* ▼ レスポンシブ対応（スマホ表示） */
@media screen and (max-width: 768px) {
    .torikumi-btn-wrap {
        margin-top: 40px;
    }
    
    .btn-more {
        width: 100%; /* スマホでは押しやすいように横幅いっぱいに */
        box-sizing: border-box;
        font-size: 16px;
        padding: 15px 20px;
    }
}
/* ▲和泉大津地区労働基準協会の取り組み */



/* ▼講習会のご案内・入会のご案内・協会のご案内 */
.index-kousyukai, .index-nyukai, .index-kyoukai {
    margin: 80px 0 120px;
    padding: 0;
}


/* ▼PDFリストのグリッドレイアウト */
.pdf-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* PCでは4等分（4カラム） */
    gap: 25px 15px; /* 行の余白25px、列の余白15px */
    list-style: none; /* デフォルトの黒ポッチを消す */
    padding: 0;
    margin: 0;
}

/* リンクテキストとアイコンの配置 */
.pdf-list a {
    display: flex;
    align-items: flex-start; /* 複数行になった場合も上揃えにする */
    text-decoration: none;
    color: #333;
    font-size: 15px;
    line-height: 1.5;
    transition: opacity 0.3s ease;
}

.pdf-list a:hover {
    opacity: 0.7; /* マウスを乗せた時に少し薄くする */
    text-decoration: underline;
}

/* PDFアイコンのスタイル */
.pdf-icon {
    width: 18px; /* アイコンのサイズ */
    height: auto;
    margin-right: 8px; /* アイコンとテキストの隙間 */
    margin-top: 2px; /* テキストとの縦位置の微調整 */
    flex-shrink: 0; /* テキストが長くなってもアイコンが潰れないようにする */
}


/* ▼レスポンシブ対応 */

/* タブレットサイズ（768px以下）では2カラムにする */
@media screen and (max-width: 768px) {
    .pdf-list {
        grid-template-columns: repeat(2, 1fr);
    }
    .index-kousyukai, .index-nyukai, .index-kyoukai {
        margin: 60px 0 80px; /* 余白を少し狭める */
    }
}

/* スマホサイズ（480px以下）では1カラムにする */
@media screen and (max-width: 480px) {
    .pdf-list {
        grid-template-columns: 1fr; /* 1カラム */
        gap: 15px; /* スマホでは縦の隙間を少し詰める */
    }
    .index-kousyukai .main2, .index-nyukai .main2, .index-kyoukai .main2, .index-access .main2 {
        font-size: 20px; /* 見出しを少し小さく */
    }
}
/* ▲レスポンシブ対応ここまで */
/* ▲講習会のご案内・入会のご案内・協会のご案内 */



/* ▼アクセスマップ */
.index-access {
    margin: 80px 0 120px;
    padding: 0;
    width: 100%;
    overflow: hidden; /* ★最終防衛線：このエリアからはみ出したものを隠す */
}

/* ★このエリア内のすべての要素で、余白（padding）による幅の膨張を防ぐ */
.index-access *, .index-access *::before, .index-access *::after {
    box-sizing: border-box;
}


/* PCレイアウト（Flexbox） */
.access-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

/* 左側：マップ部分 */
.access-map {
    width: calc(60% - 20px);
    min-width: 0; /* ★重要：Flexboxがコンテンツ幅に合わせて縮まなくなる現象を防ぐ */
    aspect-ratio: 16 / 9;
}

.access-map iframe {
    width: 100% !important; /* ★Googleマップ本来のwidth属性を強制上書き */
    height: 100% !important;
    max-width: 100%;
    border: none;
    display: block; /* iframeの下にできる謎の隙間を消す */
}

/* 右側：テキスト情報部分 */
.access-info {
    width: calc(40% - 20px);
    min-width: 0; /* ★重要：Flexboxが縮まなくなる現象を防ぐ */
    color: #333;
    line-height: 1.8;
    overflow-wrap: break-word; /* ★重要：住所や協会名が長すぎる場合に強制的に改行させる */
    word-break: break-all;     /* IE等の古いブラウザ用 */
}

.access-info p {
    margin: 0 0 10px;
    font-size: 15px;
}

.access-info .company-name {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 15px;
}

.fax-number {
    margin-left: 1.5em;
}

/* ▼レスポンシブ対応 */
@media screen and (max-width: 768px) {
    .index-access {
        margin: 60px 0 80px;
    }
    .access-container {
        flex-direction: column;
        gap: 25px;
    }
    .access-map {
        width: 100%;
        aspect-ratio: 4 / 3;
    }
    .access-info {
        width: 100%;
        text-align: center;
    }
    .fax-number {
        display: block;
        margin-left: 0;
        margin-top: 5px;
    }
}
/* ▲アクセスマップここまで */


/**********************/
/* 協会のご案内 annai */
/**********************/
.annai-main{
	margin:-42px 0 120px;
	padding:40px 0 0 0;
	background-image:url("../annai/img/annaiBg.jpg");
	background-repeat: no-repeat;
	background-size: 100%;
	background-color:rgba(255,255,255,0.5);
	background-blend-mode:overlay;
}

/* ▼ 大枠の設定（Flexboxの導入） */
.annai-main .buildingArea {
    border: 1px solid #999999;
    background-color: #DDE6F5;
    margin: 0 0 80px 0;
    padding: 20px; /* 内側に少し余白を入れると綺麗です */
    
    /* Flexboxで横並びにする */
    display: flex;
    align-items: center; /* 縦方向の中央で揃える（上揃えが良い場合は flex-start に変更） */
}

/* ▼ 画像の設定 */
.annai-main .buildingArea img {
    margin-right: 30px;
    width: 350px; /* 画像の幅を固定する場合。実寸に合わせて変更してください */
    height: auto;
    flex-shrink: 0; /* テキストが長くても画像が潰れないようにする */
}

/* ▼ テキストの設定 */
.annai-main .buildingArea p {
    font-size: 16px;
    line-height: 180%;
    margin-top: 0; /* Flexboxにしたので上の余白は削除 */
    margin-bottom: 0;
}


/* ▼ レスポンシブ対応（スマホ表示時：縦並びにする） */
@media screen and (max-width: 768px) {
    .annai-main .buildingArea {
        flex-direction: column; /* 縦並びに変更 */
        padding: 15px; /* スマホでは少し余白を狭める */
    }
    
    .annai-main .buildingArea img {
        margin-right: 0; /* 右の余白を消す */
        margin-bottom: 15px; /* 代わりに下方向へ余白を作る */
        width: 100%; /* スマホでは横幅いっぱいに広げる（最大幅指定でもOK） */
        max-width: 400px; /* 広がりすぎ防止（お好みで調整） */
    }
    
    .annai-main .buildingArea p {
        font-size: 15px; /* スマホでは文字を少し小さく */
        text-align: center; /* 縦並び時は中央揃えの方が見栄えが良いことが多いです */
    }
}


/* ▼ 協会についてエリアの大枠 */
.annai-main .annaimenu {
    max-width: 1000px; /* トップページに合わせて最大幅を設定 */
    width: 100%;
    margin: 0 auto 60px;
    font-family: Arial, Helvetica, sans-serif;
    box-sizing: border-box; /* はみ出し防止 */
}

/* ▼ 見出し（トップページの.main2と同じスタイル） */
/* ※もし共通CSSで .main2 が定義されている場合は、このブロックは不要です */
/*.annai-main .annaimenu h2.main2 {
    font-size:32px;
    color: #1c4587;
    border-bottom: 1px solid #d9e2f3;
    padding-bottom: 10px;
    margin-bottom: 30px;
}*/

/* ▼ リストのグリッドレイアウト（トップページと同じ） */
.annai-main .annaimenu ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* PCでは4等分（4カラム） */
    gap: 25px 15px; /* 行・列の余白 */
    list-style: none;
    padding: 0;
    margin: 0;
}

.annai-main .annaimenu li {
    margin: 0;
    padding: 0;
}

/* ▼ リンクテキストとアイコンの配置 */
.annai-main .annaimenu a {
    display: flex;
    align-items: flex-start;
    text-decoration: none;
    color: #000099; /* 元のデザインの色を継承 */
    font-size: 16px;
    line-height: 1.5;
    transition: all 0.3s ease;
}

.annai-main .annaimenu a:hover {
    color: #0099CC; /* ホバー時の色 */
    text-decoration: underline;
    opacity: 0.8;
}

/* ▼ PDFアイコンのスタイル */
.annai-main .annaimenu .pdf-icon {
    width: 17px;
    height: auto;
    margin-right: 8px;
    margin-top: 3px; /* テキストとの縦位置微調整 */
    flex-shrink: 0;
}

/* ▼ レスポンシブ対応 */

/* タブレットサイズ（768px以下）では2カラムにする */
@media screen and (max-width: 768px) {
    .annai-main .annaimenu {
        padding: 0 20px; /* 画面端にくっつかないように余白を入れる */
    }
    .annai-main .annaimenu ul {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* スマホサイズ（480px以下）では1カラムにする */
@media screen and (max-width: 480px) {
    .annai-main .annaimenu ul {
        grid-template-columns: 1fr; /* 1カラム */
        gap: 15px;
    }
    .annai-main .annaimenu h2.main2 {
        font-size: 20px; /* スマホでは見出しを少し小さく */
    }
    .annai-main .annaimenu a {
        font-size: 15px;
    }
}



/***********************/
/* 入会のご案内 nyukai */
/***********************/
.nyukai-main{
	margin:-42px 0 120px;
	padding:40px 0 0 0;
	background-image:url("../nyukai/img/nyukaiBg.jpg");
	background-repeat: no-repeat;
	background-size: 100%;
	background-color:rgba(255,255,255,0.5);
	background-blend-mode:overlay;
}


/* ▼ 会員特典の大枠 */
.nyukai-main .tokuten-container {
    max-width: 1000px;
    margin: 0 auto 60px;
    box-sizing: border-box;
}

/* ▼ メインのリスト（1〜5のカード部分） */
.nyukai-main .tokuten-main-list {
    list-style: none; /* デフォルトの数字を消す */
    padding: 0;
    margin: 0;
    counter-reset: tokuten-counter; /* カウンターをセット */
}

.nyukai-main .tokuten-main-list > li {
    position: relative;
    background: #f8fafd; /* 薄い青色の背景 */
    border: 1px solid #d9e2f3;
    border-radius: 8px; /* 角丸 */
    padding: 25px 30px 25px 85px; /* 左側に丸数字用の余白をあける */
    margin-bottom: 25px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05); /* 軽い影で浮き上がらせる */
}

/* ▼ 丸数字の装飾（自動でカウントアップします） */
.nyukai-main .tokuten-main-list > li::before {
    counter-increment: tokuten-counter;
    content: counter(tokuten-counter);
    position: absolute;
    top: 25px;
    left: 25px;
    width: 40px;
    height: 40px;
    background-color: #1c4587; /* 協会のテーマカラー */
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    line-height: 1;
}

/* ▼ 各特典のタイトル */
.nyukai-main .tokuten-title {
    font-size: 18px;
    color: #1c4587;
    margin: 0 0 10px 0;
    line-height: 1.5;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 10px;
}

/* ▼ タイトル下の説明文 */
.nyukai-main .tokuten-desc {
    font-size: 15px;
    color: #333;
    margin: 0 0 15px 0;
    line-height: 1.6;
}

/* ▼ 内側のリスト（■で装飾） */
.nyukai-main .tokuten-sub-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nyukai-main .tokuten-sub-list > li {
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 12px;
    font-size: 15px;
    color: #444;
    line-height: 1.6;
}

/* 内側リストのポッチを四角いアイコンにする */
.nyukai-main .tokuten-sub-list > li::before {
    content: "■";
    color: #1c4587;
    position: absolute;
    left: 0;
    font-size: 10px;
    top: 0.3em;
}

.nyukai-main .tokuten-sub-list > li:last-child {
    margin-bottom: 0;
}

/* ▼ 注釈（※）のスタイル */
.nyukai-main .note {
    color: #d32f2f; /* 赤色で目立たせる */
    font-size: 14px;
    display: inline-block;
    margin-top: 5px;
}

/* ▼ レスポンシブ対応（スマホ・タブレット用） */
@media screen and (max-width: 768px) {
    .nyukai-main .tokuten-main-list > li {
        padding: 20px 15px 20px 60px; /* スマホ用に余白を調整 */
    }
    
    .nyukai-main .tokuten-main-list > li::before {
        top: 20px;
        left: 15px;
        width: 32px;
        height: 32px;
        font-size: 16px;
    }
    
    .nyukai-main .tokuten-title {
        font-size: 16px;
    }
}


/* ▼ 申し込みエリア全体の大枠 */
.nyukai-main .apply-container {
    max-width: 800px; /* 広がりすぎないように制限 */
    margin: 0 auto 60px;
    padding: 0 20px;
    box-sizing: border-box;
}

/* ▼ 申込先ボックスのデザイン */
.nyukai-main .apply-box {
    background-color: #f8fafd; /* 協会カラーに合わせたごく薄い青 */
    border: 2px solid #1c4587; /* 協会のテーマカラーで枠線 */
    border-radius: 8px; /* 今風の角丸 */
    padding: 30px;
    text-align: center; /* 中央揃えにして見栄え良く */
    margin-bottom: 15px;
}

.nyukai-main .apply-title {
    color: #1c4587;
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 15px 0;
}

.nyukai-main .apply-address {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    margin: 0;
}

/* TELとFAXの間に少し余白を作る */
.nyukai-main .apply-tel {
    display: inline-block;
    margin-right: 20px;
    font-weight: bold;
}

.nyukai-main .apply-fax {
    display: inline-block;
}

/* ▼ 注意書きのスタイル */
.nyukai-main .apply-note {
    font-size: 14px;
    color: #666;
    text-align: center;
    margin: 0 0 30px 0;
}

/* ▼ CSSボタンのデザイン */
.nyukai-main .apply-button-area {
    text-align: center;
}

.nyukai-main .btn-mousikomi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #f39c12; /* クリックされやすいオレンジ色 */
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    padding: 15px 50px;
    border-radius: 50px; /* 完全な角丸ボタン */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 軽い影 */
    transition: all 0.3s ease; /* アニメーションを滑らかに */
}

/* ボタンにマウスを乗せた時の動き */
.nyukai-main .btn-mousikomi:hover {
    transform: translateY(-3px); /* 少し上に浮き上がる */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); /* 影を濃くする */
    background-color: #e67e22; /* 少し濃いオレンジに */
    color: #fff;
    text-decoration: none;
}

/* （予備）画像ボタンを使う場合のスマホ対応 */
.nyukai-main .img-btn {
    max-width: 100%;
    height: auto;
    transition: opacity 0.3s;
}
.nyukai-main .img-btn:hover {
    opacity: 0.8;
}

/* ▼ レスポンシブ対応（スマホ・タブレット用） */
@media screen and (max-width: 768px) {
    .nyukai-main .apply-box {
        padding: 20px 15px; /* スマホでは内側の余白を少し減らす */
    }
    
    .nyukai-main .apply-address {
        font-size: 15px;
    }
    
    .nyukai-main .apply-tel {
        display: block; /* スマホではTELとFAXを縦並びにして綺麗に */
        margin-right: 0;
    }
    
    .nyukai-main .btn-mousikomi {
        width: 100%; /* スマホではボタンを横幅いっぱいに広げて押しやすく */
        box-sizing: border-box;
    }
}



/***************************/
/* 関係機関へのリンク link */
/***************************/
.link-main{
	margin:-42px 0 120px;
	padding:40px 0 0 0;
	background-image:url("../link/img/linkBg.jpg");
	background-repeat: no-repeat;
	background-size: 100%;
	background-color:rgba(255,255,255,0.5);
	background-blend-mode:overlay;
}

.link-main p.setumei{
    padding:0 0 20px;
}


/* ▼リンクエリアの大枠 */
div#txtArea {
    padding: 20px 60px; /* 上下20px、左右60px */
    max-width: 1000px; /* 広がりすぎないように最大幅を設定 */
    margin: 0 auto; /* 中央揃え */
    box-sizing: border-box; /* 余白を幅に含める（横揺れ防止） */
}

/* ▼リストの初期設定リセット */
div#txtArea ul {
    list-style: none; /* デフォルトの黒ポッチを消す */
    padding: 0;
    margin: 0;
}

/* ▼リストアイテム（各リンク）のデザイン */
div#txtArea li {
    font-size: 16px;
    line-height: 1.6;
    padding: 15px 0; /* 少し余白を広げて押しやすく */
    border-bottom: 1px dashed #ccc;
    display: flex;
    flex-direction: column; /* 組織名とURLを縦並びに */
    gap: 5px; /* 組織名とURLの間の隙間 */
}

div#txtArea li:last-child {
    border-bottom: none; /* 一番最後の点線は消す */
}

/* ▼組織名のスタイル */
div#txtArea .link-title {
    font-weight: bold;
    color: #333;
}

/* ▼URL（リンク）のスタイル */
div#txtArea a {
    color: #1c4587; /* サイト全体のトンマナに合わせた青色 */
    text-decoration: none;
    word-break: break-all; /* ★重要：URLが長すぎる場合に強制改行させる */
    transition: all 0.3s ease; /* ホバー時の変化をフワッとさせる */
    display: inline-block;
}

/* ▼ホバー（マウスを乗せた時）のスタイル */
div#txtArea a:hover {
    color: #669900; /* 元の緑色を踏襲 */
    text-decoration: underline;
}

/* ▼見出し（h2）のスタイル */
div#txtArea h2 {
    font-size: 18px;
    background-color: #669900;
    color: #fff;
    padding: 8px 15px; /* 余白を広げて少しリッチに */
    margin-bottom: 20px;
}


/* ▼レスポンシブ対応（スマホ・タブレット用） */
@media screen and (max-width: 768px) {
    div#txtArea {
        padding: 15px 20px; /* ★スマホでは左右の余白を60pxから20pxに減らす */
    }
    div#txtArea li {
        font-size: 15px; /* 文字を少しだけ小さく */
        padding: 12px 0;
    }
}



/************************/
/* お問い合わせ contact */
/************************/
.contact .formHead, .contact .formFoot{
	text-align: center;
	font-size: 14px;
}

.contact .contact-waku{
	margin-bottom: 80px;
}

.contact .contact-waku table.contact-table{
	width:100%;
	border-top:1px solid #ccc;
	border-left:1px solid #ccc;
	margin: 10px 0;
}

.contact .contact-waku table.contact-table th, .contact .contact-waku table.contact-table td{
	padding:5px 10px;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
}

.contact .contact-waku table.contact-table th{
	background-color:#E0E4F2;
	text-align: left;
}

.contact .contact-waku table.contact-table th sup.need{
	color:#ff0000;
	font-size: 11px;
	margin-left: 3px;
}

.contact input.mailWakuButton{
	background-color: var(--main-color);
	color:#fff;
	font-size: 16px;
	font-weight: bold;
	width:200px;
	margin-top:10px;
	padding: 10px 0;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	cursor: pointer;
}

.contact .contact-waku .sysCaution{
	color:#ff0000;
	font-size: 14px;
	font-weight: bold;
}

@media (max-width: 500px) {
	.contact .contact-waku table.contact-table{
		width:92%;
		margin: 10px auto;
	}
	
	.contact .contact-waku table.contact-table th, .contact .contact-waku table.contact-table td{
		display: block;
	}
}

































@media (max-width: 1200px) {
	/* ▼スライダー */
	.index-slider .txtImg{
		top:calc(25% - 6vw);
	}
	/* ▲スライダー */
}


@media (max-width: 1016px) {
	/****************/
	/* テンプレート */
	/****************/
	body{
		min-height: 100vh;
		position: relative;
		margin-bottom:70px;
	}
	
	.inner{
		width:100%;
	}
	
	header.site-header{
		height:90px;
	}
	
	header.site-header h1{
		font-size: 10px;
		line-height: 120%;
	}
	
	header.site-header .headerInner{
		width:100%;
		background-size: contain;
		height:inherit;
	}
	

	/* ▼会員登録・英語サイトボタン */
	header.site-header .headerInner .header-contactArea, header.site-header .headerInner .header-english{
		display: none;
	}
	
	
	header.site-header .headerTelArea{
		display: none;
	}
	
	header.site-header .headMenu{
		display: none;
	}
	/* ▲ヘッダー */
	
	/* ▼インスタグラムボタン */
	header.site-header .headerInner .header-instagram{
		right:80px;
		top:28px;
	}
	/* ▲インスタグラムボタン */
	
	
	/* ▼コンテンツ部分 */
	.site-contents{
		/*width: calc(100% - 40px) !important;*/
		width: 96% !important;
		margin:0 auto;
		padding-top:100px;
	}
	/* ▲コンテンツ部分 */
	
	
	/* ▼スマホ用のフッター */
	.sp-footer{
		display: block;
		z-index: 10;
		position: fixed;
		bottom:0;
		width:100%;
		height:70px;
		background-color:#fff;
		border-top:1px dotted var(--base-color);
		padding-top:10px;
	}
	
	
	.sp-footer .buttonFooterButtonArea{
		float: right;
		width:150px;
		height: 70px;
		text-align: right;
	}
	
	.sp-footer .buttonFooterButtonArea a.buttonFooterContact, .sp-footer .buttonFooterButtonArea a.buttonFooterTel{
		display: inline-block;
		float: left;
		width:55px;
		height:55px;
		margin-right:5px;
		padding:5px;
		text-align: center;
		background-color: var(--main-color);
		color: #fff;
		text-decoration: none;
	}
	
	.sp-footer .buttonFooterButtonArea a.buttonFooterContact:hover, .sp-footer .buttonFooterButtonArea a.buttonFooterTel:hover{
		background-color:var(--main-color-hover);
		transition:var(--ani-time);
	}
	
	.sp-footer .buttonFooterButtonArea a.buttonFooterContact .fas, .sp-footer .buttonFooterButtonArea a.buttonFooterTel .fas{
		display: block;
		font-size:40px;
	}
	
	.sp-footer .buttonFooterButtonArea a.buttonFooterContact span, .sp-footer .buttonFooterButtonArea a.buttonFooterTel span{
		font-size:12px;
	}
	
	
	.sp-footer:after{
		content:"";
		display: block;
		clear: both;
	}
	/* ▲スマホ用のフッター */
	
	
	/* ▼フッター */
	footer .inner{
		width:100%;
	}
	/* ▲フッター */
	
	
	/* ▼パンくずリスト */
	.pankuzu{
		/*width:100%;*/
		width:calc(100% - 40px);
		padding:0 20px;
	}
	/* ▲パンくずリスト */
	
	/*********/
	/* index */
	/*********/
	/* ▼スライダー */
	.index-slider .txtImg{
		display: none;
	}
	/* ▲スライダー */
	
	/* ▼slick */
	.slider {
		padding-top:90px;
	}
	/* ▲slick */
	
	
	
	
}


@media (max-width: 740px) {
	/****************/
	/* テンプレート */
	/****************/
	html {
		scroll-padding-top: 120px;
	}
	
	body{
		background-image:none;
	}
	
	.wrapper{
		padding-bottom: 300px;/*←footerの高さ*/
	}
	
	/*h2{
		font-size:18px;
	}*/
	
	h2.subpage{
	font-size:32px;
	
	text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF,
              -2px 2px 0 #FFF, 2px -2px 0 #FFF,
              0px 2px 0 #FFF,  0 -2px 0 #FFF,
              -2px 0 0 #FFF, 2px 0 0 #FFF;
}
	
	
	/* ▼ヘッダー */
	header.site-header .logo{
		width:70%;
	}
	
	header.site-header .logo img{
		width:90%;
		margin-top:min(1%, 10px);
	}
	/* ▲ヘッダー */
	
	
	
	/* ▼フッター */
	.site-footer-link-new{
		display: block;
	}
	
	.site-footer-link-new .logoArea{
		width:100%;
		margin-right:0;
		text-align: center;
	}
	
	
	.site-footer-link-new .linkArea{
		width:90%;
		margin:0 auto;
	}
	

	.site-footer-link-new .linkArea ul li a{
		font-size:clamp(12px, 3vw, 14px);
		/*font-size:14px;*/
	}
	
	
	.site-footer .snsArea ul{
		display: flex;
		/*width:clamp(250px, 85% ,430px);*/
		margin:0 auto;
	}
	
	.site-footer .snsArea li{
		width:clamp(50px, calc(100% / 6), 70px);
	}
	
	.site-footer .snsArea li img{
		height:25px;
	}
	
	.site-footer .snsArea li img.bigicon{
		height:35px;
		margin-top: -5px;
	}
	
	/* ▲フッター */
	
	
	/**********************/
	/* サブページ共通部分 */
	/**********************/
	/* ▼コンテンツ部分 */
	.subpage-contents{
		display: block;
	}
	/* ▲コンテンツ部分 */

	/* ▼サイド部分 */
	.subpage-sideArea{
		width:100%;
	}
	/* ▲サイド部分 */
	
	/* ▼メイン部分 */
	.subpage-mainArea{
		width:100%;
		margin-left: 0;
		margin-bottom: 40px;
	}
	/* ▲メイン部分 */
	
	
	
	
	/* ▼新着情報（ライブラリ） */
	.library-info-buttonArea a span:before{
		top:0;
	}
	/* ▲新着情報（ライブラリ） */
	
	
	

	

	
	

	
	
	

	
	
	
	
	
}





@media (max-width: 430px) {
	.br-sp430{
		display: inline;
	}
	
	/* ▼ヘッダー */
	header.site-header{
		height:60px;
	}
	
	header.site-header .logo{
		width:70%;
	}
	/* ▲ヘッダー */
	
	/* ▼インスタグラムボタン */
	header.site-header .headerInner .header-instagram{
		right:60px;
		top:21px;
	}
	
	header.site-header .headerInner .header-instagram img{
		height:33px;
		margin-top: -5px;
	}
	/* ▲インスタグラムボタン */
	
	
	/* ▼コンテンツ部分 */
	.site-contents{
		padding-top:70px;
	}
	/* ▲コンテンツ部分 */
	
	
	/**********************/
	/* サブページ共通部分 */
	/**********************/
	
	
	/* ▼新着情報（ライブラリ） */
	.library-info-buttonArea a{
		width:96%;
		margin:0 auto;
		padding:10px 5px;
	}
	/* ▲新着情報（ライブラリ） */
	
	
	
	
	/*********/
	/* index */
	/*********/
	/* ▼slick */
	.slider {
		padding-top:60px;
	}
	/* ▲slick */
	
	
	
	
	
}