@charset "UTF-8";
/* CSS Document */
/* =============================================
    全ページ共通
    トップページ(目次)のみ、個別css(TokyoSnsStyles_Top.css)を読み込み
============================================= */
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');

@media screen and (max-width: 100%) {}

/* ----- html ----- */
html {
  background-color: #ffffff;
  /*　フォントサイズ　1rem = 10pt　*/
  font-size: 62.5%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media screen and (max-width: 959px) {
  html {
    font-size: 50%;
  }
}

/* -------------------------------------
   colors
   背景色を変更します。div属性等に付加してください。
   例）<div class="bg-white"></div>
---------------------------------------- */
.bg-white { background-color: #ffffff;}
.bg-rightgray { background-color: #f4f4f4;}
.bg-darkgray { background-color: darkgray;}
.bg-green { background-color: #5cb53c;}
.bg-rightgreen { background-color: #e3f0d8;}
.bg-skyblue { background-color: #37BEF0;}
.bg-mosgreen { background-color: #009944;}
.bg-pink { background-color: #EE87B4;}
.bg-orange { background-color: #F7AF00;}
.bg-brown { background-color: #A95831;}

/* ----- font ----- */
.font-green { color: #5cb53c;}
.font-rightgreen { color: #e3f0d8;}
.font-white { color: #ffffff;}
.font-skyblue { color: #37BEF0;}
.font-pink { color: #EE87B4;}
.font-mosgreen { color: #009944;}
.font-orange { color: #F7AF00;}
.font-brown { color: #A95831;}

/* -------------------------------------
   font-size
   フォントサイズを変更します。p属性等に付加してください。
   例）8ptに設定する
   <p class="pt-8"></p>
---------------------------------------- */
.pt-8 { font-size: 0.8rem;}
.pt-12 { font-size: 1.2rem;}
.pt-13 { font-size: 1.3rem;}
/* 中学生・高校生・大人 */
.pt-14 { font-size: 1.4rem;}
.pt-16 { font-size: 1.6rem;}
/* 小学生高学年・ */
.pt-18 { font-size: 1.8rem;}
.pt-20 { font-size: 2.0rem;}
/* 小学生中学年 */
.pt-22 { font-size: 2.2rem;}
/* 小学生低学年 */
.pt-24 { font-size: 2.4rem;}
.pt-28 { font-size: 2.8rem;}
.pt-32 { font-size: 3.2rem;}
.pt-48 { font-size: 4.8rem;}
.font-bold { font-weight: bold;}

/* -------------------------------------
   indent
   listにインデントを付ける場合、ul属性の下に<div class="indent">を付加してください。
   他のフォントサイズが必要な場合は、下記に追加してください。
---------------------------------------- */
ul.indent {
  padding-left: 2.2rem;
}
ul.indent.pt-12 {
  padding-left: 1.7rem;
}

/* -------------------------------------
    type-selecter
    属性への直接指定をしています。
    【注意】下行のclassにより、上書きされているものがあります。ブラウザの開発者ツールで確認してください。
---------------------------------------- */
body {
  width: 100%;
  padding: 0px;
  margin: 0px;
  font-family: 'Kosugi Maru', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  /* 行間の高さを指定 */
  line-height: 1.75;
  overflow-x: hidden;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

a {
  color: #5cb53c;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

button {
  color: #5cb53c;
  font-family: 'Kosugi Maru', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  text-decoration: none;
}

button:hover {
  text-decoration: none;
}

h1 {
  box-sizing: border-box;
  width: 100%;
  padding: 5px 20px 5px 40px;
  background: #ffffff;
  position: relative;
  font-size: 2.2rem;
  color: #5cb53c;
}

a>h1 {
  text-decoration: none;
}

/* ruby */
/* html側で改行を行うことでも空白が発生するため、注意してください。 */
[data-ruby] {
  position: relative;
}
[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  left:-2em;
  top:-2.3em; /* -2.3em */
  right:-2em;
  text-align:center;
  font-size:.3em;
  margin: 0px;
}
[data-ruby]::after{
  margin: 0px;
}

[data-ruby-01-07] {
  position: relative;
}
[data-ruby-01-07]::before {
  content: attr(data-ruby-01-07);
  position: absolute;
  left:-2em;
  top:-1.0em;
  right:-2em;
  text-align:center;
  font-size:.3em;
  margin: 0px;
}
[data-ruby-01-07]::after{
  margin: 0px;
}

/*--- safari用にルビ位置調整 ---*/
_:lang(x)+_:-webkit-full-screen-document, [data-ruby]::before {
  top: -1rem;
}

_:lang(x)+_:-webkit-full-screen-document, [data-ruby-01-07]::before {
  top: -0.1rem;
}

/* -------------------------------------
   header
---------------------------------------- */
.page-header {
  background: transparent;
}

.header-container {
  border-top: 4px solid #5cb53c;
  border-bottom: 1px solid #5cb53c;
  background: #ffffff;
  padding: 0px;
  align-items: center;
}

.header-container>h1 {
  position: relative;
  width: 100%;
  font-size: 2.2rem;
  color: #5cb53c;
}

.header-container>h1>img {
  position: absolute;
  height: 30px;
  margin: 0 0 0 -40px;
  top: 50%;
  background: #5cb53c;
  padding: 10px 10px 10px 10px;
  -ms-transform: translate(-40%, -50%);
  transform: translate(-40%, -50%);
}

.header-container>h1>a:hover {
  text-decoration: none;
}

/*--- 「もくじへ」ボタン ---*/
.btn-area {
  width: 135px;
}

.header-container .title-area {
  width: calc(100% - 140px);
  padding-left: 0px;
}

/* -------------------------------------
   main-container
---------------------------------------- */
.page-main {
  background: #ffffff;
  height: auto;
  width: 100%;
}

.main-container {
  -webkit-appearance: none;
  -webkit-text-size-adjust: 100%;

  width: 100%;
  max-width: 1500px;
  height: auto;
  margin: auto;
}

.top {
  right: 0px;
  left: 0px;
  margin: auto;
  padding: 10px;
}

.main-container>ul {
  width: 100%;
  padding: 5px 10px;
  position: relative;
  font-size: 1.2rem;
  color: #3b3838;
  height: auto;
}

.to-next-page {
  text-decoration: none;
  background: #cbc9f8;
  color: #202020;
  border-bottom: 2px solid #555555;
  border-radius: 0.5rem 0.5rem 0.5rem 2rem;
  padding: 0.5rem 1.5rem;
  margin: -2rem 1rem;
  text-align: center;
}

.to-next-page:hover {
  text-decoration: none;
  background: #443cb5;
  color: #e3f0d8;
  border: 1px solid #443cb5;
}

/* ----- flex ----- */
div[class^="flex-wrap"] {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;

  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-wrap_1>.simple-content {
  width: calc((100% - 3rem));
}

.flex-wrap_2>.simple-content {
  width: calc((100% - 3rem * 1) / 2);
}

.flex-wrap_3>.simple-content {
  width: calc((100% - 3rem * 2) / 3);
}

.flex-wrap_3::after {
  content: "";
  display: block;
  width: calc((100% - 3rem * 2) / 3);
}

.simple-content {
  padding: 2rem 0 1rem;
}

.rightgreen-content {
  background: #e3f0d8;
  line-height: 2;
  border-radius: 12px;
  border: 4px solid #5cb53c;
  padding: 5px 2px 5px 10px;
}

/* ----- img ----- */
.maximum-img {
  width: 100%;
}
.medium-img {
  width: 75%;
}
.minimum-img {
  width: 200px;
  text-align: center;
}
.minimini-img {
  width: 150px;
  text-align: center;
}
/* ----- 4コマまんがを横に並べる ----- */
.four-frame-comic>img {
  width: 25%;
  display: block;
  margin: auto;
}
@media screen and (max-width: 600px) {
  .four-frame-comic>img {
    width: 50%;
  }
}
/* ----- iPad用に高さの設定を追加 ----- */
.maxheight-img {
  height: 100%;
}

/* ----- ふきだし形の見出しアイコン ----- */
/* エクスクラメーションマーク */
.title {
  position: relative;
  padding: 0.1rem 0 1rem 4.8rem;
}
.title::before {
  position: absolute;
  top: 0px;
  left: 0;
  content: url('../img/title_icon.PNG');
}

.book {
  position: relative;
  padding: 0.1rem 0 1rem 4.8rem;
}
.book::before {
  position: absolute;
  top: 0px;
  left: 0;
  content: url('../img/book_icon.PNG');
}

/* 丸囲み文字 */
.round-char {
  margin-left: 0.15rem;
  margin-right: 0.15rem;
  padding: 0.5rem;
  top: 0px;
  background: #5cb53c;
  color: #ffffff;
  border-radius: 2rem;
}

/* 四角囲み文字 */
.square-char {
  margin-left: 0.15rem;
  margin-right: 0.3rem;
  padding: 0.2rem;
  top: 0px;
  border: 2px solid #5cb53c;
  background: #ffffff;
  color: #5cb53c;
}

/* 四角囲み文字(背景塗りつぶし) */
.square-char-fill {
  margin: 1rem;
  margin-left: 0rem;
  margin-right: 0.3rem;
  padding: 0.5rem;
  top: 0px;
  font-size: 1.8rem;
  border: 2px solid #ffffff;
  background: #5cb53c;
  color: #ffffff;
}

/* 横に要素を並べる */
.landscape-wrap {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
}

/* 縦に要素を並べる */
.portrait-wrap {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
}

/* コラムの枠組み */
.magazine-column {padding-top: 0.45em;}
.magazine-column div:nth-of-type(1){text-align: end;}
.magazine-column div:nth-of-type(2){padding-top: 2rem;}
.magazine-column>p{padding: 0.5em;}
.magazine-column>img{margin-left: 1em;}
.magazine-column>div>span{
  padding: 0.75em 0.75em 0.75em 1.75em;
  border-radius: 0 0 0 3rem;
}

/* 保護者ページのグラフ */
.graph-img {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  
  width: 35%;
  padding: 1rem;
}
.graph-img > img {width: 100%;}
.graph-img > h2{font-size: 1.8rem; border-top: 2px solid #e3f0d8; border-bottom: 4px solid #e3f0d8; border-radius: 1rem;}
.graph-img > h2 > span{font-size: 0.8rem; vertical-align:text-top}
@media screen and (max-width: 600px) {
  .graph-img {width: 95%;}
}

/* サービス・アプリ紹介ページ */
.site-area {
  width: 100%;
  flex-wrap: nowrap;
  align-items: flex-end;
}
.site-text {
  width: 83%;
  padding: 8px 0px 15px 8px;
  word-wrap: break-word;
}
.qrcode-img {
  width: 15%;
  height: 100%;
  padding: 0px 10px 0px 0px;
  object-fit: contain;
}
.landscape-wrap-area {
  padding: 0px 10px 0px 20px;
  flex-wrap: nowrap;
}
.left-area {
  width: 20%;
  height: fit-content;
}
.right-area {
  width: calc(100% - 5%);
  padding: 16px 0px 0px 10px;
}

@media screen and (max-width: 1050px) {
  .site-text {
    width: 80%;
    padding: 8px 8px 0px 8px;
  }
  .qrcode-img{
    padding: 0px;
  }
  .landscape-wrap-area {
    padding: 0px 10px 0px 10px;
  }
  .left-area{
    width: 25%;
  }
  .right-area{
    width: calc(100% - 32%);
    padding: 12px 0px 0px 0px;
  }
}

@media screen and (max-width: 900px) {
  .site-text {
    width: 75%;
  }
  .qrcode-img{
    padding: 0px;
  }
  .landscape-wrap-area {
    padding: 0px 10px 0px 10px;
  }
  .left-area{
    width: 27%;
  }
  .right-area{
    width: calc(100% - 34%);
  }
}

@media screen and (max-width: 400px) {
  .left-area{
    width: 30%;
  }
  .right-area{
    width: 59%;
  }
}

/* 4コマ */
.comic{
  align-items: flex-start;
}
.comic>img {
  width: 50%;
  height: 40%;
  margin: 0px auto;
}

/* 余白 */
.medium-padding-top{
  padding-top: 2rem;  
}
.medium-padding{
  padding: 2rem;  
}

/* 右寄せ */
.right-box {
  justify-content: right;
  text-align: right;
}

/* 左寄せ */
.left-box {
  justify-content: left;
  text-align: left;
}

/* 中央寄せ */
.center-box {
  justify-content: center;
  text-align: center;
}

/* 飾り */
.solid-border {
  border: 5px solid #5cb53c;
  padding: 1rem;
}

/* ふきだし */
.arrow_box{
  position:relative;
}
.arrow_box::after{
  border: solid transparent;
  content:'';
  height:0;
  width:0;
  pointer-events:none;
  position:absolute;
  border-top-width:9px;
  border-bottom-width:9px;
  border-left-width:11px;
  border-right-width:11px;
  margin-top: -9px;
  border-right-color:#5cb53c;
  right:101%;
  top:70%;
}

.round-5{
  border-radius: 0.5rem;
}
.round-10{
  border-radius: 1rem;
}
.round-15{
  border-radius: 1.5rem;
}

.contents-box {
  width: 150px;
  padding-right: 1rem;
  padding-bottom: 3rem;
}

.list-box{
  list-style: none;
  padding:1rem;
  line-height: 2rem;
}
.list-box>li{
  padding:0.5rem;
}
.list-box>li p::after{
  content: '';
  width: 100px;
  border-bottom: 3px solid #3b3838;
}
.list-box>li a{
  color: #ffffff;
  background: #5cb53c;
  border-right: 2px solid #29501b;
  border-bottom: 3px solid #29501b;
  /* color: #3b3838; */
  padding: 2px 0.5em;
  border-radius: 0.6rem;
  font-size: 1.2rem;
  font-weight: bold;
  text-decoration: none;
}
.list-box>li a:hover{
  /* text-decoration: underline; */
  padding: 3px 0.5em;
  border-right: 1px solid #5cb53c;
  border-bottom: 1px solid #5cb53c;
}

/*--- カード置き場4_07用に追加 ---*/
.card-box {
  height: 180px;
  width: 28%;
}

.dotted-border-cards>li {
  position: relative;
  color:#5cb53c;
  background: #ffffff;
  padding:4px;
  width: 7.5em;
  font-weight:400;
  margin: 4px;
  border: dotted 2px #5cb53c;
  list-style: none;
  border-radius: 1rem;
}

.numbering>li>span{
  position: absolute;
  top: 0;
  left: 0;
  margin: 0rem 0.5rem;
  font-size: 1.5rem;
  font-weight: 400;
}

.landscape-wrap>.medium-margin:nth-child(n+2){
  margin-left: 1rem;
}

.portrait-wrap>.dotted-border-cards>li {
  width: 80%;
  margin-left: 10%;
}

.portrait-wrap>.dotted-border-cards>li>h2 {
  font-size: 1.8rem;
  text-align: center;
}

#target-img{
  width: 3rem;
}


@media screen and (max-width: 900px) {
  .flex-wrap_3>.simple-content {
    width: calc((100% - 3rem * 1) / 2);
  }
}

@media screen and (max-width: 600px) {
  div[class^="flex-wrap"]>.simple-content {
    width: 100%;
  }
  .medium-img{
    width: 100%;
  }
  #target-img{
    width: 3rem;
  }
}

/*---- iPad横向きに対応させるため追加 ----*/
@media screen and (max-width: 1200px) {
  .contents-box {
    width: 30%;
  }
  .contents-box>.pt-18 {
    width: fit-content;
  }
  .contents-box>.pt-8 {
    width: fit-content;
  }
  .contents-box>.minimini-img {
    width: 100%;
  }
  .caption-line>.pt-22 {
    font-size: 1.8rem;
  }
  .card-box {
    width: 26%;
  }
}

/*---- iPad縦向きに対応させるため追加 ----*/
@media screen and (max-width: 830px) {
  .contents-box {
    width: 45%;
  }
  .contents-box>.pt-18 {
    width: fit-content;
  }
  .contents-box>.pt-8 {
    width: fit-content;
  }
  .contents-box>.minimini-img {
    width: 100%;
  }
  .caption-line>.pt-22 {
    font-size: 1.5rem;
  }
  .card-box {
    width: 22%;
  }
}

/* ----- slick ----- */
.slider {
  position: relative;
  z-index: 1;
  /* 100vh */
  height: 1fr;
}

/* 背景画像を設定 */
.slider-item {
  /* 80% */
  width: 1fr;
  /* 80vh */
  height: 1fr;
  display: block;
  padding-top: 0.5rem;
  padding-right: 4.8rem;
  padding-left: 4.8rem;
  padding-bottom: 0rem;
}

/* 矢印の設定 */
.slick-prev,
.slick-next {
  position: absolute;
  z-index: 3;
  top: 42%;
  cursor: pointer;
  outline: none;
  border-top: 3px solid #5cb53c;
  border-right: 3px solid #5cb53c;
  width: 25px;
  height: 25px;
}

.slick-prev {
  left: 1.5%;
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.slick-next {
  right: 1.5%;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.slick-prev-text,
.slick-next-text{
  margin-top: -5rem;
  padding-top: 10rem;
  width: max-content;
  color: #5cb53c;
  font-size: 0.8rem;
}

.slick-prev-text{
  margin-left: 1rem;
  text-align: left;
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}
.slick-next-text{
  margin-top: -6.5rem;
  text-align: right;
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media screen and (max-width: 600px) {
  .slick-prev {
    left: 2.5%;
  }
  .slick-next {
    right: 2.5%;
  }
}

/* ドットナビゲーションの設定 */
.slick-dots {
  position: relative;
  z-index: 3;
  text-align: center;
  padding-top: 1rem;
  margin: 0px;
}

.slick-dots li {
  display: inline-block;
  padding: 0px;
  margin: 0 5px;
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 15px;
  height: 15px;
  display: block;
  padding: 0px;
  border-radius: 50%;
  background:#ccc;/*ドットボタンの色*/
}
.slick-dots .slick-active button {
  background: #3b3838;
}

/* ----- カード(択一) ----- */
.card-choice {
  max-width: 1000px;
  width: 100%;
  margin: 20px auto 0;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.card-choice>div {
  width: 30%;
}

.card-choice>div:nth-child(n+2) {
  margin-left: 5%;
}

.card-choice>div>img {
  width: 100%;
  cursor: pointer;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.card-choice>div>img:hover {
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

/* 4枚の場合 */
.four-cards{
  margin-left:20rem;
  margin-bottom: 10px;
}
.dummy-card{
  display: block;    
}

/* iPad横画面の場合 */
@media screen and (max-width: 1050px) {
  .four-cards{
    margin-left: 18.1rem;
  }
}

/* iPad縦画面の場合 */
@media screen and (max-width: 800px) {
  .four-cards{
    margin-left: 14.6rem;
  }
}

@media screen and (max-width: 600px) {

  .four-cards{
    margin-left:0rem;
  }
  .dummy-card{
    display: none;
  }

  /* sp */
  .card-choice>div {
    width: 45%;
  }

  .card-choice>div:nth-child(n+3) {
    margin: 10px 0 0;
  }
}

@media screen and (max-width: 400px) {

  .card-choice>div {
    width: 100%;
  }

  .card-choice>div:nth-child(n+2) {
    margin: 10px 0 0;
  }
}

.card-popup {
  z-index: 5;
  height: 100vh;
  width: 100vw;
  top: 0;
  position: fixed;
  display: none;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  /*	background-color: lightcoral;*/
  /*	opacity: 0.5;*/
}

.card-popup div {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  width: 90%;
  /* width: 100%; */
}

.card-popup img {
  margin: 0 10px 0 35px;
  width: 80%;
  height: 100%;
  z-index: 6;
}

.card-popup .close-area {
  width: 100vw;
  height: 100vh;
  background-color: black;
  opacity: 0.7;
  position: absolute;
  top: 0px;
  left: 0;
}

.close-button {
  display: block;
  position: relative;
  width: 30px;
  height: 30px;
  cursor: pointer;
}

.close-button::before, .close-button::after {
  /* 共通設定 */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  /* 線の幅（太さ） */
  height: 40px;
  /* 線の高さ */
  background: #FFF;
  z-index: 7;
}

.close-button::before {
  -ms-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.close-button::after {
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (max-width: 600px) {

  /* sp */
  .card-popup div {
    width: 80%;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: end;
    align-items: flex-end;
  }

  .card-popup img {
    width: 100%;
    margin: 10px 0 0;
    -ms-flex-order: 2;
    order: 2;
  }
}


/* ----- カード(並び替え・分類共通) ----- */
.card-shuffle, .card-divide {
  width: 100%;
  margin-top: 20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.card-shuffle .area-default, .card-divide .area-default {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.card-shuffle .area-default div, .card-divide .area-default div {
  width: 20%;
  margin-bottom: 10px;
}

.card-shuffle .area-default::after, .card-divide .area-default::after {
  content: "";
  display: block;
  width: 120px;
}

.card-shuffle img, .card-divide img {
  width: 70%;
  position: relative;
  margin: 0px;
}

.card-shuffle span, .card-divide span {
  display: block;
  border: solid 4px darkgray;
  border-radius: 10px;
}

/*--- note4_04用に追加 ---*/
.card-shuffle_4_04 {
  width: 100%;
  margin-top: 20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.card-shuffle_4_04 .area-default {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.card-shuffle_4_04 .area-default div {
  width: 20%;
  margin-bottom: 10px;
}

.card-shuffle_4_04 .area-default::after {
  content: "";
  display: block;
  width: 120px;
}

.card-shuffle_4_04 img {
  width: 70%;
  position: relative;
  margin: 0px;
}

.card-shuffle_4_04 span {
  display: block;
  border: solid 4px darkgray;
  border-radius: 10px;
}


/*--- カード並び替え（note5_08 番号用） ---*/
.card-num {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.card-shuffle .card-num img {
  width: 65%;
}

.card-shuffle .card-num div {
  width: 18%;
  margin-bottom: 10px;
}

.card-shuffle .card-num::after {
  content: "";
  display: block;
  width: 120px;
}


/*--- カード○ ---*/
.card-shuffle .area-maru {
  display: flex;
  justify-content: left;
  text-align: center;
}

.area-default .card-maru {
  opacity: 0.6;
  padding: 0px 2px 0px 2px;
  width: 45px;
  height: 45px;
}

.back-img_1-02 {
  background-image: url(../img/snsnote1_4_01.jpg);
  height: 500px;
  background-size: 70%;
  background-repeat: no-repeat;
  background-position: center;
}

.back-img_1-03 {
  background-image: url(../img/snsnote1_6_01.PNG);
  height: 500px;
  background-repeat: no-repeat;
  background-position: center;
}

/*--- ipad横 ---*/
@media screen and (max-width: 1050px) {
  .back-img_1-02 {
    background-size: 100%;
    height: 460px;
  }

  .back-img_1-03 {
    background-size: 90%;
    height: 400px;
  }

  .area-default .card-maru {
    width: 40px;
    height: 40px;
  }
}

/*--- ipad縦・スマホ横 ---*/
@media screen and (max-width: 850px) {
  .back-img_1-02 {
    background-size: 100%;
    height: 380px;
  }
  .back-img_1-03 {
    background-size: 90%;
    height: 290px;
  }
  .area-default .card-maru {
    width: 40px;
    height: 40px;
  }
}

/*--- スマホ縦 ---*/
@media screen and (max-width: 400px) {
  .back-img_1-02 {
    background-size: 100%;
    height: 325px;
  }
  .back-img_1-03 {
    background-size: 100%;
    height: 135px;
  }

  .area-default .card-maru {
    width: 30px;
    height: 30px;
  }
}


/*--- note3_06用に追加 ---*/
.landscape-wrap-2area {
  width: 48%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.landscape-wrap-2area div {
  width: 32%;
}
.card-shuffle .landscape-wrap-2area img {
  width: 80%;
}


/*--- ipad横向き ---*/
@media screen and (max-width: 1050px) {
  .card-shuffle .card-num img {
    width: 80%;
  }
  .card-shuffle .landscape-wrap-2area img {
    width: 90%;
  }
}

/*--- スマホ横向き ---*/
@media screen and (max-width: 900px) {
  .card-shuffle, .card-shuffle_4_04, .card-divide {
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .card-shuffle .area-default, .card-shuffle_4_04 .area-default, .card-divide .area-default {
    width: 100%;
  }

  .card-shuffle .area-default div, .card-shuffle_4_04 .area-default div, .card-divide .area-default div {
    width: 19%;
    min-width: 120px;
  }

  .card-shuffle .area-default::after, .card-shuffle_4_04 .area-default::after, .card-divide .area-default::after {
    content: "";
    display: block;
    width: 120px;
  }

  .card-shuffle img, .card-shuffle_4_04 img, .card-divide img {
    width: 100%;
    margin: 0px;
  }

  .card-shuffle .card-num img {
    width: 90%;
  }
}

/*--- ipad縦向き ---*/
@media screen and (max-width: 800px)  {
  .landscape-wrap-2area {
    width: 100%;
  }
  .card-shuffle .landscape-wrap-2area img {
    width: 85%;
  }
}

@media screen and (max-width: 600px) {
  .card-shuffle .area-default div, .card-shuffle_4_04 .area-default div, .card-divide .area-default div {
    width: calc(33% - 20px);
    min-width: 120px;
  }

  .card-shuffle .area-default::after, .card-shuffle_4_04 .area-default::after, .card-divide .area-default::after {
    width: calc(33% - 20px);
    min-width: 120px;
  }
}


/* ----- カード(並び替え) ----- */
.card-shuffle span, .card-shuffle_4_04 span {
  width: 100%;
  height: 350px;
}

@media screen and (max-height: 900px) {
  .card-shuffle span, .card-shuffle_4_04 span {
    height: 40vh;
  }
}

.caption {
  display: flex;
  border-bottom: 4px solid darkgray;
  font-size: 1.6rem;
}



.left {
  text-align: left;
}
.caption>.left {
  width: 50%;
  border-right: 5px dotted darkgray;
}

.right {
  text-align: right;
}
.caption>.right {
  width: 50%;
  text-align: right;
}

/* ---- 各画面に対応するため追加 ----- */
.caption-line {
  border-right: 4px solid darkgray;
  font-size: 1.6rem;
  width: 24.75%;
}

.caption-wrap{
  flex-wrap:nowrap
}

.caption div:last-child {border-right:none;}
.caption div:nth-of-type(1) {border-top-left-radius: 5px;}
.caption div:last-child {border-top-right-radius: 5px;}

/* ----- カード(分類) ----- */
.card-divide div.area-divide {
  width: 100%;
  height: 300px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.card-divide span {
  width: 48%;
  height: 80%;
  padding: 10px;
}

@media screen and (max-width: 900px) {
  .caption-line {
    border-right: 1px solid darkgray;
  }

  .card-divide div.area-divide {
    width: 100%;
    height: 300px;
    margin-top: 15px;
  }

  .card-divide span {
    width: 48%;
    height: 70%;
    padding: 10px;
  }
}


/* -------------------------------------
   bottom-container
---------------------------------------- */
.page-bottom {
  background: transparent;
  /*height: 60px;*/
  /*display: flex;*/
  align-items: center;
}

.bottom-container {
  background: #ffffff;
  /*padding-bottom: 2rem;*/
  /* width: 100%; */
}

.bottom-container>a {
  text-decoration: none;
}

@media screen and (max-height: 959px) {
  .bottom-container {
    width: 200px;
  }
}

/* ボタン */
.btn {
  /*アニメーションの起点とするためrelativeを指定*/
  position: relative;
  overflow: hidden;
  width:-moz-fit-content; /* Firefox */
  width:fit-content; /* other browsers */
  /*ボタンの形状*/
  display: inline;
  border: 0.9px solid #e6e6e6;
  /* ボーダーの色と太さ */
  background: #5cb53c;
  /* border-radius: 1.5rem; */
  padding: 10px 30px;
  text-align: center;
  outline: none;
  margin-left: 10px;
  /*アニメーションの指定*/
  -o-transition: ease .2s;
  transition: ease .2s;
}

/*ボタン内spanの形状*/
.btn span {
  position: relative;
  z-index: 3;
  /*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color: #e3f0d8;
}

.btn:hover span {
  color: #5cb53c;
}

/*== 背景が流れる（左から右） */
.bgleft:before {
  content: '';
  /*絶対配置で位置を指定*/
  position: absolute;
  /*色や形状*/
  top: 0;
  left: 0;
  z-index: 2;
  /*背景色*/
  background: #e3f0d8;
  /* border-radius: 1.5rem; */
  width: 100%;
  height: 100%;
  /*アニメーション*/
  -o-transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  -ms-transform-origin: right top;
  transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft:hover:before {
  -ms-transform-origin: left top;
  transform-origin: left top;
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}


/* -------------------------------------
   footer
---------------------------------------- */
.page-footer {
  background: transparent;
}

.footer-container {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  color: #e3f0d8;
  background: #3b3b3b;
  text-align: center;
  width: 100vw;
}

.footer-container>p {
  margin: 0;
  line-height: 2.2.rem;
}

.footer-right {
  position: absolute;
  right: 0;
}

@media screen and (max-width: 600px) {
  .footer-container {
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .footer-right {
    position: relative;
  }
}