@charset "UTF-8";


.nosp {
	display: none!important;	
}

body {
	
}

/*tothetopfixed*/
div.tothetopfixed {
	position: fixed;
	bottom: 20px;
	z-index: 1500;right: 20px;
}	
div.tothetopfixed a  {display: block;float: right;background-color: #fff;}
div.tothetopfixed a:hover {
transition: opacity 0.2s ease-in-out;
opacity:1;
filter: alpha(opacity=100);
}
div.tothetopfixed a {
    display: block;
    color: #fff;
    border-radius: 5px;
	width: 40px;height: 40px;
	background-size: contain;
	transition: opacity 0.2s ease-in-out;
opacity:0.75;
filter: alpha(opacity=75);
background-color: rgba(200, 200, 200, .75);
display:flex;
justify-content:center;
align-items: center;
border-radius: 100%;
font-size: 3rem;
}


/*----------------------------
* メニュー開閉ボタン
*----------------------------*/
.menu-btn{
  position: fixed;
  top: 15px;
  z-index: 4;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: url(../img/Icon_open.svg) center center no-repeat;
  background-size: 100% auto;
  right: 20px;
}

.menu-btn.menu-close {
  background: url(../img/Icon_close.svg) center center no-repeat;	
}

/*----------------------------
* メニュー本体
*----------------------------*/
.menu{
  position: fixed;
  top: 0;
  right: 0;
  z-index: 3;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: url(../img/bg_race_100.svg) center 65px repeat-x, linear-gradient(to top, #ffffff 0%, #d8f6e5 100%) 0 bottom no-repeat;
	background-size: auto 50px, auto auto;
}
.menu__item{
  width: 100%;
  height: auto;
  padding: .5em 1em;
  text-align: center;
  color: #fff;
  box-sizing: border-box;
}

/*----------------------------
* アニメーション部分
*----------------------------*/

/* アニメーション前のメニューの状態 */
.menu{
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s linear;
}
/* アニメーション後のメニューの状態 */
.menu.is-active{
  pointer-events: auto;
  opacity: 10;
}



.h1-head-sp {
	position: absolute;
	top: 2.5%;
}

.img-head-sp {
	position: absolute;
	top: 9.5%;
}





/*HEAD*/

.sec-head {
	position: fixed;
	top: 0;
	z-index: 3;
	background-color: #fff;
	height: 65px;
	width: 100%;
}

.head-head {
	margin-right: auto;
	margin-left: auto;
	padding: 10px;
	position: relative;
	width: calc(100% - 40px);
	height: 50px;
}

.headname {
	position: absolute;
	width: 300px;
}
.headname a {
	color: #333;
}
.headname a img {
	width: 40px;
	height: 40px;
	float: left;
	margin-right: 10px;
}
.h1name {
	
}
.h1name i {
	display: block;
	color: #333;
	font-size: 1.25rem;
	position: relative;
	top: 5px;
}
.h1name b {
	display: block;
	color: #333;
	font-size: 2rem;
	letter-spacing: 0.1em;
	font-weight: 500;
	float: left;
	position: relative;
	top: 10px;
	margin-right: 0.25em;
}
.h1name span {
	display: block;
	color: #333;
	font-size: 1.5rem;
	position: relative;
	top: 15px;
}

.ul-mm {
	position: absolute;
	display:flex;
justify-content:right;
flex-wrap: wrap;
right: 160px;
top: 53px;
}
.li-mm {
	
}
.a-mm {
	color: #333;
	font-size: 1.75rem;
	margin-right: 2em;
	transition: all 0.2s ease-in-out 0s;
	border-bottom: 2px solid #fff;
}
.a-mm:hover {
	color: #005aa8;
	transition: all  0.2s ease-in-out 0s;
	border-bottom: 2px solid #005aa8;
}



.a-headcont {
	position: absolute;
	background-color: #67d0ed;
	display: block;
	color: #fff;
	right: 0;
	top: 35px;
}


.a-headcont span {
	border: 2px dashed #fff;
	margin: 5px;
	display: block;
	font-size: 1.75rem;
	padding: 10px 20px;
}


.sec-topimg {

background: url(../img/bg_race_50.svg) center bottom repeat-x, linear-gradient(to bottom, #ffffff 0%, #78efb0 100%) 0 bottom no-repeat ;
background-size: auto 50px,auto 100%;
padding-bottom: 18%;
margin-bottom: 10%;
padding-top: 70px;
}

.img-topimg {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.sec-topmenu {
	padding-bottom:20%;
}

.art-topmenu {

width: 80%;
margin-right: auto;
	margin-left: auto;
}
.div-topmenuunit {

}
.a-topmenuunit {
	width: 100%;
	display: block;
}
.img-topmenu {
	width: 100%;
	height: auto;	
}
.spn-topmenubtn {
	background-color: #67d0ed;
	border: 5px solid #fff;
	display: block;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	top: -50px;
	width: 80%;
}
.spn-topmenubtn b {
	border: 2px dashed #fff;
	margin: 10px;
	display: block;
	padding-top: 10%;
	padding-bottom: 10%;
	color: #fff;
	text-align: center;
	position: relative;
	font-size: 2rem;
}
.img-tmicon {
height: auto;
width: 60px;
position: absolute;
top: -30px;
left: -30px;
}

.spn-topmenubtn b:before {
	content: '▶';
	margin-right: 5px;
	font-size: 1rem;
	display: inline-block;
	position: relative;
	top: -3px;
}

/*RECINFO*/
.sec-topinfo {
	width: 100%;
	padding-top: 15%;
	padding-bottom: 10%;
	position: relative;
	background: url(../img/bg_stripe02.svg) center center repeat;
	background-size: 50% auto;
	border-top: 3px solid #66d0ec;
	border-bottom: 3px solid #66d0ec;
}
.h2-topinfo {
	position: absolute;
	display: block;
  left: 50%;
  transform:  translateX(-50%);
  background-color: #6497e3;
  top: -10%;
  width: 80%;
}
.h2-topinfo span {
	border: 2px dashed #fff;
	display: block;
	color: #fff;
	font-size: 2.5rem;
  padding: 5%;
  margin: 5%;
  text-align: center;
  letter-spacing: 1rem;
}
.img-h2ti01 {
	position: absolute;
	width: 80px;
	height: auto;
	top: -30px;
	left: -30px;
}
.img-h2ti02 {
	position: absolute;
	width: 100px;
	height: auto;
	right: -30px;
	bottom: -30px;
}
.art-topinfo {

	margin-right: auto;
	margin-left: auto;
margin-top: 10%;
}
.div-topinfounit {
	background-color: #67d0ed;
	width: 70%;
	display: block;
	position: relative;
	height: 100%;
	margin-right: auto;
	margin-left: auto;
	padding: 5%;
	margin-bottom: 5%;
}
.div-topinfounit span{
	display: block;
	border: 2px dashed #fff;
	padding: 5%;
}
.div-topinfounit01 {
	
}
.div-topinfounit02 {
	
}
.h3-topinfo {
	color: #fff;
	text-align: center;
	margin-bottom: 20px;
	font-size: 2.5rem;
}
.ul-topinfo {
	background-color: #fff;
}
.ul-topinfo01 {

	padding: 10%;
}
.ul-topinfo01 li {
display: block;
margin-top: 1rem;
	margin-bottom: 1rem;
}
.ul-topinfo02 {
	padding: 5px 20px;
}


.ul-topinfo02 li {
	margin-bottom: 1rem;
	margin-top: 1rem;
}
.a-topinfo {
	color: #6497e3;
	font-size: 1.5rem;
	transition: all	0.2s ease-in-out 0s;
}
.a-topinfo:hover {
	color: #67d0ed;
	transition: all	0.2s ease-in-out 0s;
	text-decoration: underline;
}



.a-topinfo:before {
	content: '▶';
	margin-right: 5px;
	font-size: 1rem;
	display: inline-block;
	position: relative;
	top: -3px;	
}
.img-tficon01 {
	position: absolute;
	top: -25px;
	left: -25px;
	width: 120px;
	height: auto;
}
.img-tficon02 {
	position: absolute;
	width: 120px;
	height: auto;
	right: -25px;
	bottom: -25px;
}


/*FOOTER*/
.a-gotocont {
	width: 95%;
	margin-right: auto;
	margin-left: auto;
	display: block;
	margin-bottom: 10%;
	transition: opacity 0.2s ease-in-out 0s;
}



.img-gotocont {
	height: auto;
	width: 100%;
}
.a-gotocont:hover {
	opacity: 0.7;
	transition: opacity 0.2s ease-in-out 0s;;
}

.foot-foot {
	padding-top: 5%;
	padding-bottom: 5%;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}

.headname2 {

	width: 90%;
	margin-right: auto;
	margin-left: auto;
}
.headname2 a {
	color: #333;
}
.headname2 a img {
	width: 40px;
	height: 40px;
	float: left;
	margin-right: 10px;
}

.h1name2 {
	
}
.h1name2 i {
	display: block;
	color: #333;
	font-size: 1.25rem;
	position: relative;
	top: 5px;
}
.h1name2 b {
	display: block;
	color: #333;
	font-size: 2.5rem;
	letter-spacing: 0.1em;
	font-weight: 500;
	float: left;
	position: relative;
	top: 10px;
	margin-right: 0.25em;
}
.h1name2 span {
	display: block;
	color: #333;
	font-size: 1.5rem;
	position: relative;
	top: 20px;
}

.add-foot {
	clear: both;
	text-align: center;
	color: #666;
	font-size: 1.5rem;
	line-height: 1.5em;
	padding-top: 20px;
	margin-bottom: 25px;
}
.a-footmail {
	color: #666;
	font-size: 1.5rem;
}

.ul-foot {
display:flex;
justify-content:center;
flex-wrap: wrap;	
}

.li-foot {
	margin-right: 1rem;
	margin-left: 1rem;
	margin-bottom: 2rem;
}

.a-foot {
	color: #666;
	font-size: 1.5rem;
}
.a-foot:hover {
	text-decoration: underline;
}

/*NEXT*/

.sec-nexthead {
position: relative;
margin-top: 65px;
background: url(../img/bg_race_50-2.svg) center top repeat-x, url(../img/bg_stripe02.svg) center center repeat;
padding-top: 10%;
margin-bottom: 20%;
padding-bottom: 10%;

}
.sec-nexthead .h2-topinfo {
	top: 125px;
}

.sec-nexthead .h2-topinfo {
	position: absolute;
	display: block;
  left: 50%;
  transform:  translateX(-50%);
  background-color: #6497e3;
  top: 60%;
  width: 75%;
}
.sec-nexthead .h2-topinfo span {
	border: 2px dashed #fff;
	display: block;
	color: #fff;
	padding: 5%;
  margin: 2.5%;
  text-align: center;
  font-size: 1.75rem;
  letter-spacing: 0.25rem;
}
.sec-nexthead .img-h2ti01 {
	position: absolute;
	width: 50px;
	height: auto;
	top: -20px;
	left: -20px;
}
.sec-nexthead .img-h2ti02 {
	position: absolute;
	width: 70px;
	height: auto;
	right: -20px;
	bottom: -20px;
}


.sec-nextbody {

	margin-bottom: 10%;
}


.ul-spmenu {
	
}
.li-spmenu {
padding-top: 10%;
	padding-bottom: 10%;
}
.a-spmenu {
	color: #6396e3;
	font-size: 2rem;
}
.a-spmenu:before {
	content: '▶';
	color: #6396e3;
	font-size: 1rem;
	position: relative;
	top: -5px;
	margin-right: 5px;
}

/*NEXT*/

.sec-nexthead {
position: relative;
background: url(../img/bg_race_50-2.svg) center top repeat-x, url(../img/bg_stripe02.svg) center center repeat;
padding-bottom: 50px;

}
.sec-nexthead .h2-topinfo {
}



.sec-nextbody {
	margin-bottom: 50px;
}

.hr-nextfoot {
	background: url(../img/bg_stripe02.svg) center center;
	height: 50px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 10%;
}

/*PRIFILE*/

.art-greet,.art-plofile{
margin-right: auto;
	margin-left: auto;
background: url(../img/bg_hr.svg) center bottom repeat-x;
background-size: auto 40px;
padding-bottom: 25%;
margin-bottom: 10%;
width: 90%;
}



.art-jinzai{

background: url(../img/bg_hr.svg) center bottom repeat-x;
background-size: auto 40px;
padding-bottom: 10%;
margin-bottom: 10%;
	margin-right: auto;
width: 90%;
	margin-left: auto;
}

.art-nextlast{

background: url(#);

}


.spn-greetname {
	color: #666;
	font-size: 1.5rem;
	text-align: right;
	display: block;
	margin-bottom: 20px;
	margin-top: -20px;
}


.div-greetl {

}
.div-greetr {

}
.h3-h3next {
	color: #6497e3;
	font-size: 2.5rem;
	font-weight: bold;
	width: calc(100% - 50px);

	margin-bottom: 10px;
	background: url(../img/icon_rb01lt01.svg) left center no-repeat;
	background-size: 30px auto;
	padding-left: 40px;
	padding-top: 10px;
	padding-bottom: 10px;
	letter-spacing: 0.2em;
	line-height: 2em;
}
.h3-h3next span {
	color: #666;
	font-size: 1.5rem;
	font-weight: normal;
	font-style: normal;
	display: none;
}

.p-greet {
	color: #666;
	font-size: 1.5rem;
	line-height: 2em;
	width: 100%;
	margin-bottom: 10%;
}
.img-greet {
	width: 100%;
	height: auto;
	border-radius: 30px;
}

.art-plofile {
	
}
.ul-plofile {

}
.li-plofile {
	color: #666;
	font-size: 1.5rem;
	line-height: 2em;
	margin-bottom: 1rem;
	text-indent: calc(-1.5rem - 5px);
	margin-left: calc(1.5rem + 5px);
}
.li-plofile:before {
	content: '●';
	color: #67d0ed;
	margin-right: 5px;
	margin-bottom: 1rem;
}

.p-plofile {
	color: #666;
	font-size: 1.5rem;
	line-height: 2em;
}

.div-ccc {
display:flex;
justify-content:left;
flex-wrap: wrap;
}
.img-ccc {
	
	width: 90%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10%;
}

.dl-plofile {
	
}

.dt-plofile {
	color: #666;
	line-height: 2em;
	font-size: 1.75rem;
	font-weight: bold;
}

.dd-plofile {
	color: #666;
	font-size: 1.5rem;
	line-height: 2em;
	text-indent: calc(-1.5rem - 5px);
	margin-left: calc(1.5rem + 5px);	
}
.dd-nomal {
	text-indent: 0;
	margin-left: 0;	
}

.dd-plofile:before {
	content: '●';
	color: #67d0ed;
	margin-right: 5px;
	margin-bottom: 1rem;
}


.dd-plofile.dd-nomal:before {
	content: '';
}

.a-plofile {
        background-color: #67d0ed;
        display: inline-block;
        color: #fff;
		margin-top: 20px;
}
.a-plofile span:before {
	content: '▶';
	color: #fff;
	font-size: 1rem;
	margin-right: 10px;
	position: relative;
	top: -3px;
}
.a-plofile span {
        border: 2px dashed #fff;
        margin: 5px;
        display: block;
        font-size: 1.75rem;
        padding: 10px 20px;	
}



/*EDUCATION*/	
.sec-nexteducation {
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}
.div-edutit {
	margin-right: auto;
	margin-left: auto;
	background-color: #f7f9dc;
	padding-right: 20px;
	padding-bottom: 20px;
	padding-left: 20px;
	margin-bottom: 10%;
}
.h3-edutit	{
	font-size: 2.5rem;
	color: #6497e3;
	text-align: center;
	position: relative;
	top: -0.5em;
}
.p-edutit {
	color: #666;
	line-height: 2em;
	text-align: left;
	font-size: 1.5rem;
}	
.art-educolmn	{

        background: url(../img/bg_hr.svg) center bottom repeat-x;
        background-size: auto 40px;
        padding-bottom: 50px;
        margin-bottom: 10%;
}
.div-educolmnl,.div-educolmnr {
}

.div-eduunit {

background-color: #edf6f5;
margin-bottom: 5%;
padding: 10px;
}

.dl-eduunit	{
	padding: 20px;
	border: 2px dashed #aac5ee;
}
.dt-eduunit {
	color: #6396e3;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 15px;
	        background: url(../img/icon_rb01lt01.svg) left center no-repeat;
        background-size: 30px auto;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 40px;
}	
.dd-eduunit {
	margin-bottom: 10px;
	color: #666;
	font-size: 1.5rem;
	line-height: 1.5em;
	text-indent: calc(-1.5rem - 5px);
	margin-left: calc(1.5rem + 5px);
}
.dd-eduunit:before {
	content: '●';
	color: #67d0ed;
	margin-right: 5px;
}
.h4-edufig {
	color: #6497e3;
	font-size: 2.5rem;
	text-align: center;
	margin-bottom: 25px;
}	
.div-edufig	{
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 10%;
}
.h5-edufig	{
	color: #666;
	font-size: 1.5rem;
	line-height: 1.5em;
	margin-bottom: 15px;
	text-align: center;
}
.img-edufig	{
	width: 100%;
	height: auto;
aspect-ratio: 1 / 0.75;
}
.div-eduexp	{
	margin-right: auto;
	margin-left: auto;
	padding: 10px;
	background-color: #edf6f5;
	margin-bottom: 10%;
}
.div-eduexp span {
	padding: 20px;
	border: 2px dashed #aac5ee;
	display: block;
}
.p-eduexp01{
	color: #666;
	font-size: 3.25vw;
	line-height: 1.5em;
	text-align: center;
	overflow: hidden;
}
.p-eduexp01:after {
	content: '▼';
	color: #cddcf6;
transform: scale(3, 1);
display: block;
font-size: 3rem;
margin-top: 10px;
	margin-bottom: 10px;
text-align: center;
width: 100%;
}
.p-eduexp02	{
	color: #6396e3;
	text-align: center;
	font-size: 2.5rem;
	font-weight: bold;
}
	
	
		
/*LICENSE*/

.sec-nextlicense {
	
}
.art-license {
	margin-right: auto;
	margin-left: auto;
	display:flex;
justify-content:space-between;
flex-wrap: wrap;
padding: 5%;
margin-bottom: 15%;
position: relative;
width: 80%;
}

.art-license01,.art-license03 {
	background: url(../img/bg_stripe01.svg) center center repeat;	
}
.art-license02,.art-license04 {
	background: url(../img/bg_stripe02.svg) center center repeat;
}
.art-license03,.art-license04 {
	margin-right: auto;
	margin-left: auto;
}

.div-licensel {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	background-color: #fff;

aspect-ratio: 1 / 1;
margin-top: 5%;
padding: 10%;
}
.div-licenser {
	background-color: #fff;
	padding: 10% 5%;
}
.div-license0 {
	background-color: #fff;
	padding: 10% 5%;
}
.img-license01 {
	margin-bottom: 5%;
}

.h3-license {
	color: #6396e3;
	text-align: left;
	font-size: 6vw;
	margin-bottom: 15px;
	line-height: 1.5em;
}
.art-license01 {
display:flex;
  flex-direction: row-reverse;
flex-wrap: wrap;
}

.art-license02 {
display:flex;
  flex-direction: row;
flex-wrap: wrap;
}

.div-licensel {
}
.div-licenser {
	
}
.img-license {
	width: 75%;
	margin-right: auto;
	margin-left: auto;
	height: auto;
}
.p-license {
	color: #666;
	font-size: 1.5rem;
	line-height: 2em;
}

.img-iconlicense02 {
	position: absolute;
	width: 30%;
	height: auto;
	top: -2.5%;
	left: -2.5%;
}

.p-license02 {
	color: #666;
	font-size: 1.5rem;
	line-height: 2em;/*
	position: absolute;
	bottom: -7em;*/
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}



.img-iconlicense01 {
	position: absolute;
	width: 30%;
	height: auto;
	right: -2.5%;
	bottom: -2.5%;
}


/*VOICE*/
.sec-nextlmessage {
	padding-top: 40%;
	padding-bottom: 10%;
}

.div-voicecolmn {
	position: relative;
	        background-color: #f7f9dc;
        margin-bottom: 5%;
	margin-right: auto;
	padding: 2.5%;
	display: block;

	margin-left: auto;
	width: 85%;
}
.div-voicecolmn span {
border: 2px dashed #b3d5c3;
display: block;
padding: 40% 5% 5%;
}
.div-voiceimg {
  left: 50%;
  transform: translateX(-50%);
  width: 75%;
  position: absolute;
  margin-top: -40%;
}

.div-voiceimg01 {
}
.div-voiceimg02{

}

.img-voice {
	width: 100%;
	height: auto;
	border-radius: 100%;
}
.img-voiceicon {
	width: 50%;
	height: auto;
	position: absolute;
	top: -5%;
	left: -5%;
}
.h3-voicecolmn {
	color: #2d8b86;
	text-align: left;
	font-size: 1.75rem;
	margin-bottom: 5%;
	line-height: 1.5em;	
}
.h3-voicecolmn02 {
/*	margin-left: 120px;*/
}
.p-voicecolmn {
	color: #666;
	font-size: 1.5rem;
	line-height: 1.75em;
}

.voice100 {
	padding-top: 25%;
	padding-bottom: 25%;
}

	
.img-ccc25 {
	
}

.p-plofile25 {
	color: #666;
	font-size: 1.5rem;
	line-height: 2em;
}

	
	
	/*2025*/

.sec-edu2025 {


margin-right: auto;
	margin-left: auto;
padding-top: 10%;
	padding-bottom: 10%;
}

.div-edu2025-l{

}
.div-edu2025-r{

	color: #666;
	font-size: 1.25rem;
}
.div-edu2025-r img{
	width: 100%;
	height: auto;
	margin-bottom: 2.5%;
	margin-top: 2.5%;
}
.div-cirmonth {
display:flex;
flex-wrap: wrap;
justify-content:left;
margin-bottom:5%;
}

.spn-cirmonth1 {
	display: block;
	background-color: #fff681;

	width: 75px;
	height: 75px;
	border-radius: 100%;
	display:flex;
flex-wrap: wrap;
justify-content:center;
align-items: center;
}
.spn-cirmonth1 b {
	color: #666;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}




.spn-cirmonth0 {
	display:flex;
flex-wrap: wrap;
justify-content:center;
align-items: center;
	text-align: center;
	width: 50px;
	height: 75px;
}

.spn-cirmonth0 b {
	color: #666;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;

	display: block;
}

.spn-cirmonth0 b {


}

.dl-edu2025 {
	
}
.dt-edu2025 {
color: #6cafaa;
font-size: 1.5rem;
line-height: 2em;	
}
.dd-edu2025 {
color: #666;
font-size: 1.5rem;
line-height: 2em;	
}

.img-edu2025100 {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
	
	
	
	
	
	
	
	
	