@charset "utf-8";
/* 全体設定 --------------------------------------------ーーーーーーーー------------------*/
body {
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
  margin: 0;
}

h1#titleH1 {
  font-size: 50px;
  color: #fff;
  font-family: serif;
  margin-left: 20px;
  font-family: "Caveat", cursive;
  margin-top: 10px;
}

div#topMenu {
  display: flex;
  width: calc(100% - 198px);
  align-items: end;
  justify-content: end;
  padding-bottom: 5px;
  padding-right: 20px;
}
p.topMenu {
  font-size: 15px;
  color: #fff;
  margin: 0 10px;
  font-family: "Kaisei Decol", serif;
  cursor: pointer;
  /* text-decoration: none; */
}
.menuLine {
  width: 0.5px;
  background: #fff;
  height: 20px;
}
p.sideMenu {
  cursor: pointer;
  font-family: "Kaisei Decol", serif;
}
h2#sideMenuH2 {
  color: #333;
  -webkit-text-stroke: 0px;
  margin-top: 50px;
  font-family: "Kaisei Decol", serif;
}
p.sideMenu.colorGray {
  color: lightgray;
}

/* 会員ホバーメニュー */
.hoverMoveDiv {
  height: 30px;
}
div.kaiinMenuBack {
  margin-left: 200px;
  width: 210px;
  margin-top: -47px;
  display: none;
  z-index: 20;
}
div.kaiinMenu {
  margin-left: 10px;
  width: 200px;
  background-color: cornsilk;
  border: 0.5px solid #999;
  border-radius: 5px;
}
.hoverMoveDiv:hover .kaiinMenuBack {
  display: block;
}
p.kaiinMenuP {
  font-size: 16px;
  cursor: pointer;
  font-family: "Kaisei Decol", serif;
  margin: 0;
  padding-top: 10px;
  padding-bottom: 10px;
}
p.kaiinMenuP:hover {
  background-color: bisque;
  border-radius: 5px;
}
/* 会員ホバーメニュー */

div#titleTopDiv {
  position: fixed;
  z-index: 10;
  background-color: darkturquoise;
  width: 100%;
  display: flex;
  height: 80px;
  top: 0;
}
div#mainContentsDiv {
  margin-top: 80px;
  background: #fff;
  display: flex;
}
div#mainRightContentsDiv {
  /* width: auto; */
  flex: 1;
  /* background: beige; */
  /* display: flex
; */
  flex-wrap: wrap;
  gap: 30px;
  padding: 0;
  justify-content: center;
  /* height: 300px; */
  margin-left: 200px;
}
div#mainLeftContentsDiv {
  width: 200px;
  background: aliceblue;
  text-align: center;
  position: fixed;
  z-index: 10;
  height: 100%;
  padding-top: 20px;
}

div#conceptObi {
  height: 60px;
  margin-top: 20px;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  width: calc(100vw - 200px);
}

.conceptScroller {
  display: flex;
  width: max-content;
  animation: scroll 30s linear infinite;
}
img#conceptImg {
  height: 60px;
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200px);
  }
}
/* 単語検索divーーーーーーーーーーーーーーーーーーーー */
div#kiziKensakuDiv {
  display: flex;
  margin-top: 10px;
  background-color: #fff;
  position: sticky;
  top: 80px;
  padding: 10px 0;
  border-bottom: 1px solid coral;
  /* z-index: 10; */
}
form#kiziKensakuForm {
  display: flex;
}
p.kiziKensakuP {
  margin: 0;
  padding: 5px;
  font-size: 15px;
}
input#kiziKensaku {
  border: 1px solid darkgray;
  font-size: 16px;
}
input#kensakuBtn {
  margin-left: 10px;
  background-color: coral;
  color: #fff;
  border-radius: 5px;
  font-size: 15px;
}

h2#mainRightContentsBottom1Title {
  font-family: serif;
  color: #333;
  -webkit-text-stroke: 1px #333;
  margin-left: 20px;
  margin-top: 50px;
  margin-bottom: 0;
  font-family: "Kaisei Decol", serif;
  font-weight: lighter;
}
h2#mainRightContentsBottom2Title,
h2#mainRightContentsBottom3Title {
  font-family: serif;
  color: #333;
  -webkit-text-stroke: 1px #333;
  margin-left: 20px;
  margin-top: 30px;
  margin-bottom: 0;
  font-family: "Kaisei Decol", serif;
  font-weight: lighter;
}
img.pickupImg {
  width: 100%;
}
img.contentsImg {
  width: 100%;
  aspect-ratio: 16 / 9;
}
div#mainRightContentsTopDiv {
  /* margin-top: 200px; */
  height: 300px;
  display: flex;
  background-color: beige;
  align-items: center;
}
.pickupContents {
  height: 266px;
  width: 400px;
  /* background: azure; */
  margin: auto;
  cursor: pointer;
}

.pickupImgSlideBtn {
  width: 50px;
  height: 50px;
}
img.pickUpChangeBtn {
  width: 50px;
}
div#leftSlideBtn,
div#rightSlideBtn {
  display: none;
}
div#widthSmallSlideBtn {
  display: none;
}
.blackLine {
  background: #333;
  height: 0.5px;
  width: 100%;
}
div#mainRightContentsBottom1Div,
div#mainRightContentsBottom2Div,
div#mainRightContentsBottom3Div {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  padding: 20px 0;
  justify-content: center;
  margin: auto;
}
div#mainRightContentsBottom1Div {
  width: 1186px;
}
.itemDiv {
  width: 200px;
  height: 200px;
  /* margin-top: 15px; */
  cursor: pointer;
}
img.itemsImg {
  width: 100%;
}
img.itemsImg:hover {
  box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
  transform: scale(1.05) translateY(-10px);
  transition: transform 0.3s ease;
}
.kiziItemImg {
  width: 176px;
  height: 100%;
}
.kiziItemTitle {
  align-items: center;
  display: flex;
  flex: 1;
}
p.kiziItemTitleP {
  font-size: 14px;
  margin: 0;
  font-family: "Kosugi Maru", sans-serif;
  /* margin-bottom: 20px; */
  line-height: 1.5;
  padding: 5px;
  color: #333;
}
.kiziItemDiv {
  display: flex;
  border: 1 #333;
  border: 0.5px outset;
  background: lightgoldenrodyellow;
  width: 400px;
  height: 98px;
  cursor: pointer;
}

.nayamiTalkroomBtn {
  width: 25%;
  background-color: deepskyblue;
  color: azure;
  border-radius: 20px;
  height: 100px;
  align-items: center;
  justify-content: center;
  display: flex;
  font-size: 40px;
  cursor: pointer;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
  font-family: "Kaisei Decol", serif;
  text-align: center;
}

footer {
  background: coral;
  height: 70px;
}
div#footerMenu {
  display: flex;
  justify-content: end;
  padding-top: 5px;
}
p.footerMenuText {
  font-size: 15px;
  color: rgb(255, 255, 255);
  font-family: "Kaisei Decol", serif;
  cursor: pointer;
  margin: 0px 10px;
}
.footerMenuLine {
  width: 0.5px;
  background: #fff;
  height: 20px;
}

.subMenu {
  /* height: 50px; */
  background-color: aquamarine;
  margin: 0;
  padding: 0 5%;
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow-x: auto;
}
a.subMenuLink {
  text-decoration: none;
  font-size: 15px;
  background-color: darkcyan;
  padding: 8px;
  color: #fff;
  border-radius: 8px;
  transition: 0.3s ease-in-out;
  margin: 5px 0;
}
a.subMenuLink:hover {
  background-color: green;
}
p.subMenuP {
  font-size: 15px;
  /* background-color: darkcyan; */
  padding: 8px;
  margin: 5px 0;
}

button.menuBtn:hover {
  background-color: blue;
}
button.menuBtn.backAndLogoutBtn {
  background-color: darkcyan;
}

button.menuBtn {
  font-size: 30px;
  font-family: serif;
  background: dodgerblue;
  border-radius: 7px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 5px;
  width: -webkit-fill-available;
  transition: 0.3s ease-in-out;
  color: seashell;
  border: none;
}
button.menuBtn.noPlan {
  background-color: darkgray;
}

div#main {
  margin: 15px;
  background-color: #cff0da;
}

.center {
  text-align: center;
}
input {
  /* background-color: #fff; */
  border: 0px;
  padding: 5px;
  font-size: 20px;
}

p {
  font-size: 20px;
}
.hidariyose {
  text-align: center;
}
input[type="submit"] {
  background-color: #003300;
  color: #cff0da;
}
input.backBtn {
  background-color: #fff;
  border: 0px;
  font-size: 20px;
  font-size: 30px;
  font-family: serif;
  border-radius: 7px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  width: 90%;
  transition: 0.3s ease-in-out;
  color: seashell;
  border: none;
  background-color: darkcyan;
  padding: 0;
}
button.menuBtn.backAndLogoutBtn:hover,
input.backBtn:hover {
  background-color: green;
}

a#topEventA {
  text-decoration: none;
  padding: 20px;
  background: orange;
  color: darkslategrey;
  font-weight: bold;
  border-radius: 10px;
}
a#topmousikomiA {
  text-decoration: none;
  padding: 20px;
  background: yellow;
  color: darkslategrey;
  font-weight: bold;
  border-radius: 10px;
}

div#sumahoMenuBack {
  display: none;
}
input.buton.tourokuBtn {
  font-size: 30px;
  font-family: serif;
  background: dodgerblue;
  border-radius: 7px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 5px;
  width: -webkit-fill-available;
  transition: 0.3s ease-in-out;
  color: seashell;
  border: none;
}
div#margin {
  text-align: center;
}

input#huguaiDaimei {
  border: solid 0.5px;
}

/* ここからcontentsトップ画面ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

input#kiziKensaku {
  width: 250px;
}
@media (max-width: 1540px) {
  div#pickupContents2,
  div#pickupContents3 {
    display: none;
  }
  .pickupContents {
    display: none;
    transition: transform 0.4s ease, opacity 0.4s ease;
    transform: scale(0.95);
    opacity: 0;
  }
  .pickupContents.show {
    display: block;
    transform: scale(1);
    opacity: 1;
  }
  div#leftSlideBtn {
    margin-left: 250px;
    display: block;
  }
  div#rightSlideBtn {
    margin-right: 250px;
    display: block;
  }
}
@media (max-width: 1350px) {
  .itemDiv {
    width: 170px;
    height: 170px;
  }
  div#mainRightContentsBottom1Div {
    width: auto;
  }
}
@media (max-width: 1250px) {
  div#leftSlideBtn {
    margin-left: 200px;
  }
  div#rightSlideBtn {
    margin-right: 200px;
  }
}
@media (max-width: 1200px) {
  .nayamiTalkroomBtn {
    font-size: 30px;
  }
}
@media (max-width: 1185px) {
  .itemDiv {
    width: 140px;
    height: 140px;
  }
}
@media (max-width: 1150px) {
  div#leftSlideBtn {
    margin-left: 160px;
  }
  div#rightSlideBtn {
    margin-right: 160px;
  }
}
@media (max-width: 1031px) {
  div#kiziItemDiv5,
  div#kiziItemDiv6,
  div#kiziItemDiv7,
  div#kiziItemDiv8 {
    display: none;
  }
  .kiziItemDiv {
    width: 90%;
  }
}
@media (max-width: 1050px) {
  div#leftSlideBtn {
    margin-left: 120px;
  }
  div#rightSlideBtn {
    margin-right: 120px;
  }
}
@media (max-width: 1019px) {
  div#itemDiv9,
  div#itemDiv10 {
    display: none;
  }
}
@media (max-width: 970px) {
  div#leftSlideBtn {
    margin-left: 80px;
  }
  div#rightSlideBtn {
    margin-right: 80px;
  }
}
@media (max-width: 950px) {
  .nayamiTalkroomBtn {
    font-size: 20px;
    width: 90%;
  }
}
@media (max-width: 900px) {
  div#leftSlideBtn {
    margin-left: 40px;
  }
  div#rightSlideBtn {
    margin-right: 40px;
  }
}
@media (max-width: 849px) {
  div#itemDiv9 {
    display: block;
  }
}
@media (max-width: 800px) {
  div#mainLeftContentsDiv {
    display: none;
  }
  div#mainRightContentsDiv {
    margin-left: 0;
  }
  div#itemDiv9 {
    display: none;
  }
  div#conceptObi {
    width: 100vw;
  }
  div#topMenu {
    display: none;
  }

  /* ここからスマホメニュー表示 */
  div#sumahoMenuBack,
  div#sumahoMenuBack_modoru {
    position: fixed;
    bottom: 100px;
    right: 10px;
    width: 50px;
    height: 50px;
    z-index: 20;
  }
  div#sumahoMenuBack {
    z-index: 20;
    display: block;
  }
  div#sumahoMenuPageDiv {
    width: calc(100% - 80px);
    background-color: #fff;
    /* position: fixed; */
    z-index: 21;
    top: 0;
    padding: 0 40px;
    margin: auto;
    height: 100%;
  }

  div#sumahoMenuBtnDiv {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    margin-top: 50px;
  }
  h1#sumahoMenuTitleH1 {
    font-size: 50px;
    font-family: serif;
    font-family: "Caveat", cursive;
    text-align: center;
  }
  p.sumahoMenuP {
    width: 150px;
    background-color: bisque;
    height: 150px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-weight: bold;
    background: linear-gradient(135deg, #87b5ff, #6495ed, #4169e1);
    color: #fff;
    font-family: "Kosugi Maru", sans-serif;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
  }
  p.sumahoMenuP.sumahoMenuColorVariation {
    background: linear-gradient(135deg, #7fbfbf, #5f9ea0, #3c7d7e);
  }
  div#sumahoMenuDiv,
  div#sumahoMenuDiv_modoru {
    width: 100%;
    height: 100%;
    background: crimson;
    border-radius: 10px;
    align-items: center;
    display: flex;
    justify-content: center;
    font-family: "Kaisei Decol", serif;
    color: aliceblue;
    padding-bottom: 5px;
    font-size: 14px;
    cursor: pointer;
  }
}

@media (max-width: 649px) {
  div#itemDiv9 {
    display: block;
  }
}
@media (max-width: 630px) {
  div#mainRightContentsTopDiv {
    display: block;
  }
  div#leftSlideBtn {
    display: none;
  }
  div#rightSlideBtn {
    display: none;
  }
  div#widthSmallSlideBtn {
    display: flex;
    justify-content: center;
  }
  div#SlideBtnSmallSpace {
    width: 100px;
  }
  /* .pickupContents {
    height: 200px;
    width: 300px;
  } */
  div#mainRightContentsTopDiv {
    padding-top: 30px;
  }
}
@media (max-width: 590px) {
  div#sumahoMenuBtnDiv {
    gap: 10px;
  }
  p.sumahoMenuP {
    width: 80px;
    height: 80px;
    font-size: 14px;
    margin-bottom: 20px;
  }
}

@media (max-width: 500px) {
  div#mainRightContentsBottom1Div,
  div#mainRightContentsBottom2Div {
    gap: 10px;
  }
  .itemDiv {
    width: 120px;
    height: 120px;
  }

  .kiziItemDiv {
    height: 62px;
  }
  .kiziItemImg {
    width: 110px;
  }
}
@media (max-width: 430px) {
  /* div#leftSlideBtn {
    margin-left: 15px;
  }
  div#rightSlideBtn {
    margin-right: 15px;
  } */
  .pickupContents {
    /* height: 160px; */
    width: 90%;
    height: auto;
  }
}
@media (max-width: 400px) {
  div#sumahoMenuPageDiv {
    width: calc(100% - 40px);
    padding: 0 20px;
  }
  div#sumahoMenuBtnDiv {
    margin-left: 20px;
    margin-right: 20px;
  }
  /* div#leftSlideBtn {
    margin-left: 8px;
  }
  div#rightSlideBtn {
    margin-right: 8px;
  } */
  /* .pickupContents {
    height: 120px;
    width: 180px;
  } */
}
@media (max-width: 390px) {
  .itemDiv {
    width: 110px;
    height: 110px;
  }
}

@media (max-width: 360px) {
  .itemDiv {
    width: 100px;
    height: 100px;
  }
}

/* ここまでontentsトップ画面ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

/* ------------------------------------------------------------------------------------ */

/* ここから年度選択------------------------------------------------------- */
div#nenSelect {
  text-align: center;
  padding-top: 20px;
  padding-bottom: 100px;
}
/* ------------------------------------------------------------------------------------ */

/* ここからレスポンシブデザイン------------------------------------------------------- */

@media screen and (max-width: 600px) {
  button.menuBtn {
    font-size: 25px;
  }
  input.buton.tourokuBtn {
    font-size: 25px;
  }
}

@media (max-width: 480px) {
  body {
    font-size: 18px;
  }
  p {
    font-size: 18px;
  }

  div#margin {
    /* margin-left: 5%; */
  }

  input,
  select {
    /* width: 90%; */
    /* font-size: 18px; */
  }
  /* 登録画面のメール語尾部分 */
  .mail_last {
    margin-left: 60px;
    margin-right: 5%;
  }
  .mail_last_textbox {
    width: 80%;
  }
  .hidariyose {
    padding: 5%;
    text-align: left;
  }

  .nyuryoku {
    width: 87%;
  }

  h2#mainRightContentsBottom2Title {
    font-size: 18px;
  }
}

@media screen and (max-width: 350px) {
  button.menuBtn {
    font-size: 20px;
  }
}

/* ------------------------------------------------------------------------------------ */
/* ここから記事画面↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
h2.partsH2 {
  margin-top: 90px;
  color: #333;
  padding-left: 20px;
  margin-bottom: 0;
}
p.partsP {
  font-size: 18px;
  margin-left: 20px;
  margin-right: 20px;
  white-space: pre-line;
}
a.partsLink {
  display: block;
  margin: 18px 20px;
}
.partsImgDiv {
  width: 100%;
  text-align: center;
}
img.partsImg {
  width: 300px;
  margin-top: 30px;
}
.h2Line {
  /* width: 95%; */
  height: 0.5px;
  background-color: #222;
  margin: auto;
  width: calc(100% - 20px);
}
iframe {
  width: 500px;
  height: 280px;
}
.partsYoutubeDiv {
  width: 100%;
  text-align: center;
}
h1#daimeiH1 {
  background-color: tomato;
  color: #fff;
  padding-left: 20px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  margin-right: -100px;
  margin-left: -100px;
}
img#midasiImg {
  width: 100%;
}
div#midasiImgDiv {
  width: 550px;
  text-align: center;
  margin: auto;
}
div#kiziContents {
  flex: 1;
  background: beige;
  flex-wrap: wrap;
  gap: 30px;
  padding: 20px 100px;
  /* justify-content: center; */
  /* margin-left: 200px; */
  /* text-align: center; */
  font-family: "Kosugi Maru", sans-serif;
  line-height: 2;
  color: #333;
}

/* ここからレスポンシブデザイン- */

@media screen and (max-width: 950px) {
  div#midasiImgDiv {
    width: 100%;
  }

  div#kiziContents {
    padding: 20px 50px;
  }

  h1#daimeiH1 {
    margin-right: -50px;
    margin-left: -50px;
    font-size: 25px;
  }
}
@media screen and (max-width: 800px) {
  h1#daimeiH1 {
    margin-left: 0;
    margin-right: 0;
  }
  div#kiziContents {
    padding: 0;
  }
  img#midasiImg {
    width: 100%;
  }
  h2.partsH2 {
    font-size: 22px;
  }
  p.partsP {
    font-size: 16px;
  }
}
/* ここまで記事画面↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ */
