@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
* { margin: 0; padding: 0; box-sizing: border-box;}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
form, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

img{ vertical-align: bottom;}
ul{ list-style: none;}
ul li{ list-style-type: none;}
figure { margin: 0;}


/* =============================================================================
   Forms
   ========================================================================== */
form { margin: 0;}
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}
legend { border: 0;}
button,
input,
select,
textarea { font-size: 100%; margin: 0; vertical-align: baseline;}
button,
input { line-height: normal;}
button,
input[type="button"], 
input[type="reset"], 
input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0;}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top;}
input[type="search"]:focus { outline: none;}

table {
    border-collapse: collapse;
    border-spacing: 0;
}


@media (max-width: 481px) {
}



/*		font-style
-------------------------------------------------- */
body {
	font-family: 'Noto Sans JP',"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.min {font-family: "游明朝", "Yu Mincho", "YuMincho", serif;}

::selection{ background: #feffaf; color: #000;}
::-moz-selection{ background: #feffaf; color: #000;}


a { color:#002159; text-decoration: underline;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}

@media (max-width: 641px) {
}


@keyframes showError{
	100%{ opacity: 1;}
}


#hd { position: absolute; left: 0; top: 0; width: 100%; z-index: 100;}
#hd .inner-hd { display: flex; align-items: center; justify-content: space-between; width: 92%; margin: 0 auto; padding: 15px 0;}
#hd .hd-logo{ width: 40%;}
#hd .hd-btn { width: 60%;}
#hd .hd-logo h1 { width: 100%; max-width: 400px;}
#hd .hd-logo h1 span { display: block; width: 100%;}
#hd .hd-logo h1 span img { width: 100%;}
#hd .hd-btn ul { width: 100%; max-width: 600px; margin: 0 0 0 auto; font-size: 0; }
#hd .hd-btn ul li { display: inline-block; width: 50%; }
#hd .hd-btn ul li a { display: block; width: 94%; margin: 0 auto; padding: 18px 0; border-radius: 50px;
 color: #fff; font-size: 18px; font-weight: 700; text-align: center; text-decoration: none;
}
#hd .hd-btn ul li:first-child a { background: #0075ba; box-shadow: 0 4px 0 #08649a;}
#hd .hd-btn ul li:last-child a { background: #e83418; box-shadow: 0 4px 0 #c62b13;}
#hd .hd-btn ul li a:hover { opacity: 0.88;}
@media (max-width: 1001px) {
	#hd .hd-btn ul li a { padding: 12px 0;font-size: 15px;}
}
@media (max-width: 801px) {
	#hd .hd-logo{ width: 52%;}
	#hd .hd-btn { display: none;}
}
@media (max-width: 481px) {
	#hd .inner-hd { padding: 10px 0;}
}


#kv { position: relative; margin: 0 auto -30px; z-index: 10;}
#kv .inner-kv { position: relative; width: 100%; margin: 0 auto; padding-top: 140px; overflow: hidden;}
#kv .inner-kv:before,
#kv .inner-kv:after { content: ''; display: block;}
#kv .inner-kv:before{ width: 50%; height: 100%; position: absolute; right: 0; bottom: 0;
 background: url('../img/kv-illust-1.png') no-repeat 0% 200px / auto 540px; z-index: 1;
}
#kv .inner-kv:after { width: 1500px; height: 1500px; position: absolute; right: 0; top: 0; background: #ddf2ff; border-radius: 50%;
 transform: translate(45%,-45%);
}
#kv .inner-kv figure { display: none; width: 100%;}
#kv .inner-kv figure img { width: 100%;}
#kv .ctn { position: relative; width: 96%; max-width: 1200px; margin: 0 auto; z-index: 2;}
#kv .ctn:after { position: relative; content: ''; display: block; width: 50%; height: 280px; margin: -80px 0 0 auto;
 background: url('../img/kv-illust-2.png') no-repeat 50% 50% / auto 100%;
}
#kv .ctn .txt { position: relative; width: 50%; padding-left: 40px;}
#kv .ctn .txt h2 { margin-bottom: 20px; color: #0075ba; font-size: 54px; font-weight: 900; line-height: 1.25;}
#kv .ctn .txt h2 em { color: #e83418;}
#kv .ctn .txt h2 span { display: block;}
#kv .ctn .txt p { margin-bottom: 40px; font-size: 22px; font-weight: 700; letter-spacing: 0.075rem; line-height: 1.8;}
#kv .ctn .txt p span { display: block;}
#kv .ctn .txt .list { width: 94%; margin-bottom: 40px; padding: 10px 0; border-bottom: solid 2px #004c88;}
#kv .ctn .txt .list h3 { position: relative; margin-bottom: 10px; color: #fff; font-size: 21px;}
#kv .ctn .txt .list h3:after { content: ''; display: block; width: 100%; height: 2px; background: #004c88; position: absolute; left: 0; top: 50%;}
#kv .ctn .txt .list h3 span { position: relative; z-index: 2; display: inline-block; padding: 5px 20px; background: #004c88; border-radius: 50px;}
#kv .ctn .txt .list ul li { position: relative; margin-bottom: 10px; padding: 5px 0; padding-left: 40px; font-size: 20px; font-weight: 700; line-height: 1.4;}
#kv .ctn .txt .list ul li:last-child { margin-bottom: 0px;}
#kv .ctn .txt .list ul li:before,
#kv .ctn .txt .list ul li:after { content: ''; display: block; position: absolute;}
#kv .ctn .txt .list ul li:before{ width: 20px; height: 20px; background: #ddf2ff; left: 0; top: 0.6em;}
#kv .ctn .txt .list ul li:after { width: 10px; height: 18px; border-right: solid 5px #eb4e36; border-bottom: solid 5px #eb4e36;
 left: 8px; top: 0.2em; transform: rotate(45deg);
}
#kv .ctn .txt .btn { width: 80%; max-width: 480px;}
#kv .ctn .txt .btn a { position: relative; display: block; padding: 15px 0; border-radius: 50px; background: #e83418; box-shadow: 0 4px 0 #c62b13;
 color: #fff; font-size: 20px; font-weight: 700; letter-spacing: 0.075rem; line-height: 1.4; text-align: center; text-decoration: none;
}
#kv .ctn .txt .btn a span{ display: block; font-size: 26px;}
	#kv .ctn .txt .btn a:hover { opacity: 0.88; animation: hover 1.6s linear infinite;}

@keyframes hover {
	 0% { transform: scale(1.0); }
	12% { transform: scale(1.08); }
	20% { transform: scale(1.0); }
}

@media (max-width: 1281px) {
	#kv .inner-kv:before{ background-position: 0% 160px;}
	#kv .inner-kv:after { width: 1200px; height: 1200px;}
	#kv .ctn .txt h2 { font-size: 4.2vw;}
	#kv .ctn .txt p { font-size: 1.8vw;}
	#kv .ctn .txt .list h3 { font-size: 1.8vw;}
	#kv .ctn .txt .list ul li { font-size: 1.8vw;}
	#kv .ctn .txt .btn a { font-size: 1.8vw;}
	#kv .ctn .txt .btn a span{ font-size: 2.4vw;}
}
@media (max-width: 1001px) {
	#kv { margin: 0 auto -20px;}
	#kv .inner-kv { padding-top: 150px;}
	#kv .inner-kv:before{ background-size: auto 450px; background-position: 0% 120px;}
	#kv .inner-kv:after { width: 1000px; height: 1000px;}
	#kv .ctn:after { height: 200px;}
}
@media (max-width: 801px) {
	#kv { position: relative; margin: 0 auto;}
	#kv .inner-kv:before,
	#kv .inner-kv:after,
	#kv .ctn:after { content: none;}
	#kv .inner-kv { overflow: visible; padding-top: 0px; padding-bottom: 40px;}
	#kv .inner-kv figure { display: block;}
	#kv .ctn .txt { position: relative; width: 88%; margin: 0 auto;}
	#kv .ctn .txt h2 { font-size: 7vw;}
	#kv .ctn .txt p { margin-bottom: 20px; font-size: 3vw;}
	#kv .ctn .txt .list { width: 100%;}
	#kv .ctn .txt .btn a { padding: 20px 0; font-size: 16px;}
	#kv .ctn .txt .btn a span{ font-size: 20px;}
}
@media (max-width: 641px) {
	#kv .ctn .txt { padding-left: 20px;}
}
@media (max-width: 481px) {
	#kv .ctn .txt { padding-left: 0px;}
	#kv .ctn .txt h2 { margin-bottom: 12px; font-size: 30px;}
	#kv .ctn .txt p { margin-bottom: 12px; font-size: 14px;}
	#kv .ctn .txt .list h3 { font-size: 14px;}
	#kv .ctn .txt .list h3 span { padding: 2px 12px;}
	#kv .ctn .txt .list ul li { margin-bottom: 8px; padding: 3px; padding-left: 25px; font-size: 14px;}
	#kv .ctn .txt .list ul li:before{ width: 15px; height: 15px; background: #ddf2ff; left: 0; top: 0.6em;}
	#kv .ctn .txt .list ul li:after { width: 6px; height: 12px; border-width: 3px; left: 5px;}
	#kv .ctn .txt .btn a { padding: 10px 0; font-size: 13px;}
	#kv .ctn .txt .btn a span{ font-size: 18px;}
}


.sct { position: relative; width: 100%; z-index: 2;}
.sct .inner-sct { position: relative; width: 92%; max-width: 1200px; margin: 0 auto; padding: 140px 160px 80px; z-index: 2;}
.sct#sct04 .inner-sct { padding-top: 150px; padding-bottom: 140px;}
.sct .ttl { position: absolute; top: 0; width: 120px; }
.sct.sct-L .ttl { left: 0;}
.sct.sct-R .ttl { right: 0;}
.sct .ttl h2 img{ width: 100%;}
.sct .ctn .tit.tit-1 { margin-bottom: 30px;}
.sct .ctn .tit.tit-2 { margin-bottom: 50px;}
.sct .ctn .tit h3 { font-size: 42px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.4;}
.sct .ctn .tit h3 br.sp { display: none;}
.sct .ctn .tit.tit-1 h3 { color: #004c88;}
.sct .ctn .tit.tit-2 h3 { color: #407936; text-align: right;}
.sct .ctn p.read { margin-bottom: 12px; font-size: 18px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.8;}
.sct .ctn p.read a { color: #000;}
.sct .ctn p.read a:hover { text-decoration: none;}
.sct .ctn p.tc { margin-bottom: 18px; font-size: 18px; font-weight: 700; text-align: center;}
.sct .ctn p.link { font-size: 18px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.8;}

.sct .ctn ul.aside { margin-bottom: 10px;}
.sct .ctn ul.aside li { margin-bottom: 12px;}
.sct .ctn ul.aside li:last-child { margin-bottom: 0px;}
.sct .ctn ul.aside li dl { position: relative; display: table; width: 100%;}
.sct .ctn ul.aside li dl dt,
.sct .ctn ul.aside li dl dd { display: table-cell; font-size: 16px; font-weight: 700; line-height: 1.6;}
.sct .ctn ul.aside li dl dt { width: 140px;}
.sct .ctn ul.aside li dl dt span { display: block; width: 120px; padding: 0; background: #004c88; border-radius: 50px; color: #fff; text-align: center;}
.sct .ctn ul.aside li dl dd { position: relative; width: auto; text-align: left;}
.sct .ctn ul.aside li dl dd.member { padding-left: 90px;}
.sct .ctn ul.aside li dl dd.member span { position: absolute; left: 0;}

.sct .ctn .ctn-flex { display: flex; justify-content: space-between; margin: 0 auto 25px;}

.sct .ctn .box { position: relative; width: 48%; padding-top: 20px;}
.sct .ctn .box h4 { position: absolute; left: 0; top: 0; width: 100%; font-size: 28px; line-height: 1.2; text-align: center;}
.sct .ctn .box h4 span { display: inline-block; width: 160px; padding: 5px 0; background: #407936; background: #407936; border-radius: 50px;
 color: #fff; font-weight: 700;
}
.sct .ctn .box .inner{ width: 100%; height: 100%; padding: 40px 35px 20px; border: solid 2px #407936; border-radius: 20px; background: #fff; text-align: center;}
.sct .ctn .box p { margin-bottom: 8px; font-size: 22px; font-weight: 700;}
.sct .ctn .box ul { display: inline-block; text-align: left;}
.sct .ctn .box ul li { position: relative; padding: 8px 0; padding-left: 30px; font-size: 18px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.4;}
.sct .ctn .box ul li:before { content: ''; display: block; width: 16px; height: 16px; background: #407936; border-radius: 50%;
 position: absolute; left: 0; top: 14px;
}
.sct .ctn .box ul li em.online { color: #1b973a;}
.sct .ctn .box ul li em.offline{ color: #dc097b;}
.sct .ctn .box ul li span { display: block; font-size: 16px;}
.sct .ctn .program { width: 100%; margin: 0 auto 30px; border: solid 2px #407936; border-radius: 20px; background: #fff; overflow: hidden;}
.sct .ctn .program ol li:nth-child(odd) { background: #ecf1ea;}
.sct .ctn .program ol li dl { display: table; width: 100%;}
.sct .ctn .program ol li dl dt,
.sct .ctn .program ol li dl dd { display: table-cell; vertical-align: middle; font-weight: 700;}
.sct .ctn .program ol li dl dt { width: 100px; padding: 8px 0; background: #407936; color: #fff; text-align: center;}
.sct .ctn .program ol li:nth-child(odd)  dl dt { background: #3b7232;}
.sct .ctn .program ol li dl dt em { font-size: 20px;}
.sct .ctn .program ol li dl dd { width: auto; padding: 8px 18px;}
.sct .ctn .program ol li dl dd.tag { width: 150px; border-left: dashed 1px #1b973a;}
.sct .ctn .program ol li dl dd span.tag-on,
.sct .ctn .program ol li dl dd span.tag-off { display: block; margin: 8px auto; padding: 2px 8px; border-radius: 50px; color: #fff; line-height: 1.2; text-align: center;}
.sct .ctn .program ol li dl dd span.tag-on { background: #1b973a;}
.sct .ctn .program ol li dl dd span.tag-off{ background: #dc097b;}
.sct .ctn .box-single { position: relative; width: 100%; max-width: 420px; margin: 0 auto 15px; padding-top: 20px;}
.sct .ctn .box-single h4 { position: absolute; left: 0; top: 0; width: 100%; font-size: 28px; line-height: 1.2; text-align: center;}
.sct .ctn .box-single h4 span { display: inline-block; width: 160px; padding: 5px 0; background: #407936; background: #407936; border-radius: 50px;
 color: #fff; font-weight: 700;
}
.sct .ctn .box-single .inner{ width: 100%; padding: 40px 35px 30px; border: solid 2px #407936; border-radius: 20px; background: #fff; text-align: center;}
.sct .ctn .box-single ul { display: inline-block; margin: 0 auto;}
.sct .ctn .box-single ul li { position: relative; padding: 5px 0; padding-left: 30px; font-size: 22px; font-weight: 700; letter-spacing: 0.05rem;}
.sct .ctn .box-single ul li:before { content: ''; display: block; width: 16px; height: 16px; background: #407936; border-radius: 50%;
 position: absolute; left: 0; top: 16px;
}
.sct .ctn .box-single ul li span { font-size: 20px;}
/*.sct .ctn ul.caution { width: 100%; max-width: 420px; margin: 0 auto;}*/
.sct .ctn ul.caution li  { /*padding-left: 3.4em; text-indent: -3.2em;*/ font-size: 16px; font-weight: 700; text-align: center;}

.sct .ctn .tips { margin-bottom: 20px; padding-bottom: 8px; border-bottom: dashed 2px #f5a20b;}
.sct .ctn .tips h3 { color: #f5a20b; font-size: 36px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.2;}
.sct .ctn p.cost { margin-bottom: 10px; font-size: 20px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.8;}
.sct .ctn p.read3{ margin-bottom: 20px; font-size: 20px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.8;}
.sct .ctn ul.disc3 { margin-bottom: 12px;}
.sct .ctn ul.disc3 li { position: relative; padding: 2px 0; padding-left: 30px; font-size: 18px; font-weight: 700; letter-spacing: 0.05rem;}
.sct .ctn ul.disc3 li:before { content: ''; display: block; width: 16px; height: 16px; background: #f5a20b; border-radius: 50%;
 position: absolute; left: 0; top: 10px;
}
.sct .ctn ul.disc3 li span { display: block; font-size: 16px;}
.sct .ctn ul.note { margin-bottom: 30px;}
.sct .ctn ul.note li { position: relative; padding-left: 20px; font-size: 16px; font-weight: 700; letter-spacing: 0.05rem;}
.sct .ctn ul.note li:before { content: '※'; position: absolute; left: 0; top: 0;}

.sct .ctn .btn { width: 100%; max-width: 430px;}
.sct .ctn .btn.mb { margin-bottom: 60px;}
.sct .ctn .btn.mb2 { margin-bottom: 40px;}
.sct .ctn .btn a { display: block; width: 94%; margin: 0 auto; padding: 12px 0; border-radius: 50px;
 color: #fff; font-size: 22px; font-weight: 700; text-align: center; text-decoration: none;
}
.sct .ctn .btn a.btn1 { background: #0075ba; box-shadow: 0 4px 0 #08649a;}
.sct .ctn .btn a.btn2 { background: #e83418; box-shadow: 0 4px 0 #c62b13;}
.sct .ctn .btn a:hover { opacity: 0.88;}


.sct .ctn ul.faq li { margin-bottom: 20px; }
.sct .ctn ul.faq li:last-child { margin-bottom: 0px;}
.sct .ctn ul.faq li dl { padding: 0 30px; border: solid 2px #c50e28; border-radius: 20px; background: #fff;}
.sct .ctn ul.faq li dl dt { position: relative; padding: 18px 0; padding-left: 50px; padding-right: 30px; font-size: 21px; font-weight: 700; letter-spacing: 0.05rem; cursor: pointer;}
.sct .ctn ul.faq li dl dt span { position: absolute; left: 0; top: 0.06em; color: #c50e28; font-size: 36px;}
.sct .ctn ul.faq li dl dt::after { content: ''; display: block; width: 0px; height: 0px;
 border: solid 9px transparent; border-top: solid 16px #c50e28; border-bottom: 0;
 position: absolute; right: 0px; top: 50%; transform: translateY(-50%);
}
.sct .ctn ul.faq li dl dt.open::after { border: solid 9px transparent; border-bottom: solid 16px #c50e28; border-top: 0;}
.sct .ctn ul.faq li dl dd { display: none; padding: 20px 0 25px; border-top: dashed 2px #c50e28; font-size: 18px; font-weight: 700;}
@media (max-width: 1281px) {
	.sct .inner-sct { padding: 120px 120px 80px;}
	.sct .ttl { width: 100px; }
	.sct .ctn .tit h3 { font-size: 3.5vw;}

	.sct .ctn .box h4 { font-size: 2.2vw;}
	.sct .ctn .box .inner{ padding: 30px 25px 15px;}
	.sct .ctn .box p { font-size: 1.85vw;}

	.sct .ctn .box-single h4 { font-size: 2.2vw;}

	.sct .ctn .tips h3 { font-size: 3.2vw;}
}
@media (max-width: 1001px) {
	.sct .inner-sct { padding: 100px 100px 80px;}
	.sct .ttl { width: 90px; }
	.sct .ctn p.read { /* margin-bottom: 20px; */ font-size: 16px;}
	.sct .ctn p.link { font-size: 16px;}
	.sct .ctn .box { padding-top: 15px;}
	.sct .ctn .box .inner{ padding: 20px 18px 10px;}
	.sct .ctn .box ul li { padding: 4px 0; padding-left: 18px; font-size: 1.72vw;}
	.sct .ctn .box ul li:before { width: 10px; height: 10px; top: 9.5px;}
	.sct .ctn .box ul li span { font-size: 13px;}

	.sct .ctn .program ol li dl dt,
	.sct .ctn .program ol li dl dd { font-size: 15px;}
	.sct .ctn .program ol li dl dt { padding: 6px 0;}
	.sct .ctn .program ol li dl dt em { font-size: 18px;}
	.sct .ctn .program ol li dl dd { padding: 6px 15px;}

	.sct .ctn .box-single { padding-top: 15px;}
	.sct .ctn .box-single h4 span {width: 120px;}
	.sct .ctn .box-single .inner{ padding: 20px 18px;}
	.sct .ctn .box-single ul li { padding: 4px 0; padding-left: 20px; font-size: 18px; }
	.sct .ctn .box-single ul li:before { width: 10px; height: 10px; top: 15px;}
	.sct .ctn .box-single ul li span { font-size: 16px;}
	.sct .ctn ul.caution li  { font-size: 14px;}

	.sct .ctn .tips { margin-bottom: 12px;}
	.sct .ctn p.cost { font-size: 18px;}
	.sct .ctn p.read3{ font-size: 18px;}
	.sct .ctn ul.disc3 li { padding-left: 20px; font-size: 16px;}
	.sct .ctn ul.disc3 li:before { width: 10px; height: 10px; top: 10px;}

	.sct .ctn ul.note li { padding-left: 20px; font-size: 14px;}
	.sct .ctn .btn a { font-size: 20px;}


	.sct .ctn ul.faq li dl { padding: 0 25px;}
	.sct .ctn ul.faq li dl dt { padding: 15px 0; padding-left: 30px; padding-right: 20px; font-size: 18px;}
	.sct .ctn ul.faq li dl dt span { top: 0.26em; font-size: 26px;}
	.sct .ctn ul.faq li dl dt::after { border: solid 6px transparent; border-top: solid 12px #c50e28; border-bottom: 0;}
	.sct .ctn ul.faq li dl dt.open::after { border: solid 6px transparent; border-bottom: solid 12px #c50e28; border-top: 0;}
	.sct .ctn ul.faq li dl dd { padding: 20px 0 25px; font-size: 16px;}
}
@media (max-width: 801px) {
	.sct .inner-sct { padding: 110px 100px 80px;}
	.sct#sct01 .inner-sct { padding-right: 20px;}
	.sct#sct02 .inner-sct { padding-left: 20px;}
	.sct#sct03 .inner-sct { padding-right: 20px;}
	.sct#sct04 .inner-sct { padding-left: 20px;}

	.sct .ctn ul.aside li dl { display: block;}
	.sct .ctn ul.aside li dl dt,
	.sct .ctn ul.aside li dl dd { display: block;}
	.sct .ctn ul.aside li dl dt { width: 100%; margin-bottom: 6px;}
	.sct .ctn ul.aside li dl dd { width: 100%;}

	.sct .ctn .ctn-flex { display: block;}
	.sct .ctn .box { width: 100%;}
	.sct .ctn .box.mb { margin-bottom: 20px;}
	.sct .ctn .box h4 { font-size: 18px;}
	.sct .ctn .box p { font-size: 18px;}
	.sct .ctn .box ul li { padding: 2px 0; padding-left: 18px; font-size: 15px;}
	.sct .ctn .box ul li:before { width: 10px; height: 10px; top: 8px;}
	.sct .ctn .box ul li span { font-size: 13px;}

	.sct .ctn .program ol li dl { display: block; width: 100%;}
	.sct .ctn .program ol li dl dt,
	.sct .ctn .program ol li dl dd { display: block;}
	.sct .ctn .program ol li dl dt { width: 100%; padding: 8px;}
	.sct .ctn .program ol li dl dd { width: 100%; padding: 8px 20px;}
	.sct .ctn .program ol li dl dd.tag { width: 100%; padding-top: 0px; border-left: none;}
	.sct .ctn .program ol li dl dd span.tag-on,
	.sct .ctn .program ol li dl dd span.tag-off { display: inline-block; width: 45%; margin: 0 5px; padding: 5px;}
	
	.sct .ctn .box-single h4 { font-size: 18px;}

}
@media (max-width: 641px) {
	.sct .ctn .tit.tit-1 { margin-bottom: 20px;}
	.sct .ctn .tit.tit-2 { margin-bottom: 30px;}
	.sct .ctn .tit h3 { font-size: 21px;}
	.sct .ctn p.read { /* margin-bottom: 12px; */ font-size: 14px;}
	.sct .ctn ul.aside { padding-top: 10px; }
}
@media (max-width: 481px) {
	.sct .inner-sct { padding: 70px 65px 80px;}
	.sct#sct01 .inner-sct { padding-right: 20px;}
	.sct#sct02 .inner-sct { padding-left: 20px;}
	.sct#sct03 .inner-sct { padding-right: 20px;}
	.sct#sct04 .inner-sct { padding-top: 85px; padding-bottom: 80px; padding-left: 20px;}
	.sct .ttl { width: 55px; }
	.sct .ctn .tit.tit-1 { margin-bottom: 10px;}
	.sct .ctn .tit.tit-2 { margin-bottom: 20px;}
	.sct .ctn .tit h3 { font-size: 23px;}
	.sct .ctn .tit.tit-2 h3{ font-size: 16px;}
	.sct .ctn .tit h3 br.sp { display: block;}
	.sct .ctn .tips { margin-bottom: 8px; padding-bottom: 6px; border-width: 1px;}
	.sct .ctn .tips h3 { font-size: 20px;}
	.sct .ctn p.read { font-size: 13px; font-weight: 400;}
	.sct .ctn p.tc { margin-bottom: 15px; font-size: 15px;}
	.sct .ctn p.link { margin-bottom: 10px; font-size: 12px; font-weight: 400;}

	.sct .ctn ul.aside li dl dt { width: 100%; margin-bottom: 6px;font-size: 13px;}
	.sct .ctn ul.aside li dl dd { font-size: 12px; font-weight: 400;}
	.sct .ctn ul.aside li dl dd.addr span { display: block;}
	.sct .ctn ul.aside li dl dd.member { padding-left: 70px;}

	.sct .ctn .box .inner{ border-width: 1px; border-radius: 12px;}
	.sct .ctn .box h4 { font-size: 16px;}
	.sct .ctn .box h4 span { width: 120px;}
	.sct .ctn .box p { margin-bottom: 5px; font-size: 14px;}
	.sct .ctn .box ul li { font-size: 14px;}
	.sct .ctn .box ul li:before { width: 8px; height: 8px;}
	.sct .ctn .box ul li span { font-size: 12px; font-weight: 400; text-indent: -0.8em;}

	.sct .ctn .program { border-width: 1px; border-radius: 12px;}
	.sct .ctn .program ol li dl dt { padding: 4px;}
	.sct .ctn .program ol li dl dt em { font-size: 16px;}
	.sct .ctn .program ol li dl dd { padding: 8px 12px; font-size: 13px;}
	.sct .ctn .program ol li dl dd span.tag-on,
	.sct .ctn .program ol li dl dd span.tag-off { padding: 3px; font-size: 11px;}

	.sct .ctn .box-single { margin: 0 auto 8px;}
	.sct .ctn .box-single .inner { padding: 15px; border-width: 1px; border-radius: 12px;}
	.sct .ctn .box-single h4 { font-size: 16px;}
	.sct .ctn .box-single h4 span { width: 120px;}
	.sct .ctn ul.caution li  { font-size: 11px; font-weight: 400;}

	.sct .ctn ul.disc3 {/* margin-bottom: 15px;*/}
	.sct .ctn ul.disc3 li { padding-left: 20px; font-size: 14px;}
	.sct .ctn ul.disc3 li:before { width: 8px; height: 8px; top: 10px;}

	.sct .ctn p.cost { font-size: 14px;}
	.sct .ctn ul.note li { font-size: 13px; font-weight: 400;}
	.sct .ctn .btn.mb { margin-bottom: 30px;}
	.sct .ctn .btn a { padding: 10px 0; font-size: 15px;}
	.sct .ctn p.read3{ font-size: 14px; font-weight: 400; line-height: 1.6;}

	.sct .ctn ul.faq li { margin-bottom: 12px;}
	.sct .ctn ul.faq li dl { padding: 0 16px; border-width: 1px; border-radius: 12px;}
	.sct .ctn ul.faq li dl dt { padding: 10px 0; padding-left: 25px; padding-right: 16px; font-size: 14px; line-height: 1.4;}
	.sct .ctn ul.faq li dl dt span { top: 0.26em; font-size: 20px;}
	.sct .ctn ul.faq li dl dt::after { border: solid 5px transparent; border-top: solid 8px #c50e28; border-bottom: 0;}
	.sct .ctn ul.faq li dl dt.open::after { border: solid 5px transparent; border-bottom: solid 8px #c50e28; border-top: 0;}
	.sct .ctn ul.faq li dl dd { padding: 12px 0 15px; border-width: 1px; font-size: 13px; font-weight: 400;}
}


.sct .bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; padding-top: 50px; z-index: 1;}
.sct .bg div { width: calc(100% - 100px); height: 100%;}
.sct .bg.bg-L div { position: relative; margin: 0; border-top-right-radius: 420px; border-bottom-right-radius: 420px;}
.sct .bg.bg-R div { position: relative; margin: 0 0 0 auto; border-top-left-radius: 420px; border-bottom-left-radius: 420px;}
.sct .bg div.bg-1 { background: #ebf1f6;}
.sct .bg div.bg-2 { background: #f0f4ef;}
.sct .bg div.bg-3 { background: #fef8ec;}
.sct .bg div.bg-4 { background: #f0f4ef;}

.sct .bg div:after { content: ''; display: block; width: 320px; position: absolute;}
.sct .bg div.bg-1:after { height: 280px; background: url('../img/illust-1.png') no-repeat 50% 100% / 100% auto; right: 0; bottom: -70px;}
.sct .bg div.bg-2:after { height: 280px; background: url('../img/illust-2.png') no-repeat 50% 100% / 100% auto; left: 0; bottom: -20px;}
.sct .bg div.bg-3:after { height: 250px; background: url('../img/illust-3.png') no-repeat 50% 100% / 100% auto; right: 0; bottom: -60px;}
.sct .bg div.bg-4:after { height: 260px; background: url('../img/illust-4.png') no-repeat 50% 100% / 100% auto; left: -40px; bottom: -50px;}
@media (max-width: 1281px) {
	.sct .bg div { width: calc(100% - 60px);}
	.sct .bg.bg-L div { border-top-right-radius: 300px; border-bottom-right-radius: 300px;}
	.sct .bg.bg-R div { border-top-left-radius: 300px; border-bottom-left-radius: 300px;}
	.sct .bg div:after { width: 240px;}
	.sct .bg div.bg-1:after { height: 210px; bottom: -40px;}
	.sct .bg div.bg-2:after { height: 210px;}
	.sct .bg div.bg-3:after { height: 190px; bottom: -20px;}
	.sct .bg div.bg-4:after { height: 200px; left: -20px; bottom: -30px;}
}
@media (max-width: 1001px) {
	.sct .bg div:after { width: 200px;}
	.sct .bg div.bg-1:after { height: 175px; right: -20px;}
	.sct .bg div.bg-2:after { height: 175px; left: -20px;}
	.sct .bg div.bg-3:after { height: 160px; right: -20px;}
	.sct .bg div.bg-4:after { height: 162px; left: -20px;}
}
@media (max-width: 801px) {
	.sct .bg div { width: 100%;}
	.sct .bg.bg-L div { border-top-right-radius: 0px; border-bottom-right-radius: 0px;}
	.sct .bg.bg-R div { border-top-left-radius: 0px; border-bottom-left-radius: 0px;}
	.sct .bg div.bg-1:after { right: 20px; bottom: -80px;}
	.sct .bg div.bg-2:after { left: 20px; bottom: -80px;}
	.sct .bg div.bg-3:after { right: 20px; bottom: -80px;}
	.sct .bg div.bg-4:after { left: 20px; bottom: -60px;}
}
@media (max-width: 481px) {
	.sct .bg { padding-top: 25px;}
	.sct .bg div:after { width: 160px;}
	.sct .bg div.bg-1:after { height: 140px; right: 12px; bottom: -60px;}
	.sct .bg div.bg-2:after { height: 140px; left: 12px; bottom: -60px;}
	.sct .bg div.bg-3:after { height: 125px; right: 12px; bottom: -60px;}
	.sct .bg div.bg-4:after { height: 130px; left: 12px;}
}

.spacer{ position: relative; width: 100%; max-width: 1400px; margin: 0 auto; z-index: 3;}
.spacer::after { content: ''; display: block; width: 320px; position: absolute;}
.spacer#space1 { height: 170px;}
.spacer#space1::after { height: 340px; background: url('../img/illust-a.png') no-repeat 0% 100% / 100% auto; left: 80px; top: -40px;}
.spacer#space2 { height: 170px;}
.spacer#space2::after { height: 330px; background: url('../img/illust-b.png') no-repeat 100% 100% / 100% auto; right: 100px; top: -50px;}
.spacer#space3 { height: 130px;}
.spacer#space3::after { height: 340px; background: url('../img/illust-c.png') no-repeat 0% 100% / 100% auto; left: 80px; top: -40px;}
.spacer#space4 { height: 130px;}
.spacer#space4::after { content: none;}
@media (max-width: 1281px) {
	.spacer::after { width: 240px;}
	.spacer#space1 { height: 140px;}
	.spacer#space1::after { height: 250px; left: 40px; top: -40px;}
	.spacer#space2 { height: 140px;}
	.spacer#space2::after { height: 250px; right: 40px; top: -50px;}
	.spacer#space3 { height: 100px;}
	.spacer#space3::after { height: 254px; left: 40px; top: -40px;}
	.spacer#space4 { height: 100px;}
}
@media (max-width: 801px) {
	.spacer::after { width: 200px;}
	.spacer#space1 { height: 130px;}
	.spacer#space1::after { height: 210px; top: -30px;}
	.spacer#space2 { height: 100px;}
	.spacer#space2::after { height: 210px; right: 20px;}
	.spacer#space3 { height: 80px;}
	.spacer#space3::after { height: 210px; left: 20px; top: -60px;}
	.spacer#space4 { height: 100px;}
}
@media (max-width: 481px) {
	.spacer::after { width: 150px;}
	.spacer#space1 { height: 100px;}
	.spacer#space1::after { height: 158px; left: 10px; top: -20px;}
	.spacer#space2 { height: 75px;}
	.spacer#space2::after { height: 155px; top: -35px;}
	.spacer#space3 { height: 60px;}
	.spacer#space3::after { height: 160px; top: -50px;}
	.spacer#space4 { height: 80px;}
}



#ft .ft-ctn { display: flex; align-items: center; width: 92%; max-width: 1200px; margin: 0 auto;}
#ft .ft-txt-1 { display: flex; align-items: center; width: 40%;}
#ft .ft-txt-2 { width: 60%; padding-left: 30px; border-left: solid 2px #000;}
#ft .ft-txt-1 .ft-logo { width: 40%;}
#ft .ft-txt-1 .ft-logo a { display: block; width: 94%;}
#ft .ft-txt-1 .ft-logo a img { width: 100%;}
#ft .ft-txt-1 .ft-name { width: 60%;}
#ft .ft-txt-1 .ft-name p { font-size: 18px; font-weight: 700;}
#ft .ft-txt-2 p { font-size: 14px; font-weight: 700;}
#ft .ft-txt-2 p span { display: inline-block;}
#ft .ft-txt-2 p span.addr{ padding-left: 20px;}
#ft .copyright { padding: 20px 0;}
#ft .copyright p { font-size: 12px; text-align: center;}
@media (max-width: 1281px) {
	#ft .ft-txt-1 .ft-name p { font-size: 14px;}
	#ft .ft-txt-2 p { font-size: 13px;}
}
@media (max-width: 1001px) {
	#ft .ft-txt-1 { width: 42%;}
	#ft .ft-txt-2 { width: 58%; padding-left: 20px;}
	#ft .ft-txt-2 p span.addr{ padding-left: 3em;}
}
@media (max-width: 801px) {
	#ft .ft-ctn { display: block; width: 88%; max-width: 420px;}
	#ft .ft-txt-1 { width: 100%; margin: 0 auto 20px;}
	#ft .ft-txt-2 { width: 100%; padding-left: 0px; border-left: none;}
	#ft .ft-txt-1 .ft-logo { width: 35%;}
	#ft .ft-txt-1 .ft-name { width: 65%; padding-left: 15px;}
	#ft .ft-txt-1 .ft-name p { font-size: 15px;}
	#ft .ft-txt-2 p { font-size: 14px;}
}
@media (max-width: 481px) {
	#ft .ft-txt-1 { margin: 0 auto 10px;}
	#ft .ft-txt-1 .ft-name { padding-left: 10px;}
	#ft .ft-txt-1 .ft-name p { font-size: 14px;}
	#ft .ft-txt-2 p { font-size: 12px;}
	#ft .copyright p { font-size: 10px;}
}
