@charset "utf-8";

*{
 margin:0;padding:0;
 box-sizing:border-box;
}
/*全体のデフォルトmargin,paddingリセット、Width,heightにpaddingとborderを含める*/

body{
font: 16px/1.5 "メイリオ","Meiryo","arial","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
color:#333;
background:#fff;
overflow-y: scroll;
}
/*縦スクロール常に表示*/

a{color:#003399;text-decoration:none;}
/*リンクのカラー青、下線なし*/
a:hover{color:#3399cc;text-decoration:underline;}
/*ホバーしたときのカラー青、下線あり*/
img{border:0;}
/*画像の線なし*/

.container {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	overflow-x: hidden;
}
/*フッター固定のためのcontainer、横スクロール消す*/

/*ヘッダー共通*/
.header_bg{
	height: 6em;
	width: 100%;
	border-bottom: ridge rgba(153,204,255,0.3) 5px;
}
/*ヘッダーの背景色横いっぱい、下線のみ*/

.header_contents {
 height: 100%;
 margin: 0 auto;
 padding: 0 2em;
 max-width: 1100px;
 width: 100%;
 display: flex;
 align-items: center;
 justify-content: space-between;
 font-family: 'Noto Sans JP', sans-serif;
}
/*ブロック要素中央ぞろえ、ヘッダーコンテンツ幅1100まで*/
/*ヘッダー横並び、上下中央、両端ぞろえフォント変更*/

.header_contents img {
 	width:100px;
}

.header_contents h1 {
color: #666;
font-size: 1.2em;
text-align: center;
margin-right: auto;
}
/*会社名*/

/*トップナビ*/
#topnav {
 list-style:none;
 margin: 0;
 display: flex;
 align-items: center;
}
/*点無し、ブロック要素上下中央ぞろえ*/
#topnav li{
	margin: 0 1.2em 0;
	letter-spacing: 0.1em;
}
/*文字間隔少し広げた*/


/*フッター共通*/
.footer_bg{
 width: 100%;
 height: 5em;
 background-color: #f8f8ff;
 border-top: 1px solid #ccc;
}
/*上に線、背景色*/

.footer_contents {
 margin: 0 auto;
 padding: 0.5em 2em 1.5em;
 max-width: 1100px;
 width: 100%;
 height: 100%;
 font-size: 0.8em;
 font-family: 'Noto Sans JP', sans-serif;
 color: #666;
 display: flex;
 align-items: center;
 justify-content: space-between;
}

.foot_nav li{
	list-style: none;
	margin: 0.5em 0.5em 0.5em 0;
	display: inline-block;
}

.copyright {
  margin: 0.5em 0;
  text-align: right;
  font-size: 0.9em;
}

li .fa-solid {
 color: #999;
}
/*フッターのスラッシュ*/

.fa-brands {
	font-size: 1.2em;
	color: #666;
}
/*Xのアイコン*/


/*メイン*/
main {
	margin: 0 auto;
	padding: 0 2em;
	max-width: 1100px;
	width: 100%;
	flex: 1;
}
/*ブロック要素中央ぞろえ、コンテンツ幅1100、フッターを下部に*/

/*topページ*/
.mainimage {
 width: 100vw;
 margin: 0 calc(50% - 50vw);
 height: 320px;
 background-image: url("../images/main.jpg");
 background-position: center;
 background-size: cover;
 background-repeat: no-repeat;
}
/*画像横幅いっぱい、画像位置調整、画像コンテンツ幅、真ん中全体繰り返さない*/

/*メディアクエリ未使用*/
/*@media screen and (max-width: 767px) {
  .mainimage {
    margin: 0;
    width: 100%;
  }
}*/

.image_contents {
 position: relative;
 margin: 0 auto;
 padding: 0 2em;
 max-width: 1100px;
 height: 100%;
}
/*ログインフォーム上に乗せる、幅はコンテンツの幅*/

.aboutnlc {
	position: absolute;
	top: 20%;
	left: 4%;
	width: 450px;
	margin: 0 auto;
	padding: 0.5em 0.5em 0.5em 1em;
  z-index: 1;
  font-weight: bold;
  color: #fff;
  text-shadow: 2px 2px 5px black;
  background-color: rgba(153,204,153,0.6);
}
/*テキスト画像に重ねる、背景色透過、テキストに影*/

.login {
    position: absolute;
    top: 50%;
    left: 83%;
    transform: translate(-50%, -50%);
	  width: 190px;
	  margin: 0 auto;
    z-index: 1;
    box-shadow: 0px 5px 15px 5px rgba(0, 0, 0, 0.35);
}
/* フォームが画像の上に表示されるようにする、 */

.loginhead {
    font-weight: bold;
    background-color: #333399;
    color: #fff;
    text-align: center;
    border-radius: 8px 8px 0px 0px;
    font-size: 0.8em;
}

.logincontent {
	padding: 0.5em 0.5em 0.8em;
	background-color: #fff;
	border-radius: 0px 0px 8px 8px;
}

.loginbtn {
	width: 11em;
	max-width: 100%;
}
/*inputの横幅*/

.logincontent label, input, button{
	display: block;
}
/*全部ブロック要素にして縦並び*/

label {
	margin: 0.4em 0 0;
	text-align: center;
}
input {
	margin: 0.2em auto;
	border:0.1px solid #666;
}
button {
	margin: 1em auto 0;
	padding: 0.5em;
}

/*ここからお知らせ関連*/
#news {
	margin: 1.5em auto;
}

#news h2 {
	font-size: 1.3em;
  margin: 0.5em;
  padding-left: 0.1em;
  color: #666;
  border-left: solid 4px #99ccff;
}

.news_list {
	list-style: none;
	margin: 0;
	padding: 0 1em;
}

.item div{
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid #ccc;
	padding: 1em;
}

.item,.date {
  margin: 0;
  padding-right :3em;
}

/*ここから講座案内*/
#courseinfo {
	margin: 2.5em auto 2em;
}

#courseinfo h2 {
	font-size: 1.3em;
  margin: 0.5em;
  padding-left: 0.1em;
  color: #666;
  border-left: solid 4px #99ccff;
}

#courseinfo h2 span {
	color: #ff9933;
	font-size: 0.65em;
	vertical-align: middle;
	margin-left: 2em;
}
/*文字上下中央*/

.kouza {
	display: flex;
	margin: 0 1em;
	justify-content: space-between;
}
/*ボックス横並び*/

#courseinfo a{color:#ff9933;text-decoration:none;}
/*リンクのカラーオレンジ、下線なし*/
#courseinfo a:hover{color:#ff9933;text-decoration:none;}
/*ホバーしたときのカラーなし、下線なし*/

#courseinfo section {
display: flex;
width: 100%;
flex-direction: column;
padding: 1em;
margin: 0.5em;
position: relative;
}
/*sectionは縦並び、全体をリンクに*/

.click::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: transparent;
}
/*全体をリンクに*/

#courseinfo section:hover{
	background-color: rgba(255,255,153,0.1);
}
/*リンクした時の背景色*/

#courseinfo img {
	width: 100%;
	border: 1px solid #ccc;
  box-shadow: 0 0 2px #666;
}

#courseinfo h3 {
	font-size: 1.2em;
	color: #ff9900;
	border-bottom: #ff9933 dotted 2px;
	margin: 1em 0 0.5em;
	padding-bottom: 0.2em;
	text-align: center;
	text-shadow: 0.02em 0.02em 0.02em rgba(204,204,204,1);
}

#courseinfo section div {
	text-align: center;
	display: block;
}

#courseinfo p {
	text-align: left;
	display: inline-block;
	width: 90%;
	line-height: 1.6;
}

h3 .fa-solid {
	color: #999;
	padding-right: 0.7em;
}
/*講座案内帽子*/


/*TOPページ以外共通*/
.sub article {
	margin: 1em;
}

.sub h2 {
 color: #003366;
 display: inline-block;
 position: relative;
 margin: calc(2em / 2) 0 calc(2em / 4) calc(2em / 2);
}

/*  丸作る用、会社概要紫*/
.sub .company h2::before {
    position: absolute;
    bottom: calc(-0.5em / 4);
    left: calc(-2.5em / 2);
    z-index: -1;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background: rgba(204,153,255,0.6);
    content: '';
  }
  /*  丸作る用、講座案内オレンジ*/
.sub .course h2::before {
    position: absolute;
    bottom: calc(-0.5em / 4);
    left: calc(-2.5em / 2);
    z-index: -1;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background: rgba(255,153,0,0.6);;
    content: '';
  }
/*  丸作る用、利用環境緑*/
.sub .env h2::before {
    position: absolute;
    bottom: calc(-0.5em / 4);
    left: calc(-2.5em / 2);
    z-index: -1;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background: rgba(153,255,204,0.6);
    content: '';
  }
/*丸作る用、お問合せ青*/
.sub .contact h2::before {
    position: absolute;
    bottom: calc(-0.5em / 4);
    left: calc(-2.5em / 2);
    z-index: -1;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background: rgba(153,204,255,0.6);
    content: '';
  }
/*丸作る用、利用規約黄緑*/
.sub .caution h2::before {
    position: absolute;
    bottom: calc(-0.5em / 4);
    left: calc(-2.5em / 2);
    z-index: -1;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background: rgba(204,255,153,0.6);
    content: '';
  }

.contact p,.env p{
	margin: 1.5em;
}

/*topに戻るボタン*/
a.pagetop {
  color: #333;
  position: fixed;
  bottom: 24px;
  right: 80px;
  text-decoration: none;
  display: block;
  width: 100px;
  padding: 16px 20px;
  text-align: right;
  transform: rotate(90deg);
  transform-origin: bottom right;
}

.arrow1 {
width: 48px;
height: 1px;
background: #333;
position: absolute;
top: 50%;
right: 62px;
}

.arrow2 {
width: 1px;
height: 12px;
background: #333;
position: absolute;
top: calc(50% + 1px);
right: 109px;
transform: rotate(-130deg);
transform-origin: top left;
}
/*topに戻るボタンここまで*/


/*テーブル共通*/
th {
	border-bottom: 1px solid #CCC;
	border-right: 1px solid #CCC;
	background-color: #CCC;
	text-align: center;
}

td.title {
	border-bottom:1px solid #CCC;
	border-right:1px solid #CCC;
	background-color:#EEE;
	text-align:center;
	padding:0.5em;
}

td.body {
	border-bottom:1px solid #CCC;
	border-right:1px solid #CCC;
	background-color:#FEFEFE;
	padding:0.5em;
}


/*会社概要*/
table.company {
	margin: 1.5em;
}
table.company td.title {
  width: 15%
}
td.body_c {
	border-bottom:1px solid #CCC;
	border-right:1px solid #CCC;
	border-top:1px solid #CCC;
	background-color:#FEFEFE;
	padding:0.5em;
}
td li {
	margin-left: 1.7em;
}


/*講座案内*/
table.anker {
	margin: 1.5em;
}
table.anker td {
	padding: 0 2.5em 1em 0;
}

.anker .fa-solid {
	padding-right: 0.4em;
	color: #999;
}
/*下矢印*/

.course a{color:#333;text-decoration:none;}
/*リンクのカラー黒、下線なし*/
.course a:hover{color:#333;text-decoration:none;}
/*ホバーしたときのカラーなし、下線なし*/

.course section {
	border-top: solid 1px #ccc;
	padding: 1em;
}

section h3.space {
	display: block;
    padding-top: 60px;
    margin-top: -60px;
}
/*リンクの時に余裕を持たせる*/

.course h3 .fa-solid {
	color: rgba(255,153,0,0.8);
}
/*帽子の色オレンジ*/

.course .kouza {
	margin: 0.5em;
}

.course .kouza img{
	width: 35%;
	border: 1px solid #ccc;
  box-shadow: 0 0 2px #666;
  margin: 1em 0;
}

.explanation {
	margin: 1.2em 0 1.2em 2em;
}

.course h4 {
	margin-bottom: 1em;
}

.kadai {
	margin-top: 0.5em;
}


/*利用環境*/
table.env {
	margin: 1.5em;
	table-layout: fixed;
	width: 70%;
}
table.env th:first-child {
  width: 25%
}


/*利用規約*/
.caution div {
	margin: 1.5em 1.5em 3em;
}

.caution section {
	margin: 1em auto;
}

.caution h3 {
	padding: 1em 0;
}

.caution p {
	line-height: 1.7em;
}

.caution ul {
	margin:0;
	padding:0;
}

.caution section li {
	margin-left: 1.7em;
	line-height: 1.7em;
	padding-bottom: 0;
}

p.link{
	margin-top: 1em;
	margin-bottom: 1em;
}
