@charset "utf-8";

/* ---------------------------------
--- テキストスタイル
--------------------------------- */

/* ----- 基準値は各ウィンドウの標準です ----- */
html {
  color: #393939;
  font-feature-settings: “palt”; /* 約物半角の設定 */
  scroll-behavior: smooth;
}

h1,h2,h3,h4,h5.h6 {
  font-family: 'Yusei Magic', sans-serif;
}

h2 {
  font-size: 2.375rem;
  padding-bottom: 0.7em;
  color: #484848;
  letter-spacing: 0.12em;
}

h3 {
  font-size: 1.875rem;
  letter-spacing: 0.12em;
  padding-top: 15px;
  padding-left: 55px;
  padding-bottom: 1em;
  color: #484848;
  background-image: url(../img/check_mark.png);
  background-repeat: no-repeat;
  background-position: 10px 15px;
}

h4 {
  width: fit-content;
  margin-left: 18px;
  margin-bottom: 1.3em;
  font-size: 1.25rem;
  letter-spacing: .1em;
  color: #484848;
  background-color: #f34d7f30;
  border:solid 4px #ff82a7;
  border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
  padding:10px;
}

nav,ul,ol,li,dl,dt,dd {
  font-family: 'Murecho', sans-serif;
  font-weight: 400;
}

p {
  padding-left: 20px;
  font-size: 1.125em;
  letter-spacing: 0.1em;
  line-height: 2;
  padding-bottom: 1.5em;
}

a.link {
  font-family: 'Murecho', sans-serif;
  font-weight: 600;
  color: #776EEA;
  padding-right: 1em;
  text-decoration: none;
  background-image: url(../img/link.png);
  background-repeat: no-repeat;
  background-position: top right;
}

a.link:hover {
  border-bottom: 2px solid #8965f3;
  padding-bottom: 2px;
}

nav a  {
  text-decoration: none;
  color: #393939;
  /* マーカーの横方向を0にして縮める */
  background-size: 0% 100%;
}

nav a:hover {
  background:linear-gradient(transparent 50%, rgba(255, 78, 131, 0.5) 50%); /* マーカーを引く */
  display: inline;
  /* 背景の繰り返しを停止 */
  background-repeat: no-repeat;
  /* マーカーが引かれる速度を指定 */
  transition:background-size .8s;
  /* 横方向を100%にして、マーカーを引く */
  background-size: 100% 100%;
  /* マーカーが文字のおしりから微妙にズレるので調整 */
  background-position: -3px 0;
}

.nav-menu a.current {
  background:linear-gradient(transparent 50%, rgba(255, 78, 131, 0.5) 50%);
}

li {
  font-size: 1.3125rem;
  letter-spacing: 0.14em;
}

/* ---------- span ---------- */
span {
  font-weight: bold;
}

.green{
  font-weight: bold;
  background: linear-gradient(transparent 55%, #82f3c2 50%);
}

.red {
  font-weight: bold;
  color: #F34D80;
}

/* ---------------------------------
--- 背景模様
--------------------------------- */
.wrapper {
  /* 方眼紙模様 */
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #dbfcf5 calc(100% - 1px)),
  linear-gradient(90deg, transparent calc(100% - 1px), #dbfcf5 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
  margin: 0 auto;
}

/* ---------------------------------
--- ヘッダー
--------------------------------- */

header {
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 10;
   /* ----- 手書き風の下線 ----- */
  background-repeat: repeat-x;
  background-size: 0.6em 0.2em,1.6em 0.2em,3.4em 0.2em,3.6em 0.2em;
  background-position: right bottom;
  background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(246,89,115,0)), color-stop(0.1, rgba(246,89,115,0.02)), color-stop(0.5, rgba(112,112,112,1)), color-stop(0.98, rgba(246,89,115,0)), to(rgba(246,89,115,0)) );
  background-image:
          -webkit-radial-gradient(center center,0.2em 0.1em,rgba(112,112,112,1) 0,rgba(246,89,115,0) 0.1em,rgba(246,89,115,0) 0.2em),
          -webkit-radial-gradient(center center,0.4em 0.1em,rgba(112,112,112,1) 0,rgba(246,89,115,0) 0.3em,rgba(246,89,115,0) 0.4em),
          -webkit-radial-gradient(center center,0.7em 0.1em,rgba(112,112,112,1) 0,rgba(246,89,115,0) 0.6em,rgba(246,89,115,0) 0.7em),
          -webkit-radial-gradient(center center,7.1em 0.1em,rgba(112,112,112,1) 0,rgba(246,89,115,0) 7em,rgba(246,89,115,0) 7.1em);
  background-image:
          radial-gradient(0.2em 0.1em at center center,rgba(112,112,112,1),rgba(246,89,115,0)),
          radial-gradient(0.4em 0.1em at center center,rgba(112,112,112,1),rgba(246,89,115,0)),
          radial-gradient(0.7em 0.1em at center center,rgba(112,112,112,1),rgba(246,89,115,0)),
          radial-gradient(7.1em 0.1em at center center,rgba(112,112,112,1),rgba(246,89,115,0));
}

.nav-menu {
  margin: 0 auto;
  height: 80px;
  padding: 0 3%; /* 左右の余白 */
 /* 方眼模様 */
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #dbfcf5 calc(100% - 1px)),
  linear-gradient(90deg, transparent calc(100% - 1px), #dbfcf5 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
 mix-blend-mode: multiply; /* 乗算設定 */
}

.nav-menu ul {
  max-width: 1280px;
  min-width: 425px;
  text-align: right;
}

.nav-menu ul li {
  display: inline;
  line-height: 70px;
}

.nav-menu li::before {
  content: "/";
  margin-left: .5em;
  margin-right: .5em;
}
.nav-menu li:first-child::before {
  content: none;
}


/* ---------------------------------
--- メインコンテンツ
--------------------------------- */
main {
  max-width: 1280px;
  min-width: 425px;
  margin: 0 auto;
  padding: 0 3%;
  padding-top: 80px;
  margin-top: -80px;
  display: flex;
  justify-content: center;
}

.main-contents {
  width: 80%;
  padding: 4% 0 3% 5%;
}

section {
  padding-bottom: 1.5em;
  margin-bottom: 1.5em;
  background-image: repeating-linear-gradient(-60deg, #787878, #787878 0px, transparent 30px, transparent 30px, #787878 60px), repeating-linear-gradient(30deg, #787878, #787878 0px, transparent 30px, transparent 30px, #787878 60px), repeating-linear-gradient(120deg, #787878, #787878 0px, transparent 30px, transparent 30px, #787878 60px), repeating-linear-gradient(210deg, #787878, #787878 0px, transparent 0px, transparent 0px, #8b8b8b 100%);
background-size: 0, 0, 0 , 100% 3px;
background-position: 0 0, 0 0, 100% 0, 0 100%;
background-repeat: no-repeat;
}

section p:last-child {
  margin-bottom: 0;
}

.no-border {
  background-image: none;
  margin-bottom: 0;
}

/* ---------- サイドメニュー ----------*/
.side-menu {
  position: sticky;
  top: 80px;
  min-width: 240px;
  height: 100vh;
  padding-top: 3%;
  margin-right: 4%;
  margin: 0 auto;
}

/* 対応するセクションが表示されている場合の文字色 */
.nav-item.active {
  color: #F34D80;
}

dl {
  width: fit-content;
  height: auto;
}

dt {
  width: 200px;
  margin: 0.3em 0;
  font-size: 1.1875rem;
  font-weight: 400;
  letter-spacing: .22em;
  line-height: 1.6;
}

dt a {
  text-decoration: none;
  color: #333;
}

dd {
  width: 200px;
  font-size: 0.9375rem;
  font-weight: 500;
  padding-left: 1rem;
  letter-spacing: .1em;
  line-height: 2;
}

dd a {
  color: #555;
  text-decoration: none;
}

dd a:hover {
  color: #F34D80;
}

.sub_dd {
  padding-left: 1.5em;
}

/* ----- スクロールバーの設定 ----- */

.side-menu {
  /* 縦方向のスクロールバーを表示 */
  overflow-y: scroll;

  /* IE などのスクロールバーの色設定 */
  scrollbar-face-color: #999;
  scrollbar-track-color: #eee;

  /* スマホ用の慣性スクロール */
  -webkit-overflow-scrolling: touch;
  }

  .side-menu::-webkit-scrollbar {
    width: 5px;
  }
  .side-menu::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.3);
  }
  .side-menu::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1);
  }

/* ----------付箋の設定---------- */
.stiky-note {
  display: inline-block;
  position: relative;
  padding: .5em 1.3em .5em 1em;
  background-color: #eaffa7;
  box-shadow: -6px 6px 2px -5px #777777;
}

/* ----------コードサンプル枠の設定---------- */
iframe {
  padding-left: 20px;
  padding-bottom: 50px;
}


/* ---------- POINTの枠 ---------- */
.point-box {
  width: fit-content; /* 幅いっぱいに枠線を伸ばしたい場合は消してください */
  max-width: 850px;
  position: relative;
  margin: 1em auto 3em 20px;
  padding: 1.2em 1.3em 1em 0.5em;
  border: solid 5px #47dc9b;
  border-radius: 18px;
  mix-blend-mode: multiply; /* 乗算設定 */
  font-weight: bold;
}

.point-box p:last-child {
  padding-bottom: 0;
}

.point {
  font-family: 'Murecho', sans-serif;
  position: absolute;
  display: inline-block;
  top: -18px;
  left: 10px;
  padding: 0 9px;
  font-size: 1.5625rem;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0.3rem;
  background: #FFF;
  color: #47dc9b;
  font-weight: bold;
}

/* ---------- メモ風の枠 ---------- */
/* .memo {
  padding-bottom: 1.5em;
} */

.memo-box {
  max-width: 400px;/* 紙の横幅 100%にすると全幅表示に */
  padding: 15px 10px 45px;
  margin: 0 auto 30px; /* メモの配置位置。 */
  background: #EAFFA7;/* 紙の色 */
  color: #000;/* 文字色 */
  box-shadow: 0px 4px 4px 2px rgba(0,0,0,0.03);transform:rotate(2deg);
  word-break: break-all;
}

.memo_tape {
  width: 45%;
  height: 35px;
  margin: -25px auto 20px;
  background: rgba(255, 171, 171, 0.5);/* テープの色 */
  transform: rotate(-3deg);
  opacity: 0.9;
  font-size: 1.25rem;
}

.memo_title {
  font-family: 'Yusei Magic', sans-serif;
  font-size: 1.5rem;
  letter-spacing: .2em;
  padding-right: 20px;
  margin-bottom: .5em;
  text-align: center;
}

.memo p {
  padding-right: 20px;
  padding-bottom: 0;
  margin-bottom: 18px;
}

.memo p:last-child {
  margin-bottom: 0;
}

/* ---------- img --------- */
img {
  vertical-align: top;
  border: solid 5px #fff;
  background-color: #fff;
  box-shadow: 0px 0px 7px 3px rgba(17, 17, 26, 0.18);
}

.photo {
  width: fit-content;
  height: auto;
  margin-left: 20px;
  margin-bottom: 28px;
  text-align:center;
}

.photo-center {
  width: fit-content;
  height: auto;
  margin: 0 auto;
  padding-left: 20px;
  margin-bottom: 28px;
  text-align:center;
}

.photo-right {
  width: fit-content;
  height: auto;
  margin-left: auto;
  margin-right: 20px;
  padding-left: 20px;
  margin-bottom: 28px;
  text-align:center;
}

/* ---------------------------------
--- footer
--------------------------------- */
footer {
  max-width: 1280px;
  min-width: 425px;
  height: 45px;
  text-align: right;
  padding-right: 20px;
  margin: auto 4%;
}

footer  p {
  line-height: 0;
  font-size: 0.83rem;
}
