@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Zen+Antique+Soft&display=swap');

/*========= レイアウトのためのCSS ===============*/

#wrapper{
	justify-content: center;
	align-items: center;
	text-align:center;

}

a{
	color: #fff;
}

/*========= particle js を描画するエリア設定 ===============*/

html,body{
	height: 100%;/*高さを100%にして描画エリアをとる*/
	font-family: 'Noto Serif JP', serif;
	font-size: 1.2em;
	line-height: 1.6em;
}



.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	font-family: 'Noto Serif JP', serif;
    line-height: 1.8 !important;
	font-weight: bold;
}
#particles-js{ 
	position:fixed;/*描画固定*/
	z-index:-1;/*描画を一番下に*/
	width: 100%;
	height: 100%;
	background-color:#020E34;/*背景色*/
}

#wrapper{
	position: relative;/*描画を#particles-jsよりも上にするためposition:relative;を指定*/
	z-index: 1;/*z-indexの数字を大きくすることで描画を#particles-jsよりも上に*/
	width:100%;
	font-family: 'Noto Serif JP', serif;

}
/* アニメーション前のスタイル */
.js-markerb {
  display: inline;
  position: relative;
  background-image: linear-gradient(90deg, #0075a4, #0075a4); /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 30%; /* '30%'の部分にマーカーの太さを記入 */
  transition: all 1s ease-in-out; /* マーカーを引く速度を調整 */
  font-weight: bold; /* ついでに太字にしたい場合 */
	font-size: 1.1em;
}

/* アニメーション発火時 */
.js-markerb.inview {
  background-size: 100% 30%; /* '30%'の部分は上で設定した太さに合わせる */
}


/* アニメーション前のスタイル */
.js-marker {
  display: inline;
  position: relative;
  background-image: linear-gradient(90deg, #ffff66, #ffff66); /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 30%; /* '30%'の部分にマーカーの太さを記入 */
  transition: all 1s ease-in-out; /* マーカーを引く速度を調整 */
  font-weight: bold; /* ついでに太字にしたい場合 */
}

/* アニメーション発火時 */
.js-marker.inview {
  background-size: 100% 30%; /* '30%'の部分は上で設定した太さに合わせる */
}

.button-simple {
    position: relative;
    font-weight: bold;
    padding: 1em 1em;
    margin: 1em 10px;
    border-radius: 30px;/*角の丸み*/
    font-size: 2.2em;/*文字サイズ*/
    background-image: radial-gradient(circle, rgb(255 214 0), rgb(255 123 0) 54%);/*背景色*/
    color: #fff;/*文字色*/
    display: inline-block;
    text-shadow: 1px 1px 0px rgb(0, 0, 0, 1);
    box-shadow: 0 3px 0 rgb(255, 160, 0, 0.3);
	text-align: center;
}

a:hover .button-simple {
    background-color: #cc0000;/*触れたときの背景色*/
    color: #fff;/*触れたときの文字色*/
    box-shadow: 0 0px 0 rgb(0, 0, 0, 0.3);
    animation-play-state: paused;
    top: 3px;
}



.yureru-j {
    animation: yureru-j 2s infinite;
}
@keyframes yureru-j {
    0% {
        transform: translate(0px, 2px);
    }
    5% {
        transform: translate(0px, -2px);
    }
    10% {
        transform: translate(0px, 2px);
    }
    15% {
        transform: translate(0px, -2px);
    }
    20% {
        transform: translate(0px, 2px);
    }
    25% {
        transform: translate(0px, -2px);
    }
    30% {
        transform: translate(0px, 0px);
    }
}

.title_bar{
width: 100%; max-width: 200px; margin-bottom: 0em;
}

@media (min-width: 1200px){
.h2, h2 {
    font-size: 1.7em !important;
	font-weight: bold !important;

}
	
.title_bar{
width: 100%; max-width: 300px; margin-bottom: 0em;
}
	
}


@media screen and (max-width: 768px) {
.h2, h2 {
    font-size: 1.3em !important;
	font-weight: bold !important;
}

.h3, h3 {
 line-height: 1.6em !important;
}	
	.title_bar{
width: 100%; max-width: 200px; margin-bottom:0em;
}

}



/*------------------------------------
  PC - PHONE
------------------------------------*/
.pc_area	{ display:inline!important; }
.phone_area	{ display:none!important; }

@media screen and (max-width: 768px) {
.pc_area	{ display:none!important; }
.phone_area { display:inline!important; }
}


.red{ color: hsla(337,77%,49%,1.00);}
.yellow{ color: hsl(63deg 100% 88%);}



.boxs{box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;}

.info-cover {
    background: #ffffef url(https://dynavision.co.jp/SpiritualMoney/img/midashi_bg_1.jpg) repeat top center;
}

.white-cover, .sky-cover, .shadow-cover, .info-cover {
    width: 100%;
    margin: 0;
}

.info-cover h1 {
    padding: 40px 0;
    color: #524b14;
}

.honbun {
    padding: 10px 50px 0 50px;
}

.honbun, .honbun2 {
    margin: auto;
    width: 1000px;
}

.sessionbox	{ margin-bottom: -1em; padding: 1em; margin-top: -1em;}

@media screen and (max-width: 768px) {
.honbun, .honbun2 {
    margin: auto;
    width: 100%;
}
.info-cover h1 {
    padding: 40px 0;
    color: #524b14;
	font-size: 1.4em;
}
.honbun {
    padding: 10px 10px 0 10px;
}
html,body{

	font-size: 0.9em;
	line-height: 1.4em;
}
p {
    margin-top: 0;
    margin-bottom: 0em !important; 
}
	.sessionbox	{ margin-bottom: -1em; padding: 0em; margin-top: -1em;}
	
}


/* 回転するアニメーション */
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}

/* このクラスをつけると回転を無限に繰り返します */
.anime-fuwafuwa {
  animation: 4s fuwafuwa infinite;
	z-index: 1;
	min-width: 150px; z-index:1; left: 5%; top:3%; position: absolute; opacity: 0.9;
	width: 10%;
}


/* 回転するアニメーション */
@keyframes fuwafuwa2 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(20px);
  }
}

/* このクラスをつけると回転を無限に繰り返します */
.anime-fuwafuwa2 {
  animation: 4.5s fuwafuwa2 infinite;
		z-index: 201;
	min-width: 200px; right: 3%; top: 36%; position: absolute; opacity: 0.9;	width: 5%;
}

/* 回転するアニメーション */
@keyframes fuwafuwa3 {
  0%, 100% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(-30deg);
  }
}

/* このクラスをつけると回転を無限に繰り返します */
.anime-fuwafuwa3 {
animation: 5.5s fuwafuwa3 infinite;
z-index: 3;
		min-width: 180px; z-index:1; position: absolute; opacity: 0.9;	width: 8%;
	right: 45%; top:40%;
}


/* 回転するアニメーション */
@keyframes fuwafuwa4 {
  0%, 100% {
	  transform: rotate(0deg);
  }
  50% {
	  transform: rotate(20deg);
  }
}

.anime-fuwafuwa4 {
animation: 5.5s fuwafuwa4 infinite;
z-index: 3;
		min-width: 180px; z-index:200; position: absolute; opacity: 0.9;	width: 5%;
	left: 2%; top:35%;
}



@media screen and (max-width: 768px) {
	
.anime-fuwafuwa {
  animation: 4.5s fuwafuwa infinite;
		z-index: 2;
	min-width: 60px;  position: absolute; opacity: 0.9;	width: 10%;
}
	.anime-fuwafuwa2 {
  animation: 4.5s fuwafuwa2 infinite;
		z-index: 201;
	min-width: 40px;  position: absolute; opacity: 0.9;	width: 5%;
}
	.anime-fuwafuwa3 {
  animation: 4.5s fuwafuwa3 infinite;
		z-index: 2;
	min-width: 40px; position: absolute; opacity: 0.9;	width: 10%;
}
	.anime-fuwafuwa4 {
  animation: 4s fuwafuwa4 infinite;
		z-index: 200;
	min-width: 40px; position: absolute; opacity: 0.9;	width: 10%;
}

	
	.sm-center{ text-align: center;}
	
	
}

table {
    caption-side: bottom;
    border-collapse: inherit !important;
}

td{ padding: 1em;}



.youtube {
    position: relative;
    padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
    width: auto;
    border: 10px solid rgba(254,222,255,1.00);
}
 
.youtube iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}


.qa-004{ background-color: #fff; padding: 1em; border-radius: 10px;}

.qa-004 dt,
.qa-004 dd {
    display: flex;
    align-items: center;
    position: relative;
    margin: 0;
    padding: 1em 2em 1em 3.1em;
    color: #000000;
}

.qa-004 dt {
    font-weight: 600;
}

.qa-004 dd + dt {
    margin-top: 1em;
}

.qa-004 dt::before,
.qa-004 dd::before {
    display: inline-block;
    position: absolute;
    width: 40px;
    height: 40px;
	top: 20px;
    left: 0;
    border-radius: 50%;
    color: #fff;
    font-weight: 600;
    font-size: 1.1em;
    line-height: 40px;
    text-align: center;
}

.qa-004 dt::before {
    background-color: #75bbff;
    content: 'Q';
}

.qa-004 dd::before {
    background-color: #ff8d8d;
    content: 'A';
}


.ribbon1 {
  display: inline-block;
  position: relative;
  height: 50px;/*リボンの高さ*/
  line-height: 50px;/*リボンの高さ*/
  text-align: center;
  padding: 0 30px;/*横の大きさ*/
  font-size: 18px;/*文字の大きさ*/
  background: #f57a78;/*塗りつぶし色*/
  color: #FFF;/*文字色*/
  box-sizing: border-box;
}

.ribbon1:before, .ribbon1:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ribbon1:before {
  top: 0;
  left: 0;
  border-width: 25px 0px 25px 15px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.ribbon1:after {
  top: 0;
  right: 0;
  border-width: 25px 15px 25px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}

.form ul{ list-style: none; margin: 0px; padding: 0px;}
.form ul li{ list-style: none;}

.hs_email { font-weight: 500; line-height: 2em;}

.hs-button {
background: rgb(29,142,21);
background: linear-gradient(0deg, rgba(29,142,21,1) 0%, rgba(21,198,87,1) 100%);
    border-color: #9FC5E8;
    color: #ffffff;
    font-size: 1.7em;
    /* line-height: 30px; */
	font-family: 'Noto Serif JP', serif;
	padding: 20px;
    width: 100% !important;
	height: 100px !important;
border-radius: 4px; margin-bottom: 1em; font-weight: 600;
text-shadow: 1px 1px 4px #264C06;
transition: 0.3s;
-webkit-transition: 0.3s;
-moz-transition: 0.3s;
-o-transition: 0.3s;
}

.hs-button:hover {
background: rgb(204,90,16);
background: linear-gradient(0deg, rgba(204,90,16,1) 0%, rgba(242,185,0,1) 100%);
text-shadow: 1px 1px 4px #4C3406;
color: hsla(59,100%,50%,1.00);}

.hs-input{ background-color: #fff; width: 100%; border-radius: 4px; height: 3em; padding: 10px; margin-top: 10px;}
.hs-error-msg, .hs_error_rollup{ font-size:0.8em; color:red; margin-top: 10px;

}

.hs-main-font-element{margin-bottom: 2em; color: red;}

.inputs-list{ list-style:none;}

.hs_submit{margin-top: 1em;}

.hs_email{text-align:left;}

.obibar{background-color: #ae8814; color: #fff; line-height: 1.4em; padding: 1em; text-align: center; background-image: url('img/obi_bg.jpg'); background-position: bottom; background-repeat: repeat-x; font-size: 1.7em; text-shadow: 0px 0px 4px #52006A; opacity: 1; font-family: 'Noto Serif JP', serif; font-weight: 600;

}

    .boxtext{padding: 2em; background-color: #fff; font-size:1.6em; color: #8D6D20;}	

@media screen and (max-width: 768px) {
	
.obibar{font-size: 1em;

}
    .boxtext{padding: 15px; background-color: #fff; font-size:1.1em; color: #8D6D20;}	
	
.hs-button {
    font-size: 1.4em;
}
	
}

.lessonbox {
    background-color: #A30549;
    margin-bottom: 50px;
    padding-top: 2%;
    padding-right: 2%;
    padding-bottom: 2%;
    padding-left: 2%;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
	border-radius: 20px;
}
.lessonbox h4  {
    text-align: center;
    border-bottom: thin solid #8B004B;
    color: #80002B;
	padding-bottom: 10px;
	line-height: 1.4em !important;
}

.inner3 {
    width: auto;
    background-color: rgba(255,255,255,0.96);
    padding-top: 5%;
    padding-right: 5%;
    padding-bottom: 5%;
    padding-left: 5%;
    -webkit-box-shadow: 0px 0px;
    box-shadow: 0px 0px;
    border-radius: 10px;
}

.dropcap{ clear:both; margin-bottom: 10px; padding-bottom: 10px;  border-bottom: 1px dashed hsla(0,35%,84%,1.00); padding-top: 10px;}



.moushibtn {
    margin-top: 10px;
    margin-bottom: 10px;
    padding-left: 0px;
    padding-bottom: 10px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-top: 20px;
    background-color: #FCF6E8;
    max-width: 900px;
	font-family: 'Noto Serif JP', serif;
    font-size: medium;
		  padding: 10px;
}
#form{
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding-top: 1%;
    padding-right: 1%;
    padding-bottom: 1%;
    padding-left: 1%;
}

input.text{width: 100%; height:50px; margin:0 auto; padding:10px;}

input#submit_button {
    -moz-box-shadow: inset 0px 1px 0px 0px #ffffff;
    -webkit-box-shadow: inset 0px 1px 0px 0px #ffffff;
    box-shadow: inset 0px 1px 0px 0px #ffffff;
    background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #6ac16a), color-stop(1, #16a73f) );
    background: -moz-linear-gradient( center top, #6ac16a 5%, #16a73f 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf');
    background-color: #52a635;
    -webkit-border-top-left-radius: 6px;
    -moz-border-radius-topleft: 6px;
    border-top-left-radius: 6px;
    -webkit-border-top-right-radius: 6px;
    -moz-border-radius-topright: 6px;
    border-top-right-radius: 6px;
    -webkit-border-bottom-right-radius: 6px;
    -moz-border-radius-bottomright: 6px;
    border-bottom-right-radius: 6px;
    -webkit-border-bottom-left-radius: 6px;
    -moz-border-radius-bottomleft: 6px;
    border-bottom-left-radius: 6px;
    text-indent: 0;
    color: #FFFFF;
    font-size: 1.6em;
    font-weight: bold;
    text-align: center;
    width: 100%;
    margin: 10px auto 10px auto;
    padding-top: 5%;
    padding-right: 5%;
    padding-left: 5%;
    padding-bottom: 5%;
    cursor: pointer;
	}
input#submit_button a {
	color:#ffffff;
	font-weight:bold;
}
input#submit_button:hover {
	background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #52a635), color-stop(1, #3d7928) );
	background:-moz-linear-gradient( center top, #52a635 5%, #3d7928 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0095cc', endColorstr='#00678e');
	background-color:#dfdfdf;
	color:#ffffff;
}
input#submit_button:active {
	position:relative;
	top:1px;
	color:#ffffff;
}
.dropcap:first-letter {
    font-size: 1.6em;/*文字の大きさ*/
    margin-right: 10px;
    margin-top: 0px;
    float: left;
    line-height: 1;/*必要*/
}.txtrose {
    color: #80002B;	
}
		  input.text {
    background: #fff;
}
		  #submit_button{color: #fff;}

.box ul {
  border: solid 2px #CAB168;
		  border-bottom: none!important;
  padding: 0.5em 1em 0.5em 2.3em;
  position: relative;
  margin-top: 2em;
		 font-family: 'Noto Serif JP', serif;
		 font-weight: 900;

}
.box ul li {
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none!important;
}
.box ul li:before {
  /*リストのアイコン*/
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  position: absolute;
  left : 1em; /*左端からのアイコンまでの距離*/
  color: #CAB168; /*アイコン色*/
}
.box ul li:after {
  /*タブ*/
  background: #CAB168;
  color: #fff;
  font-family: "Font Awesome 5 Free",'Avenir','Arial',sans-serif;
  position: absolute;
  left: -2px;
  bottom: 100%;
  padding: 1px 7px;
  content: '\f0a7  C h e c k';/*アイコンコード＋文字*/
  letter-spacing: 0.05em;/*字間*/
}

footer {
    text-align: center;
    font-size: medium;
    line-height: 140%;
    color: rgb(196 174 86);
    text-shadow: 0px 0px 5px #ffffff;
    width: 100%;
    background: url(https://dstjapan.com/FSP2023/img/.jpg) center no-repeat;
    background-position: center top;
    background-size: cover;
    background-color: #fffdf0;
    padding: 2em 0;
}
    footer a:link {
    color: #BBF5FF;
}
footer p {
    padding: 0px; margin: 0px; line-height: 1.6em;
	font-size: 0.9em;
}


    .bookstore {
        background-color: #f4f4f4;
        padding: 10px;
        margin-bottom: 10px;
    }

    .bookstore ul {
        list-style-type: none;
        padding: 0;
    }

    .bookstore li {
        margin-bottom: 5px;    
        list-style: circle;
    margin-left: 2em;
    }

.boxS{padding: 4px; box-shadow: 1px 1px 8px #A1866C; max-width:600px; background-color: #fff;}






.btn,
a.btn,
button.btn {
  font-size: 1em;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

.btn-wrap-pc-sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  /*テスト表示用*/
  margin: 0 auto 20px;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;
}

a.btn-pc-sp:hover{ color: yellow;}

a.btn-pc-sp {
  line-height: 1.4;

  width: 49.5%;
  padding: 1.25rem 0;

  color: #ffff;
}

a.btn-pc-sp--contact {
  color: #fff;
  background: #eb6100;
}

a.btn-pc-sp--make {
  color: #fff;
  background: #2C4BAE;
    width: 100%;
}

a.btn-pc-sp--form {
  color: #fff;
  background: #942626;
    width: 100%;
}

a.btn-pc-sp--form2 {
  color: #fff;
  background: #947F2E;
    width: 100%;
}


a.btn-pc-sp--form3 {
  color: #fff;
  background: #2E4C94;
    width: 100%;
}




a.btn-pc-sp--tel {
  color: #fff;
  background: #094;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1rem;
}


p {
  margin-bottom: 0 !important;
}