@charset "utf-8";
/* CSS Document */

html,body{
    width: 100%;
	line-height: 1.9em !important;
}
body{
	color:#000000;
	background:#ffffff;
	letter-spacing:0.05em;
}
body a{
	color:#000000;
}

/*文字色*/
.red{
	color:#b50000;
}
.white{
	color:#FFF;
}

.bold{
	font-weight:bold;
}

.palered{
    background: #ffe2e2;
}

.fs11{
	font-size:1.1em;
}

.fs13{
	font-size:1.3em;
}

.center{
	text-align:center;
}

/*リンク設定*/
a:hover,
a img:hover,
.sbtn:hover{
	position:relative;
	top: 1.5px;
	left: 1.5px;
	opacity:0.7;
	cursor:pointer;
}

.m1024{
	width: 1024px;
	margin: 0 auto;
}

/*マージン設定*/
.margin_bottom10{
	margin-bottom:10px;
}
.margin_bottom20{
	margin-bottom:20px;
}
.margin_bottom30{
	margin-bottom:30px;
}
.margin_bottom40{
	margin-bottom:40px;
}

.margin_top10{
	margin-top:10px;
}
.margin_top20{
	margin-top:20px;
}
.margin_top30{
	margin-top:30px;
}
.margin_top40{
	margin-top:40px;
}

.font_size13{
	font-size:1.3em;
}

/*設定*/

header{
	background: #ffffff;	
	position: fixed; /* または sticky */
	z-index: 9999; /* 他の要素より上に表示 */
	width: 100%;
	border-bottom: 1px solid #006eb0;
}

#top_menu {
	margin: 0 auto;
	width: 1024px;
    padding: 15px 0;
}

#top_menu ul {
  display: flex;
	margin: auto;
}

#top_menu ul li {
    flex: auto;
    margin-top: 3px;
}

#top_menu ul li a{
    padding: 0 12px;
    border-right: 1px solid #cbcbcb;
}

#top_menu ul li.last a{
	border-right: none;
}

#top_menu ul li.panph{
	margin-top: 0;
}

#top_menu ul li.panph a{
	display: block;
    height: auto;
	padding: 3px 24px 5px;
    border-radius: 27px;
    background-image: linear-gradient(90deg, #aa78f0, #3396fa);
	color: #ffffff;
	text-shadow:0px 0px 5px rgba(0, 0, 0, 0.5);
}

#top_menu img{
	float: left;
	margin: 3px 0 0 0;
	width: 180px;
	height: auto;
}

/*ヘッダー*/
#header_cont{
	padding: 130px 0 0 0;
	height: 820px;
	background: url("img/top_back_blue.png") no-repeat top center;
	overflow: hidden;
}

#header_cont h1{
	margin-bottom: 30px;
}

#header_cont img{
	margin:0 auto;
}

#header_cont img#fukidashi{
	margin: 30px auto -20px;
}

#top_back_white{
	height: 342px;
}

#top_back_white img#info{
	display: block;
	margin: -90px auto 0;
}

#top_back_white img#omoshiroi{
	margin: -70px auto 0;
}


#top_slide_cont img{
display: block;
}

#attention{
	margin:30px auto;
	padding: 0 2%;
	color:#666;
}

#point{
	width:100%;
    margin: 0 0 0;
	padding-bottom: 10px;
	background-image:url("img/point_back_new.png");
	background-position:center top;
	background-repeat:no-repeat;
	background-size:cover;
}

#point img{
	margin:340px auto 20px;
}

#point h2{
	margin: 10px auto 30px;
    font-size: 1.8em;
    letter-spacing: 0.3em;
	color:#FFF;
}

.point6{
	display: flex;
	margin:0 auto;
	width:1028px;
	height:auto;
}

.point6.top{
	margin: -800px auto 0;
}

.point6.under{
	margin: 320px auto 100px;
}

.point_in{
	display: inline-flex;
    margin: 10px;
	width:332px;
	height:auto;
	background-image:url(img/point1_.png);
	background-size:cover;
	background-position:center top;
	background-repeat:no-repeat;
    box-shadow: 0 0 10px 0 rgb(255 255 255 / 100%);
}

.point_text_cont {
    margin: 90px auto 16px;
    width: 88%;
    padding: 40px 0 0;
    background-color: #FFF;
    border: 2px solid #007cce;
    font-size: 1.42em;
    line-height: 1.7em;
}

.point_text_cont.bunkei {
    padding: 22px 0;
}

.point_text_cont strong {
    font-size: 1.2em;
    font-weight: 500;
    /*color: #006ea7;*/
    text-shadow: #f9ff30 0 0 10px;
}

.point_text_cont span.small {
    display: block;
	margin-top: 4px;
	font-size: 0.7em;
    line-height: 1.4em;
}

.point_text_cont strong.pink {
    font-size: 1.3em;
    font-weight: 500;
    color: #ff4383;
    text-shadow: none;
}

.point_in.two{
	background-image:url(img/point2_.png);
}

.point_in.three{
	background-image:url(img/point3_.png);
}

.point_in.three div.point_text_cont{
    padding: 17px 0;
    line-height: 1.4em;
}

.point_in.four{
	background-image:url(img/point4_.png);
}

.point_in.five{
	background-image:url(img/point5_.png);
}

.point_in.five div.point_text_cont{
    padding: 22px 0;
    line-height: 1.6em;
}

.point_in.five div.point_text_cont span.small{
    font-size: 0.8em;
    line-height: 1.4em;
    display: block;
    margin-top: 5px;
}

.point_in.six{
	background-image:url(img/point6_.png);
}

#kouhan{
	display: block;
    margin: 60px auto 120px;
    color: #FFF;
    letter-spacing: 0.2em;
    font-size: 1.35em;
}

#key{
	display:flex;
	height:602px;
    background: #000e21;
}

#key div#left,#key div#right{
	display: inline-flex;
	width:50%;
}

#key div#left{
	background:url(img/women.png) right no-repeat;
}

#key div#right{
	background:url(img/right.png) left no-repeat;
}

#keyword_cont{
	height: 440px;
	background: url("img/keyword_back.png") no-repeat;
	background-size: cover;
	overflow: hidden;
}

#keyword_cont img{
	display: block;
	margin: 0 auto;
    padding:  80px 0 60px;
}

/* スライダー全体 */
.slider-wrapper {
  display: flex; /* スライドのグループを横並び */
  overflow: hidden; /* はみ出たスライドを隠す */
}
/* スライド3枚のグループ */
.slider{
  animation: scroll-left 60s infinite linear 0s both;
  display: flex; /* スライド3枚を横並び */
}
.slider.under {
  animation: scroll-left 61s infinite linear 0s both;
  display: flex; /* スライド3枚を横並び */
}
.slider.under {
	padding-left: 160px;
}
/* スライド */
.slide {
  width: calc(100vw / 10); /* 3はスライドの枚数 */
}
/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

ul.slider li{
    width: 300px;
    height: 32px;
    margin: 15px 10px;
    padding: 13px 0;
    border-radius: 30px;
    background-color: rgb(255 255 255 / 0.8);
}

/*メッセージ*/
#message{
	background: url("img/ring_y.png") no-repeat center top;
	overflow: hidden;
}

#message_back{
	background: url("img/ring_g.png") no-repeat center 300px;
	overflow: hidden;
}

#message_box{
	display: flex;
	width: 1024px;
	margin: 0 auto;
}

#message img{
	margin: 105px auto 20px;
}

#message_cont_left,#message_cont_right{
	margin: 100px 0 60px;
	text-align:justify;
}

#message_cont_left img{
	margin-top: 0;
}

#message_cont_left{
	margin-right:108px;
	width: 300px;
	font-size: 1.2em;
}

#youkoso{
    color: #0081fe;
    font-size: 1.5em;
    margin-bottom: 55px;
}

#message_cont_right p{
	margin-top: 30px;
	font-size: 1.08em;
	line-height: 1.9em;
}

/*学生メッセージ*/
#voice_cont{
	background: url("img/back_student.png") no-repeat top center;
	padding-bottom: 80px;
}

.voice_title{
	width: 1024px;
    margin: 0 auto;
    padding: 50px 0px 0 100px;
    text-align: left;
    font-size: 2.9em;
    letter-spacing: 0.1em;
}

.voice_box {
    width: 1024px;
    padding-left: 110px;
    margin: 60px auto;
}

.voice_white{
	display: flex;
    padding-bottom: 30px;
	width: 976px;
	background: #ffffff;
	text-align: justify;
	box-shadow: 0 10px 10px 0 rgb(0 0 0 / 10%);
}

#voice_cont img{
    margin: 37px 0 0;
}

.voice_white div.left{
	padding-left: 30px;
}

.voice_white div.right{
	padding: 30px;
}

.voice_white div.left,.voice_white div.right p{	
	font-size: 1.08em;
	line-height: 1.9em;
}


/*確かな教育*/
#education{
	scroll-margin-top: 120px;
}

#education_title{
	height: 945px;
	background: url("img/title_edu_.png") no-repeat center top;
}

#education_title img{
	margin-top: 60px;
}

#curriculum{
	width: 100%;
	padding: 20px 0 40px;
	background: #cdedff;
}

#curriculum img{
	display: block;
	margin: 0 auto;
}

#c_detail{
	background: url("img/ring_gg.png") no-repeat center top;
}

#c_detail div.cont{
	padding: 70px 0 0 0;
	width: 700px;
	text-align: justify;
	font-size: 1.08em;
	line-height: 1.9em;
}

#c_detail div.cont img{
	margin:30px 0 0 0;
}

#c_detail span.title{
	display: block;
	margin: 0px auto 30px;
    color: #0081fe;
    font-size: 1.35em;
	border-left: 2px solid #00ffd6;
	padding-left: 20px;
}

#c_detail div.cont.right{
	margin-left: 300px;
}

.shikaku{
	display: flex;
	margin: 120px auto 50px;
	width: 1024px;
	border: 1px solid #0081fe;
}

.shikaku div.left{
	margin-right: 40px;
    padding: 60px 0 0 10px;
	width: 280px;
    color: #0081fe;
    font-size: 1.35em;
	line-height: 2.0em;
}

.shikaku div.middle,
.shikaku div.right{
	padding: 30px 30px;
	font-size: 1.1em;
	line-height: 1.9em;
	text-align: left;
}

.shikaku div.middle span.sub_title,
.shikaku div.right span.sub_title{
	display: block;
	padding: 0 0 10px;
	font-size: 1.15em;
	letter-spacing: 0.2em;
	line-height: 1.9em;
}

/*確かな研究*/

#research{
	font-size: 1.05em;
}

#research_title img{
	margin-top: 200px;
}

#research_title{
	height: 1150px;
	background: url("img/title_research_2.png") no-repeat center top;
}

.content_title{
    margin: 30px auto;
    font-size: 1.6em;
    letter-spacing: 0.2em;
}

.two_photo img{
	margin: 80px 0;
	width: 440px;
	height: auto;
}

.two_photo img:first-child{
	margin-right: 30px;
}

.cont_back{
    margin: -200px auto 100px;
    padding: 180px 90px 60px;
    width: 830px;
    background-image: linear-gradient(0, #fffccf, #fffbc6);
	text-align: left;
	font-size: 1.05em;
    line-height: 1.9em;
}

.theme{
    display: block;
    margin: 0 auto;
    font-size: 1.2em;
    text-align: center;
}

.line_bk{
	margin: 30px auto 40px;
    width: 100px;
    font-size: 1.1em;
    border-bottom: 1px solid #000000;
}

.cont_back ul li{
    list-style: disc;
	font-size: 1.1em;
	line-height: 2.2em;
}

.cont_back.pink{
    background-image: linear-gradient(0, #ffe6ee, #ffe8f6);
	text-align: center;
    letter-spacing: 0.1em;
}

#tokkyo{
	background:url("img/tokkyo.png") no-repeat center top;
}
	
#tokkyo_cont{
    margin: 0 auto;
    padding: 60px 0 60px 400px;
    width: 620px;
    font-size: 1.1em;
    text-align: left;
}


#tokkyo_cont span.title{
	display: block;
	margin-bottom: 40px;
    color: #9174f3;
    font-size: 1.55em;
}

#tokkyo_cont ul {
	margin-top: 40px;
}

#tokkyo_cont ul li{
    margin: 0 0px 0 28px;
    list-style: disc;
    font-size: 1.1em;
}

#semi{
	margin: 100px auto 30px;
	text-align: center;
	scroll-margin-top: 120px;
}

#semi_title img{
	display: block;
	margin: 40px auto;
}

#semi_title {
    font-size: 1.7em;
    letter-spacing: 0.4em;
}

#semi_slide_cont{
	width: 100%;
	height: auto;
	padding: 60px 0;
	background-image: linear-gradient(90deg, #40f5ff, #1affc9);
	display: flex;
	overflow: hidden;
}

.scroll-content {
    display: flex;
    animation: scroll 60s linear infinite;
}

.semi_cont{
    flex: 0 0 auto;
	width: 200px;
	height: 330px;
	margin: 0 30px 0 0;
	padding: 20px;
	background: #ffffff;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

.semi_name_cont{
	width: 100%;
	height: 210px;
	font-size: 1.15em;
}

.semi_cont img{
	width: 100%;
	height: auto;
}

.semi_sl_name{
    display: block;
	margin: 0 0 20px;
    padding: 8px 24px 10px;
    border-radius: 27px;
    background-image: linear-gradient(90deg, #aa78f0, #3396fa);
    color: #ffffff;
    font-size: 1.3em;
}

.semi_theme_name{
	display: block;
	margin: 12px 0 0;
    color: #0081ff;
    font-size: 1.0em;
	line-height: 1.5em;
}

#semi_list_cont{
    margin: 0 auto;
    padding: 0 0 100px;
	background-image: linear-gradient(90deg, #40f5ff, #1affc9);
}


ul#semi_list{
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	padding:0 0 60px;
	width: 850px;
	text-align: left;
}

ul#semi_list li{
	width: 25%;
	padding: 0 0 8px;
	position: relative;
	list-style: url("img/arrow.png")inside;
	letter-spacing: 0.1em;
}

ul#semi_list li a{
	font-size: 1.1em;
}

#semi_detail_cont_all{
	display: flex;
	flex-wrap: wrap;
	margin: -155px auto 0;
	width: 1024px;
}

.semi_detail_cont{
	width: 430px;
	height: auto;
	margin: 20px;
	padding: 20px;
	background: #ffffff;
	border: 1px solid;
	border-image: linear-gradient(to bottom, #9cb8ff, #ffffff) 1;
	font-size: 1.1em;
	text-align: left;
	scroll-margin-top: 90px;
}

.semi_detail_cont img{
	width: 100%;
	height: auto;
    margin: 0 8px 0 0;
    vertical-align: sub;
}

.semi_detail_cont span.semi_name img{
	width: auto;
	height: auto;	
}

.semi_detail_cont span.semi_name{
	display: block;
	text-align: left;
	font-size: 1.3em;
	color: #005bc8;
}

.semi_detail_cont span.name{
	display: block;
    padding-left: 55px;
    margin: 10px 0;
    font-size: 1.2em;
}

.semi_detail_cont span.thema{
	display: block;
	text-align: center;
    margin: 13px 0;
    font-size: 1.2em;
	color: #0081ff;
}

.semi_detail_cont span.thema.two{
	padding: 15px 0;
}

.flex{
	display: flex;
}

.semi_detail_cont div.left img{
	margin: 10px 15px 0 0;
	width: 120px;
}

.semi_detail_cont div.right{
	margin: 0 0 30px;
	text-align: justify;
    min-height: 435px;
	font-size: 1.1em;
	line-height: 1.9em;
}

#mogi{
	background: #f2f2ff;
}

#mogi div.m1024{
	display: flex;
	flex-wrap: wrap;
	margin: 80px auto 0;
    padding: 60px 0;
}

#mogi div.left,#mogi div.right{
	width: 470px;
	height: auto;
	margin: 20px auto;
	background: #ffffff;
	border: 1px solid #9cb8ff;	
	text-align: left;
}

#mogi div.left img,#mogi div.right img{
	display: block;
	width: 100%;
	height: auto;
}

#mogi div.left img.icon,#mogi div.right img.icon{
    margin: -36px auto 30px;
	width: 100px;
	height: auto;
}

#mogi div.left span.title,#mogi div.right span.title{
	display: block;
	margin: 0 auto 30px;
	text-align: center;
	font-size: 1.4em;
	letter-spacing: 0.2em;
	color: #5b56ff;
}

.tx_blue{
	color: #5b56ff;
}

.mogi_in{
	display: block;
	padding: 0 30px;
	font-size: 1.1em;
    line-height: 1.9em;
    height: 580px;
}

.mogi_in a,#work div.m1024 .in a{
	color: #ff007e;
	text-decoration: underline;
	font-size: 1.05em;
}

/*確かなサポート*/

#work{
	background: url("img/title_work.png") no-repeat center top;
	scroll-margin-top: 90px;
	overflow: hidden;
}

#work img {
    margin: 240px auto 80px;
}

#work div.m1024{
	width: 944px;
	padding: 40px;
	background: #e8e3f9;
	font-size: 1.1em;
}

#work div.m1024 span.pink{
	display: block;
	font-size: 1.3em;
	color: #ff007e;
	letter-spacing: 0.2em;
}

#work div.m1024 .in{
	width: 90%;
	height: auto;
	margin: 30px auto 0;
	padding: 30px 40px;
	background: #ffffff;
	font-size: 1em;
	text-align:justify;
}

#work div.m1024 span.title{
	display: block;
	font-size: 1.1em;
	letter-spacing: 0.1em;
	text-align: center;
}

.tx_pink{
	font-size: 1em;
	color: #ff007e;
}

#work div.m1024.purple{
	display: flex;
	flex-wrap: wrap;
	width: 1060px;
	margin: 40px auto 0;
	background: none;
}

#work div.left,#work div.right{
	width: 410px;
    height: auto;
    padding: 0 40px 0;
    margin: 20px 20px;
	font-size: 1.0em;
    text-align: justify;
    background: #e8e3f9;
}

#work div.left img.icon,#work div.right img.icon{
	display: block;
    margin: -36px auto 30px;
	width: 100px;
	height: auto;
}

#work div.left span.title,#work div.right span.title{
	display: block;
	margin: 0 auto 30px;
	text-align: center;
	font-size: 1.4em;
	letter-spacing: 0.2em;
	color: #ff007e;
}

#work div.left img,#work div.right img{
	display: block;
    margin: 40px auto;
	width: 100%;
	height: auto;
}

#graduates_cont{
	background: url("img/back_student2.png") no-repeat top center;
	padding-bottom: 20px;
	overflow: hidden;
}

#graduates_cont.voice_box {
    width: 1024px;
    padding-left: 110px;
	padding-bottom: 60px;
    margin: 60px auto;
}

#graduates_cont div.left,#graduates_cont div.right{
	width: 410px;
    height: auto;
    padding: 0;
    margin: 30px 0 0 30px;
    text-align: justify;
    background: none;
}

#graduates_cont div.voice_white{
	display: flex;
	width: 976px;
	background: #ffffff;
	text-align: justify;
	padding-bottom: 40px;
	box-shadow: 0 0 10px 0 rgb(0 0 0 / 10%);
}

#graduates_cont div.left img{
    margin: 0 0 10px;
}

#graduates_cont.voice_white div.left{
	padding-left: 30px;
}

#graduates_cont.voice_white div.right{
	padding: 30px;	
	font-size: 1.08em;
	line-height: 1.9em;
}

#graduates_cont div.right{
	width: 480px;
	font-size: 1.1em;
}

#graduates_cont div.right span.v_title{
	display: block;
	font-size: 1.3em;	
	color: #ff007e;
	margin: 5px 0 20px;
}

/*進学*/
#shingaku img.icon{
    margin: 60px auto 30px;
}

#shingaku img{
    margin: 50px auto 30px;
}

#shingaku span.title{
	display: block;
    font-size: 1.8em;
    margin: 10px auto 30px;
}

#shingaku span.sub_title{
	display: block;
	font-size: 1.4em;
	color: #ff007e;
}

#shingaku div.cont{
	margin: -160px auto 100px;
    padding: 180px 90px 60px;
    width: 824px;
    background-image: linear-gradient(0, #fffccf, #fffbc6);
    text-align:justify;
    font-size: 1.1em;
    line-height: 1.9em;
}

#shingaku div.cont a{
	color: #ff007e;
	text-decoration: underline;
	font-size: 1.05em;
}

#policy{
	margin: 140px auto 60px;
    width: 210px;
    font-size: 1.55em;
    letter-spacing: 0.25em;
    padding: 0 0 0 20px;
    border-left: 2px solid #ff3c3c;
	scroll-margin-top: 140px;
}

/*パンフレットリンク*/
#panph{
    padding: 80px 0;
	background: url("img/panph_back.png") repeat-y center;
	background-size: contain;
	color: #ffffff;
}

#panph span.title{
	display: block;
	margin: 0 auto 40px;
    width: 210px;
    font-size: 1.55em;
    letter-spacing: 0.25em;
    padding: 0 0 0 20px;
    border-left: 2px solid #ffffff;
	scroll-margin-top: 140px;
}

#panph img{
	margin: 20px 0 0;
}

/*入試リンク*/
#nyushi span.title{
	display: block;
	margin: 100px auto 40px;
    width: 210px;
    font-size: 1.55em;
    letter-spacing: 0.25em;
    padding: 0 0 0 20px;
    border-left: 2px solid #ff3c3c;
	scroll-margin-top: 140px;
}

#nyushi a{
    display: block;
    height: auto;
    margin: 20px auto 120px;
    width: 420px;
    font-size: 1.3em;
    letter-spacing: 0.1em;
    padding: 20px 24px 20px;
    border-radius: 50px;
    background-image: linear-gradient(90deg, #aa78f0, #3396fa);
    color: #ffffff;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
}

/*トップへ戻るボタン*/
.page-top{
	margin: 0 ;
	padding: 0 ;
}
.page-top p{
	z-index:3;
	margin: 0 ;
	padding: 0 ;
	position: fixed ;
	right: 16px ;
	bottom: 16px ;
} 
.move-page-top {
    display: block;
    background-image: linear-gradient(0deg, #24ffe1, #af28ff);
    width: 80px;
    height: 80px;
	border: 2px solid #ffffff;
    border-radius: 42px 42px 42px 42px;
    color: #fff;
    line-height: 80px;
    text-decoration: none;
    text-align: center;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

/*折りたたみ*/
.read-more-3 {
    position: relative;
}

.read-more-3 p {
    position: relative;
    max-height: 230px; /* 開く前に見せたい高さを指定 */
    margin-bottom: 10px;
    overflow: hidden;
    transition: max-height 1s;
}

.read-more-3:has(:checked) p {
    max-height: 100vh;
}

.read-more-3 p::after {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(180deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .9) 50%, hsla(0, 0%, 100%, .9) 0, #fff);
    content: '';
}

.read-more-3:has(:checked) p::after {
    content: none;
}

.read-more-3 label {
    display: block;
    margin: 0 auto;
    text-align: center;
    width: 60%;
    color: #fff;
    cursor: pointer;
    background-image: linear-gradient(90deg, #ff65de, #fa337c);
    padding: 7px 24px 9px;
    font-size: 1.1em;
    letter-spacing: 0.1em;
    border-radius: 27px;
}

.read-more-3:has(:checked) label {
    display: none;
}

.read-more-3 label::after {
    display: inline-block;
    width: 10px;
    height: 5px;
    background-color: #fff;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.read-more-3 input {
    display: none;
}

/*showmore*/
.showmore_content {
	position: relative;
	overflow: hidden;
}
.showmore_trigger {margin-top: 1em;}

/*--「もっと見る」ボタン--*/
.more {
    display: block;
    margin: 0 auto;
    text-align: center;
    width: 60%;
    color: #fff;
    cursor: pointer;
    background-image: linear-gradient(90deg, #aa78f0, #3396fa);
    padding: 7px 24px 9px;
    font-size: 1.1em;
    letter-spacing: 0.1em;
    border-radius: 27px;
}

/*--「閉じる」ボタン--*/
.less {
    display: block;
    margin: 0 auto;
    text-align: center;
    width: 60%;
    color: #757575;
    border: 1px solid #757575;
    cursor: pointer;
    padding: 7px 24px 9px;
    font-size: 1.1em;
    letter-spacing: 0.1em;
    border-radius: 27px;
}

/* フェードイン(初期値) */
.js-fadeUp {
  opacity: 0; /* 最初は非表示 */
  transform: translateY(30px); /* 下に30pxの位置から */
  transition: opacity .8s, transform .8s; /* 透過率と縦方向の移動を0.8秒 */
}
/* フェードイン(スクロールした後) */
.js-fadeUp.is-inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateY(0); /* 30px上に移動する */
  transition-delay: .5s; /* フェード開始を0.5秒遅らせる */
}

.fadeIn_left {
  opacity: 0;
  transform: translate(-50%, 0);
  transition: 2s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_right {
  opacity: 0;
  transform: translate(50%, 0);
  transition: 2s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}


<!--リニューアル前から-->

#about{
    margin: 220px auto;
	padding-bottom:30px;
    background: url(img/about_back.jpg) center top no-repeat;
}

#about img{
	margin:-130px auto 30px;
}

#yousei{
	margin:20px auto;
	padding:30px 0;
	width:730px;
    background: #FFF;
    opacity: 0.8;
    font-size: 1.05em;
    line-height: 2em;
    box-shadow: 0 10px 10px 0 rgba(0, 0, 0, .1);
}

#yousei h5{
    font-size: 1.6em;
    letter-spacing: 0.5em;
    font-weight: 500;
    margin-bottom: 20px;
    color: #006fe2;
}

.about_in{
	margin:30px auto;
	padding:20px 0;
	width:730px;
	background:#FFF;
    font-size: 1.05em;
    line-height: 2em;
	border:2px solid #dd2929;
}

.about_in h5{
    font-size: 1.3em;
    letter-spacing: 0.15em;
    font-weight: 400;
    margin-bottom: 20px;
    color: #dd2929;
}

#detail{
    margin: 100px auto 0;
	padding-bottom:300px;
    background: url(img/detail_back.jpg) center top no-repeat;
    background-size: cover;
}

#detail img#title_icon{
	margin:-130px auto 30px;
}

#link_button img{
    margin: 130px 10px 30px;
    box-shadow: 0 25px 25px 0 rgba(0, 0, 0, .5);
}

#dp{
	background:url(img/dp_img.png) center top no-repeat;
}

#dp_cont{
    margin: 30px auto 50px;
    padding-right: 260px;
    width: 730px;
    text-align: justify;
    font-size: 1.1em;
    line-height: 2.0em;
}

#dp_cont img{
	display:block;
    margin: 80px 0 30px;
}

.three_cont{
	display:flex;
	margin:10px auto;
	width:1080px;
}

.in_three{
    display: inline-flex;
    margin: 0 20px;
    padding: 0 30px 25px 40px;
    width: 320px;
    background: #ffede8;
    text-align: justify;
    line-height: 1.75em;
}

.in_three ul li.title{
    display: block;
    color: #ff2481;
    text-align: center;
    font-size: 1.2em;
    margin: 30px auto 20px;
}

.in_three ul li{
	list-style-type: disc;
    text-indent: 0em;
    padding-left: 0em;
}

.line{
	width:35px;
	margin:0 auto 20px;
	border-top:1px solid #ff2481;
}

#back_photo{
    margin:-50px auto 0;
	height:484px;
	background:url(img/three_photo.jpg) bottom center no-repeat;
}

#cp{
	background:#c2e9ff;
}

#cp_cont{
	margin:0 auto;
	padding: 70px 0 40px;
	width:1008px;
}

.cp_cont_in{
	margin: 20px auto;
    padding: 20px 30px;
    width: 1000px;
    background: #FFF;
    text-align: left;
}

.cp_cont_in h5{
	color:#0088ff;
	font-weight:500;
	font-size:1.1em;
	margin-bottom:10px;
}

#ap_title_cont{
	margin:80px auto 40px;
	width:960px;
	font-size: 1.1em;
	text-align:justify;
}

#ap_title_cont img{
	margin-bottom:10px;
}

#cp img{
	display:block;
	margin:10px 0 40px;
}

.cp_cont_in ul {
    list-style: disc;
    padding: 0 0 0 22px;
}

.in_three.ap{
    background: #fff4de;
}

.in_three.ap ul li.title {
    color: #d07300;
}

.in_three.ap ul div.line {
    border-top: 1px solid #d07300;
}

#last{
	margin:100px auto;
}

footer{
    padding: 40px 0 60px;
    background: #cfefff;
    line-height: 2.2em;
}

footer img{
	margin:10px auto;
}

#footer_logo_cont{
	margin:30px auto;
	padding:30px 0;
	width:1000px;
	background:#FFF;
}

#copy{
	font-size:0.8em;
	color:#666;
}


/* PC向けおよび大型タブレット向けのレイアウトの指定：769px～960px */
@media only screen and (min-width: 769px) {

#sp_nav,
#sp_footer,
.sp_only,
#news_back,
#info_back,
#contact_back,
#sp_foot_menu{
    display:none !important;
}
	
/* サイドメニュー右側に固定する */
.side-menu {
  position: fixed;
  top: 15vh;
	right:0;
	z-index:1;
  font-size:0; /* 親要素でフォントサイズを０にする */
}

.side-menu li a{
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 1.1rem;
  padding: 26px 20px;
  color: #ffffff;
  font-weight: bold;
  border: 1px solid #ffffff;
  border-right: 0;
  background-image: linear-gradient(0deg, #0097de, #8b5cf6);
  box-shadow: -4px 10px 10px 0 rgba(0, 0, 0, .1);
  letter-spacing: 0.2em;
}
.side-menu li.tokusetsu a{
  background-image: linear-gradient(0deg, #ff43a3, #af28ff);
}
.side-menu li.shutsugan a{
  background-image: linear-gradient(0deg, #1cd300, #2b9600);
}
	
	.side-menu li a:hover{
		opacity: 1;
	}
}

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
スマートフォン向けレイアウトの指定
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

@media screen and (max-width: 769px) {

.sp_only{
	display:block;
}

.sp_none,
#logo_cont,
#ex_text,
.top_menu,
#top_menu{
	display:none;
}

img{
	width:100%;
	height:auto;
}

#message_box,
.m1024,
.voice_box,
.voice_title,
.voice_white,
#c_detail div.cont,
.shikaku,
.cont_back,
#tokkyo_cont,
#semi_detail_cont_all,
ul#semi_list,
#shingaku div.cont{
	width:100%;
}

#tokkyo{
background: 0;
}

#tokkyo_cont{
padding: 0;
}

#c_detail div.cont.right{
margin-left: 0;
margin: 0 auto;
}

.br_none br{
	display:none;
}

#attention {
    padding: 0 4%;
    font-size: 0.9em;
	line-height: 1.7em;
}

#point img {
    margin: 50px auto 0px;
    width: 80%;
}

#point h2 {
    margin: 15px auto;
    font-size: 1.6em;
    letter-spacing: 0.25em;
}

.point6 {
	display: block;
	width:100%;
}

.point6.under {
    margin: 60px auto 30px;
}

.point_in {
    display: inline-block;
    margin: 14px auto;
    width: 80%;
	height:auto;
}

.point_text_cont {
    width: 88%;
    padding: 15px 0;
    font-size: 1.2em;
}

#keyword_cont img {
    width: 60%;
}

#message {
    padding-top: 40px;	
	scroll-margin-top: 60px;
}

#keyword_cont {
    height: auto;
    padding-bottom: 30px;
}

#message img {
    width: 60%;
    margin: 70px auto 0;
}

#message_box {
    display: block;
}

#message_cont_left {
    margin: 0;
    width: 100%;
    text-align: center;
}

#message_cont_left img{
    margin: 30px auto 0;
}

#message_cont_right {
    margin: 60px auto;
	width: 80%;
	text-align: center;
}

#message_cont_right p {
text-align:justify;
}

.voice_title {
    width: 100%;
    margin: 0 auto;
    padding: 30px 0;
    text-align: center;
    font-size: 1.8em;
}

#voice_cont,
#graduates_cont
{
    background: none;
	background-image: linear-gradient(90deg, #7fffa0, #31e6ff);
    padding-bottom: 50px;
}

.voice_box {
        padding-left: 0;
        margin: 0 auto;
        width: 90%;
}

.voice_white {
    display: block;
	padding-bottom: 0;
}

.voice_white div.left {
    padding: 0 30px;
}

.read-more-3:has(:checked) p {
    max-height: 140vh;
}

#message img {
        width: 50%;
        margin: 30px auto 10px;
    }	

#message div.voice_white img {
width: 100%;
}
	
#youkoso {
    margin-bottom: 30px;
}

#education_title img {
    width: 100%;
    margin-top: 70px;
}

#education_title {
    height: auto;
    background: none;
    background-size: contain;
}

#curriculum img.sp_none{
display: none;
}

#curriculum {
    font-size: 0.8em;
}

#c_detail {
    background: none;
}

#c_detail div.cont{
margin: 0 auto;
padding: 50px 0 0 0;
width: 76%;
}

#curriculum img {
    margin: 0 auto 20px;
    width: 94%;
}

.shikaku {
    display: block;
    margin: 60px auto 80px;
	padding-bottom: 30px;
    width: 90%;
}

.shikaku div.left,
.shikaku div.middle,
.shikaku div.right{
width: auto;
margin-right: 0;
}

.shikaku div.left{
padding: 30px 0 0;
font-size: 1.35em;
}

.shikaku div.middle,
.shikaku div.right{
    padding: 30px 2% 0;
    text-align: center;
}

#research_title img {
    margin-top: 80px;
}

#research_title {
    height: auto;
    background: none;
}

#research img{
margin: 30px auto 0;
width: auto;
height: auto
}

#research_title img{
width: 100%;
}

.content_title {
    margin: 10px auto;
    font-size: 1.2em;
    letter-spacing: 0.2em;
}

.two_photo img:first-child {
    margin-right: 0;
	margin-top: 20px;
}

div.two_photo img {
    margin: 0;
	width: 100% !important;
}

.cont_back {
    width: 76%;
    margin: 20px auto;
    padding: 30px 3% 30px 10%;
}

.theme {
    font-size: 1.1em;
}

.cont_back ul li{
    font-size: 1.0em;
    line-height: 1.9em;
	margin-bottom: 6px;
}

.line_bk {
    margin: 19px auto 20px;
    width: 40%;
}

.cont90{
display: block;
width: 90%;
margin: 0 auto;
}

.cont_back.pink{
width: 74%;
margin: 20px auto;
padding: 30px 8%;
font-size: 0.99em;
text-align: left;
}

.cont_back.pink br{
margin-bottom: 6px;
}

#tokkyo_cont {
width: 80%;
padding: 0;
font-size: 1.0em;
}

#tokkyo_cont span.title {
    margin-bottom: 20px;
    margin-top: 40px;
    text-align: center;
}

#tokkyo_cont ul li {
    margin: 0 0px 0 28px;
    list-style: disc;
    font-size: 1.0em;
}

#research img {
margin: 30px auto 0px;
}

#research div.semi_cont img{
width: 100%;
margin: 0;
}

ul#semi_list li {
    margin: 0 auto;
    width: 40%;
    padding: 0 5% 18px;
}

ul#semi_list {
    padding: 0 0 30px;
}

#semi_detail_cont_all {
    display: block;
}

.semi_detail_cont {
    width: 80%;
    height: auto;
    margin: 20px;
    padding: 20px 5%;
}

#research span.semi_name img{
width: auto;
margin: 0 auto;
}

.semi_detail_cont span.name{
    padding-left: 0;
}

.semi_detail_cont span.thema {
    text-align: left;
}

#semi_title img{
	margin-bottom: 20px;
}

#research  .flex{
display: block;
}

#research div.left img {
        display: block;
        width: auto;
        height: 120px;
        margin: 0 auto 10px;
}

.semi_detail_cont div.right {
    min-height: auto;
}

#research .semi_detail_cont img {
        width: 100%;
}

div.two_photo img:last-child{
	margin-top: 0 !important;
}

#mogi div.m1024 {
    display: block;
    padding: 40px 0;
}

#mogi div.left, #mogi div.right {
    width: 90%;
    font-size: 1.0em;
}

.mogi_in {
    height: auto;
}

#mogi  div.left img,
#mogi  div.right img{
width: 100%;
height: auto;
margin: 20px auto 0;
}

#mogi div.right {
margin-top: 60px;
}

#mogi div.left img.icon, #mogi div.right img.icon {
    width: 80px;
}

#work {
    background: none;	
    scroll-margin-top: -40px;
}

#work img {
    margin: 10px auto;
}


#work div.m1024 {
    width: auto;
    padding: 40px 5%;
    font-size: 1.0em;
}

#work div.m1024 .in {
    width: 88%;
    height: auto;
    margin: 30px auto 0;
    padding: 30px 6%;
}

#work div.m1024.purple {
    display: block;
    width: auto;
	margin: 0 auto;
}

#work div.left, #work div.right {
        width: 84%;
        height: auto;
        padding: 20px 8% 1px;
        margin: 20px auto;
}

#work div.left img.icon, #work div.right img.icon {
    display: block;
    margin: 0 auto 20px;
    width: 80px;
}

#graduates_cont div.voice_white {
    display: block;
    width: 100%;
}

#shingaku img:first-child{
width: auto;
}

#shingaku span.title {
    font-size: 1.5em;
    margin: 0px auto 15px;
}

#shingaku span.sub_title {
    font-size: 1.2em;
}

#shingaku img {
        width: 80%;
}

#shingaku div.cont {
    width: 80% !important;
    margin: -160px auto 0px;
    padding: 180px 6% 60px;
    font-size: 1.0em;
}

#policy {
    margin: 80px auto 0px;
    scroll-margin-top: 80px;
}

#kouhan {
    display: block;
    margin: 30px auto 80px;
    padding: 0 10%;
    letter-spacing: 0.1em;
    font-size: 1.25em;
    line-height: 2.0em;
}

#key {
    display: block;
    height: auto;
}

#key div#left, #key div#right {
    display: block;
    width: 100%;
}

#key div#right {
    padding: 40px 0;
}

#key_cont {
    display: block;
    margin: 0 auto;
	padding: 2px 10% 20px;
    width: 54%;
    height: auto;
}

#key_cont img {
    display: block;
    margin: 30px auto 20px;
    width: 50%;
}

#about {
    margin: 130px auto;
	background: url(img/about_back_img.png) top center no-repeat;
    background-size: contain;
	background-color:#b5e0ff;
}

#about img,#detail img#title_icon {
    width: 40%;
}

#about img{
    margin: -90px auto 0;
}

#yousei,.about_in {
	margin: 40px auto 20px;
    padding: 30px 12%;
    width: 60%;
    text-align: justify;
	opacity: 0.9;
}

.about_in {
	width:59%;
    padding: 20px 12%;
}

#yousei h5 {
    font-size: 1.4em;
    letter-spacing: 0.3em;
    text-align: center;
}

.about_in h5{
    text-align: center;
}

#link_button img {
	display:inline-block;
	margin: 40px 2% 30px;
    width: 29%;
}

#link_button img.sp_none {
	display:none;
}

#detail {
    margin: 40px auto 0;
	background: url(img/detail_back_img.png) top center no-repeat;
    background-size: cover;
	background-color:#b5e0ff;
}

#detail img#title_icon {
    margin: -90px auto 0;
}

#dp_cont {
    margin: 30px auto;
    padding-right: 0;
    width: 80%;
}

#dp_cont img {
    margin: 50px 0 30px;
    height: 30px;
    width: auto;
}

article#dp img.sp_only{
	margin:0 auto 40px;
	width:80%;
}

.three_cont {
    display: block;
    width: 100%;
}

.in_three {
    display: block;
    margin: 0 auto 20px;
    padding: 1px 6% 25px 10%;
    width: 70%;
}

#back_photo {
    margin: 0 auto 0;
    height: auto;
    background: none;
}

#back_photo img.sp_only{
	margin:50px auto 0 !important;
	width:100% !important;
}

#cp_cont {
    width: 80%;
	padding: 1px 0 40px;
}

.cp_cont_in {
    padding: 20px 4%;
    width: 92%;
}

#cp img{
    margin: 50px 0 30px;
    height: 30px;
    width: auto;
}

.cp_cont_in ul {
    list-style: disc;
    padding: 0 0 0 14px;
}

.cp_cont_in {
    padding: 20px 8%;
    width: 84%;
    text-align: justify;
}

#ap_title_cont {
    margin: 30px auto;
    width: 80%;
}

#ap_title_cont img{
    margin: 40px 0 10px;
    height: 30px;
    width: auto;
}

#last {
    margin: 60px auto 80px;
    width: 80%;
    text-align: justify;
}

#panph img {
    width: 90%;
}

#panph {
    padding: 60px 0;
}



footer{
	font-size: 0.95em;
}

#footer_logo_cont {
    padding: 20px 5% 10px;
    width: 80%;
    box-shadow: 0 0px 10px 0 rgba(0, 0, 0, .2);
}

footer img {
    width: 10%;
}

footer img#kenhiro_logo {
    width: 70%;
}

#copy{
	display:block;
	margin:0 auto;
	width:80%;
	font-size: 0.9em;
    line-height: 1.9em;
}
	
/* サイドメニュー下に固定する */
.side-menu {
    position: fixed;
    left:0;
    bottom:32px;
    width: 100%;
    height:45px;/*高さ*/
    margin:0;
    padding:0;
	z-index: 9999;
}

.side-menu li{
 float: left;
 width: 33.3%;
}
	
.side-menu li a{
  display: block;
  font-size: 1rem;
  padding: 26px 0px;
  color: #ffffff;
  font-weight: bold;
  border: 1px solid #ffffff;
  border-right: 0;
  border-bottom: 0;
  line-height: 1.5em;
  background-image: linear-gradient(0deg, #0097de, #8b5cf6);
  box-shadow: -4px 10px 10px 0 rgba(0, 0, 0, .1);
}
.side-menu li.tokusetsu a{
  background-image: linear-gradient(0deg, #ff43a3, #af28ff);
  padding: 15px 0px;
}
.side-menu li.shutsugan a{
  background-image: linear-gradient(0deg, #1cd300, #2b9600);
  border-right: 1px solid #ffffff;
}


/*メニューnaver設定*/
#sp_nav a{
	display:none;
}

#sp_nav{
	color:#FFFFFF;
	font-size:0;
}

.naver.enabled a {
	display:block !important;
	position:relative;
    float: none;
    margin: 0;
    padding: 6px 9% 6px 7%;
    border-bottom: 1px solid #484848;
    width: 84%;
    text-align: left;
	font-size:16px;
}

.naver.enabled a:hover{
	background:#ffffff;
	color:#000000;
}

.naver.enabled span.past,
.naver.enabled span.future,
.naver.enabled span.news,
.naver.enabled span.link{
	display:block;
	padding-left:0%;
	text-align:center;
	background-color:#0098d8;
	color:#FFFFFF;
}

.naver.enabled span.future{
	background-color:#900000;
}

.naver.enabled span.news{
	background-color:#034e10;
}

.naver.enabled span.link{
	background-color:#404040;
}

.naver.enabled a:hover,
#sp_foot_list li a:hover{
	position:relative;
	top: 0px;
	left: 0px;
	opacity:1;
}

.naver.enabled a::after {
    position: absolute;
    top: 50%;
    right: 6%;
    display: block;
    content: '';
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid #7e7e7e;
    border-right: 1px solid #7e7e7e;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.naver a {
    background: #1f1f1f;
    color: #fff;
    display: block;
    float: left;
    margin: 0 1px 0 0;
    padding: 0 0 0 20px;
    text-decoration: none;
}

#nyushi a{
width: 60%;
}

.move-page-top {
margin-bottom: 80px;
}

#sp_nav img{
	margin-left:8px;
	width:auto;
	height:auto;
}

#top_back_white img#omoshiroi,
.point6.top {
    margin: -20px auto -60px;
}

.point6.top {
    margin-top: -60px;
}

#top_back_white {
    height: auto;
}

#top_slide_cont img.sp_none {
    display: none;
}

#header_cont img.sp_only{
	width: 90%;
}

#header_cont {
    padding: 120px 0 50px;
    height: auto;
}

#header_cont h1 {
    margin-bottom: 0;
}

#top_back_white img#info {
    display: block;
    margin: -30px auto 0;
}

}/* スマホ設定ここまで */

@media print{
#sp_nav,
footer h5,
#sp_foot_list,
#sp_footer_insta,
.sp_only,
.side-menu{
	display: none;
}

.point_text_cont {
    height: 125px;
}

}

