@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
*,
::before,
::after { box-sizing: border-box;}

html { line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent;}
body { margin: 0;}
main { display: block;}
p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0;}
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0;}
ul, ol { margin: 0; padding: 0; list-style: none;}
dd { margin-left: 0;}
hr { box-sizing: content-box; height: 0; overflow: visible; border-top-width: 1px; margin: 0; clear: both; color: inherit;}
pre { font-family: monospace, monospace; font-size: inherit;}
address { font-style: inherit;}
a { background-color: transparent; text-decoration: none; color: inherit;}
abbr[title] { text-decoration: underline dotted;}
code, kbd, samp { font-family: monospace, monospace; font-size: inherit;}
small { font-size: 80%;}
sub,
sup { line-height: 0; position: relative; vertical-align: baseline;}

svg, img, embed, object, iframe { vertical-align: bottom;}

/* Forms */
/* ============================================ */
button, input, optgroup, select, textarea { background: transparent; padding: 0; margin: 0; border-radius: 0;
 color: inherit; font: inherit; text-align: inherit; text-transform: inherit; vertical-align: middle;
}
button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer;}
button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled { cursor: default;}
:-moz-focusring { outline: auto;}
select:disabled { opacity: inherit;}
option { padding: 0;}
fieldset { margin: 0; padding: 0; min-width: 0;}
legend { padding: 0;}

progress { vertical-align: baseline;}
textarea { overflow: auto;}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button { height: auto;}
[type="search"] { outline-offset: -2px;}
[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

::-webkit-file-upload-button { -webkit-appearance: button; font: inherit;}
[type="number"] { -moz-appearance: textfield;}
label[for] { cursor: pointer;}
details { display: block;}
summary { display: list-item;}
[contenteditable]:focus { outline: auto;}

table { border-color: inherit; border-collapse: collapse;}
td,
th { vertical-align: top; padding: 0;}


/*	Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus { outline: none;}
.slick-list.dragging{ cursor: pointer; cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{
-webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
.slick-track { position: relative; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;}
[dir='rtl'] .slick-slide { float: right;}
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none;}
.slick-slide.dragging img { pointer-events: none;}
.slick-initialized .slick-slide { display: block; outline: none;}
.slick-loading .slick-slide { visibility: hidden;}
.slick-vertical .slick-slide{ display: block; height: auto;}
.slick-arrow.slick-hidden { display: none;}

/** Dots */
.slick-dotted.slick-slider{}
.slick-dots { position: absolute; display: block; width: 100%; padding: 0; margin: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 60px; height: 20px; margin: 0px; padding: 0px; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; margin: 0 auto; cursor: pointer;
 color: transparent; border: 0; outline: none;
}

@media (max-width: 481px) {
	.slick-arrow{ width: 32px; height: 32px;}
	.slick-arrow:before{ width: 12px; height: 12px; border-width: 1px;}
	.slick-dots li { width: 30px; height: 12px;}
}



html{
  height: -webkit-fill-available;
}
body{
  min-height: 100vh;
  min-height: -webkit-fill-available;
}


/*		font-style
-------------------------------------------------- */
body { width: 100%;
	color: #191919;
	font-family: "Noto Sans JP","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
/*	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;*/
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.fixed { position: fixed;}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.min { font-family: "Shippori Mincho", "Hiragino Mincho ProN","ヒラギノ明朝 Pro", "游明朝", "Yu Mincho", "YuMincho", serif;}
.eng { font-family: "Jost", sans-serif;}

::selection{ background: #feffaf; color: #000;}
::-moz-selection{ background: #feffaf; color: #000;}


a { color: #191919; text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}
a:link   { color: #191919;}
a:visited{ color: #191919;}
a:hover  { color: #191919;}
a:active { color: #191919;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}

@media (max-width: 641px) {
}
@media (max-width: 481px) {
}



#hd { position: absolute; left: 0; top: 0; width: 100%; background: #fff;}
#hd .inner-hd { width: 94%; margin: 0 auto; padding: 20px 0;}
#hd .hd-ctn { display: flex; justify-content: space-between; align-items: center; width: 100%;}
#hd .hd-logo { width: 45%; max-width: 440px;}
#hd .hd-logo h1 { font-size: 0; line-height: 1;}
#hd .hd-logo h1 span,
#hd .hd-logo h1 a { display: block; width: 100%; max-width: 400px;}
#hd .hd-logo h1 span img,
#hd .hd-logo h1 a img { width: 100%;}
#hd .hd-nav { position: relative; width: 55%; padding-right: 200px;}
#hd .hd-nav ul { font-size: 0; text-align: right;}
#hd .hd-nav ul li { display: inline-block; padding: 8px 10px; font-size: 18px; font-weight: 700;}
#hd .hd-nav ul li a { letter-spacing: 0.075rem; text-decoration: none;}
#hd .hd-nav ul li a:hover { text-decoration: underline;}
#hd .hd-contact { position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 180px;}
#hd .hd-contact a { display: block; width: 100%; padding: 10px 0; background: linear-gradient(#f84a5d,#fd6173);
 color: #fff; font-size: 16px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1; text-align: center; text-decoration: none;
}
#hd .hd-contact a:hover { opacity: 0.8;}
@media (max-width: 801px) {
	#hd .inner-hd { padding: 15px 0;}
	#hd .hd-nav { padding-right: 160px;}
	#hd .hd-nav ul li { font-size: 16px;}
	#hd .hd-contact { width: 150px;}
	#hd .hd-contact a { padding: 6px 0; font-size: 14px;}
}
@media (max-width: 641px) {
	#hd .hd-logo { width: 50%;}
	#hd .hd-nav { width: 50%;}
	#hd .hd-nav ul { display: none;}
}
@media (max-width: 481px) {
	#hd .hd-contact { width: 140px;}
	#hd .hd-contact a { padding: 6px 0; font-size: 12px;}
}



#ft .copyright { padding: 20px 0;}
#ft .copyright p { font-size: 14px; text-align: center;}
@media (max-width: 481px) {
	#ft .copyright p { font-size: 10px;}
}

#kv {}
#kv .inner-kv { padding: 270px 0 220px; background: url('./img/kv.jpg') no-repeat 50% 50% / cover;}
#kv h1 { text-align: center;}
#kv h1 img { width: 80%; max-width: 780px;}
@media (max-width: 481px) {
	#kv .inner-kv { padding: 150px 0 120px;}
}

.ttl { text-align: center;}
.ttl h2 { font-size: clamp(24px,3.2vw,32px); font-weight: 700; line-height: 1.4;}
.ttl h2 span { display: inline-block; padding: 10px 20px; background: #83adcd; color: #fff; letter-spacing: 0.05rem;}
.ttl h2:after { content: ''; display: block; width: 0px; height: 0px; margin: 0 auto;
 border: solid 12px transparent; border-top: solid 18px #83adcd; border-bottom: 0px;
}
@media (max-width: 481px) {
	.ttl h2 { font-size: 18px;}
	.ttl h2 span { padding: 6px 12px;}
	.ttl h2:after { border: solid 9px transparent; border-top: solid 15px #83adcd; border-bottom: 0px;}
}


.guide {}
.guide .inner-sct { padding: 80px 0;}
.guide .ttl { margin-bottom: 20px;}
.guide .ctn { width: 88%; max-width: 1040px; margin: 0 auto;}
.guide .ctn h3 { margin-bottom: 40px; font-size: 20px; font-weight: 700; letter-spacing: 0.075rem; line-height: 1.8; text-align: center;}
.guide .read-1 { margin-bottom: 60px;}
.guide .read-1 p { font-size: 17px; font-weight: 700; letter-spacing: 0.075rem; line-height: 1.8;}
.guide .read-1 p span.marker { background: linear-gradient(transparent 50%, #fcdc88 50%)}

.guide .read-2 {}
.guide .read-2 p { font-size: 22px; font-weight: 700; letter-spacing: 0.075rem; line-height: 1.8; text-align: center;}
.guide .read-2 p span.marker { background: linear-gradient(transparent 55%, #fcdc88 55%)}
.guide .read-2 p br.sp { display: none;}

.guide .flex { display: flex; justify-content: space-between; width: 100%; margin-bottom: 30px;}
.guide .flex .box { width: 23.5%;}
.guide .flex .box dl { height: 100%; padding: 5px; background: #83adcd; }
.guide .flex .box dl dt img { width: 100%;}
.guide .flex .box dl dd.tit { padding: 20px 0; color: #fff; font-size: clamp(18px,2.1vw,21px); font-weight: 700; text-align: center;}
.guide .flex .box dl dd.txt { padding: 0 20px 10px; color: #fff; font-size: 17px; font-weight: 700;}

@media (max-width: 1001px) {
	.guide .ctn h3 span { display: block;}
}
@media (max-width: 801px) {
	.guide .ctn h3 { margin-bottom: 30px; font-size: 2.5vw;}
	.guide .read-2 p { font-size: 2.6vw;}
	.guide .flex { flex-wrap: wrap; gap: 8px;}
	.guide .flex .box { width: calc( 50% - 4px);}
	.guide .flex .box dl dd.tit { padding: 15px 0 10px;}
}
@media (max-width: 641px) {
	.guide .read-1 p { font-size: 15px;}
}
@media (max-width: 481px) {
	.guide .inner-sct { padding: 40px 0;}
	.guide .ttl { margin-bottom: 8px;}
	.guide .ctn h3 { margin-bottom: 15px; font-size: 13px; letter-spacing: 0.02rem;}
	.guide .read-1 p { font-size: 12px; letter-spacing: 0.05rem;}
	.guide .read-2 p { font-size: 13px; letter-spacing: 0.05rem;}
	.guide .read-2 p br.sp { display: block;}
	
	.guide .flex .box dl { padding: 3px;}
	.guide .flex .box dl dd.tit { padding: 12px 0 6px; font-size: 15px;}
	.guide .flex .box dl dd.txt { padding: 0 12px 8px; font-size: 12px;}
}



.overview { background: #eee;}
.overview .inner-sct { padding: 80px 0;}
.overview .ttl { margin-bottom: 30px;}
.overview .ctn { width: 88%; max-width: 950px; margin: 0 auto;}
.overview .ctn ul li { margin-bottom: 10px;}
.overview .ctn ul li:last-child { margin-bottom: 0px;}
.overview .ctn ul li dl { display: table; width: 100%; background: #fff;}
.overview .ctn ul li dl dt,
.overview .ctn ul li dl dd { display: table-cell; }
.overview .ctn ul li dl dt { width: 120px; padding: 18px 0; background: #83adcd; color: #fff; font-size: 22px; font-weight: 700; text-align: center;}
.overview .ctn ul li dl dd { width: auto; padding: 20px 30px; font-size: 19px; font-weight: 700;}
.overview .ctn ul li dl dd span.note { position: relative; display: block; margin-top: 8px; padding-left: 1.4em; font-size: 16px; font-weight: 500;}
.overview .ctn ul li dl dd span.note:before { content: '※'; position: absolute; left: 0;}
@media (max-width: 801px) {
	.overview .ttl { margin-bottom: 20px;}
	.overview .ctn ul li dl dt { padding: 15px 0px; font-size: 18px;}
	.overview .ctn ul li dl dd { padding: 18px 20px; font-size: 16px;}
	.overview .ctn ul li dl dd span.note { font-size: 14px;}
}
@media (max-width: 641px) {
}
@media (max-width: 481px) {
	.overview .inner-sct { padding: 40px 0 50px;}
	.overview .ttl { margin-bottom: 12px;}
	.overview .ctn ul li { margin-bottom: 6px;}
	.overview .ctn ul li dl dt { width: 80px; padding: 10px 0px; font-size: 13px;}
	.overview .ctn ul li dl dd { padding: 12px 15px; font-size: 12px;}
	.overview .ctn ul li dl dd span.note { margin-top: 4px; font-size: 10px;}
}


.course .inner-sct { padding: 80px 0;}
.course .ttl { margin-bottom: 20px;}
.course .schedule { width: 100%; max-width: 730px; margin: 0 auto 20px;}
.course .schedule ul { font-size: 0; text-align: center;}
.course .schedule ul li { display: inline-block; padding: 8px; font-size: clamp(20px,2.4vw,24px); vertical-align: middle;}
.course .schedule ul li a { display: block; padding: 4px 20px;; border: solid 2px #83adcd; color: #83adcd; font-weight: 700; text-decoration: none;}
.course .schedule ul li a:hover { background: #83adcd; color: #fff;}
.course .bloc { padding: 18px 0;}
.course .bloc.mb { margin-bottom: 50px;}
.course .box { width: 88%; max-width: 950px; margin: 0 auto; background: #eee;}
.course .box .tit { position: relative; padding: 30px; padding-left: 40px;
 background: linear-gradient(90deg,#83adcd,#5fe1e2);
}
.course .box .tit .day { width: 96px; position: relative;}
.course .box .tit .day img { width: 100%; border-radius: 50%;}
.course .box .tit h3 { position: absolute; left: 0; top: 50%; transform: translateY(-50%);
 width: 100%; padding-left: 160px; padding-right: 20px;
 color: #fff; font-size: clamp(20px,2.8vw,28px); font-weight: 700; letter-spacing: 0.05rem; line-height: 1.4;}
.course .box .tit h3 br.sp { display: none;}
.course .box .flex { display: flex; justify-content: space-between;}
.course .box .flex .prof { width: 27%; padding: 40px 0; padding-left: 50px;}
.course .box .flex .txt { width: 72%; padding: 20px 40px;}

.course .box .flex .prof figure { margin-bottom: 20px; text-align: center;}
.course .box .flex .prof figure img { width: 100%; max-width: 170px;}
.course .box .flex .prof dl dt { margin-bottom: 10px; font-weight: 700; line-height: 1.2; text-align: center;}
.course .box .flex .prof dl dt span { display: inline-block; vertical-align: middle;}
.course .box .flex .prof dl dt span.type { margin-right: 10px; padding: 2px 10px; background: #83adcd; color: #fff; font-size: 15px;}
.course .box .flex .prof dl dt span.name { font-size: 20px;}
.course .box .flex .prof dl dt em { display: inline-block; font-size: 16px; vertical-align: bottom;}
.course .box .flex .prof dl dd { width: 100%; max-width: 162px; margin: 0 auto; font-size: 15px; font-weight: 700; text-align: justify;}
.course .box .flex .txt ul li { padding: 20px 0; border-bottom: solid 1px #fff;}
.course .box .flex .txt ul li:last-child { border-bottom: none;}
.course .box .flex .txt ul li dl dt { margin-bottom: 10px; font-size: 18px; font-weight: 700; line-height: 1.2;}
.course .box .flex .txt ul li dl dt span { display: inline-block; padding: 2px 10px; background: #83adcd; color: #fff;}
.course .box .flex .txt ul li dl dd { font-size: 17px; font-weight: 600; letter-spacing: 0.075rem; line-height: 1.8;}

.course .note { text-align: center;}
.course .note ul { display: inline-block; text-align: left; }
.course .note ul li { position: relative; padding-left: 1.4em; font-size: 17px; letter-spacing: 0.075rem; line-height: 1.4;}
.course .note ul li:before { content: '※'; position: absolute; left: 0;}
.course .note ul li br { display: none;}
@media (max-width: 1001px) {
	.course .box .flex .prof{ width: 26%; padding: 30px 0; padding-left: 30px;}
	.course .box .flex .txt { width: 74%; padding: 18px 30px;}

	.course .box .flex .prof dl dt span.type { font-size: 14px;}
	.course .box .flex .prof dl dt span.name { font-size: 16px;}
	.course .box .flex .prof dl dt em { font-size: 14px;}
	.course .box .flex .prof dl dd { font-size: 14px;}

	.course .box .flex .txt ul li { padding: 12px 0;}
	.course .note ul li { font-size: 14px;}
}
@media (max-width: 801px) {
	.course .box .tit {}
	
	.course .box .flex .prof dl dt span.type { margin-right: 6px; padding: 0 5px; font-size: 12px;}
	.course .box .flex .prof dl dt span.name { font-size: 13px;}
	.course .box .flex .prof dl dt em { font-size: 12px;}
	.course .box .flex .prof dl dd { font-size: 12px;}

	.course .box .flex .txt ul li dl dt { margin-bottom: 6px; font-size: 16px;}
	.course .box .flex .txt ul li dl dd { font-size: 16px;}
}
@media (max-width: 641px) {
	.course .box .tit { position: relative; padding: 20px; padding-left: 30px;}
	.course .box .tit h3 { padding-left: 150px;}
	.course .box .tit h3 br.pc { display: none;}
	.course .box .flex { display: block;}
	.course .box .flex .prof { width: 100%; display: flex; justify-content: space-between; padding: 18px 30px 0px;}
	.course .box .flex .prof figure { margin-bottom: 0px; width: 30%; text-align: center;}
	.course .box .flex .prof dl { width: 65%;}
	.course .box .flex .prof dl dt { margin-bottom: 8px; text-align: left;}
	.course .box .flex .prof dl dt span.type { margin-right: 10px; padding: 2px 8px; font-size: 13px;}
	.course .box .flex .prof dl dt span.name { font-size: 16px;}
	.course .box .flex .prof dl dt em { font-size: 13px;}
	.course .box .flex .prof dl dd { max-width: 100%; font-size: 13px;}

	.course .box .flex .txt { width: 100%; padding: 0px 30px 20px;}
	.course .box .flex .txt ul li { padding: 18px 0;}
}
@media (max-width: 481px) {
	.course .inner-sct { padding: 40px 0;}
	.course .ttl { margin-bottom: 8px;}
	.course .schedule { margin-bottom: 10px; padding: 0 20px;}
	.course .schedule ul li { width: 25%; padding: 4px; font-size: 14px;}
	.course .schedule ul li a { border-width: 1px;}
	
	.course .bloc { padding: 12px 0;}
	.course .bloc.mb { margin-bottom: 20px;}
	.course .box .tit { padding: 8px 15px;}

	.course .box .tit .day { width: 60px;}
	.course .box .tit h3 { padding-left: 90px; font-size: 16px;}
	.course .box .tit h3 br.sp { display: block;}

	.course .box .flex .prof { padding: 15px 25px 0px;}
	.course .box .flex .prof dl dd { font-size: 12px;}
		
	.course .box .flex .txt { padding: 0px 25px 12px;}
	.course .box .flex .txt ul li dl dt { margin-bottom: 6px; font-size: 12px;}
	.course .box .flex .txt ul li dl dd { font-size: 12px; line-height: 1.65;}
	.course .note ul li { font-size: 12px;}
	.course .note ul li br { display: block}
}


.entry { background: #eee;}
.entry .inner-sct { padding: 80px 0;}
.entry .ttl { margin-bottom: 30px;}
.entry .box { width: 88%; max-width: 950px; margin: 0 auto 25px; padding: 40px 50px; background: #fff;}
.entry .box.mb { margin-bottom: 40px;}
.entry .box h3 { margin-bottom: 10px; color: #fff; font-size: 18px; font-weight: 700;}
.entry .box h3 span { padding: 4px 10px; background: #83adcd;}
.entry .box p { font-size: 17px; letter-spacing: 0.05rem;}
.entry .btn { width: 60%; max-width: 380px; margin: 0 auto; }
.entry .btn a { display: block; padding: 18px 0; background: linear-gradient(#f84a5d,#fd6173);
 color: #fff; font-size: clamp(20px,2.8vw,28px); font-weight: 700; line-height: 1; text-align: center; text-decoration: none;
}
.entry .btn a:hover { opacity: 0.8;}

@media (max-width: 801px) {
	.entry .box h3 { margin-bottom: 8px; font-size: 16px;}
	.entry .box p { font-size: 14px;}
}
@media (max-width: 481px) {
	.entry .inner-sct { padding: 40px 0 50px;}
	.entry .ttl { margin-bottom: 12px;}
	.entry .box { margin-bottom: 16px; padding: 18px 24px;}
	.entry .box.mb { margin-bottom: 30px;}
	.entry .box h3 { font-size: 14px;}
	.entry .box p { font-size: 12px;}
	.entry .btn a { padding: 12px 0; font-size: 16px;}
}



