@charset "UTF-8";

@import url(https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap);
/* ウェブフォント
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import 'https://fonts.googleapis.com/css?family=Roboto';
.noto { font-family : 'Noto Sans Japanese', sans-serif; }
.notojp { font-family: 'Noto Sans JP', sans-serif; }
.roboto { font-family: 'Roboto', sans-serif; }
*/

/* ===================================================================
CSS information

 File Name  : common.css
 Style Info : 見出し、ボタン、表など繰り返し使うパーツのスタイルを定義
=================================================================== */

html {
  overflow-y: scroll;
  line-height: 1;
  font-size: 62.5%;
}
body {
  background: #F2F2F2;
  color: #000;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight:500;
  font-feature-settings: "palt";
  font-size: 16px;
  font-size: 1.6rem;
  word-break: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
}
  @media screen and (max-width: 767px) {
    body {
      font-size: 3.73vw;
    }
  }

/*----------------------------------------------------
  link要素
--------------------------------------------------- */
a {
  transition: all 0.2s ease-in-out 0s;
}
a:link {
  color: #6B6BC4;
}
a:visited {
  color: #6B6BC4;
}
a:hover {
  text-decoration: none;
  color: #6B6BC4;
}
a:active {
  color: #6B6BC4;
}
:focus-ring {
  outline: dotted 1px #F6AB00;
}
:-moz-focusring {
  outline: dotted 1px #F6AB00;
}
/*@media screen and (-webkit-min-device-pixel-ratio:0) {
  a:focus {
    outline: dotted 1px #F6AB00;
  }
}*/

/*----------------------------------------------------
  img要素
--------------------------------------------------- */
img {
  line-height: 1;
  /*font-size: 0;*/
  vertical-align: top;
  height: auto;
  max-width: 100%;
  transition: all 0.2s ease-in-out 0s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*----------------------------------------------------
  見出し要素
--------------------------------------------------- */
h1,h2,h3,h4,h5,h6 {
  line-height: 1.5;
}

/*----------------------------------------------------
  form要素
--------------------------------------------------- */
input, textarea {
  padding: 5px 7px;
  border-radius: 2px;
  margin: 0;
  background-color: #fff;
  border: 1px solid #A7A6AA;
}
input[type="text"],
textarea {
  outline: none;
  border: 1px solid #aaa;
  transition: all .3s;
  -webkit-transition: all .3s;
  -ms-transition:none;
}
input[type="text"]:focus,
textarea:focus {
  box-shadow: 0 0 7px #52a8ec;
  border: 1px solid #52a8ec;
}

/*----------------------------------------------------
 フォントファミリー
--------------------------------------------------- */
.mincho {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Hiragino Mincho ProN W3", 'Noto Serif JP', serif;
}

/*----------------------------------------------------
  スクロールバー
--------------------------------------------------- */

/*スクロールバー全体*/
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

/*スクロールバーの軌道*/
::-webkit-scrollbar-track {
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
}

/*スクロールバーの動く部分*/
::-webkit-scrollbar-thumb {
  background-color: rgba(0,0,0,0.5);
  border-radius: 10px;
  box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
}
  @media screen and (max-width: 767px) {
    ::-webkit-scrollbar {
        width: 5px;
    }
    ::-webkit-scrollbar-track {
      border-radius: 10px;
      box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
    }
    ::-webkit-scrollbar-thumb {
      background-color: rgba(0,0,0,0.5);
      border-radius: 10px;
      box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
    }
  }

/*----------------------------------------------------
 共通カラム
--------------------------------------------------- */
#page {
  min-width: 1000px;
  overflow:hidden;
  margin: 0 auto;
}
#contents {
  line-height: 1.8;
}
#contents a:hover img{
  opacity: 0.70;
}
.wrapper {
  position: relative;
  width: 980px;
  margin-left: auto;
  margin-right: auto;
}
.inner {
  position: relative;
  width: 760px;
  margin-left: auto;
  margin-right: auto;
}
  @media screen and (max-width: 767px) {
    html, body, #page {
      min-width:100%!important;
      max-width:100%!important;
      width:100%!important;
    }
    #contents {
    }
    .wrapper {
      width:100%;
    }
    .inner {
      width:100%;
      padding: 0 4vw;
    }
  }

/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/
#header {
  padding: 50px 0 15px;
}
#header .logo {
  display:inline-block;
}
  @media screen and (max-width: 767px) {
    #header {
      padding: 3.73vw 0 5.33vw;
    }
    #header .logo img {
      width: 29vw;
      height: auto;
    }
  }

/*----------------------------------------------------
	フッター
----------------------------------------------------*/
#footer {
  font-size: 1.2rem;
  line-height: 1.4;
  text-align: center;
  padding: 50px 0 30px
}
#footer p {
  margin-bottom: 30px;
  line-height: 1.7;
}
.copyright {
  font-size: 1.2rem;
}
  @media screen and (max-width: 767px) {
    #footer {
      font-size: 2.66vw;
      padding: 15.33vw 0 18vw;
    }
    #footer p {
      margin-bottom: 6.66vw;
    }
    .copyright {
      font-size: 2.66vw;
    }
  }

/*----------------------------------------------------
  共通タイトル
--------------------------------------------------- */
.page_ttl {
  position: relative;
  margin-bottom: 26px;
}
.page_ttl small {
  position: absolute;
  left: 10px;;
  top: -30px;
  font-size: 1.6rem;
}
.page_ttl span {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  letter-spacing: 0.3rem;
  border-radius: 20px;
  padding: 3px;
}
  @media screen and (max-width: 767px) {
    .page_ttl {
      margin-bottom: 6.66vw;
    }
    .page_ttl small {
      display: block;
      text-align: center;
      position: static;
      font-size: 5.86vw;
      margin-bottom: 5.33vw;
    }
    .page_ttl span {
      font-size: 4.8vw;
      letter-spacing: 0.8vw;
      border-radius: 5vw;
      padding: 1vw;
    }
  }

#science .page_ttl span {
  background: linear-gradient(60deg, #6b6bc4 0%, #a6a6d3 100%);
}
#social_studies .page_ttl span {
  background: linear-gradient(60deg, #4fa74f 0%, #76cc76 100%);
}

p.week {
  margin-right: 1rem;
}

/*----------------------------------------------------
  共通ボタン
--------------------------------------------------- */
.logout_btn a {
  display: inline-block;
  border-radius: 18px;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 5px 30px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(60deg, #656565 0%, #aeaeaf 100%);
}
.logout_btn a:hover {
  opacity: 0.7;
}
.logout_up {
  margin-bottom: 20px;
}
.logout_low {
  padding: 28px 0;
}
  @media screen and (max-width: 767px) {
    .logout_up {
      display: none!important;
    }
    .logout_low {
      position: fixed;
      width: 100%;
      bottom: 2vw;
      left: 0;
      z-index: 100;
      padding: 0 2vw;
      -webkit-flex-direction: row-reverse;
      -moz-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
      -o-flex-direction: row-reverse;
      flex-direction: row-reverse;
    }
    .logout_low .logout_btn {
      display: block;
      width: 49%;
    }
    .logout_low .logout_btn a {
      display: block;
      text-align: center;
      padding: 0;
      line-height: 8.53vw;
      font-size: 3.2vw;
      border-radius: 5vw;
    }
    .logout_low .login_btn {
      display: block;
      width: 49%;
    }
    .logout_low .login_btn a {
      display: block;
      text-align: center;
      padding: 0;
      line-height: 8.53vw;
      font-size: 3.2vw;
      border-radius: 5vw;
      font-weight: 600;
      text-decoration: none;
      color: #fff;
      background: linear-gradient(60deg, #4fa74f 0%, #76cc76 100%);
    }
    .logout_low .login_btn a:hover {
      opacity: 0.7;
    }
  }

#social_studies .logout_low .login_btn a {
  color: #4FA74F;
}
  @media screen and (max-width: 767px) {
    #social_studies .logout_low .login_btn a {
      color: #fff;
      background: linear-gradient(60deg, #6b6bc4 0%, #a6a6d3 100%);
    }
  }

.index_ttl {
  text-align: center;
  font-size: 3.6rem;
  padding: 25px 0 20px;
}
.index_lead {
  line-height: 1.4;
  margin-bottom: 80px;
}
.index_low {
  margin-bottom: 50px;
}
  @media screen and (max-width: 767px) {
    .index_ttl {
      font-size: 5.86vw;
      padding: 0 0 6vw;
    }
    .index_lead {
      line-height: 1.6;
      margin-bottom: 15vw;
    }
    .index_low {
      margin-bottom: 5.33vw;
      font-size: 3.2vw;
    }
  }


#index h2 {
  font-size: 2rem;
  text-align: center;
}

#index ul {
  padding: 20px 0 100px;
}
#index li {
  width: 360px;
  margin: 0 20px;
}
#index li a {
  display: block;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-weight: 600;
  font-size: 2.4rem;
  letter-spacing: 0.3rem;
  border-radius: 50px;
  line-height: 100px;
}
#index li a:hover {
  opacity: 0.7;
}
#index_science a {
  background: linear-gradient(60deg, #6b6bc4 0%, #a6a6d3 100%);
}
#index_social_studies a {
  background: linear-gradient(60deg, #4fa74f 0%, #76cc76 100%);
}
  @media screen and (max-width: 767px) {
    #index ul {
      padding: 6vw 0 9.33vw;
    }
    #index li {
      width: 100%;
      margin: 0 0 5vw;
    }
    #index li a {
      font-size: 5vw;
      letter-spacing: 0.8vw;
      border-radius: 12vw;
      line-height: 20vw;
    }
  }

.post_wrap {
  background: #fff;
  border-radius: 5px;
  overflow: hidden;
}
.cat_nav li {
  width: 50%;
}
.cat_nav li a {
  position: relative;
  height: 66px;
  font-size: 2rem;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  font-weight: 600;
  text-decoration: none;
}
.cat_nav li.current a {
  color: #fff;
  pointer-events: none;
}
  @media screen and (max-width: 767px) {
    .cat_nav li {
      width: 50%;
    }
    .cat_nav li a {
      height: 13.33vw;
      font-size: 4.26vw;
    }
  }

#science .cat_nav li.current a {
  color: #fff!important;
  background: linear-gradient(60deg, #6b6bc4 0%, #a6a6d3 100%);
}
#science .cat_nav li.current a::after {
  position: absolute;
  left: calc(50% - 9px);
  bottom: -10px;
  content: "";
  width: 18px;
  height: 10px;
  border-style: solid;
  border-width: 10px 9px 0 9px;
  border-color: #8888cb transparent transparent transparent;
}
#social_studies .cat_nav li a {
  color: #4FA74F;
}
#social_studies .cat_nav li.current a {
  color: #fff;
  background: linear-gradient(60deg, #4fa74f 0%, #76cc76 100%);
}
#social_studies .cat_nav li.current a::after {
  position: absolute;
  left: calc(50% - 9px);
  bottom: -10px;
  content: "";
  width: 18px;
  height: 10px;
  border-style: solid;
  border-width: 10px 9px 0 9px;
  border-color: #62B962 transparent transparent transparent;
}
  @media screen and (max-width: 767px) {
    .cat_nav li.current a::after {
      left: calc(50% - 2.4vw)!important;
      bottom: -2.66vw!important;
      width: 4.8vw!important;
      height: 2.66vw!important;
      border-width: 2.66vw 2.4vw 0 2.4vw!important;
    }
  }

.post_lead {
  padding: 35px 4rem 42px;
  font-size: 1.4rem;
}
  @media screen and (max-width: 767px) {
    .post_lead {
      padding: 9.33vw 2.5rem 6.66vw;
      font-size: 3.2vw;
    }
  }

#post_list {
  padding-bottom: 50px;
}
.post_box {
  padding: 0 50px 30px;
}
.post_box h3 {
  font-size: 1.8rem;
  margin-bottom: 10px;
}
/* .post_box ul {
  border-bottom: solid 1px #D4D4D4;
  padding-bottom: 20px; */
}
.post_box li a {
  text-decoration: none;
  color: #000;
  line-height: 1.5;
  padding: 7px 0;
  margin-bottom: 5px;
}
.post_box li time {
  display: block;
  width: 80px;
}
.post_box li h4 {
  width: 570px;
  font-weight: 500;
}
.post_box li h4:before {
  content: "→";
  margin-right: 1rem;
}
.post_box li a:hover h4 {
  color: #8888CB;
  text-decoration: underline;
}
#social_studies .post_box li a:hover h4 {
  color: #4FA74F;
}

.post_box .flex{
	margin-bottom: 25px;
}

.post_box ul .flex:last-child{
	margin-bottom: 0;
}

.post_box .flex .ttl{
	width: 150px;
}

.post_box .flex a{
	text-decoration: underline;
}

.post_box .flex a:hover{
	text-decoration: none;
}

.post_box .flex.c_purple a{
	color: #6b6bc4;
}

.post_box .flex.c_green a{
	color: #4FA74F;
}

.post_box .flex .unit{
	width: calc(100% - 150px);
}

.post_box .flex .unit p{
	margin-bottom: 5px;
}

.post_box .flex .unit p:last-child{
	margin-bottom: 0;
}

.post_box .flex .unit p span{
	background: #666;
  color: #FFF;
  font-size: 14px;
  margin-right: 1rem;
  padding: .2rem .5rem;
  border-radius: 2px;
}

.post_box .flex .unit .bold{
	font-weight: bold;
	margin-right: 18px;
}


  @media screen and (max-width: 767px) {
    #post_list {
      padding-bottom: 5vw;
    }
    .post_box h3 {
      font-size: 4.26vw;
      margin-bottom: 2vw;
    }
    .post_box {
      padding: 0 7.73vw 5.33vw;
    }
    .post_box ul {
      padding-bottom: 0;
    }
    .post_box li a {
      padding: 2vw 0;
      margin-bottom: 3.43vw;
    }
    .post_box li time {
      width: 17%;
    }
    .post_box li h4 {
      width: 82%;
    }
	.post_box .flex{
		display: block;
		margin-bottom: 7vw;
	}
	/* .post_box ul .flex:last-child{
		margin-bottom: 4.5vw;
	} */
	.post_box .flex .ttl,
	.post_box .flex .unit{
		width: 100%;
	}
	.post_box .flex .ttl{
		margin-bottom: 1vw;
	}
  }

#index #login_ttl{
	text-align: left;
	margin-bottom: 10px;
}

#login_box{
	border: solid 20px #fff;
	border-radius: 5px;
	padding: 24px 0 30px;
	margin-bottom: 40px;
}

#login_box_inner{
	max-width: 290px;
	margin: 0 auto;
}

#login_box h3{
	text-align: center;
	font-size: 18px;
	margin-bottom: 15px;
}

#login_box input[type=text],
#login_box input[type=password]{
	display: block;
	width: 100%;
	border-radius: 50px;
	padding: 10px 15px;
}

#login_box input[type=text]{
	margin-bottom: 22px;
}
#login_box .w_check{
	text-align: right;
	margin: 10px 0 20px;
	font-size: 12px;
}
#login_box button {
  display: block;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.3rem;
  border-radius: 50px;
	border: none;
	width: 100%;
	line-height: 60px;
}
#login_box button:hover {
  opacity: 0.7;
}

#login_box .error_text{
	text-align: center;
	font-weight: bold;
	font-size: 13px;
	color: #dd0000;
	border: solid 2px #dd0000;
	background: #fff;
	padding: 10px 0;
	margin-bottom: 20px;
}

#login_box input[type=checkbox]{
	display: none;
}
#login_box input[type=checkbox]:checked +label:before{
	opacity: 1;
}

#login_box input[type=checkbox]:checked +label:after{
	background: #aaaaaa;
}

#login_box input[type=checkbox] +label{
	position: relative;
	padding-left: 24px;
	display: inline-block;
}

#login_box input[type=checkbox] +label:before{
	transition: .4s ease;
	opacity: 0;
	z-index: 1;
	position: absolute;
	left: 4px;
	top: 4px;
	content: '';
	display: block;
	width: 10px;
	height: 6px;
	border-left: solid 2px #fff;
	border-bottom: solid 2px #fff;
	transform: rotate(-40deg);
}

#login_box input[type=checkbox] +label:after{
	position: absolute;
	left: 0;
	top: 0;
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	background: #f2f2f2;
	border: solid 2px #aaaaaa;
	border-radius: 3px;
}

#login_box button.purple{
  background: linear-gradient(60deg, #6b6bc4 0%, #a6a6d3 100%);
}
#login_box button.green{
  background: linear-gradient(60deg, #4fa74f 0%, #76cc76 100%);
}

@media screen and (max-width: 767px) {
	#login_box_inner{
		padding: 0 15px;
		max-width: 375px;

	}
	#login_box button{
		line-height: 40px;
		max-width: 180px;
		margin-left: auto;
		margin-right: auto;
	}
  .post_box .flex .ttl,
  .post_box .flex .unit {
    font-size: 17px;
  }
}
