@charset "UTF-8";

/* 
--------------------------------------------------
flexBox
--------------------------------------------------
*/
.flexBoxC {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.flexBoxR {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.flexBoxL {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.flexBoxB {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flexBoxA {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.alignItemsE {align-items:flex-end;}
.alignItemsC {align-items:center;}

/* 
--------------------------------------------------
margin, padding
--------------------------------------------------
*/
.marginB {margin-bottom: 0 !important;}
.marginB5 {margin-bottom: 5px !important;}
.marginB10 {margin-bottom: 10px !important;}
.marginB20 {margin-bottom: 20px !important;}
.marginB30 {margin-bottom: 30px !important;}
.marginB50 {margin-bottom: 50px !important;}
.marginB80 {margin-bottom: 80px !important;}
.marginB100 {margin-bottom: 100px !important;}
.paddingB {padding-bottom: 0 !important;}
.paddingLR10 {padding-right: 10px;padding-left: 10px;}
.paddingLR20 {padding-right: 20px;padding-left: 20px;}
.paddingLR30 {padding-right: 30px;padding-left: 30px;}
.paddingLR50 {padding-right: 50px;padding-left: 50px;}
@media screen and (max-width: 768px) {
}

/* 
--------------------------------------------------
blockDiv
--------------------------------------------------
*/
.blockDiv3 {width: 33.333333%;}
.blockDiv4 {width: 25%;}
@media screen and (max-width: 768px) {
.blockDiv3,
.blockDiv4 {width: 100%;}
}

/*YouTubeレスポンシブ
----------------------------------------
┌.flexBoxB or .flexBoxC(一つの場合)
　┌.flexBoxC.youtubeWrapper
　　┌.youtube
  　　<iframe>
----------------------------------------*/
.youtubeWrapper {
	margin: 0 auto;
	margin: 0;
}
.youtubeWrapperSP {
    display: none;
}
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 1024px) {
    .youtubeWrapperSP {
        display: block;
        margin: 0 auto 30px;
    }
}

/* 
--------------------------------------------------
font-size
--------------------------------------------------
*/
.fontSmaller {font-size: .875rem;}
.fontLarger {font-size: 1.125rem;}

/* 
--------------------------------------------------
汎用　2022年12月〜
--------------------------------------------------
*/
.dispIB {
    display:inline-block;
}

/* 
--------------------------------------------------
特別講習日程・仮申込　tokubetsu-koshu.html 
--------------------------------------------------
*/
@media screen and (max-width: 1023px) {
}

@media screen and (max-width: 414px) {
}

/* 
--------------------------------------------------
個人情報保護方針　.privacyPolicy #contents
--------------------------------------------------
*/
.privacyPolicy #contents #joko > div {
	margin-bottom: 3em;
}
.privacyPolicy #contents #joko > div > P:first-child {
	font-weight: bold;
	text-indent: -2em;
	padding-left: 2em;
}
.privacyPolicy #contents #joko > div > div {
	margin-left: 2em;
}
.privacyPolicy #contents #joko > div div.numberList p {
	text-indent: -3em;
	padding-left: 3em;
}
.privacyPolicy #contents #joko > div div.kanaList {
	margin-left: 3em;
}
.privacyPolicy #contents #joko > div div.kanaList p {
	text-indent: -2em;
	padding-left: 2em;
}

/* 
--------------------------------------------------
支部　.ichiran #contents
活動報告　.report #contents
セミナー＆面接会　.seminar #contents
--------------------------------------------------
*/

@media print, screen and (min-width: 768px) {
    .ichiran #contents h1,
    .seminar #contents h1,
    .report #contents h1,
    .trialForm #contents h1,
	.nonMemberForm #contents h1,
	.shisetsuForm #contents h1 {
        background-image: none;
        text-align: center;
        width: 100%;
        height: auto;
        font-size: 1.5rem;
        font-weight: bold;
        padding: .5em 0 .3em;
        background:repeating-linear-gradient(90deg,#3cb371,#ccc 1px,#3cb371 0,#fff 2px);
        border-radius: 30px;
        color: #FFFFFF;
        text-shadow: 2px 2px 2px #2e8b57, 2px -2px 2px #2e8b57, -2px -2px 2px #2e8b57, -2px 2px 2px #2e8b57;
        margin-bottom: 10px;
    }
    .ichiran #contents h1 + #lead p {
        font-size: .875rem;
        line-height: normal;
    }
}

#headerWrapper header #headerLRWrapper #headerLeft nav > ul > li {
	position: relative;
}
#headerWrapper header #headerLRWrapper #headerLeft nav > ul > li > ul {
	display: none;
	position: absolute;
	width: 16em;
	background-color: #FFFFFF;
	border: 1px solid #CCCCCC;
	z-index: 10000;
}
#headerWrapper header #headerLRWrapper #headerLeft nav > ul > li:nth-child(2) > ul {
	width: 42em;
}
#headerWrapper header #headerLRWrapper #headerLeft nav > ul > li:nth-child(3) > ul,
#headerWrapper header #headerLRWrapper #headerLeft nav > ul > li:last-child > ul {
	width: calc(18em + 2px);
	letter-spacing: -1em; /*隙間よけ*/
	left: 0;
}
#headerWrapper header #headerLRWrapper #headerLeft nav > ul > li > ul > li {
	margin: 0;
}
#headerWrapper header #headerLRWrapper #headerLeft nav > ul > li:hover > ul {
	display: block;
}
#headerWrapper header #headerLRWrapper #headerLeft nav > ul > li:nth-child(3) > ul > li,
#headerWrapper header #headerLRWrapper #headerLeft nav > ul > li:last-child > ul > li {
	display: inline-block;
	letter-spacing: normal; /*隙間よけ*/
	vertical-align: bottom;
}
#headerWrapper header #headerLRWrapper #headerLeft nav > ul > li > ul li a {
	width: 100%;
	margin: 0;
	height: auto;
	padding: .25em 1em .1em;
	display: inline-block;
}
#headerWrapper header #headerLRWrapper #headerLeft nav > ul > li > ul li a:hover {
	background-color: #FFFF00;
}
.report #contents .flexBoxL .blockDiv3 img {
	max-width:215px;
	max-height:215px;
}

@media screen and (max-width: 1023px){
    #headerWrapper header #headerLRWrapper #headerLeft nav > ul > li:hover > ul {
        display: none;
    }
}
@media print, screen and (max-width: 768px) {
}

.ichiran #contents h2 + p:before {
 content: "区域：";
}
.ichiran #contents h2 + p {
    padding: 0 0 .7em 2em;
    border-bottom: 4px solid #CCCCCC;
    margin: 0 0 1em;
}
.ichiran #contents h2 + p {
    padding: 0 0 .7em 2em;
    border-bottom: 4px solid #CCCCCC;
    margin: 0 0 .5em;
}

.ichiran #contents p.shibuLink {
    text-align: right;
    margin: 0 auto .5em;
}

/* 
--------------------------------------------------
リードブロック 内部リンク　#lead .iLink
--------------------------------------------------
*/
#lead .iLink {
    margin: -.7em auto 1em;
}
#lead .iLink ul {
    list-style: none;
    padding-left: 0;
}
#lead .iLink ul li:not(:last-child):after {
    white-space: pre-wrap;
    content: " ";
}
@media screen and (min-width: 768px) {
    #lead .iLink {
        display: none;
    }
}

/* 
--------------------------------------------------
リードブロック ページ内アンカーリンク　#lead .aLink
--------------------------------------------------
*/
#lead .aLink ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 3em;
}
#lead .aLink ul li {
    margin: .5em;
    text-align: center;
    width: 9em;
    border: 3px solid #EEEEEE;
    position: relative;
}
#lead .aLink ul li a {
    padding: .5em 0 1em;
    display: block;
}
#lead .aLink ul li:after {
    position: absolute;
    content: "▼";
    top: 2em;
    left: 4em;
    margin-left: -3px;
    color: darkgrey;
}

/* 
--------------------------------------------------
特別講習仮申込フォーム　.trialForm #contents
--------------------------------------------------
*/
.trialForm #contents table#formTable,
.trialForm #contents table#gaiyoTable {
	text-align: left;
    margin-bottom:.5em;
}
.trialForm #contents table th,
.trialForm #contents table td {
	padding:.5em 1em;
    line-height: normal;
}
.trialForm #contents table#formTable td span {
    display:inline-block;
	width:1.7em;
    text-align:right;
    margin-right:.3em;
    color:inherit;
}
.trialForm #contents table#formTable tr:last-child {
	text-align: center;
}
.trialForm #contents table#formTable + p {
	text-align: right;
}
.trialForm #contents table#formTable input[type="checkbox"] {
    transform: scale(1.5);
    height:1.7em;
}
.trialForm #contents #gaiyo ol li span {
    color: inherit;
}
.trialForm #contents #gaiyo ol li span {
    width: auto;
}
.trialForm #contents #gaiyo ol li span:first-child {
    width: 5em;
}
.trialForm #contents table#gaiyoTable th {
	width: calc(6em + 2px);
    text-align: center;
}
.trialForm #contents table#gaiyoTable td:first-child {
	width: calc(6em + 2px);
}
.trialForm #contents table#gaiyoTable td:last-child {
	width: auto;
}
.trialForm #contents table#gaiyoTable dl {
	margin-left:0;
}
.trialForm #contents table#gaiyoTable dl dt {
	display:inline-block;
    width:2.5em;
    vertical-align: top;
}
.trialForm #contents table#gaiyoTable dl dd {
    display:inline-block;
    width:calc(100% - 3em);
}

/* 
--------------------------------------------------
会員外 仮申込フォーム　.nonMemberForm #contents
施設申込フォーム　.shisetsuForm #contents
--------------------------------------------------
*/
.nonMemberForm,
.shisetsuForm {
}
.nonMemberForm #main #contents,
.shisetsuForm #main #contents {
	float: none;
	width: 70%;
	margin: 0 auto;
}
.shisetsuForm #main #contents {
	width: 100%;
}
.nonMemberForm #contents table.formTable,
.shisetsuForm #contents table.formTable {
	text-align: left;
    margin-bottom:.5em;
}
.nonMemberForm #contents table tr.saiTR,
.shisetsuForm #contents table tr.saiTR {
	display: none;
}
.nonMemberForm #contents table th,
.nonMemberForm #contents table td,
.shisetsuForm #contents table th,
.shisetsuForm #contents table td {
	padding:.5em 1em;
    line-height: normal;
}
.nonMemberForm #contents table.formTable td input.entry {
	width: 2em;
	text-align: center;
	border: 2px solid #FF0000;
	border-radius: 3px;
}
.nonMemberForm #contents table.formTable td label[for="shisetsu"] {
	margin-right: 1em;
}
.nonMemberForm #contents table.formTable td input#shisetsu,
.nonMemberForm #contents table.formTable td input#kotsu {
	vertical-align: middle;
}
.nonMemberForm #contents table.formTable td.entryNum {
	text-align: center;
}
.nonMemberForm #contents table.formTable td.subTotal {
	font-size: 85%;
	padding: .5em;
}
.nonMemberForm #contents table.formTable td span {
	padding-left: .5em;
}
.nonMemberForm #contents table.formTable td span.shubetsu-name {
	padding-left: 0;
}
.nonMemberForm #contents table.formTable td div#gyomubetsuBox {
	margin-top: 5px;
}
.nonMemberForm #contents table.formTable td input.price-total {
	color: #FF0000;
	width: 5em;
	text-align: right;
	border: none;
	font-weight: bold;
	font-size: 1.1em;
}
/*送信ボタン用*/
.nonMemberForm #contents table.formTable tr:last-child {
	text-align: center;
}
.nonMemberForm #contents table.formTable + p,
.nonMemberForm #contents table.formTable + p + p{
	text-align: left;
	margin-left: 0;
}
@media screen and (max-width: 768px) {
	.nonMemberForm #main #contents {width: 100%;}
}

/* 
--------------------------------------------------
関連リンク　#contents .sanjo
--------------------------------------------------
*/
#contents .sanjo section > ul > li > ul {
	list-style: circle;
	padding-left: 2em;
	margin-bottom: .5em;
}
#contents .sanjo section.sanjo ul {
	border-bottom: 1px dotted #CCCCCC;
	margin-bottom: .5em;
}
#contents .sanjo section.sanjo ul li {
	padding-bottom: .5em;
	line-height: 1.5;
}
#contents .sanjo section.sanjo ul li span {
	font-size: 1.125rem;
	color: #000000;
	font-weight:bold;
}
@media screen and (max-width: 768px) {
	#contents .sanjo section ul li {
		line-height: 2;
	}
}


/*
災害時対応会員一覧用 202407-08 一般向け用に提案中
加盟会社一覧データの.saigaiを公開用に一旦非表示にする
*/
#headerWrapper header #headerLeft nav ul li.saigai {
	display: none;
}
.ichiran table caption span.saigai  {
	display: none;
}

