@charset "UTF-8";
/* Reset Style */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
 margin: 0;
 padding: 0;
 border: 0;
 outline: 0;
 font-size: 100%;
 vertical-align: baseline;
 background: transparent;
}
body {
 line-height: 1.25;
 word-break: break-all;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
 display: block;
}
nav ul {
 list-style: none;
}
blockquote, q {
 quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
 content: '';
 content: none;
}
a {
 margin: 0;
 padding: 0;
 font-size: 100%;
 vertical-align: baseline;
 background: transparent;
}
/* change colours to suit your needs */
ins {
 background-color: #ff9;
 color: #000;
 text-decoration: none;
}
/* change colours to suit your needs */
mark {
 background-color: #ff9;
 color: #000;
 font-style: italic;
 font-weight: bold;
}
del {
 text-decoration: line-through;
}
abbr[title], dfn[title] {
 border-bottom: 1px dotted;
 cursor: help;
}
table {
 border-collapse: collapse;
 border-spacing: 0;
}
/* change border colour to suit your needs */
hr {
 display: block;
 height: 1px;
 border: 0;
 border-top: 1px solid #cccccc;
 margin: 1em 0;
 padding: 0;
}
input, select {
 vertical-align: middle;
}
img {
 width: 100%;
}
img[src$=".svg"] {
 width: 100%;
}
ol, ul {
 list-style: none outside none;
 margin: 0;
 padding: 0;
}
li {
 list-style-type: none;
}
*, *::before, *::after {
 box-sizing: border-box;
}
/* ----------------------------------------------------------------
    link
  ----------------------------------------------------------------- */
a {
 color: #ddd;
 outline: none;
}
a:link {
 text-decoration: none;
}
a:hover {
 text-decoration: none;
}
a.disable {
 cursor: default;
}
a:visited {
 text-decoration: none;
}
a.disable:hover {
 text-decoration: none;
}
a.default:link {
 color: #0000ff;
 text-decoration: underline;
}
a.default:link:hover {
 text-decoration: none;
}
a.default:visited {
 color: #800080;
}
a.default:active {
 color: #ff8000;
}
a.default:hover {
 color: #b80120;
}
.no-link {
 opacity: 0.5;
 pointer-events: none; /*リンクを非リンクに変える*/
 cursor: default; /*マウスカーソルを矢印のまま変えない*/
 text-decoration: none; /*下線を消す*/
}
/* ----------------------------------------------------------------
    common
  ----------------------------------------------------------------- */
html {
 overflow-x: hidden;
}
html, body {
 width: 100%;
 height: 100%;
 margin: 0;
 padding: 0;
 font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
 font-weight: 400;
}
body {
 background-color: #ddd;
 color: #333;
 -webkit-font-smoothing: antialiased;
}
nav {
 position: sticky;
 top: 0;
 z-index: 100;
}
.navi {
 background: linear-gradient(to right, #ba79b1 0%, #ba79b1 100%);
 color: #222;
 font-family: minion-3-display, serif;
 font-weight: 600;
 font-size: 24px;
 font-style: normal;
 letter-spacing: 0.1em;
 text-align: center;
 padding: 20px 0;
 width: 100%;
}
.navi a {
 color: #222;
 padding: 20px 20px;
}
.navi a:hover {
 color: #fff;
 transition: 0.5s;
}
.indent {
 margin-top: 10px;
 margin-left: 1em;
 text-align: justify;
 text-indent: -1em;
}
@media only screen and (max-width: 768px) {
 nav {
  height: 50px;
 }
 .navi {
  font-size: 16px;
  letter-spacing: 0;
  line-height: 2;
  padding: 10px 0;
 }
 .navi a {
  padding: 10px 8px;
 }
}
footer {
 margin-top: 5%;
}
.copyright {
 background-color: #ba79b1;
 color: #000;
 display: inline-block;
 font-size: 14px;
 padding: 15px 0;
 text-align: center;
 width: 100%;
}

/* ----------------------------------------------------------------
    第二階層
  ----------------------------------------------------------------- */
.page-title {
 color: #ba79b1;
 font-family: minion-3-display, serif;
 font-weight: 600;
 font-size: 72px;
 font-style: normal;
 letter-spacing: 0.1em;
 line-height: 1.0;
 padding-top: 5%;
 position: relative;
 text-align: center;
 width: 100%;
}
.page-title2 {
 color: #ba79b1;
 font-family: minion-3-display, serif;
 font-weight: 600;
 font-size: 72px;
 font-style: normal;
 letter-spacing: 0.1em;
 line-height: 1.0;
 position: relative;
 text-align: center;
 width: 100%;
 margin: 0 auto;
}
@keyframes noise-anim { /*細かい動きを設定してノイズが走っているかのように動かす*/
 0% {
  clip: rect(77px, 9999px, 6px, 0);
 }
 5% {
  clip: rect(65px, 9999px, 70px, 0);
 }
 10% {
  clip: rect(82px, 9999px, 82px, 0);
 }
 15% {
  clip: rect(32px, 9999px, 35px, 0);
 }
 20% {
  clip: rect(31px, 9999px, 49px, 0);
 }
 25% {
  clip: rect(18px, 9999px, 46px, 0);
 }
 30% {
  clip: rect(94px, 9999px, 64px, 0);
 }
 35% {
  clip: rect(69px, 9999px, 31px, 0);
 }
 40% {
  clip: rect(6px, 9999px, 72px, 0);
 }
 45% {
  clip: rect(25px, 9999px, 35px, 0);
 }
 50% {
  clip: rect(82px, 9999px, 26px, 0);
 }
 55% {
  clip: rect(7px, 9999px, 92px, 0);
 }
 60% {
  clip: rect(54px, 9999px, 30px, 0);
 }
 65% {
  clip: rect(86px, 9999px, 90px, 0);
 }
 70% {
  clip: rect(38px, 9999px, 65px, 0);
 }
 75% {
  clip: rect(41px, 9999px, 66px, 0);
 }
 80% {
  clip: rect(31px, 9999px, 37px, 0);
 }
 85% {
  clip: rect(8px, 9999px, 12px, 0);
 }
 90% {
  clip: rect(50px, 9999px, 69px, 0);
 }
 95% {
  clip: rect(7px, 9999px, 42px, 0);
 }
 100% {
  clip: rect(14px, 9999px, 57px, 0);
 }
}
.page-title2:after { /*疑似要素を加えてカスタムデータ属性の値を表示、重ねる*/
 content: attr(data-text);
 position: absolute;
 left: 2px;
 text-shadow: -1px 0 red;
 top: 0;
 color: white;
 overflow: hidden;
 clip: rect(0, 900px, 0, 0);
 animation: noise-anim 2s infinite linear alternate-reverse;
 text-align: center;
 width: 100%;
 margin: 0 auto;
}
@keyframes noise-anim-2 { /*ノイズ用アニメーションその2*/
 0% {
  clip: rect(18px, 9999px, 13px, 0);
 }
 5% {
  clip: rect(74px, 9999px, 51px, 0);
 }
 10% {
  clip: rect(33px, 9999px, 65px, 0);
 }
 15% {
  clip: rect(64px, 9999px, 66px, 0);
 }
 20% {
  clip: rect(75px, 9999px, 6px, 0);
 }
 25% {
  clip: rect(40px, 9999px, 49px, 0);
 }
 30% {
  clip: rect(71px, 9999px, 1px, 0);
 }
 35% {
  clip: rect(42px, 9999px, 73px, 0);
 }
 40% {
  clip: rect(92px, 9999px, 57px, 0);
 }
 45% {
  clip: rect(4px, 9999px, 33px, 0);
 }
 50% {
  clip: rect(4px, 9999px, 34px, 0);
 }
 55% {
  clip: rect(49px, 9999px, 25px, 0);
 }
 60% {
  clip: rect(24px, 9999px, 44px, 0);
 }
 65% {
  clip: rect(31px, 9999px, 99px, 0);
 }
 70% {
  clip: rect(54px, 9999px, 83px, 0);
 }
 75% {
  clip: rect(57px, 9999px, 97px, 0);
 }
 80% {
  clip: rect(3px, 9999px, 15px, 0);
 }
 85% {
  clip: rect(84px, 9999px, 34px, 0);
 }
 90% {
  clip: rect(100px, 9999px, 88px, 0);
 }
 95% {
  clip: rect(91px, 9999px, 59px, 0);
 }
 100% {
  clip: rect(10px, 9999px, 87px, 0);
 }
}
.page-title2:before {
 content: attr(data-text);
 position: absolute;
 left: -2px;
 text-shadow: 1px 0 blue;
 top: 0;
 color: white;
 overflow: hidden;
 clip: rect(0, 900px, 0, 0);
 animation: noise-anim-2 3s infinite linear alternate-reverse;
 text-align: center;
 width: 100%;
 margin: 0 auto;
}
.page-contents {
 margin: 5% auto 0;
 max-width: 1200px;
 width: 90%;
}
.sec-title {
 color: #ba79b1;
 font-family: minion-3-display, serif;
 font-weight: 600;
 font-size: 60px;
 font-style: normal;
 letter-spacing: 0.1em;
 text-align: center;
}
@media only screen and (max-width: 768px) {
 .page-title {
  font-size: 36px;
  font-style: normal;
  letter-spacing: 0.1em;
  padding-top: 5%;
 }
 .page-title-secondary {
  padding-top: 15%;
 }
 .page-contents {
  width: 90%;
 }
}
/* ----------------------------------------------------------------
    youtubeレスポンシブ
  ----------------------------------------------------------------- */
.movie-wrap {
 overflow: hidden;
 padding-bottom: 56.25%;
 height: 0;
 position: relative;
}
.movie-wrap iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
/* ----------------------------------------------------------------
    display: none
  ----------------------------------------------------------------- */
@media only screen and (max-width: 767px) {
 .hidden-sp {
  display: none !important;
 }
}
@media only screen and (min-width: 768px) {
 .hidden-pc {
  display: none !important;
 }
}
@media only screen and (min-width: 1023px) {
 .display-tb {
  display: none !important;
 }
}
@media only screen and (max-width: 1024px) {
 .hidden-tb {
  display: none !important;
 }
}