#content { margin-top: 90px; }

/*---------------------------------------------------------------------------
  TITLE
---------------------------------------------------------------------------*/
.sub_tit{
	background: url(../../image/sub/sub_tit-bg.png) no-repeat center;
	height: 285px;
	display: flex;
	align-items: center;
    justify-content: center
}
h2 {
	color:#FFF;
	text-align: center;
	line-height:100%;
	display: flex;
	align-items: center;
	flex-direction: column;
	line-height: 2;
}
h2 b {
	font-size: 312.5%;
	font-weight: 700;
	line-height: 120%;
}

h3 { position: relative; margin-bottom: 5.0em; }
h3::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -30px;
	margin: auto;
	width: 80px;
	height: 2px;
	background: linear-gradient(90deg, #4882EE 0%, #C385DD 100%);
}
h3 b {
	font-size: 312.5%;
	font-weight: 700;
	display: block;
	line-height: 1.4;
}
h3 small {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 87.5%;
	color: #DCDAEF;
	text-transform: uppercase;
}
h2 small {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 87.5%;
	color: #DCDAEF;
	text-transform: uppercase;
}

h4{
    color: #7379C7;
    font-size: 1.65em;
    font-weight: 700;
    margin-bottom: 1.0em;
    line-height: 1.6;
}
h5 {
    color: #7379C7;
    font-size: 1.35em;
    font-weight: 700;
    margin-bottom: 0.5em;
}

/*---------------------------------------------------------------------------
  PAN
---------------------------------------------------------------------------*/

.pan {
	clear:both;
	width: 100%;
	margin: 0 auto 50px;
	padding: 0 30px;
	color: #49565E;
	font-size: 112.5%;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
}
.pan a {color: #49565E; text-decoration:none; }
.pan a:hover { text-decoration: underline; }



/*====================================================================================================

  SUBPAGE

====================================================================================================*/

#subpage { 
	margin: auto; 
	padding: 40px 0 80px; 
    padding-bottom: 125px;
    background-size: contain;
}
#subpage:after { /*float_clear*/ display:block; clear:both; content:"";}

#subpage img{ max-width: 100%; }

#subpage .box_white{
    margin: 120px auto;
    width: 100%;
    padding: 100px;
    position: relative;
    width: 100%;
    max-width: 1550px;
    height: 100%;
    border-radius: 30px;
    background: #fff;
    filter: drop-shadow(0px 0px 20px rgba(23, 94, 137, .12));
}

/*---------------------------------------------------------------------------
  KAIGYOU
---------------------------------------------------------------------------*/

p.indention {
	clear:both;
	margin: 0 2%;
	height:40px;
	text-indent: -9999px;
	background:none;
}

/*---------------------------------------------------------------------------
  FLEX-BOX
---------------------------------------------------------------------------*/
.flex-box{
    display: flex;
    gap: 50px;
    align-items: start;
}
.flex-box .image{ text-align: center;}
.flex-box .image img{ max-width: 100%; }

/** COMMON PART **/
.about .come,
.recruit .come { font-size: 1.125em; font-weight: 500; line-height: 2.0; letter-spacing: .04em; }

.contact_box h3 { margin-bottom: 2.0em; }
.contact_box h3 b { font-size: 2.0em; }



/*** 当講座について *******************************************************************/
.about h3 { margin-bottom: 100px;}
.about .flex-box { margin-bottom: 150px; }
.about .flex-box .image { width: calc( 50% - 50px );}
.about .flex-box .text { width: 50% ;}
.about .name { text-align: right; margin-top: 25px; line-height: 1.5; }
.about .name span { font-size: 112.5%; font-weight: 500; display: block; }
.about .name b { font-size: 200%; display: block; }
.about .name small { font-size: 125%; font-weight: 500; display: block; }
.about .embedded video { width: 100% ; }



/*** KKSについて *******************************************************************/
.kks{}

.kks #jump01{
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}

.kks .come { font-size: 1.125em ; line-height: 2.0; letter-spacing: .04em; margin-bottom: 30px; }
.kks .box + .box { margin-top: 50px; }
.kks .image { text-align: center ; margin-bottom: 100px;}
.kks .image img { display: inline-block !important; max-width: 80% !important; margin: 0 auto !important; }
.kks .flex-box { gap: 50px; }
.kks .flex-box .item{ width: calc( ( 100% - 50px ) / 2 ); }
.kks table{
    border-top: 1px solid #7379C7;
    border-left: 1px solid #7379C7;
    margin: 1.0em 0;
    width: 100%;
    margin: 0 auto;
}
.kks th , .kks td {
    padding: 0.75em;
    text-align: center;
    vertical-align: top;
    border-right: 1px solid #7379C7;
    border-bottom: 1px solid #7379C7;
}
.kks table + table { margin-top: 50px; }

.kks ul.note{
    list-style: none;
    padding-left: 1.25em;
}
.kks ul.note li{
    text-indent: -1.25em;
}

.kks dl{
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border: 1px solid #DCDAEF;
}
.kks dl dd , .kks dl dt { padding: 1.0em; }
.kks dl dd{ width: 350px; }
.kks dl dt{ width: calc( 100% - 350px ); }

.kks dl dd:nth-of-type(odd) , .kks dl dt:nth-of-type(odd) { background: #DCDAEF; }
.kks dl dd:nth-of-type(even) , .kks dl dt:nth-of-type(even) { background: #FBFAF6; }


/*** 高知での研修を考えている皆様へ *******************************************************************/
.recruit { }

.recruit h3{ margin-bottom: 6.0em; }
.recruit .come { line-height: 1.8; }
.recruit .come .b_more{ font-size: 1.125em; min-width: 100%; margin-top: 2.0em}

.recruit .message { margin-bottom: 100px; }
.recruit .message .image{ width: calc( 50% - 50px ); }
.recruit .message .text{ width: 50% ; }

.recruit .feature { margin-bottom: 100px; }
.recruit .feature .box1 {
	display: flex; 
	flex-wrap: wrap; 
	justify-content: center;
    padding: 40px 0;
    gap: 80px;
}
.recruit .feature ul { flex-basis: 326px; position: relative; }
.recruit .feature ul::before {
	font-size: 718.8%;
	font-weight: 700;
	line-height: 90%;
	position: absolute;
	top: -10px;
	left: 40px;
}
.recruit .feature ul:nth-child(1)::before { content: "1"; }
.recruit .feature ul:nth-child(2)::before { content: "2"; }
.recruit .feature ul:nth-child(3)::before { content: "3"; }
.recruit .feature ul li.photo { 
	width: 295px;
	margin: auto;
	background: #fff;
	overflow: hidden;
	border-radius: 150px;
	box-shadow: 0px 0px 20px 0px rgba(23,94,137,0.12);
}
.recruit .feature ul li.photo img { 
	width: 100%; 
	height: 100vh; 
	max-height: 295px; 
	object-fit: cover; 
	object-position: center; 
}
.recruit .feature ul li.cap { 
	font-size: 150%; 
	font-weight: 700;
	color: #7379C7; 
	text-align: center; 
	line-height: 1.6; 
	padding-block: 15px;
}


.recruit .program { margin-bottom: 100px; }
.recruit .program .photo-c { margin-bottom: 55px; }
.recruit .program .flex-box{ flex-direction: row-reverse; }
.recruit .program .image{ width: calc( 45% - 50px ); }
.recruit .program .text{ width: 55% ; }
.recruit .program .flex-box.img-55 .image{ width: calc( 55% - 50px ); }
.recruit .program .flex-box.img-55 .text{ width: 45% ; }
.recruit .program .come { font-size: 93.8%; letter-spacing: 0.05em; line-height: 2; text-align: justify; }
.recruit .program .box1 { margin-block: 50px; }

.recruit .schedule .box1{ margin-bottom: 150px; }
.recruit .schedule .photo-c{ padding: 1.5em 0 4.0em; }
.recruit .schedule .come { font-size: 1.0em; margin-bottom: 2.0em;}
.recruit .schedule .voice { padding: 1.5em 2.0em; border-radius: 25px; background: #DCDAEF;  }
.recruit .schedule .voice + .voice { margin-top: 2.0em; }
.recruit .schedule .voice .image { width: calc( 200px - 50px ); display: none; }
.recruit .schedule .voice .text { width: calc( 100% ) }
.recruit .schedule .voice .text .come { font-size: 1.0em; margin-bottom:0.5em; }
.recruit .schedule .voice .text .name { text-align: right; }

.recruit .schedule .voice .dummy{ font-size: 1.5em; display: block; width: 100%; text-align: center; padding: 0.5em 1.0em; }




/*** アクセス・お問合せ *******************************************************************/
.contact { }

.contact .access h3 { margin-bottom: 100px;}
.contact .access h4 { margin-bottom: 50px; }
.contact .access .flex-box { margin-bottom: 150px; gap:100px}
.contact .access .flex-box .map { width: calc( 100% - 350px - 100px );}
.contact .access .flex-box .text { width: 350px ;}
.contact .access .come { font-size: 1.2em; font-weight: 500; line-height: 2; }

.contact .h4-con { color: #7379C7; font-size: 2.0em; font-weight: 700; }
.contact .tel_add .come { margin-block: 70px 90px; font-size: 1.0em; font-weight: 500; }
.contact .tel_add .column { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap:20px 50px; margin-block: 25px 100px; letter-spacing: 0.03em; }
.contact .tel_add .col2.tel { 
	color: #7379C7; 
	background: url(../image/icon_phone.svg) no-repeat left center;
    padding-left: 50px;
	width: fit-content;
}
.contact .tel_add .col2.op { font-size: 0.9em; font-weight: 500; margin: 2%; }
.contact .tel_add .col2 b { font-size: 3.0em; font-weight: 700; line-height: 1; }
.contact .tel_add .col2 small { font-size: 1.35em; font-weight: 700; }




/*** 見学・お問合せ *******************************************************************/
#subpage.entry { background: url(../image/bg.png) repeat-x center -50%; padding-bottom: 112px; }
.entry .inquiry table { margin-top: 112px; }


/*** Thanksページ *******************************************************************/
.come.thanks{ max-width: 860px; margin: 0 auto 3.0em;}
.come.thanks p + p{ margin-top: 1.0em; }


/*** お知らせ *******************************************************************/
/*一覧*/
.news{}
.news ul { 
	display: flex; 
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	padding-block: 16px;
}
.news ul li.day { color: #98A6B5; width: 110px; }
.news ul li.cat { width: 120px; padding-right: 20px; }
.news ul li.cat span{
    display: block;
	background: #4882EE; 
	color: #fff; 
	font-size: 0.8em;
    text-align: center;
	font-weight: 600;
	border-radius: 12px;
	margin: 0;
	padding: 0.3em 0.75em;
}
.news ul li.tit { width: calc( 100% - 110px - 120px ) ; margin-top: -2px; }
.news ul a {
	text-decoration: none;
	color: #49565E;
	font-size: 112.5%;
	font-weight: 600;
}
.news ul a:hover { text-decoration: underline; }

/*詳細*/
.news-detail{}
.news-detail ul.news-header { 
	display: flex; 
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	padding-block: 16px;
}
.news-detail ul.news-header li.day { color: #98A6B5; width: 110px; }
.news-detail ul.news-header li.cat { width: 120px; padding-right: 20px; }
.news-detail ul.news-header li.cat span{
    display: block;
	background: #4882EE; 
	color: #fff; 
	font-size: 0.8em;
    text-align: center;
	font-weight: 600;
	border-radius: 12px;
	margin: 0;
	padding: 0.3em 0.75em;
}

.news-detail h3::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -20px;
	margin: auto;
	width: 80px;
	height: 2px;
	background: linear-gradient(90deg, #4882EE 0%, #C385DD 100%);
}
.news-detail h3 {
	font-size: 2.5em;
	font-weight: 700;
	display: block;
	line-height: 1.4;
    margin-bottom: 2.0em;
}
.news-text p { margin-bottom: 1.0em; }
.news-text ul{ padding-left: 1.5em;}
.news-text ul li{ list-style-type: disc; }
.news-text ol{ padding-left: 1.25em;}

.news-text table{
    border-top: 1px solid #7379C7;
    border-left: 1px solid #7379C7;
    margin: 1.0em 0;
}
.news-text th,.news-text td {
    padding: 0.75em;
    vertical-align: top;
    border-right: 1px solid #7379C7;
    border-bottom: 1px solid #7379C7;
}


/*** プライバシーポリシー *******************************************************************/
.privacy{}

.privacy .come{ font-weight: bold; }
.privacy .box + .box{ margin-top: 50px; }

.privacy ul{ padding-left: 1.5em;}
.privacy ul li{ list-style-type: disc; }
.privacy ol{ padding-left: 1.25em;}


/*---------------------------------------------------------------------------
  INQUIRY MAIL
---------------------------------------------------------------------------*/
.inquiry {}
.inquiry input[type="text"],
.inquiry input[type="email"],
.inquiry textarea {
	padding: 18px 12px;
	font-size: 112.5%;
	border: 1px solid #A7ABE0;
	border-radius: 6px;
	background: #fff;
	width: 100%;
	color: #535780;
}
.inquiry textarea { width: 100%; height: 338px; }
.inquiry .submit {
	width: 335px;
	height: 81px;
	margin: auto;
	background: linear-gradient(90deg, #4882EE 0%, #C385DD 100%) padding-box,
              linear-gradient(90deg, #4882EE 0%, #C385DD 100%) border-box;
  border-radius: 50em;
  border: 2px solid transparent;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.inquiry .submit::before {
	content: "";
	position: absolute;
	top: 0;
  left: 0;
  z-index: 1;
  width: 120%;
  height: 100%;
  transition: transform .6s;
  overflow: hidden;
  transform-origin: right top;
  transform: scale(0, 1);
  background: #fff;
}
.inquiry input[type="submit"] {
	color: #fff;
	font-size: 150%;
	font-weight: 700;
	font-family: "Zen Maru Gothic", sans-serif;	
	padding-block: 8px 10px;
	background: transparent;
	z-index: 99;
	position: relative;
	border: none;
  margin: auto;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.inquiry .submit:hover {
	background: linear-gradient(transparent, transparent) padding-box,
              linear-gradient(90deg, #4882EE 0%, #C385DD 100%) border-box;
}
.inquiry .submit:hover::before {
	transform-origin: left top;
  transform: scale(1, 1);
}
.inquiry input[type="submit"]:hover { color: #535780; }
.inquiry input::placeholder { font-size: 112.5%; font-weight: 500; color: #535780; }

.inquiry select { 
	width: 100%;
	border: 1px solid #A7ABE0;
	border-radius: 6px;
	padding: 15px 12px 18px;
	font-size: 112.5%;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
	color: #B4B4B4;
	cursor: pointer;
	background: #fff url(../image/arrow_down.png) no-repeat 95% center;
	-webkit-appearance: none;
  -moz-appearance: none;
}

.inquiry table { max-width: 600px; width: 100%; margin:55px auto 20px; }
.inquiry table th, .inquiry table td { display: block; }
.inquiry table th { 
	font-size: 112.5%; 
	font-weight: 500;
	text-align: left; 
	color: #7379C7;
	padding-block: 10px 0;
}
.inquiry table td { padding-block: 10px 40px; }