@charset "utf-8";
/* CSS Document */

a{border:0;}

*{
margin:0;
padding:0;
}


h1,h2,h3,h4,h5{
font-size:100%;
font-weight:normal;
margin:0;
}

h1,h2{}
h1,h2 img{margin:0 auto;}

img{border:0;}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
	padding:0;
	margin-right: 0;
	margin-left: 0;
}

body{
	font:16px/1.8 Verdana,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',osaka,'メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
*font-size:small;
*font:x-small;
	color:#000;
	text-align:left;
	background:#FFF;
	position: relative;
}


.min-ns4 {
  font-family: "Noto Serif JP", serif;
  font-weight: 400 !important;
  font-style: normal;
}

.min-ns6 {
  font-family: "Noto Serif JP", serif;
  font-weight: 600 !important;
  font-style: normal;
}

/* IE6 and IE7 Hack */
* html body {font-family: 'ＭＳ Ｐゴシック',sans-serif;}
*:first-child+html body {font-family: 'メイリオ','ＭＳ Ｐゴシック',sans-serif;}

br.clr{
clear:both;
}

.clearfix:after {
content: "."; 
display: block; 
height: 0; 
clear: both; 
visibility: hidden;
}

.clearfix {
display: inline-block;
min-height: 1%;
}

/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}

.ao100 img{ max-width:100% }



@media screen and (max-width : 767px){
 html,
 body {
 overflow-x: hidden!important;
 overflow-y: scroll;
 -webkit-overflow-scrolling: touch;
 }
}


/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #555;	/*リンクテキストの色*/
	text-decoration: none;
}
a:hover {
	color: #006ddc;	/*マウスオン時の文字色（全体）*/
}

/*a:hover img{
position : relative;
top : 3pt;
left : 3pt;
}/*




/*header
--------------------------------------------------------------------------------*/

/* PC用メニュー非表示 */
@media screen and (max-width: 1059px) {
  .pc-menu {
    display: none;
  }
}
/* スマホ用メニュー非表示 */
@media screen and (min-width: 1060px) {
  .sp-menu {
    display: none;
  }
  
}


header {
  display: flex;
  background: #ffffff;
  height: 80px;
}
.head-menu {
  margin: 0 auto;
  display: flex;
  position:relative;
  justify-content: flex-end;
  aligen-items: center;
  width: 1100px;
}
.logo {
  text-align: center;
  padding: 24px 20px 24px 0;
  position:absolute;
  left: 0;
}
.pc-menu {
  position: absolute;
  right: 0;
  padding: 10px 0;
}
.pc-menu ul {
  display: flex;
  list-style: none;
}
.pc-menu ul li {
  display: flex;
  flex-direction:column;
  text-align: center;
  font-size: 15px;
  width: 105px;
  justify-content: center;
}

.pc-menu ul li:last-child {
  width: 230px!important;
  text-align:right;
}


.pc-menu ul li a {
  display: block;
  text-decoration: none;
  color: #000000;
  line-height: 60px;
}
.pc-menu ul li  a:hover { color:#ff9132;}

.h-btn{}



.sp-menu ul li  a:hover { color:#ff9132;}

.sp-menu_box {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background: rgb(255 255 255 / 60%);
}
.sp-menu_box span,
.sp-menu_box span:before,
.sp-menu_box span:after {
  content: "";
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #73c53f;
  position: absolute;
}
.sp-menu_box span:before {
  bottom: 8px;
}
.sp-menu_box span:after {
  top: 8px;
}
#sp-menu_check {
  display: none;
}
#sp-menu_check:checked ~ .sp-menu_box span {
  background: rgba(255, 255, 255, 0);
}
#sp-menu_check:checked ~ .sp-menu_box span::before {
  bottom: 0;
  transform: rotate(45deg);
}
#sp-menu_check:checked ~ .sp-menu_box span::after {
  top: 0;
  transform: rotate(-45deg);
}
#sp-menu_check:checked ~ .sp-menu_content {
  left: 0;
}
.sp-menu_content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;
  z-index: 80;
  background-color: #ffffff;
  transition: all 0.5s;
  opacity: 0.95;
}
.sp-menu_list {
  padding: 70px 10px 0;
}
.sp-menu_item {
  border-bottom: solid 1px #73c53f;
  list-style: none;
}
.sp-menu_link {
  display: block;
  width: 100%;
  font-size: 17px;
  box-sizing: border-box;
  color: #5cbd33;
  text-decoration: none;
  padding: 9px 15px 10px 0;
  font-weight: bold;
}

.link-or{
  color: #ff9132 !important;
}


a.hd_btn {
	display: flex;
    justify-content: space-evenly;
    align-items: center;
	text-align: center;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 213px;
	margin: auto;
	padding: 10px 10px;
	font-weight: normal;
	border-radius: 10px;
	border-bottom: 4px solid #c95d00;
	background: #f97503;
	color: #fff;
}

a.hd_btn::before {
	content: '';
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}

a.hd_btn:hover {
	margin-top: 6px;
	border-bottom: 1px solid #0686b2;
	color: #fff;
}


.sp_btn{ display:none;}

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

header {
  height: 60px;
}



.logo {
	display: flex;
	padding-left: 10px;
	width: 40%;
	text-align:right;
	justify-content: center;
	align-items: center;
}

.sp_btn{
	display: flex;
	float:right;
	padding-right: 60px;
	/* padding-top: 10px; */
	width: 38%;
	text-align:right;
	justify-content: center;
	align-items: center;
	}

}




/*トップメイン
--------------------------------------------------------------------------------*/
#fv{}


#main-top{
	background: url("../img01/fv-bg-02-sp.jpg") no-repeat;
	background-position:center;
	background-color:#fff;
	background-size: cover;	
	margin:0 auto;
	height:auto;
	text-align:center;
	
}

.main-cont {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 50px;
    padding: 10px 0 0;
}

.main-cont-ct{
	margin: 0 auto;
	/* padding:5px; */
}

.main-cont-pt { display:none;}

.top-btn {
    /* position: relative; */
    /* max-width: 100%; */
    /* margin: 0 auto; */
    padding: 0 0 10px;
}

.trust_cont{
	width:100%;
	text-align:center;
	position:relative;
	margin-bottom:-20px;
}
.trust_box{
	margin: 0 auto;
	position:relative;
	top: -30px;
}
.trust_cont img{ width:95%;}


.top-video{
	background: #0a8b8a;	
	padding: 20px 10px;
	position: relative;
	font-weight:bold;
	color: #c70002;
	font-weight:bold;	
}


.int-cont{
	text-align:center;
	margin: 0 auto 50px;
}

.int-cont h2{
	margin-bottom:20px;
}



/* PC用のCSS */
@media only screen and (min-width: 758px) {

#main-top{
	background: url("../img01/fv-bg-02.jpg") no-repeat;
	background-position:center;
	background-color:#fff;
	background-size: cover;	
	margin:0 auto;
	height:auto;
}


.main-cont {
	flex-wrap:initial;
	margin: 0 auto;
	max-width: 1100px;
	padding: 30px 0 0;
}

.main-cont-pt {
	max-width: 35%;
	position:relative;
	display:block;
}

.main-cont-ct{
	max-width: 65%;
}


.top-btn {
	/* position:absolute; */
	/* right: 5%; */
	text-align: left;
}

.top-btn a:hover img{
	position : relative;
	top : 3pt;
	left : 3pt;
	opacity: 1;
}


a img:hover {transition: 0.5s;}

	
.trust_cont{ 	
	background: url(../img01/fv02-bg.jpg) no-repeat center center;
	background-size: cover;
	padding: 40px 0;
	height:auto;
	margin-bottom: 0;
}
.trust_box{margin: 0 auto; position: static;}
.trust_box img{ max-width: 1100px;}


.int-cont{
	margin-bottom:90px;
}

.int-cont h2{
	margin-bottom:30px;
}



}




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

#wrap{
	width: 100%;
	margin: 0 auto;
	flex-direction: column;
	min-height: 100vh;
	border-left: none;
	border-right: none;
	overflow: hidden;
}	

.container{
	width:100%;
	padding:15px 0;
	background:#ffffff;
}

.content{
	width:90%;
	margin:0 auto;
	padding:15px 0;
	border:none;
}

.content p{margin-bottom: 15px;padding: 0 10px;font-size:18px;}

.content02{
	width:100%;
	margin:0 auto;
	padding:15px 0;
	border:none;
}

.content02 p{margin-bottom: 15px;padding: 0 10px;font-size:18px;}

.content03{
	width:90%;
	margin:0 auto;
	padding:15px 0;
	border:none;
}

.content03 p{margin-bottom: 15px;padding: 0 10px;font-size:18px;}

.content_f{
	width:90%;
	margin:0 auto;
	padding:15px 0;
	border:none;
}
.content_f p{margin-bottom: 15px;padding: 0 10px;font-size:18px;}

.content_e{
	width:90%;
	margin:0 auto;
	padding:30px 0;
	border:none;
}

.container_a{
	width:100%;
	padding:15px 0;
	background: #f1f9ff;
}

.container_b{
	width:100%;
	padding:15px 0;
	background: linear-gradient(#efefdc, #fdfdec);
}

.container_c{
	width:100%;
	padding:15px 0;
	background: url(../img01/bg01.jpg) no-repeat center center;
	background-size: cover;
	height:auto;
}

.container_d{
	width:100%;
	padding:15px 0;
	background:#fff7dc;
}

.container_e{
	width:100%;
	padding: 0;
	background: #f3f5ee;
}

.container_e::before {
	position: absolute;
	content: '';
	left: calc( 50% - 50px );
	border: 50px solid transparent;
	border-top: 20px solid #ffffff;
	width: 0;
	height: 0;
	top: 10;
}


.container_f{
	width:100%;
	padding:15px 0;
	background: #f3ffef;
}


.container_g{
	width:100%;
	padding:15px 0;
	background:#ffffff;
}

.content_g{
	width:90%;
	margin:0 auto;
	padding:15px 0;
	border:none;
}
.content_g p{margin-bottom: 15px;padding: 0 10px;font-size:18px;}


/*見出し
--------------------------------------------*/

h1{	margin:0 auto;}
h1 img{ }

h2{	margin:0 auto;}


/* 見出しh2 01 */

h2.ttl_01 {
  /* font-weight: bold; */
  width: fit-content;
  /* margin: auto; */
  padding: 0.5em 1em;
  margin-bottom: 50px;
  /* text-align: center; */
  position: relative;
  font-size: 20px;
  line-height:1.5;
}
h2.ttl_01::before, .ttl_01::after {
  content: '';
  background-color: #73c53f;
  width: 50%;
  height: 3px;
  position: absolute;
}
h2.ttl_01::before {
  top: 0;
  left: 0;
}
h2.ttl_01::after {
  bottom: 0;
  right: 0;
}


/* 見出しh2 02 */

h2.ttl_02 {
    position: relative;
    padding: 15px 5px;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 50px;
    width: 80%;
}

h2.ttl_02::before,
h2.ttl_02::after {
    position: absolute;
    width: 95%;
    height: 20px;
    content: '';
}

h2.ttl_02::before {
    border-left: solid 2px #f97503;
    border-top: solid 2px #f97503;
    top: 0;
    left: 0;
}

h2.ttl_02::after {
    border-right: solid 2px #f97503;
    border-bottom: solid 2px #f97503;
    bottom: 0;
    right: 0;
}

/* 見出しh2 03 */

h2.ttl_03 {
	position: relative;
	z-index: 2;
	width: 90%;
	text-align: center;
	color: #ffffff;
	padding: 10px;
	font-size: 20px;
	margin: 0 auto 20px;
	line-height: 1.5;
}

h2.ttl_03:before {
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	transform: skewX(345deg);
	content: "";
	background-color: #f97503;
	box-shadow: 5px 5px #ffd5a0;
}



/* 見出しh2 04 */


h2.ttl_04 {
	font-size: 20px;
	margin: 30px auto;
	color: #5d5d5d;
	text-align: center;
	line-height: 1.5;
}

h2.ttl_04 span {
	display: block;
	align-items: center;
	color: #5dc02b;
	font-size: 15px;
	/* text-transform: uppercase; */
	/* padding-left: 33%; */
	padding-bottom: 15px;
	letter-spacing: 2px;
}

h2.ttl_04 span::before {
	content: '';
	display: inline-block;
	margin-right: 20px;
	width: 40px;
	height: 1px;
	background-color: #73c53f;
}

h2.ttl_04 span::after {
	content: '';
	display: inline-block;
	margin-left: 20px;
	width: 40px;
	height: 1px;
	background-color: #73c53f;
}



/* 見出しh2 05 */


h2.ttl_05 {
  position: relative;
  /* display: flex; */
  padding: 0 35px;
  width: 80%;
  margin: 0 auto;
  font-size: 20px;
  text-align: center;
}
h2.ttl_05:before, h2.ttl_05:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 30px;
  height: 3px;
  background-color: #73c53f;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
h2.ttl_05:before {
  left:0;
}
h2.ttl_05:after {
  right: 0;
}



/* 見出しh2 06 */

h2.ttl_06 {
    position: relative;
    padding: 15px 10px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 20px;
    width: 90%;
    line-height: 1.5;
}

h2.ttl_06::before,
h2.ttl_06::after {
    position: absolute;
    width: 95%;
    height: 20px;
    content: '';
}

h2.ttl_06::before {
    border-left: solid 2px #73c53f;
    border-top: solid 2px #73c53f;
    top: 0;
    left: 0;
}

h2.ttl_06::after {
    border-right: solid 2px #73c53f;
    border-bottom: solid 2px #73c53f;
    bottom: 0;
    right: 0;
}


/* 見出しh2 07 */

h2.ttl_07 {
    position: relative;
    padding: 15px 8px;
    font-size: 21px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 50px;
    width: 80%;
    line-height: 1.5;
    color: #559ee9;
}

h2.ttl_07::before,
h2.ttl_07::after {
    position: absolute;
    width: 95%;
    height: 20px;
    content: '';
}

h2.ttl_07::before {
    border-left: solid 2px #6fb6ff;
    border-top: solid 2px #6fb6ff;
    top: 0;
    left: 0;
}

h2.ttl_07::after {
    border-right: solid 2px #6fb6ff;
    border-bottom: solid 2px #6fb6ff;
    bottom: 0;
    right: 0;
}



/* 見出しh2 08 */

h2.ttl_08 {
    position: relative;
    padding: 15px 8px;
    font-size: 19px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 30px;
    width: 85%;
    line-height: 1.5;
}

h2.ttl_08::before,
h2.ttl_08::after {
    position: absolute;
    width: 95%;
    height: 20px;
    content: '';
}

h2.ttl_08::before {
    border-left: solid 2px #5ab3f5;
    border-top: solid 2px #5ab3f5;
    top: 0;
    left: 0;
}

h2.ttl_08::after {
    border-right: solid 2px #5ab3f5;
    border-bottom: solid 2px #5ab3f5;
    bottom: 0;
    right: 0;
}



h2.balloon {
    position: relative;
    padding: 10px 0;
    margin: 0 auto 30px auto;
    border-bottom: 4px solid #0a8b8a;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
	width: 100%;}

h2.balloon:before,
h2.balloon:after {
    position: absolute;
    top: 100%;
    left: 50%;
    content: "";
    height: 0;
    width: 0;
}

h2.balloon:before {
    border: 16px solid;
    border-color: transparent;
    border-top-color: #0a8b8a;
    margin-left: -16px;
}

h2.balloon:after {
    border: 10px solid;
    border-color: transparent;
    border-top-color: white;
    margin-left: -10px;
}


h2.balloon2 {
    position: relative;
    padding: 10px 0;
    margin: 0 auto 30px auto;
    border-bottom: 3px solid #70afcd;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    width: 100%;
    }

h2.balloon2:before,
h2.balloon2:after {
    position: absolute;
    top: 100%;
    left: 50%;
    content: "";
    height: 0;
    width: 0;
}

h2.balloon2:before {
    border: 13px solid;
    border-color: transparent;
    border-top-color: #70afcd;
    margin-left: -13px;
}

h2.balloon2:after {
    border: 10px solid;
    border-color: transparent;
    border-top-color: #e5f9ff;
    margin-left: -10px;
}




h2.slanting {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 23px;
	text-align: center;
	margin-bottom: 30px;
	font-weight:bold;
	color: #5a5a5a;
}

h2.slanting::before,
h2.slanting::after {
	content: '';
	width: 3px;
	height: 40px;
	background-color: #f99835;
}

h2.slanting::before {
	margin-right: 50px;
	transform: rotate(-35deg)
}
h2.slanting::after {
	margin-left: 50px;
	transform: rotate(35deg)
}







.container-01{
	margin:0 auto;
	background:#fff;
	padding:15px 0px;
}



input[type="image"] { width:100%;}	

.h-ttl{ margin-bottom:20px;}
.h-ttl2{ margin-bottom:15px;}

.ttl-sub{
	font-size:18px;
	font-weight:bold;
	line-height:1.3;
}



.hl02 {
	margin: 0;
	text-align:center;
}

/* PC用のCSS */
@media only screen and (min-width: 758px) {
	
#wrap{
	padding-bottom:0;

}

.container{ padding :60px 0;}
.container_a{padding: 50px 0;}
.container_c{ padding: 60px 0;}
.container_b{padding: 60px 0;height: 920px;}
.container_d{ padding: 60px 0;}
.container_e{padding: 0;}
.container_e::before {
	left: calc( 50% - 150px );
	border: 150px solid transparent;
	border-top: 50px solid #ffffff;
}
.container_f{padding: 50px 0;}

.content{max-width: 1100px;margin: 0 auto;}
.content p{padding:0 20px;font-size: 18px;}

.content03{width: 1100px;margin: 0 auto;}
.content03 p{padding:0 20px;font-size: 18px;}


.content02{max-width: 1200px;margin: 0 auto;}
.content02 p{padding:0 20px;font-size: 18px;}

.content_f{width: 1100px;margin: 0 auto;}
.content_f p{padding:0 20px;font-size: 18px;}

.content_e{max-width: 1100px;margin: 0 auto;padding: 90px 0;}
.content_e p{padding:0 20px;font-size: 18px;}

.content_g{max-width: 1100px;margin: 0 auto;padding: 0;}
.content_g p{padding:0 20px;font-size: 18px;}


h1 img{}

h2.ttl_01 {
  font-size: 25px;
  line-height:1.8;
}


h2.ttl_02 {
    padding: 30px 10px;
    font-size: 27px;
    margin: 0 auto 90px;
    width: 50%;
}

h2.ttl_03 {
	width: 450px;
	padding: 13px;
	font-size: 27px;
	margin: 0 0 -20px 30px;
}

h2.ttl_03:before {
	transform: skewX(342deg);
	content: "";
}


h2.ttl_04 {
	font-size: 32px;
	margin: 50px auto;
	line-height: 1.5;
}

h2.ttl_04 span {
	font-size: 18px;
	/* padding-bottom: 15px; */
}


h2.ttl_05 {
  padding: 0 55px;
  width: 35%;
  font-size: 26px;
}
h2.ttl_05:before, h2.ttl_05:after {
  width: 44px;
  height: 3px;
}


h2.ttl_06 {
    padding: 30px 10px;
    font-size: 27px;
    margin: 0 auto 60px;
    width: 80%;
}

h2.ttl_07 {
    padding: 30px 10px;
    font-size: 27px;
    margin: 0 auto 60px;
    width: 50%;
}

h2.ttl_08 {
    padding: 30px 10px;
    font-size: 27px;
    margin: 0 auto 60px;
    width: 50%;
}

h2.balloon {
    margin: 0 auto 50px auto;
    font-size: 30px;
	width: 80%;
}

h2.balloon2 {
    margin: 0 auto 50px auto;
    font-size: 30px;
    width: 80%;
}
	
h2.slanting {
	font-size: 29px;
	margin-bottom: 50px;
}	



.h-ttl{ margin-bottom:40px;}
.h-ttl2 { margin-bottom:30px;}

}

/*-----------------------------------------------------
	共通
-----------------------------------------------------*/

.e-gn{color: #5cbd33;}

.u_og{
	background: linear-gradient(transparent 75%, #fde27b 75%);
}

.u_og-b{
	background: linear-gradient(transparent 5%, #fff45e 5%);
}

.u_yw{
	background: linear-gradient(transparent 75%, #fded2c 75%);
}

/*-----------------------------------------------------
	ファーストビュー下
-----------------------------------------------------*/

.fst-cont {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 50px;
}

.fst-box-l {
	margin: 0 auto;
	padding:5px;
}

.fst-box-r {
    text-align: center;	
	margin: 0 auto;
	padding:5px;
}

.fst-btn {

}



.btn-s_01 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 75%;
    margin: 0 auto 20px;
    padding: .5em 3em .5em 2em;
    border: 2px solid #73c53f;
    /* border-radius: 5px; */
    /* border-top: 1px solid #73c53f; */
    /* background-color: #f2ffe7; */
    color: #5cbd33;
    font-size: 16px;
    font-weight: bold;
    border-radius: 4px;
}

.btn-s_01::after {
    position: absolute;
    right: 1.5em;
    transform: translateY(-50%);
    transform-origin: left;
    width: 1.5em;
    height: .5em;
    background-color: #73c53f;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
}

.btn-s_01:hover {
	color: #73c53f !important;
}


.btn-s_01:hover::after {
    transform: translateY(-50%) scaleX(1.4);
}




/* PC用のCSS */
@media only screen and (min-width: 758px) {

.fst-cont {
	flex-wrap:initial;
	margin: 0 auto 150px;
}

.fst-box-l {
	max-width:60%;
	position:relative;
}

.fst-box-r {
	max-width:40%;
}

.fst-box-r img{
	width:100%;
}

.fst-btn {
	position:absolute;
	right: 5%;
	/* bottom: -10%; */
	margin-top: 20px;
}

.btn-s_01 {
    width: 290px;
    margin: 0;
    padding: .5em 4em .5em 2.5em;
    font-size: 19px;
}

.btn-s_01::after {
    right: 2em;
    width: 2em;
}

}





/*-----------------------------------------------------
	こんな人にオススメ
-----------------------------------------------------*/
.container-rec {
	width:100%;
	padding:15px 0;
    background:linear-gradient(151deg,#ffffff 0%,#ffffff 70%,#fff8dd 30%,#fff8dd 100%);
}


.rec-box {
  display:flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 70px;
}

.rec-text {max-width: 65%;}


.rec-box h3 {
	position: relative;
	/* display: table-cell; */
	padding-left: 40px;
	font-size: 24px;
	font-weight:bold;
	padding-bottom: 5px;
	color: #4d4d4d;
	font-style: italic;
	margin-bottom: 20px;
}
.rec-box h3:before {
	position: absolute;
	content: '';
	top: calc(50% - 9px);
	width: 28px;
	left: 0;
	height: 6px;
	border-top: solid 6px #f97503;
}

.rec-box h3::after {
  content: '';
  background-size: 8px 8px;
  background-color: #ffead9;
  background-image: repeating-linear-gradient(-45deg, #ffc897 0, #ffc897 3px, #fff 0, #fff 50%);
  width: 100%;
  height: 6px;
  position: absolute;
  bottom: -5px;
  left: 0;
}


.rec-img {
  width: 35%;
  margin-left: 3%;
}

.rec-img img {

  width: 100%;
  height:auto;
}

.rec-box:nth-child(even) {
  flex-direction: row-reverse;
}
.rec-box:nth-child(even) .rec-text {
  text-align: right;
  max-width: 65%;
  text-align: left;
}
.rec-box:nth-child(even) .rec-img {
  margin-left: 0;
  margin-right: 3%;
}

@media (max-width:768px) {

.container-rec {
    background: linear-gradient(134deg,#ffffff 0%,#ffffff 80%,#fff8dd 20%,#fff8dd 100%);	
}	

.rec-box {
    flex-direction: column;
	margin-bottom: 40px;
}
.rec-box h3 {
  font-size: 21px;
  line-height: 1.3;
}  
.rec-box:nth-child(even) {
    flex-direction: column;
}
.rec-text {
   	max-width: 95%;
   	margin: 0 auto;
}
.rec-box:nth-child(even) .rec-text {
    max-width: 95%;
    margin: 0 auto;
}
.rec-img {
    width:100%;
    margin-left: 0;
    text-align: center;
}
.box:nth-child(even) .rec-img {
    margin-left: 0;
    margin-right: 0%;
  }
.rec-img img {
    width:80%;
    height:auto;
}
}


/* PC用のCSS */
@media only screen and (min-width: 758px) {

.container-rec {
	padding :60px 0;
    background:linear-gradient(151deg,#ffffff 0%,#ffffff 70%,#fff8dd 30%,#fff8dd 100%);
	
}
}








/*-----------------------------------------------------
	申込ボタン
-----------------------------------------------------*/

.btn-bg{
	background-image: radial-gradient(circle, rgb(245 255 248), rgb(165 253 192) 80%);
	padding: 10px 0;
	/* margin-bottom: 20px; */
}

.btn-bg02{
	background-image: radial-gradient(circle, rgb(245 255 248), rgb(165 253 192) 80%);
	padding: 8px;
	/* margin-bottom: 20px; */
}


.btn-01 a:hover img{
	position : relative;
	top : 3pt;
	left : 3pt;
}

.btn-box{
	width:90%;
	margin:0 auto;
	padding:30px 0;
}

.btn-box02{
	width: auto;
	margin:0 auto;
	background:#ffffff;
	padding: 15px;
	border: 1px solid #ade9bd;
}

.btn-box02 p{
	text-align:center;
}



.btn-ct {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 17px;
	text-align: center;
	margin-bottom: 20px;
	font-weight:bold;
	color: #5a5a5a;
}

.btn-ct::before,
.btn-ct::after {
	content: '';
	width: 3px;
	height: 30px;
	background-color: #f97503;
}

.btn-ct::before {
	margin-right: 20px;
	transform: rotate(-35deg)
}
.btn-ct::after {
	margin-left: 20px;
	transform: rotate(35deg)
}




.btn-s_03 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 85%;
    margin: 0 auto;
    padding: 1.5em 0.1em 1.5em 2em;
    border: 1px solid #ffffff;
    color: #ffffff;
    font-size: 18px;
    font-weight: bold;
    text-shadow: 1px 1px 3px #e74600;
    border-radius: 10px;
    background: linear-gradient(#ff9901, #f94903);
    filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.2));
}

.btn-s_03::after {
    position: absolute;
    left: 1em;
    transform: translateY(-50%);
    transform-origin: left;
    width: 1em;
    height: .7em;
    background-color: #ffffff;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
}

.btn-s_03:hover {
	color: #ffffff !important;
}


.btn-s_03:hover::after {
    transform: translateY(-50%) scaleX(1.4);
}





/* PC用のCSS */
@media only screen and (min-width: 758px) {

.btn-bg{
	padding: 20px 0;
	/* margin-bottom: 40px; */
}

.btn-bg02{
	padding: 60px 0;
}

.btn-box{
	width:900px;
	margin:0 auto;
	padding:40px;
}

.btn-box02{
	width:800px;
	padding:40px;
	border: 8px solid #cfffde;
}

	
.btn-ct {
	font-size: 25px;
	margin-bottom: 20px;
}


.btn-ct::before {
	margin-right: 40px;
	transform: rotate(-35deg)
}
.btn-ct::after {
	margin-left: 40px;
	transform: rotate(35deg)
}


.btn-s_03 {
    width: 460px;
    padding: 1em 2em 1em 3.5em;
    font-size: 32px;
    letter-spacing: 1px;
}

.btn-s_03::after {
    left: 1.2em;
    right: 2em;
    width: 1.8em;
}

}




/*-----------------------------------------------------
	仕組み
-----------------------------------------------------*/
.pln-cont {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

.pln-box {
    text-align: center;
    margin: 8px auto 20px auto;
    width: 100%;

}


.pln-box img{
    width: 100%;
}


/* PC用のCSS */
@media only screen and (min-width: 758px) {

.pln-cont {
	padding-top:30px;
}

.pln-box {
    width: 50%;
}


.pln-box img{
    width: 100%;
}

}



/*-----------------------------------------------------
	コーチングとは？
-----------------------------------------------------*/



.wat-cont{
}

.wat-t{
	padding: 15px;
	max-width: 98%;
	background: rgb(255 255 255 / 90%);
	filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.1));
}

.wat-ps{
	margin: 0 auto 20px;
	max-width: 80%;
}

.wat-ps img{
	width: 100%
}

.lw-box{
	padding: 10px 10px 0;
	background: #fefff6;
	border: 1px dotted #9f9f92;
	margin-bottom: 30px;
}




.plf-btn {

}


.btn-s_02 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width:70%;
    margin: 0 auto;
    padding: .5em 3em .5em 2em;
    border: 2px solid #73c53f;
    color: #5cbd33;
    font-size: 16px;
    font-weight: bold;
    border-radius: 4px;
}

.btn-s_02::after {
    position: absolute;
    right: 1.5em;
    transform: translateY(-50%);
    transform-origin: left;
    width: 1.5em;
    height: .5em;
    background-color: #73c53f;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
}

.btn-s_02:hover {
	color: #73c53f !important;
}


.btn-s_02:hover::after {
    transform: translateY(-50%) scaleX(1.4);
}



/* PC用のCSS */
@media only screen and (min-width: 758px) {
	
.wat-cont{
	position: relative;
}

.wat-t{
	padding: 60px 40px 40px 40px;
	max-width: 730px;
	background: rgb(255 255 255 / 90%);
	/* border:1px solid #ccc; */
	position: absolute;
	z-index: 1;
	filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.1));
}

.wat-p{
	margin-left:auto;
	max-width: 500px;
	position: absolute;
	right: 0;
	top: -30px;
}

.wat-p img{
	width: 100%
}

.lw-box{
	padding: 20px;
	margin-bottom: 30px;
}



.plf-btn {
	margin: 0 auto;
}

.btn-s_02 {
    width: 290px;
    padding: .5em 4em .5em 2.5em;
    font-size: 18px;
}


.btn-s_02::after {
    right: 2em;
    width: 2em;

}


}



/*-----------------------------------------------------
	参加者の声
-----------------------------------------------------*/

h2.v-ttl{
    padding: 10px 0;
    margin: 0 auto 30px auto;
    font-weight: bold;
    font-size: 20px;
    text-align: center;

    line-height: 1.3;
}


.v-hl{
	position: relative;
	z-index: 2;
	width: 80%;
	text-align: center;
	color: #ffffff;
	padding: 8px;
	font-size: 18px;
	margin: 15px auto 0;
	line-height: 1.5;
}

.v-hl::before {
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	transform: skewX(348deg);
	content: "";
	background-color: #6fb6ff;
	/* box-shadow: 5px 5px #ffd5a0; */
}

.voice01-cont {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

.voice01-box {
    text-align: center;
    margin: 8px auto 20px auto;
    width: 85%;
    background: #ffffff;
    padding: 25px;
    position: relative;
}

.voice01-box:before {
	border-top: 2px solid #48a7ed;
	border-left: 2px solid #4e94b5;
	content: '';
	display: block;
	position: absolute;
	top: -1px;
	left: -1px;
	width: 40px;
	height: 40px;
	z-index: 1;
}

.voice01-box:after {
	border-bottom: 2px solid #48a7ed;
	border-right: 2px solid #48a7ed;
	content: '';
	display: block;
	position: absolute;
	bottom: -1px;
	right: -1px;
	width: 40px;
	height: 40px;
	z-index: 1;
}

.voice01-box p{padding: 0 10px;line-height:1.6;font-size:17px;color: #373737;}


.voice-ct {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 20px;
    border-bottom: 1px dotted #9dc1d7;
}

.voice01-ttl {
    text-align: left;
    margin-bottom: 15px;
    width: 100%;
}

.voice01-hl {
    font-size: 20px;
    line-height: 1.5;
    font-weight: bold;
    color: #4296d3;
    margin-bottom: 7px;
}

.v-name{
	text-align:right;
	font-size: 15px;
	color: #6b6a6a;
	}

.voice01-img {
    text-align: center;
    margin: 8px auto 20px auto;
    width: 45%;
}



.v-notes{
	font-size:80%;
	color: #9b9b9b;
	text-align: right;
}

/* PC用のCSS */
@media only screen and (min-width: 758px) {

h2.v-ttl{
    margin: 0 auto 40px auto;
    font-size: 30px;
    width: 80%;
}

.v-hl {
	width: 570px;
	padding: 15px 10px;
	font-size: 28px;
	/* margin: 0 0 -20px 30px; */
	line-height: normal;
}

.v-hl:before {
	transform: skewX(342deg);
	content: "";
}

.voice01-cont {
	flex-wrap:initial;
}

.voice01-box {
    margin: 30px;
    width: 41.8%;
}

.voice-ct {
	/* padding-top:30px; */
}

.voice01-ttl {
    width: 62%;
    line-height:normal;
    padding-right: 10px;
}

.voice01-img {
    text-align: center;
    width: 18%;
}


.voice01-img img{
    width: 100%;
}




}




/*-----------------------------------------------------
	step
-----------------------------------------------------*/

.arrow01{
	display: block;
	content: '';
	border: 50px solid transparent;
	border-top: 25px solid #73c53f;
	width: 0;
	height: 0;
	margin: 0 auto -25px;
}



.step-cont{
	position:relative;
	margin: 30px 0 30px 0;
	/* background:#ffffff; */
}

.step-icon{
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	right: 50%;
	width: 25%;
}

.step-box{
	border: 1px solid #bfbfbf;
	padding: 50px 15px 15px;
	/* border-radius: 10px; */
	background: #ffffff;
}

.step-box h3{
	text-align: center;
	margin-bottom: 20px;
	font-size: 20px;
	line-height: 1.3;
	font-weight: bold;
	color: #5cbd33;
	padding-left: 80px;
}

.step-box h4{
	text-align:center;
	font-size:18px;
	font-weight: bold;
	margin-bottom: 25px;
	line-height: 1.5;
}

.step-box h5{
	padding: 5px;
	border-bottom: 2px solid #13b56a;
	margin-bottom: 20px;
	font-weight: bold;
	color: #5b5b5b;
	font-size: 105%;
}

.step-g ul {
	list-style-type: none!important;
	padding: 0 10px 10px 10px;
}
.step-g ul li {
	background:url(../img01/chek01.png) no-repeat;
	background-position: left top 3px;
	padding: 5px 0 10px 40px;
	font-size: 18px;
	line-height: 1.5;
	border-bottom: 1px dotted #8d8d8d;
	margin-bottom: 10px;
	color: #4f4f4f;
	display: flex;
	align-items: center;
	font-weight: bold;
	text-align: left;
}

.goal{
	text-align:center;
	margin-bottom: 20px;
}

.goal span{
	background:#73c53f;
	padding: 5px 20px;
	color:#ffffff;
	font-size: 18px;
	font-weight:bold;
}

.goal {
	background: #f6fff2;
	padding: 15px;
}

.goal-ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 19px;
	text-align: center;
	color: #73c53f;
	font-weight: bold;
	margin-bottom:20px;
}

.goal-ttl::before,
.goal-ttl::after {
	content: '';
	width: 30px;
	height: 3px;
	background-color: #73c53f;
}

.goal-ttl::before {
	margin-right: 20px;
}
.goal-ttl::after {
	margin-left: 20px;
}

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

.step-box h3{	font-size: 20px;}

}


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

.step-box{/* padding: 120px 15px 15px; */}
.step-icon{	width: 20%;}

}

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

.step-box{padding: 30px 15px 15px;}
.step-icon{	width: 25%;}

}

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

.step-box{padding: 30px 15px 15px;}
.step-icon{	width: 25%;}

}



/* PC用のCSS */
@media only screen and (min-width: 758px) {
	
.arrow01{
	border: 80px solid transparent;
	border-top: 25px solid #73c53f;
	margin: 0 auto -70px;
}

.step-cont{
	margin: 30px auto 30px;
	width: 85%;
}

.step-icon{
	position: absolute;
	top: -25px;
	left: -20px;
	transform: translateX(0);
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	width:auto;
}

.step-box{
	padding: 60px 40px 40px;
	margin-left: 0;
}

.step-box h3{
	margin-bottom: 40px;
	font-size: 28px;
	padding-left: 0;
}

.step-box h4{
	font-size:20px;
	margin-bottom: 25px;
	line-height: 2;
}

.step-box h5{
	padding: 5px;
	margin-bottom: 20px;
	font-size: 105%;
}

.step-g ul {
	padding: 0 10px 10px 10px;
}
.step-g ul li {
	background-position: left top 3px;
	padding: 0 0 10px 40px;
	font-size: 20px;
	margin-bottom: 15px;
}

.goal{
	margin-bottom: 30px;
}


.goal-ttl {
	font-size: 23px;
	margin-bottom:20px;
}

.goal-ttl::before,
.goal-ttl::after {
	width: 70px;
}



.step-box table th{
	padding:10px;
}

.step-box table td{
	padding:10px;
	width: auto;

}

}



.gd_table{width: 100%;border-collapse: collapse; border:1px solid #e5e5e5; margin:10px 0 40px;}
.gd_table td{width:12.5%; text-align:center;border:1px solid #e5e5e5; padding:10px 0;}
.gd_table th{width:12.5%; text-align:center;border:1px solid #e5e5e5; padding:10px 0;}
.gd_table td.gd_td{background-color: #edfff2;font-weight:bold;color: #13b56a;}
.gd_table th.gd_th{background-color: #edfff2;font-weight:bold;color: #13b56a;}
.gd_table td.gd_td2{background-color: #edfff2;font-weight:bold;}

/* スマホ用のCSS */
@media only screen and (max-width: 640px) {
.gd_table{width: 100%;border-collapse: collapse; border:1px solid #e5e5e5; margin:20px 0 20px;}
.gd_table td{width:12.5%; text-align:center;border:1px solid #e5e5e5; padding:10px 0;font-size:13px !important;}
.gd_table th{width:12.5%; text-align:center;border:1px solid #e5e5e5; padding:10px 0;font-size:13px !important;}
.gd_table td.gd_td{background-color:#f0f9ec; font-weight:bold;font-size:13px !important;}
}



/*-----------------------------------------------------
	中国語を学ぶ
-----------------------------------------------------*/

.study-cont{
}

.study-t{
	padding: 15px;
	max-width: 98%;
	background: rgb(255 255 255 / 80%);
	filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.1));
}

.study-t p{
	color: #205339;
	font-size: 105%;
	margin-bottom: 7px;
}

.study-ps{
	margin: 0 auto 20px;
	max-width: 80%;
}




.study-ps img{

	width: 100%
}

.note01{
   background-image: none;
   line-height: 1.5;

}





/* PC用のCSS */
@media only screen and (min-width: 758px) {
	
.study-cont{
	position: relative;
	height: auto;
	height: 450px;
	/* padding-top: 50px; */
	margin-bottom: 30px;
}

.study-t{
	padding: 40px 40px 30px;
	width: 730px;
	position: absolute;
	z-index: 1;
	top: 20px;
}

.study-t p{
	font-size: 112%;
}


.study-p{
	margin-left:auto;
	max-width: 500px;
	position: absolute;
	right: 0;
	top: -5px;
}

.study-p img{
	width: 100%
}

.note01{
   background-image: linear-gradient(180deg, #ccc 1px, transparent 1px); /* 罫線の色と太さ  */
   background-size: 100% 2.1em; /* 行の高さ */
   line-height: 1.5; /* 文字の高さ */
   padding-bottom: 1px; /* 最終行の下にも罫線を引く */
   border-bottom: none;
}

}





/*-----------------------------------------------------
	スケジュール
-----------------------------------------------------*/

h3.ttl-01 {
    position: relative;
    padding: 1rem;
    border-top: 2px solid #73c53f;
    border-bottom: 2px solid #73c53f;
    width: 90%;
    margin: 60px auto 30px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #73c53f;
    background: #f4fffc;
    line-height: 1.5;
}

h3.ttl-01:before,
h3.ttl-01:after {
    position: absolute;
    left: 50%;
    content: "";
    height: 0;
    width: 0;
}

h3.ttl-01:before {
    top: 100%;
    border: 15px solid;
    border-color: #ffffff;
    border-top-color: #73c53f;
    margin-left: -15px;
}

h3.ttl-01:after {
    top: 97%;
    border: 15px solid;
    border-color: transparent;
    border-top-color: #f4fffc;
    margin-left: -15px;
}


.ttl-01s{font-size:80% !important;color: #6b6b6b;}

/* PC用のCSS */
@media only screen and (min-width: 758px) {

h3.ttl-01 {
    width: 90%;
    margin: 60px auto 30px;
    font-size: 24px;
}

}


/*
	テーブル
----------------------*/

.sd_table table{width: 93%;border-collapse: collapse;border: 1px solid #d3d3d3;margin: 10px auto 20px;}
.sd_table table td{text-align:center;border: 2px solid #d3d3d3;padding: 15px 5px;line-height:1.5;}
.sd_table table th{text-align:center;border: 2px solid #d3d3d3;padding: 20px 5px;line-height:1.5;}

.bcp span{ display:block; text-align:center;}
.sd_table table th span{ display:block; text-align:center;}


.sd_table table th:nth-child(1){
	background-color: #e4e7dd;
	width:20%;
}

.sd_table table th:nth-child(2){
	background-color: #6acf8a;
	color: white;
	width: 40%;
	font-weight:bold;
}

.sd_table table th:nth-child(3){
	background-color: #e6a004;
	color: white;
	width: 20%;
	font-weight:bold;
}

.sd_table table th:nth-child(4){
	background-color: #71b7ff;
	color: white;
	width: 20%;
	font-weight:bold;
}

.sd_table table .dw{ background:#fefff0; font-weight:bold;}


.sd_memo{
	/* text-align:right; */
	font-size:15px;
	color:#919191;
	line-height:1.3;
	margin-bottom: 40px;
	padding-left:40px;
}



/* スマホ用のCSS */
@media only screen and (max-width: 640px) {

.sd_table .scroll_table{
	width: 95%;
	overflow-x: scroll;
	margin: 0 auto 10px;
	font-size:15px;
}

.sd_table .scroll_table{
  overflow: auto; /*スクロールさせる*/
  white-space: nowrap; /*文字の折り返しを禁止*/
}


.sd_table table th:nth-child(3){
	padding: 10px 25px !important;
}

.sd_table table td{ padding: 10px 5px;line-height:1.5;}
.sd_table table th{ padding: 10px 5px;line-height:1.5;}


.sd_memo{
	padding-left:0;
	font-size:14px;
}


}





/*-----------------------------------------------------
	システム
-----------------------------------------------------*/

h2.s-ttl{
    padding: 10px 0;
    margin: 0 auto 30px auto;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
}


.s-hl{
	position: relative;
	z-index: 2;
	width: 80%;
	text-align: center;
	color: #ffffff;
	padding: 8px;
	font-size: 18px;
	margin: 0 auto;
	line-height: 1.5;
}

.s-hl::before {
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	transform: skewX(348deg);
	content: "";
	background-color: #73c53f;
}


.system-cont{

}

.system-box{
	background:#ffffff;
	margin: 0 auto 30px;
	padding: 20px;
	width: 90%;
	box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 12%);
}


.system-ttl {
    display: flex;
    align-items: center;
    margin: 0 auto 20px;
}

.system-ttl dt {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    border: 1px solid;
    background: #73c53f;
    width: 100px;
    padding: 7px 5px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
}

.system-ttl dt span {
    font-style: normal;
    transform: scale(.8);
    font-size: 18px;
}

.system-ttl dd {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    padding-left: 18px;
    padding-left: 10px;
    color: #5cbd33;
    width: 80%;
}



.op-box  {
	padding: 15px;
	border: 5px solid #dcf5d1;
}

.op-ttl {
  font-weight: bold;
  padding: 0 3em;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  position: relative;
  font-size: 20px;
  margin-bottom: 20px;
  color: #73c53f;
  line-height: 1.5;
}
.op-ttl::before, .op-ttl::after {
  content: '';
  background: #73c53f;
  width: 2em;
  height: 3px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.op-ttl::before {
  left: 0;
}
.op-ttl::after {
  right: 0;
}
          

.ck-01{
	font-size: 18px;
	font-weight:bold;
	margin-bottom:10px;
	color: #5b5b5b;
}



.check-s {
  display: inline-block;
  vertical-align: middle;
  color: #73c53f;
  line-height: 1.5 !important;
  position: relative;
  width: 0.8em;
  height: 0.8em;
  border: 0.15em solid currentColor;
  /* border-radius: 50%; */
  box-sizing: content-box;
}

.check-s > span {
  width: 0.58em;
  height: 0.28em;
  border: 0.13em solid currentColor;
  border-top: 0;
  border-right: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(-45deg);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.al-btn04 { }

.btn-s_04 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width:70%;
    margin: 0 auto;
    padding: .5em 3em .5em 2em;
    border: 1px solid #73c53f;
    color: #5cbd33;
    font-size: 16px;
    font-weight: bold;
    border-radius: 4px;
}

.btn-s_04::after {
    position: absolute;
    right: 1.5em;
    transform: translateY(-50%);
    transform-origin: left;
    width: 1.5em;
    height: .5em;
    background-color: #73c53f;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
}

.btn-s_04:hover {
	color: #73c53f !important;
}


.btn-s_04:hover::after {
    transform: translateY(-50%) scaleX(1.4);
}



/* PC用のCSS */
@media only screen and (min-width: 758px) {

h2.s-ttl{
    margin: 0 auto 40px auto;
    font-size: 30px;
    width: 80%;
}

.s-hl {
	width: 400px;
	padding: 5px 10px;
	font-size: 35px;
	line-height: normal;
}


.system-cont{}

.system-box{
	background:#ffffff;
	margin: 0 auto 50px;
	padding: 40px;
	width: 90%;
}


.system-ttl {
    margin: 0 auto 30px;
}

.system-ttl dt {
    border-radius: 50px;
    border: 1px solid;
    background: #73c53f;
    width: 90px;
    padding: 7px 10px;
    font-size: 25px;
    line-height: 1.3;
}

.system-ttl dt span {
    font-size: 18px;
}

.system-ttl dd {
    font-size: 25px;
    line-height: 1.5;
    padding-left: 18px;
    padding-left: 20px;
}

.op-box  {
	padding: 30px;
	border: 8px solid #dcf5d1;
}

.op-ttl {
  padding: 0 3em;
  font-size: 23px;
  margin-bottom: 20px;
}
.op-ttl::before, .op-ttl::after {
  width: 2em;
  height: 3px;
}

.al-btn04 {
	margin: 0 auto;
	position: relative;
	padding-bottom: 50px;
}

.btn-s_04 {
    width: 290px;
    padding: .4em 3em .4em 1em;
    font-size: 17px;
    position: absolute;
    right: 0;
}


.btn-s_04::after {
    right: 1.5em;
    width: 1.5em;
}

}




/*-----------------------------------------------------
	流れ
-----------------------------------------------------*/

h3.ttl-02 {
    padding: 8px;
    border-bottom: 2px solid #6fb6ff;
    width: 90%;
    margin: 15px auto 15px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: #559ee9;
    line-height: 1.5;
}


.nagare-cont{ width: 100%; margin: 0 auto;}

.nagare-box {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    border: 2px solid #6fb6ff;
    height: auto;
}

.nagare-l {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #a0cfff;
    text-align: center;
    margin: 0 auto;
    width: 100%;
}

.nagare-l img{
    width: 40%;
    text-align: center;
}

.nagare-r {
    margin: 0;
    width: 100%;
	background:#ffffff;
}

.nagare-r p{
	padding:0 20px;
	font-size:16px;
	line-height:1.5;

}

.arrow02{
	display: block;
	content: '';
	border: 50px solid transparent;
	border-top: 25px solid #a0cfff;
	width: 0;
	height: 0;
	margin: 0 auto -25px;
}

/* PC用のCSS */
@media only screen and (min-width: 758px) {
	
h3.ttl-02 {
    padding: 10px;
    margin: 20px auto 20px;
    font-size: 21px;
    text-align: left;
}

.nagare-cont{ width: 80%; }	

.nagare-box {
    min-height: 240px;
}

.nagare-l {
    width: 30%;
    text-align: center;
}

.nagare-l img{
	width: auto;
    text-align: center;
}

.nagare-r {
    margin: 0;
    width: 70%;
}

.arrow02{
	border: 80px solid transparent;
	border-top: 25px solid #a0cfff;
	margin: 0 auto -50px;
}
	
}


/*-----------------------------------------------------
	料金
-----------------------------------------------------*/

h3.ttl-03 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	text-align: center;
	margin-bottom: 20px;
	font-weight:bold;
	color: #5ab3f5;
}

h3.ttl-03::before,
h3.ttl-03::after {
	content: '';
	width: 2px;
	height: 30px;
	background-color: #48a7ed;
}

h3.ttl-03::before {
	margin-right: 20px;
	transform: rotate(-35deg)
}
h3.ttl-03::after {
	margin-left: 20px;
	transform: rotate(35deg)
}


.price-cont{
	background:#ffffff;
	border: 1px solid #b3b3b3;
	padding:0;
	width: 100%;
	margin: 0 auto 60px;
}

.spt{
	background: #f5fff9;
	padding: 30px 15px;
}

.price01{
	padding: 10px;
	margin:0 auto;
}

.split{
	padding: 20px 10px 10px;
	margin:0 auto;
	border: 2px solid #73c53f;
	margint: 5px;
	margin: 10px auto 30px;
	width: 80%;
}

.p-notes{
	font-size: 90%  !important;
	color: #918f8f;
	text-align: center;
	line-height: 1.5;
}

.grt-cont{
	background:#ffffff;
	border: 3px solid #73c53f;
	padding:0;
	width: 100%;
	margin: 0 auto 15px;
}



.grt-ttl{
    position: relative;
    display: inline-block;
    height: 50px;
    line-height: 50px;
    padding: 0 30px;
    background-color: #73c53f;
    color: #ffffff;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    margin: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.grt-ttl::before,
.grt-ttl::after {
    position: absolute;
    top: 0;
    width: 0px;
    height: 0px;
    border-color: #73c53f transparent;
    border-style: solid;
    content: '';
}
.grt-ttl::before {
    left: -15px;
    border-width: 25px 0px 25px 15px;
}
.grt-ttl::after {
    right: -15px;
    border-width: 25px 15px 25px 0px;
}



.grt-txt{
	padding: 0 10px 10px;
}


.grt-note{
	width: 100%;
	font-size: 90%  !important;
	color: #898989;
	line-height: 1.5;
	margin: 0 auto 30px;
}

.more {
	font-size: 28px;
	text-align: center;
	margin-bottom: 10px;
	font-weight:bold;
	color: #5a5a5a;
}


.cp-hl {
	position: relative;
	display: block;
	padding: 0 40px;
	font-size: 17px;
	text-align: center;
	margin: 0 auto 20px;
	font-weight:bold;
	color: #5a5a5a;
	/* left: 16%; */
}
.cp-hl:before, .cp-hl:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 40px;
	height: 2px;
	background-color: #1baf7e;
}
.cp-hl:before {
	left:0;
	transform: rotate(60deg);
}
.cp-hl:after {
	right: 0;
	transform: rotate(-60deg);
}

.cp-price-cont {
	background:#ffffff;
	border: 5px solid #73c53f;
	width: 100%;
	margin: 0 auto 15px;
}
.cp-price-cont .cp-price-title {
    font-size: 23px;
    background: #73c53f;
    padding: 8px 5px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.cp-price-inn {
	padding: 15px 15px 10px;
	margin: 0;
}


.p-notes2{
	font-size: 80%  !important;
	color: #918f8f;
	text-align: left;
	line-height: 1.5;
	margin: 10px 0 0 !important;
}






/* PC用のCSS */
@media only screen and (min-width: 758px) {
	
h3.ttl-03 {
	font-size: 23px;
	margin-bottom: 30px;
}


h3.ttl-03::before {
	margin-right: 40px;
	transform: rotate(-35deg)
}
h3.ttl-03::after {
	margin-left: 40px;
	transform: rotate(35deg)
}

.price-cont{
	width: 90%;
}

.spt{ padding: 40px 20px;}


.price01{
	padding: 0 10px 20px;
}

.split{

padding: 35px 10px;

margin: 0 auto 50px;

width: 65%;
}


.grt-cont{
	width: 90%;
	margin: 0 auto 15px;
}

.grt-txt{
	padding: 20px;
}

.grt-note{
	width: 70%;
	margin: 0 auto 40px;
}

.grt-ttl {
	font-size: 30px;
	padding: 0 60px;
}



.cp-price-cont {
	border: 8px solid #73c53f;
	width: 70%;
	margin: 0 auto 15px;
}
.cp-price-cont .cp-price-title {
    font-size: 28px;
}
.cp-price-inn {
	padding: 30px 20px 20px;
}

.cp-hl {
	padding: 0 45px;
	font-size: 23px;
	margin: 0 auto 20px;
	/* left: 25%; */
	width: 40%;
}

.p-notes2{
	font-size: 90%  !important;
	text-align:right;
}
	
}



/*詳しく見る */

.toggle {
	display: none;
}
.g-detail {
	padding: 10px 5px;
	display: block;
	color: #5cbd33;
	background: #edffe6;
	border: 2px solid #73c53f;
	text-align: center;
	font-size: 18px;
	width: 90%;
	margin: 0 auto 15px;
	font-weight: bold;
	cursor: pointer;
}
.g-detail::before{
	content:"";
	width: 8px;
	height: 8px;
	border-top: 2px solid #73c53f;
	border-right: 2px solid #73c53f;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top: calc( 50% - 4px );
	right: 20px;
	transform: rotate(135deg);
}
.g-detail,
.d-cont {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.d-cont {
	height: 0;
	margin-bottom:10px;
	padding:0 20px;
	overflow: hidden;
}
.toggle:checked + .g-detail + .d-cont {
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle:checked + .g-detail::before {
	transform: rotate(-45deg) !important;
}

audio {display:block;width:80%; margin:0 auto 30px;}

.og-b{background: #ffd576;padding: 5px 10px;}


/* PC用のCSS */
@media only screen and (min-width: 758px) {
	

.g-detail {
	padding: 15px 5px;
	font-size: 20px;
	width: 90%;
	margin: 0 auto 15px;
}

}


.pl3-bg{
	background: #edffe6;
	padding: 15px;
	margin-bottom: 30px;
}




.pl3 {
    text-align: center;
    margin: 0 auto 20px;
    width: 100%;
}

.pl3 img{
    width: 80%;
}

.prg3 {
    margin: 15px auto 20px;
}

/* PC用のCSS */
@media only screen and (min-width: 758px) {
	
.pl3-box {
    display: flex !important;
    flex-wrap: wrap;
    margin: 0 auto;
}	

.pl3-bg{padding: 40px 20px;margin-bottom: 40px;}

.pl3-box {}

.pl3 { width: 33%; margin: 0 auto;}

.pl3 img{ width: 90%;}

.prg3 {
    margin: 15px auto 0;
}


}



.ppr-bg{
	/* background: #f5fff9; */
	padding: 30px 15px;
	/* margin-bottom: 30px; */
}


.ppr-box {
    display: flex;
    flex-wrap: wrap;
    margin: 20px auto 0;
}

.ppr {
    text-align: center;
    margin: 0 auto 20px;
    width: 100%;
}

.ppr img{
    width: 80%;
}

/* PC用のCSS */
@media only screen and (min-width: 758px) {

.ppr-bg{padding: 40px 20px;/* margin-bottom: 40px; */}

.ppr-box {
    margin: 40px auto 0;
}

.ppr {width: 33%;margin: 0 auto;}

.ppr img{width: 98%;}

}



.plc-bg{
	background: #dcffce;
	padding: 15px;
	margin: 15px 15px 0;
}



/* PC用のCSS */
@media only screen and (min-width: 758px) {


.plc-bg{padding: 30px 20px;margin: 0 auto 40px;width: 70%;/* border: 5px solid #d7eef9; */box-shadow: 5px 5px #c4efb2;}

}


/*-----------------------------------------------------
	違い
-----------------------------------------------------*/

/*
	テーブル
----------------------*/

.df_table table{width: 93%;border-collapse: collapse;border: 1px solid #e4ffd9;margin: 50px auto 60px;x}
.df_table table td{text-align:center;border: 2px solid #d0dfca;padding: 15px 5px;line-height:1.5;}
.df_table table th{text-align:center;border: 2px solid #d0dfca;padding: 20px 5px;line-height:1.5;font-size: 18px;}


.df_table table th:nth-child(1){
	background-color: #f3ffef;
	width:20%;
	border: 2px solid #f3ffef;
}

.df_table table th:nth-child(2){
	background-color: #f97503;
	color: white;
	width: 25%;
	font-weight:bold;
	border-top: solid 7px #f97503;
	border-left: solid 7px #f97503;
	border-right: solid 7px #f97503;
}

.df_table table th:nth-child(3){
	background-color: #9eafa7;
	color: white;
	width: 25%;
	font-weight:bold;
}

.df_table table th:nth-child(4){
	background-color: #9eafa7;
	color: white;
	width: 25%;
	font-weight:bold;
}


.df_table table td:nth-child(2){
	border-right: solid 7px #f97503;
	border-left: solid 7px #f97503;
}


.df_table table td {
	background: #fbfbfb;
}
.df_table table tr:nth-child(odd) td {
	background: #ffffff;
}

.df_table .dtd{
	background: #73c53f !important;
	color: #ffffff;
	font-weight:bold;
	font-size: 18px;
}

.df_table .dtd2{
	background: #73c53f !important;
	color:#ffffff;
	font-size: 18px;
}

/* スマホ用のCSS */
@media only screen and (max-width: 640px) {

.df_table .scroll_table{
	width: 95%;
	overflow-x: scroll;
	margin: 0 auto 10px;
	font-size:15px;
}

.df_table .scroll_table{
  overflow: auto;
  white-space: nowrap;
}


.df_table table th:nth-child(3){
	padding: 10px 25px !important;
}

.df_table table td{padding: 8px 5px;line-height:1.5;}
.df_table table th{padding: 10px 5px;line-height:1.5;font-size: 17px;}

.df_table .dtd{font-size: 17px;}
.df_table .dtd2{font-size: 16px;}

}



/*
	テーブル(スマホ)
----------------------*/

.df_table_s table{
	width: 93%;
	border-collapse: separate;
	margin: 10px auto 5px;
}

.df_table_s table td{
	background: #fff;
	text-align:center;
	/* border: 2px solid #f1f9ff; */
	padding: 15px 5px;
	line-height:1.5;
}

.df_table_s table th{
	text-align:center;
	/* border: 2px solid #f1f9ff; */
	padding: 20px 5px;
	line-height:1.5;
	font-size: 15px;
}


.df_table_s table th{
	background-color: #73c53f;
	color: #ffffff;
}

.df_table_s .cnr{
	background-color: #f0ffea;
}

.df_table_s .cp03-1 {
	background-color: #f97503;
	color: #ffffff;
	width: 140px;
	height: 90px;
	line-height: 1.3;
}

.df_table_s .cp03-2{
	background-color: #d2dfd9;
	color: #3f3f3f;
	/* width: 25%; */
	line-height: 1.3;
	height: 70px;
}

.df_table_s .cp03-3{
	background-color: #d2dfd9;
	color: #3f3f3f;
	/* width: 25%; */
	line-height: 1.3;
	height: 70px;
}


.df_table_s .dtd{
	background: #73c53f !important;
	color:#ffffff;
	font-weight:bold;
	font-size: 19px;
}

.df_table_s .dtd2{
	background: #73c53f !important;
	color:#ffffff;
	font-size: 15px;
}


.sty {
  position: sticky;
  top: 0;
  left: 0;
  background: none;
  border-left: none;
  border-right: none;
}

.h-2c {
    display: flex;
    flex-wrap: wrap;
    width: 250px;
}

.h-2c-l{
    width: 25px;
    text-align: center;
    padding-right: 10px;
    align-items: center;
    display: flex;
}

.h-2c-l img{
    width: 100%;
}

.h-2c-r {
    /* width: 80%; */
    text-align: left;
}


.c-mn td {
	background-color: #fffedb !important;
}

/* スマホ用のCSS */
@media only screen and (max-width: 758px) {

.df_table_s .scroll_table{
	width: 95%;
	overflow-x: scroll;
	margin: 0 auto 10px;
	font-size:15px;
}

.df_table_s .scroll_table{
  overflow: auto;
  white-space: nowrap; 
}


.df_table_s table th:nth-child(3){
	padding: 10px 25px !important;
}

.df_table_s table td{padding: 8px 5px;line-height:1.5;}
.df_table_s table th{padding: 10px 5px;line-height:1.5;font-size: 14px;/* width: 140px; */!i;!;}

.df_table_s .dtd{font-size: 17px;}
.df_table_s .dtd2{font-size: 16px;}



}





/*-----------------------------------------------------
	講師紹介
-----------------------------------------------------*/

.plf-cont{
	border: solid 10px #eff7e5;
	/* border-radius:5px; */
	/* -webkit-border-radius:5px; */
	-moz-border-radius:5px;
	background:#ffffff;
	padding: 10px;
	margin-top: 30px;
}

.plf-cont-ttl{
	font-size: 20px;
	/* font-weight:bold; */
	line-height: 1.5;
	border-left: 8px solid #a0c389;
	padding: 0 0 0 15px;
	margin-bottom:30px;
	color: #5f5f5f;
}

.plf-cont-ttl2{
	border-bottom: 1px dotted #bfbfbf;
	margin-bottom:30px;
}

.plf-cont-ttl2 p{
	color: #5f5f5f;
}


.plf-cont p{
	margin-bottom:15px !important;
	line-height:1.8 !important;
}

.plf-cont-img-sp{
	margin: 0 auto;
	text-align: center; 
	margin-bottom: 15px;
	width: 80%;
}

.plf-cont-img-pc{
	display:none;
}

.plf-cont-name{font-size: 28px !important;font-weight:bold;line-height:1.3;}

/* PC用のCSS */
@media only screen and (min-width: 758px) {
.plf-cont{
	padding: 30px;
	margin-top: 30px;
}

.plf-cont p{
	margin-bottom:20px !important;
}


.plf-cont-img{
	margin-left:20px;
	width:auto;
	
}

.plf-cont-ttl{
	font-size: 25px;
}

.plf-cont-img-pc{
	display: block;
	float: right;
	margin-left: 20px;
	text-align: center;
	margin-bottom: 15px;
	/* width: 40%; */
}

.plf-cont-img-sp{
	display:none;
}

}





/*-----------------------------------------------------
	トレーナー紹介
-----------------------------------------------------*/

.trainer-cont{
	
}

.trainer-01{
	padding:0 0 15px;
	width: 90%;
	margin: 0 auto;
}

.trainer-02{
	background: linear-gradient(151deg,#e1f3fd 0%,#e1f3fd 65%,#c2e5f9 40%,#c2e5f9 100%);
	padding:30px 0;
}

.trainer-03{
	margin-top: -30px;
}

.t-cont{max-width: 100%;margin: 0 auto;}


.trrc-box{
	margin: 0 auto 30px auto;
	padding: 50px 20px 10px 20px;
	background: #e6f6ff;
	box-shadow: 3px 3px #c2e5f9;
	position: relative;
	width: 90%;
}

.trrc-box::before {
	position: absolute;
	content: '';
	left: calc( 50% - 50px );
	border: 50px solid transparent;
	border-top: 30px solid #ffffff;
	width: 0;
	height: 0;
	top: -5px;
}

.trrchl{
	background:url(../img01/check01.png) no-repeat;
	background-position: left top 6px;
	padding: 0 0 15px 50px;
	margin-bottom: 20px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	border-bottom: 1px solid #48a7ed;
	color: #393939;
}

.trrc-box p{
	margin: 0 auto 20px;
	padding: 0 0 0 20px;
	font-size: 17px;
	line-height: 1.6;
}


/*	トレーナプロフィール　*/
.trplf-cont{
	border: 2px solid #6fb6ff;
	width: 100%;
	margin: 0 auto 30px;
}

.trplf-name{
	background: #6fb6ff;
	padding:15px 15px 50px 15px;
	color: #ffffff;
}

.t-name{
	font-size: 23px;
	margin-bottom: 10px;
	
}

.t-name2{
	font-size: 16px;
	line-height:1.5;

}

.trp-img{ 
	margin:-40px auto 20px;
	width: 80%;
	text-align:center;

}

.trp-img2{ 
	margin:-40px auto 20px;
	width: 50%

}


.trplf-txt{
	padding: 20px;
}

.trplf-txt p{

}







/* PC用のCSS */
@media only screen and (min-width: 758px) {

.trainer-01{
	padding:0 0 15px;
}

.trainer-02{
	padding: 50px 0;
}

.trainer-03{
	margin-top: -110px;
	min-width: 950px;
}

.t-cont{max-width: 1100px;margin: 0 auto;}


.trrc-box{
	margin: 0 auto 100px auto;
	padding: 90px 60px 40px 60px;
	box-shadow: 8px 8px #c2e5f9;
	width: 85%;
}

.trrc-box::before {
	position: absolute;
	content: '';
	left: calc( 50% - 100px );
	border: 100px solid transparent;
	border-top: 40px solid #ffffff;
	width: 0;
	height: 0;
	top: -5px;
}

.trrchl{
	background:url(../img01/check01.png) no-repeat;
	background-position: left top 6px;
	padding: 0 0 15px 50px;
	margin-bottom: 20px;
	font-size: 25px;
	line-height: 1.5;
	color: #393939;
}

.trrc-box p{
	margin: 0 auto 50px;
	padding: 0 0 0 20px;
	font-size: 19px;
	line-height: 1.6;
}	

/*	トレーナプロフィール　*/
.trplf-cont{
	position:relative;
	width: 85%;
	margin: 0 auto 50px;
	min-width: 750px;
}

.trplf-name{
	width: 400px;
	padding:20px;
	position: absolute;
	top: -20px;
	left: -20px;
}

.t-name{
	font-size: 25px;
	margin-bottom: 10px;
	
}

.t-name2{
	font-size: 16px;
}

.trp-img{ 
	float:right;
	padding:0 0 20px 20px;
	margin:-130px 0 0 0;
	text-align:right;
	width:auto;	

}

.trp-img2{ 
	float:right;
	padding:0 0 20px 20px;
	margin:-130px 0 0 0;
	text-align:right;
	width:auto;

}

.trplf-txt{
	padding: 180px 50px 20px;
}

.trplf-txt p{

}

	
}


/*-----------------------------------------------------
	活動内容
-----------------------------------------------------*/

h2.ac-ttl{
    padding: 10px 0;
    margin: 0 auto 30px;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
	color: #ffffff;
	position: relative;
	z-index: 2;
	width: 90%;
	line-height: 1.5;
}


h2.ac-ttl::before {
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	transform: skewX(348deg);
	content: "";
	background-color: #73c53f;
}

.act-cont{
	background: #ffffff;
	margin: 0 auto 30px;
	padding: 20px;
	box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.2);
	border: 5px solid #f2ffed;
}

.act-cont p{
	font-size:16px;
}


.act-box {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

.act-img {
    text-align: center;
    margin: 10px auto 0;
    width: 100%;
}

.act-img p{
    text-align: left !important;
    margin: 8px 0 0;
    font-size: 16px !important;
    line-height: 1.3;
}


.act-img img{
    width: 100%;
}


h3.ttl3_01{
  position: relative;
  padding: 10px;
  text-align: center;
  width:90%;
  margin: 0 auto 30px;
  font-size: 20px;
}
h3.ttl3_01:before,
h3.ttl3_01:after {
  position: absolute;
  content: '';
}

h3.ttl3_01:after {
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-top: 3px solid #73c53f;
  border-left: 3px solid #73c53f;
}
h3.ttl3_01:before {
  right: 0;
  bottom: 0;
  width: 20px;
  height: 20px;
  border-right: 3px solid #73c53f;
  border-bottom: 3px solid #73c53f;
}

.spt-box{
	padding: 15px;
	background: #f3f9f5;
	color: #5cbd33 !important;
	margin: 30px auto 0;
}

.spt-box p{
	font-size:17px;
}

.spt-ttl{
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
	font-size:120%;
}


/* PC用のCSS */
@media only screen and (min-width: 758px) {

h2.ac-ttl{
    padding: 15px 0;
    margin: 0 auto 60px;
    font-size: 28px;
    width: 50%;
    padding: 10px;
    line-height: 1.5;
}

.act-cont{
	margin: 0 auto 70px;
	padding: 40px;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
	/* border: 5px solid #f2ffed; */
}

.act-cont p{
	text-align:center;
	font-size:18px;
	margin-bottom:40px;
}


h3.ttl3_01{
  width:80%;
  margin: 0 auto 30px;
  font-size: 25px;
}

h3.ttl3_01:after {
  width: 30px;
  height: 30px;
}
h3.ttl3_01:before {
  width: 30px;
  height: 30px;
}

.act-box {
	/* padding-top:30px; */
}

.act-img {
    width: 50%;
}


.act-img img{
    width: 98%;
}

.spt-box{
	padding: 20px 40px 5px 40px;	
	margin: 20px auto 0;	
	width: 80%;
}

}









/*-----------------------------------------------------
	6つのレベル
-----------------------------------------------------*/

.arrow01{
	display: block;
	content: '';
	border: 50px solid transparent;
	border-top: 25px solid #73c53f;
	width: 0;
	height: 0;
	margin: 0 auto -25px;
}



.level-cont{
	position:relative;
	margin: 30px 0 30px 0;
	/* background:#ffffff; */
}

.level-icon{
	position: absolute;
	top: 0;
	left: 40px;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	/* right: 50%; */
	width: 25%;
}

.level-box{
	border: 1px solid #bfbfbf;
	padding: 80px 15px 15px;
	border-radius: 10px;
	background: #ffffff;
}

.level-box h3{
	text-align: center;
	margin-bottom: 20px;
	font-size: 20px;
	line-height: 1.3;
	font-weight: bold;
	color: #1a1a1a;
}

.level-box h4{
	text-align:center;
	font-size:18px;
	font-weight: bold;
	margin-bottom: 25px;
	line-height: 1.5;
}

.level-box h5{
	padding: 5px;
	border-bottom: 2px solid #13b56a;
	margin-bottom: 20px;
	font-weight: bold;
	color: #5b5b5b;
	font-size: 105%;
}

.level-g ul {
	list-style-type: none!important;
	padding: 0 10px 10px 10px;
}
.level-g ul li {
	background:url(../img01/chek01.png) no-repeat;
	background-position: left top 3px;
	padding: 5px 0 10px 40px;
	font-size: 18px;
	line-height: 1.5;
	border-bottom: 1px dotted #8d8d8d;
	margin-bottom: 10px;
	color: #4f4f4f;
	display: flex;
	align-items: center;
	font-weight: bold;
	text-align: left;
}

.level-inn{
	text-align:center;
	margin-bottom: 20px;
	/* background: #f9f9f4; */
	padding: 10px 15px;
}


.ls-img{ text-align:center; padding:20px;}


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

.level-box h3{	font-size: 20px;}

}


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

.level-box{	padding: 120px 15px 15px;}
.level-icon{width: 15%;}

}

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

.level-box{	padding: 100px 15px 15px;}
.level-icon{width: 18%;}

}

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

.level-box{	padding: 70px 15px 15px;}
.level-icon{width: 20%;}

}



/* PC用のCSS */
@media only screen and (min-width: 758px) {
	
.arrow01{
	border: 80px solid transparent;
	border-top: 25px solid #73c53f;
	margin: 0 auto -70px;
}

.level-cont{
	margin: 30px auto 30px;
	width: 85%;
}

.level-icon{
	position: absolute;
	top: 0;
	left: 0;
	transform: translateX(0);
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	width:auto;
}

.level-box{
	padding: 30px 40px 20px;
	margin-left: 0;
}


.level-inn{
	margin-bottom: 0;
}


.ls-img{ padding:0;}

}





table.sec06_table{width: 100%;border-collapse: collapse;/* margin:40px 0 40px; */border: 2px solid #e1f7d6;background: #ffffff;}
table.sec06_table th{text-align:left;width:15%;background: #f0ffe9;white-space:nowrap;font-weight: bold;color: #454545;}
table.sec06_table td{width: 80%;}
table.sec06_table td,table.sec06_table th{border-bottom:1px solid #ccc;padding: 8px 20px;text-align: left;}
table.sec06_table th.sec06_th_top{background: #f0ffe9;width:100%;color: #454545;font-weight: bold;text-align: center;padding: 10px 5px;}



/* スマホ用のCSS */
@media only screen and (max-width: 640px) {
	
table.sec06_table{margin: 0;}
table.sec06_table th{text-align:left;}
table.sec06_table td,table.sec06_table th{padding:5px 15px;}
table.sec06_table th.sec06_th_top{width:100%;}

}


/*
	テーブル
----------------------*/

.pl_table table{width: 93%;border-collapse: collapse;border: 1px solid #afafaf;margin: 10px auto 20px;background: #ffffff;}
.pl_table table td{text-align:center;border: 1px solid #d3d3d3;padding: 15px 5px;line-height:1.5;}
.pl_table table th{text-align:center;border: 1px solid #b7b5b5;padding: 15px 5px;line-height:1.5;/* font-size: 18px; */}

.bcp span{ display:block; text-align:center;}
.pl_table table th span{ display:block; text-align:center;}


.pl_table table th:nth-child(1){
	background-color: #ebf3d6;
	width: 40%;
}

.pl_table table th:nth-child(2){
	background-color: #fff396;
	color: #ab9000;
	width: 15%;
	font-weight:bold;
	font-size: 17px;
	font-style: italic;
}

.pl_table table th:nth-child(3){
	background-color: #d3ff87;
	color: #5da703;
	width: 15%;
	font-weight:bold;
	font-size: 19px;
	font-style: italic;
}

.pl_table table th:nth-child(4){
	background-color: #dafbfa;
	color: #51a7a1;
	width: 15%;
	font-weight:bold;
	font-size: 19px;
	font-style: italic;
}

.pl_table table .tl{background: #fdffef;text-align: left;padding: 10px;}


.pl_memo{
	/* text-align:right; */
	font-size:15px;
	color:#919191;
	line-height:1.3;
	margin-bottom: 40px;
	padding-left:40px;
}



/* スマホ用のCSS */
@media only screen and (max-width: 640px) {

.pl_table .scroll_table{
	width: 95%;
	overflow-x: scroll;
	margin: 0 auto 10px;
	font-size:15px;
}

.pl_table .scroll_table{
  overflow: auto; /*スクロールさせる*/
  white-space: nowrap; /*文字の折り返しを禁止*/
}


.pl_table table th:nth-child(3){
	padding: 10px 25px !important;
}

.pl_table table td{ padding: 10px 5px;line-height:1.5;}
.sd_table table th{ padding: 10px 5px;line-height:1.5;}

.pl_table table .tl{font-size: 14px;}

.pl_memo{
	padding-left:0;
	font-size:14px;
}


}



.mpr-800 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.cgy{ 
	color:#9b9b9b;}








/*-----------------------------------------------------
    プログラム＆サポート
-----------------------------------------------------*/

.spt-cont{
	background:#ffffff;
	width: 93%;
	margin: 0 auto;
	padding: 30px 10px;
	border: 1px solid #6fb6ff;
	box-shadow: 3px 3px #6fb6ff;
}

.spt{

}


/* PC用のCSS */
@media only screen and (min-width: 758px) {
	
.spt-cont{
	width: 80%;
	padding: 50px 40px 50px;
	margin: 0 auto 50px;
	box-shadow: 5px 5px #6fb6ff;
}

.spt{}


}



/*-----------------------------------------------------
	FQA01
-----------------------------------------------------*/
.qa01 dl, .qa01 dt, .qa01 dd {
	margin: 0;
	padding: 0;
}

.qa01 dl+dl {
	margin-top: 25px;
}

.qa01 dt, .qa01 dd {
	padding: 10px;
}

.qa01 dl {
	position: relative;
	overflow: hidden;
	/* border: 1px solid #73c53f; */
}

.qa01 dl>input {
	display: none;
}

.qa01 dt {
	position: relative;
	z-index: 1;
	padding: 15px 50px 15px 65px;
	cursor: pointer;
	background: #fafff7;
	transition: .4;
	/* border: solid 1px #cceded; */
	border-bottom: 1px solid #73c53f;
	font-size: 16px;
	color: #5f5f5f;
	line-height: 1.5;
}

.qa01 dd {
	position: absolute;
	visibility: hidden;
	transform: translateY(-100%);
	transition: .4s;
	background: #ffffff;
	/* border: solid 1px #adadad; */
	border-top: none;
	padding: 10px 15px 10px 60px;
	font-size: 18px;
}

.qa01 dl>input:checked+label+dd {
	position: relative;
	visibility: visible;
	transform: translateY(0);
}

.qa01 dt::before {
	content: '';
	position: absolute;
	width: 15px;
	height: 3px;
	top: 50%;
	right: 15px;
	background: #666;
	transform: translateY(-50%);
}

.qa01 dt::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 15px;
	width: 15px;
	height: 3px;
	background: #666;
	transition: .4s;
	transform: translateY(-50%) rotate(90deg);
}

.qa01 dl>input:checked+label>dt::after {
	transform: translateY(-50%) rotate(180deg);
}

.qa01 dt span {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #73c53f;
	top: 50%;
	left: 15px;
	width: 35px;
	height: 35px;
	transform: translateY(-50%);
	/* border: solid 1px #adadad; */
	color: #ffffff;
	font-size: 20px;
}

.qa01 dd span {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f97503;
	top: 50%;
	left: 15px;
	width: 35px;
	height: 35px;
	transform: translateY(-50%);
	color: #ffffff;
	font-size: 20px;
}

.qa01 dd span {
	top: 15px;
	transform: translateY(0);
}

.qa01 dd p{
	font-size: 17px;
	line-height:1.5;
}

.qa-d-ttl{
	padding: 8px;
	font-size: 18px;
	font-weight: bold;
	border-bottom: double #73c53f;
	margin: 0 auto 10px auto;
	color:#3c3b3b;
}


.qa-f{
	border: 1px solid #73c53f;
	padding:10px;
	margin: 0 auto;
}

.qa-f-ttl{
	padding: 8px;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	border-bottom: double #73c53f;
	margin: 0 auto 30px auto;
	width: 90%;
	color:#3c3b3b;
}

.qa01 dd a{ text-decoration:underline; color:#006ddc !important;}


h4.ttl-07 {
  font-weight: bold;
  color: #fff;
  background: #73c53f;
  padding: 10px;
  position: relative;
  margin: 0 auto 30px;
  width: 97%;
  text-align: center;
  font-size: 17px;
}
h4.ttl-07:before {
  content: "";
  position: absolute;
  width: 25px;
  height: 12px;
  background: #73c53f;
  bottom: -11px;
  left: 0;
  right: 0;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  margin: auto;
}


/* PC用のCSS */
@media only screen and (min-width: 758px) {

.qa01 {
	width: 90%;
	margin: 0 auto;
}

.qa01 dt {
	padding: 15px 50px 15px 90px;
	font-size: 18px;
	line-height: 1.8;
}

.qa01 dd {
	padding: 20px 40px 20px 90px;
	font-size: 20px;
}


.qa01 dt span {
	left: 20px;
	width: 40px;
	height: 40px;
	font-size: 25px;
}

.qa01 dd span {
	left: 20px;
	width: 40px;
	height: 40px;
	font-size: 25px;
}

.qa01 dt::before {
	width: 20px;
	height: 3px;
	top: 50%;
	right: 20px;
}

.qa01 dt::after {
	top: 50%;
	right: 20px;
	width: 20px;
	height: 3px;
}

.qa-f{
	padding:20px;
	width:90%;
}

.qa-d-ttl{
	padding: 8px;
	font-size: 17px;
	margin: 0 auto 10px auto;
}

.qa-f-ttl{
	padding: 8px;
	font-size: 19px;
	margin: 0 auto 30px auto;
	width: 90%;
}

h4.ttl-07 {
  padding: 15px 10px;
  margin: 0 auto 40px;
  width: 97%;
  font-size: 23px;
}

	
}





/*-----------------------------------------------------
	Fqa02
-----------------------------------------------------*/
#qa02{}

.qa02 dl, .qa02 dt, .qa02 dd {
	margin: 0;
	padding: 0;
	/* filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.1)); */
	border: 1px solid #73c53f;
}

.qa02 dl+dl {
	margin-top: 35px;
}

.qa02 dt, .qa02 dd {
	padding: 10px;
}

.qa02 dl {}


.qa02 dt {
	position: relative;
	padding: 15px 40px 15px 80px;
	background: #fafffe;
	border-bottom: 1px solid #ccc;
	font-size: 18px;
}

.qa02 dd {
	position: relative;
	background: #fafffe;
	border-top: none;
	padding: 15px 40px 15px 80px;
	font-size: 18px;
}


.qa02 dt span {
	position: absolute;

	display: flex;
	align-items: center;
	justify-content: center;
	background: #73c53f;
	top: 50%;
	left: 20px;
	width: 35px;
	height: 35px;
	transform: translateY(-50%);
	color: #ffffff;
	font-size: 20px;
}

.qa02 dd span {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f97503;
	top: 50%;
	left: 20px;
	width: 35px;
	height: 35px;
	transform: translateY(-50%);
	color: #ffffff;
	font-size: 20px;
}


/* PC用のCSS */
@media only screen and (min-width: 758px) {


.qa02 dt {
	padding: 25px 40px 25px 90px;
	font-size: 20px;
}

.qa02 dd {
	padding: 25px 40px 25px 90px;
	font-size: 20px;
}


.qa02 dt span {
	left: 20px;
	width: 45px;
	height: 45px;
	font-size: 25px;
}

.qa02 dd span {
	left: 20px;
	width: 45px;
	height: 45px;
	font-size: 25px;
}	
	
}


/*-----------------------------------------------------
	ttl 
-----------------------------------------------------*/


h3.ttl-05 {
    padding: 10px;
    color: #5cbd33;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 30px;
    width: 80%;
	border-top:3px double #5cbd33;
	border-bottom:3px double #5cbd33;
	
}


h3.ttl-05::before {
    border-left: solid 2px;
    left: 0;
}

h3.ttl-05::after {
    border-right: solid 2px;
    right: 0;
}

/* PC用のCSS */
@media only screen and (min-width: 758px) {

h3.ttl-05 {
    font-size: 25px;
    margin: 0 auto 40px;
    width: 60%;
}	

}




h3.ttl-04 {
  position: relative;
  padding: 15px 30px;
  text-align: center;
  color: #73c53f;
  font-size: 18px;
  font-weight: bold;
  margin: 0 auto 20px;
}

h3.ttl-04:before,
h3.ttl-04:after {
  position: absolute;
  content: '';
}

h3.ttl-04:after {
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-top: 2px solid #73c53f;
  border-left: 2px solid #73c53f;
}

h3.ttl-04:before {
  right: 0;
  bottom: 0;
  width: 20px;
  height: 20px;
  border-right: 2px solid #73c53f;
  border-bottom: 2px solid #73c53f;
}

/* PC用のCSS */
@media only screen and (min-width: 758px) {

h3.ttl-04 {
  padding: 15px 30px;
  color: #73c53f;
  font-size: 23px;
  margin: 0 auto 40px;
  width:30%;
}

}


h4.ttl-06 {
  font-weight: bold;
  padding-bottom: 10px;
  text-align: center;
  position: relative;
  font-size: 18px;
  color: #6aa8c5;
  margin-bottom: 20px;
}
h4.ttl-06::after {
  content: '';
  background-color: #6aa8c5;
  width: 30px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

h4.ttl-06-2 {
  font-weight: bold;
  padding: 5px;
  text-align: center;
  position: relative;
  font-size: 16px;
  color: #ffffff;
  margin-bottom: 20px;
  background: #73c53f;
  border-radius: 25px;
}


/* PC用のCSS */
@media only screen and (min-width: 758px) {

h4.ttl-06 {
  font-size: 23px;
  margin-bottom: 30px;
}

h4.ttl-06-2 {
  font-size: 22px;
  margin: 0 auto 30px;
  padding: 5px;
  width: 90%;
}

}









/*-----------------------------------------------------
	footer
-----------------------------------------------------*/
footer{
	width:100%;
	padding: 15px 0 120px 0;
	text-align: center;
	font-size:80%;
	background: #73c53f;
	margin-top: auto;
}

#ft_contents{width:940px;margin:0px auto;color: #ffffff;}

#f_menu a{
	color: #ffffff;
	text-decoration:none;
}

#f_top{ text-align:right;}

#f_menu{padding:15px;}

#copy{
	padding-top:10px;
	text-align: center;
	font-size:90%;
	color: #ffffff;
}




/* スマホ用のCSS */
@media only screen and (max-width: 640px) {


footer{
	padding: 10px 5px 110px;
	font-size:80%;
}

#ft_contents{width:100%;}

#f_menu{text-align:center;padding:5px; font-size:12px}

#copy{
	padding-top:10px;
	font-size:80%;
}

.ewp_btn_green {
	font-size:15px !important;}

}


/*フローティングボタン
---------------------------------*/

.ft_btn{
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 0;
  z-index:5;
  text-align: right;
}

.ft_btn img{}


/* スマホ用のCSS */
@media only screen and (max-width: 640px) {
	
.ft_btn{
  position: fixed;
  bottom: 0; 
  right: 0;
  padding: 0;
  z-index:5;
  width:100%;
}

.ft_btn img{width: 100%;text-align:center;}	
	
}




/*-----------------------------------------------------
	参加者の声
-----------------------------------------------------*/

/* external css: flickity.css */

.gallery {
  background: #f1f9ff;
}

.gallery-cell {
  width: 66%;
  height: 670px;
  margin-right: 10px;
  background: #f1f9ff;
  counter-increment: gallery-cell;
}

.voice02-cont {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

.voice02-box {
    text-align: center;
    margin: 8px auto 20px auto;
    width: 88%;
    background: #ffffff;
    padding: 15px;
    border-radius: 8px;
    /* border: 1px solid #dadcdd; */
    height: 600px;
    box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 12%);
}


.voice02-box p{
	padding: 0;
	line-height: 1.5;
	font-size: 15px;
	color: #373737;
}


.voice-ct02 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 20px;
    border-bottom: 1px dotted #9dc1d7;
}

.voice02-ttl {
    text-align: left;
    margin-bottom: 15px;
    width: 100%;
}

.v-name02{
	/* text-align:right; */
	font-size: 15px;
	color: #6b6a6a;
	}

.voice02-img {
    text-align: center;
    margin: 8px auto 20px auto;
    width: 60%;

}

.v-notes02{
	font-size: 75%;
	color: #9b9b9b;
	text-align: left;
	line-height: 1.2;
}


.voice-btn01 {
	margin: 70px auto 0;}

.btn-v_01 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width:70%;
    margin: 0 auto;
    padding: .5em 3em .5em 2em;
    border: 1px solid #48a7ed;
    color: #48a7ed;
    font-size: 16px;
    font-weight: bold;
    border-radius: 4px;
}

.btn-v_01::after {
    position: absolute;
    right: 1.5em;
    transform: translateY(-50%);
    transform-origin: left;
    width: 1.5em;
    height: .5em;
    background-color: #48a7ed;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
}

.btn-v_01:hover {
	color: #74bbef !important;
}


.btn-v_01:hover::after {
    transform: translateY(-50%) scaleX(1.4);
}




.voice02-hl {
    font-size: 22px;
    line-height: 1.6;
    font-weight: bold;
    color: #075187;
    margin-bottom: 7px;
}

/* スマホ用のCSS */
@media only screen and (max-width: 900px) {

.voice02-hl {
    font-size: 18px;
    line-height: 1.5;

}


}


/* PC用のCSS */
@media only screen and (min-width: 758px) {

.gallery-cell {
  width: 66%;
  height: 820px;
  margin-right: 10px;
}

.voice02-cont {
	flex-wrap:initial;
}

.voice02-box {
    margin: 20px auto;
    width: 92%;
    height: 330px;
	padding: 25px;
}

.voice02-box p{
	line-height: 1.6;
	font-size: 17px;
}

.voice-ct02 {
	/* padding-top:30px; */
}

.voice02-ttl {
    width: 77%;
    line-height:normal;
    padding-right: 10px;
}

.voice02-img {
    text-align: center;
    width: 35%;
}


.voice02-img img{
    width: 100%;
}


.voice-btn01 {
	margin: 70px auto 0;
	position: relative;
	padding-bottom: 50px;
}

.v-notes02{
	text-align: right;
}


.btn-v_01 {
    width: 350px;
    padding: 10px 50px 10px 10px;
    font-size: 17px;
    position: absolute;
    right: 0;
}


}

