@charset "utf-8";
body {
	font: normal 18px/1.6 "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","メイリオ",Meiryo,Arial,Verdana,sans-serif;
	text-align: left;
	color:#000000;
	background-color: #e5e5e5;
	text-align: justify;
	overflow-x: hidden;
}

@media screen and (max-width: 640px) {
    body {
        font: normal 16px/1.6 "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","メイリオ",Meiryo,Arial,Verdana,sans-serif;
		background-color: #fff;
    }  
}

body .sp-item {
    display: none !important; }
  body .pc-item {
    display: block !important; }
	
  @media screen and (max-width: 640px) {
    body {
      min-width: inherit; 
	  height:100%; 
	  }
      body .sp-item {
        display: block !important; }
      body .pc-item {
        display: none !important; } 
	  body .sp-item img {
		width:100%;}
}

@media screen and (max-width: 640px) {
.sp img{
		max-width: 90%;	
}
.sp02 img{
		max-width: 100%;	
}
.sp03 img{
		max-width: 70%;	
}
}


html {
  scroll-behavior: smooth;
}

a.rollover:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.rollover:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.center {
	text-align: center;
}
.right {
	text-align:right;
}
.line_0 {
	line-height: 0;
}

.resizeimage img { width: 100%; }
input.rollover{
  width: 100%;
}
form.myForm input[type="text"]{
  height: 60px;
  max-width: 880px;
  margin: 6px 10px 6px 10px;
  border: 3px solid #cccccc;
  padding: 6px 5px 6px 5px;
  font-size: 24px;
  text-align: center;
  border-radius: 0;
  background-color: none;
}
form.myForm div.submit{
  margin-top: 0;
}
@media screen and (max-width: 640px){
  form.myForm input[type="text"]{
    width: 95%;
    height: 25px;
    margin: 6px 0px 6px 0px;
    padding: 6px 5px 6px 5px;
    font-size: 14px;
  }
}
/* ----------------------------------------------------
 
    text
 
---------------------------------------------------- */
.un {
	text-decoration: underline;
    font-style: normal;
}

.bold {
	font-weight: bold;
}

.strike {
	text-decoration: line-through;
}

.font15 {
	font-size: 15px !important;
}
.font16 {
	font-size: 16px !important;
}
.font17 {
	font-size: 17px !important;
}
.font18 {
	font-size: 18px !important;
}
.font19 {
	font-size: 19px !important;
}
.font20 {
	font-size: 20px !important;
}
.font21 {
	font-size: 21px !important;
}
.font22 {
	font-size: 22px !important;
}
.font23 {
	font-size: 23px !important;
}
.font24 {
	font-size: 24px !important;
}
.font_s {
	font-size: 1.5rem;
}
.font_m {
	font-size: 2rem;
}

.font_l {
	font-size: 2.3rem;
}

.font_ll {
	font-size: 2.6rem;
}
@media screen and (max-width: 640px){
.font_ll {
	font-size: 1.5em;
}
}






@media screen and (min-width: 640px){
.br-sp {display: none; }
}

.top_speace {
	padding-top: 1.3em;
}

.top_speace02 {
	padding-top: 2em;
}
@media screen and (min-width: 640px){
.top_speace02 {
	padding-top: 0;
}
}

.bottom_space {
  margin-bottom: 1em;
}

.bottom_space2 {
  margin-bottom: 3em;
}
@media screen and (min-width: 640px){
.bottom_space2 {
  margin-bottom: 0;
}	
}


/* ----------------------------------------------------
 
    マーカー
 
---------------------------------------------------- */

/*　マーカー100%・黄　*/
.mk_y {
	background-color: #FFFF33;
	font-weight: bold;
}

/* マーカー25%・濃い黄色 */
.mk_y25 {
background:linear-gradient(transparent 75%, #ffdc00 75%);
font-weight:bold; 
}



/* ----------------------------------------------------
 
    アンダーライン　他
 
---------------------------------------------------- */

/*　アンダーライン赤　*/
.u_red {
	border-bottom: 3px solid #CA0000;
	padding-bottom: 0px;
	font-weight: bold;
}

/*　アンダーライン黒　*/
.u_black {
	border-bottom: 2px solid #333;
	padding-bottom: 0px;
	font-weight: bold;
}

/*　アンダーライン赤　+　赤太字　+　黄マーカー　*/
.um_red {
	color: #CA0000;
	background-color: #FFFF70;
	border-bottom: 2px solid #CA0000;
	padding-bottom: 0px;
	font-weight: bold;
}

/*　アンダーライン赤　+　赤太字 */
.um_red2 {
	line-height: 2rem;
	color: #CA0000;
	border-bottom: 2px solid #CA0000;
	padding-bottom: 0px;
	font-weight: bold;
}

/*　アンダーライン黒　+　太字　+　黄マーカー　*/
.um_black {
	background-color: #FFFF70;
	border-bottom: 1px solid #333;
	padding-bottom: 0px;
	font-weight: bold;
}

/*　赤（暗）文字　*/
.red {
	color: #E30000;
}

/*　白文字　*/
.white {
	color: white;
}

/*　青文字　*/
.blue {
	color: #0066cc;
}


/* ----------------------------------------------------
 
    リスト
 
---------------------------------------------------- */
.list01 {
	margin-top: 10px;
	line-height: 1.3em;
}
.list01 ul {
    list-style: none outside;
    padding: 20px;
}
.list01 li {
    font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1em;
    background: url("../images/c1.png") no-repeat;
    background-position: 0px 10px;
	padding: 10px 10px 10px 30px;
}

@media screen and (max-width: 640px) {
.list01 {
    line-height: 1.4;
}
.list01 ul {
    list-style: none outside;
    padding: 0px;
}
.list01 li {
    font-size: 1.2em;
	letter-spacing: 0.05em;
    background: url(../images/c1.png) no-repeat;
    background-position: 10px 10px;
	padding: 10px 10px 10px 35px;
}
}


.list02 {
	margin: 10px auto 30px;
	line-height: 1.3em ;
}
.list02 ul {
    list-style: none outside;
	padding: 20px;
}
.list02 li {
    font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1em;
    background: url("../images/c8.png") no-repeat;
    background-position: 0px 10px;
	padding: 10px 10px 10px 30px;
}

@media screen and (max-width: 640px) {
.list02 {
    line-height: 1.4;
	margin: 0.5em;
}
.list02 ul {
    list-style: none outside;
    padding: 0px;
}
.list02 li {
    font-size: 1.2em;
	letter-spacing: 0.05em;
    background: url("../images/c8.png") no-repeat;
    background-position: 10px 10px;
	padding: 10px 10px 10px 35px;
}
}

.list03 {
	line-height: 1.3em ;
    margin: 20px auto;
}
.list03 ul {
    list-style: none outside;
    padding: 0px;
}
.list03 li {
    font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1em;
    background: url("../images/c8.png") no-repeat;
    background-position: 0px 10px;
	padding: 10px 10px 10px 30px;
}

@media screen and (max-width: 640px) {
.list03 {
    line-height: 1.4;
}
.list03 ul {
    list-style: none outside;
    padding: 0px;
}
.list03 li {
    font-size: 1.2em;
	letter-spacing: 0.05em;
    background: url("../images/c8.png") no-repeat;
    background-position: 10px 10px;
	padding: 10px 10px 10px 35px;
}
}


/* ----------------------------------------------------
 
    ボタン
 
---------------------------------------------------- */

/* 固定ボタン */
.fixed_btn {
	position: fixed;
	bottom: 40px;
	right: 0px;
}

@media screen and (max-width: 640px) {
.fixed_btn {
	position: fixed;
	bottom: 0px;
}
}


hr {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #fff;
}

.hr01 {
	position: relative;
	height: 3px;
	border-width: 0;
	background-image: -webkit-linear-gradient(left,
	transparent 0%,#283593 50%,transparent 100%);
	background-image:         linear-gradient(90deg,
	transparent 0%,#283593 50%,transparent 100%);
}


/* ----------------------------------------------------
 
    コンテンツ
 
---------------------------------------------------- */

@media screen and (max-width: 640px) {
.box {
height: 70px;
width: 90%;
border: 1px solid #ccc;
overflow: auto;
font-size: 10px;
background-color: #fff;
color: #000;
margin: 2em auto;
padding: 0.5em;
}
}


/*　幅いっぱい　*/
.wrapper_full {
	max-width: 1000px;
	background-color: #fff;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}
@media screen and (max-width: 640px) {
.wrapper_full {
	max-width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
	
}

/*　メインコンテンツ枠　白　*/
.wrapper {
	max-width: 1000px;
	background-color: #fff;
	margin: 0 auto;
	padding: 30px 50px;
	box-sizing: border-box;
}

@media screen and (max-width: 640px) {
.wrapper {
	max-width: 100%;
	margin: 0;
	padding: 0 1em 0.05em;
	box-sizing: border-box;
}	
}
/*　メインコンテンツ枠　白　*/
.wrapper2 {
	max-width: 1000px;
	background-color: #fff;
	margin: 0 auto;
	padding: 30px 50px;
	box-sizing: border-box;
}

@media screen and (max-width: 640px) {
.wrapper2 {
	max-width: 100%;
	margin: 0;
	padding:  1em;
	box-sizing: border-box;
}	
}



/*　サブコンテンツ枠１　*/
.sub1 {
 margin: 30px auto;
 padding: 1em;
 background-color: #fff; /* 背景色 */
 border: 10px solid #ccc; /* 枠線 */
}

/* サブコンテンツ枠2*/
.sub2 {
 margin: 20px auto;
 padding: 3em;
 background-color: #fff; /* 背景色 */
 border: 10px solid #3B5998; /* 枠線 */
}
@media screen and (max-width: 640px) {
.sub2 {
margin: 0.05em 0.05em 1em 0.05em;
padding: 0.5em 0.5em 1em 0.5em;
box-sizing: border-box;
}
}

/* 3つの理由*/
.reason3 {
 margin: 20px auto;
 padding: 3em;
 background-color: #fff; /* 背景色 */
 border: 10px solid #3B5998; /* 枠線 */
}
@media screen and (max-width: 640px) {
.reason3 {
margin: 0.5em 0.05em 1em 0.05em;
padding: 1em 1em 2em;
box-sizing: border-box;
}
}


/* サブコンテンツ枠3（影） */
.sub3 {
 margin: 30px auto;
 padding: 2em 1em;
 background-color: #FFF5EE; /* 背景色 */
 box-shadow: 0 0 5px 1px #ccc; /* 影 */
}


/* サブコンテンツ枠４（影）*/
.sub4 {
 margin: 30px auto;
 padding: 1em;
 background-color: #EEFFFF; /* ボックス背景色 */
 color: #666; /* 文章色 */
 box-shadow: 0 0 5px 1px #c0c0c0; /* 影 */
 border-radius: 10px; /* 角の丸み */
}


/* サブコンテンツ枠7　背景色のみ　薄いグレー */
.sub7 {
 margin: 10px auto;
 padding: 0.5em 1em;
 color: #333; /* 文字色 */
 background-color: #F7F7F7; /* 背景色 */
}
@media screen and (max-width: 640px) {
.sub7 {
 margin: 10px auto;
 padding: 0.5em;
 background-color: #F7F7F7; /* 背景色 */
}	
}


/* サブコンテンツ枠8　背景色のみ クリーム色 */
.sub8 {
 margin: 0 auto;
 padding: 1em;
 color: #333; /* 文字色 */
 background-color: #FFD300; /* 背景色 */
}
@media screen and (max-width: 640px) {
.sub8 {
margin: 1em 0;
padding: 0.5em;
}	
}


/*　サブコンテンツ枠9　　*/
.sub9 {
 margin: 0px auto;
 padding: 2em;
 background-color: #F7EFE2; /* 背景色 */
 border: 5px solid #D2BC99; /* 枠線 */
}
.sub9 p {
	font-size: 16px;
}
@media screen and (max-width: 640px) {
.sub9 {
 margin: 0.5em;
 padding: 0.5em;
}
}



/*　サブコンテンツ枠10　　*/
.sub10 {
 margin: 0 auto;
 background-color: #FFFFFF; /* 背景色 */
}
@media screen and (max-width: 640px) {
.sub10 {
margin: 1em 0;
padding: 0.5em;
background-color: #FFFFFF; /* 背景色 */
}
}

/*　講座の一部　　*/
.itibu {
 margin: 0 auto;
 padding: 20px 105px;
 background-color: #FFFFFF; /* 背景色 */
}
@media screen and (max-width: 640px) {
.itibu {
margin: 1em 0;
padding: 0.5em;
background-color: #FFFFFF; /* 背景色 */
}
}


/*　サブコンテンツ枠11　　*/
.sub11 {
 margin: 1em 0;
 padding: 1em; 
 background-color: #FFFFFF; /* 背景色 */
}

@media screen and (max-width: 640px) {
.sub11 {
 margin: 1em 0;
 padding: 0.5em; 
 background-color: #FFFFFF; /* 背景色 */
}	
}

/*　お客様の声　枠　　*/
.voice {
 margin: 0px auto;
 padding: 1em;
 background-color: #32408D; /* 背景色 */
}

.voice p {
background-color: #fff;
padding: 1em;
}

@media screen and (max-width: 640px) {
.voice {
 margin: 0em auto;
 padding: 0.5em;
}
}


/*　特典枠　　*/
.sub12 {
 margin: 15px auto;
 padding: 3em;
 background-color: #FFD300; /* 背景色 */
}

.sub12 p {
	margin: 0 auto;
	padding: 1em;
	background-color: #fff;
}

@media screen and (max-width: 640px) {
.sub12 {
 margin: 0.5em auto;
 padding: 1em;
 background-color: #FFD300; /* 背景色 */
}

.sub12 p {
	margin: 0 auto;
	padding: 1em;
	background-color: #fff;
}
}




/* 補足BOX　1 */
.hosoku1 {
 margin: 2em 0em 2em 4em; /* 枠外との間隔（上、右、下、左） */
 padding: 5px 10px;
 font-size: 0.9em; /* 文字サイズ */
 border-left: 6px double #4d4398; /* 線の太さ・線種・色 */
}

/*　CTAの確認事項　　*/
.text01 {
	font-size: small;
	margin: 0.5em 0 2em;
	padding: 1em; 
}



/* ----------------------------------------------------
 
    タイトル等
 
---------------------------------------------------- */

.s_title {
	text-align: center;
	font-size: 1.5rem;
	line-height: 1.5em;
	padding: 1rem auto;
}

.title01 {
  position: relative;
  display: inline-block;
  padding: 0 65px;
  text-align: center;
}
.title01:before,
.title01:after {
  position: absolute;
  top: calc(50% - 3px);
  width: 50px;
  height: 6px;
  content: '';
  border-top: solid 2px #000;
  border-bottom: solid 2px #000;
}
.title01:before {
  left: 0;
}
.title01:after {
  right: 0;
}

@media screen and (max-width: 640px) {
.title01 {
  position: relative;
  display: inline-block;
  padding: 0 65px;
  text-align: center;
}
.title01:before,
.title01:after {
  position: absolute;
  top: calc(50% - 3px);
  width: 50px;
  height: 6px;
  content: '';
  border-top: solid 2px #000;
  border-bottom: solid 2px #000;
}
.title01:before {
  left: 0;
}
.title01:after {
  right: 0;
}
}

.title02 {
  position: relative;
  padding: .5rem;
}
.title02:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6px;
  content: '';
  border-radius: 3px;
  background-image: -webkit-gradient(linear, right top, left top, from(#2af598), to(#009efd));
  background-image: -webkit-linear-gradient(right, #2af598 0%, #009efd 100%);
  background-image: linear-gradient(to left, #2af598 0%, #009efd 100%);
}


.title04 {
  padding: 1rem 3rem;
  -webkit-transform: skew(-15deg);
  transform: skew(-15deg);
  color: #fff;
  background-image: -webkit-gradient(linear, left top, right top, from(#209cff), to(#68e0cf));
  background-image: -webkit-linear-gradient(left, #209cff 0%, #68e0cf 100%);
  background-image: linear-gradient(to right, #209cff 0%, #68e0cf 100%);
}


.title06 {
  position: relative;
  padding: 1em 2em;
  text-align: center;
}
.title06:before,
.title06:after {
  position: absolute;
  content: '';
}
.title06:after {
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
}
.title06:before {
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
}


/* ----------------------------------------------------
 
    本文
 
---------------------------------------------------- */


/* フッター */
footer {
  width: 100%;
  height: 30px; 
  text-align: center;
  padding: 20px 0;
  background-color: #3B5998;
  color: #fff;	
  font-size: 14px;
}

footer p {
	display: inline-block;
	padding-right: 10px;
}

footer a {
	text-decoration: none;
	color: #fff;
}

@media screen and (max-width: 640px) {
footer {
  width: 100%;
  height: 9rem; 
  text-align: center;
  margin-top: 0;
}
}

/* フッター */
.footer2 {
  width: 100%;
  text-align: center;
  padding: 20px 0;
  background-color: #3B5998;
  color: #fff;	
  font-size: 14px;
}

.footer2 p {
	display: inline-block;
	padding-right: 10px;
}

.footer2 a {
	text-decoration: none;
	color: #fff;
}

@media screen and (max-width: 640px) {
.footer2 {
  width: 100%;
  height: 1rem; 
  text-align: center;
  margin-top: 0;
}
}

.bred{color:#CA0000;}
.bred-b{color:#CA0000;font-weight: bold;}


	
.voice-prof {
	text-align: left;
	background-image: url(../images/prof_02.jpg);
	background-repeat: repeat-y;
	padding-top: 20px;
	padding-right: 60px;
	padding-bottom: 20px;
	padding-left: 60px;
	font-size: 18px;
	line-height: 1.8em;
	margin-top: -15px;
	margin-bottom: -15px;
}


@media only screen and (max-width: 644px){
.voice-prof {
	text-align: left;
	background-image: url(../images/prof_02.jpg);
	background-repeat: repeat-y;
	padding-top: 25px !important;
	padding-right: 25px !important;
	padding-bottom: 10px !important;
	padding-left: 25px !important;
	font-size: 16px !important;
	line-height: 24px !important;
    background-size:contain;

}}


.voice-suisen {
	padding-right: 50px;
	padding-left: 50px;
	padding-top: 0px;
	padding-bottom: 0px;
}


@media only screen and (max-width: 644px){
.voice-suisen {


	padding-right: 0px !important;
	padding-left: 0px !important;

}}


.voice-voice {
	padding-top: 20px;
	padding-right: 30px;
	padding-bottom: 20px;
	padding-left: 30px;
	background-color: #FFFFFF;
}


@media only screen and (max-width: 644px){
.voice-voice {
	padding-top: 0px !important;
	padding-right: 0px !important;
	padding-bottom: 0px !important;
	padding-left: 0px !important;
	background-color: #FFFFFF;

}}

.font10 {
font-size: 14px;

}
@media only screen and (max-width: 644px){
.font10 {
font-size: 10px;
}
}




/*まずはお決まりのボックスサイズ算出をborer-boxに */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 11rem;
  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;
	font-size: 36px;
}

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

.btn--purple.btn--cubic, a.btn--purple.btn--cubic, button.btn--purple.btn--cubic {
    border-bottom: 5px solid #9f000c;
}

.entry-content a.btn {
    text-decoration: none!important;
}

.btn--purple, a.btn--purple, button.btn--purple {
    color: #fff;
    background-color: #dc0011;
}

.btn--purple:hover{
    opacity: 0.7;
}

