@charset "utf-8";

/* HOME
-------------------------------------------------------------------*/
.home .mv{
	position:relative;
	min-height:740px;
	background:url(../img/top/mv.jpg) no-repeat center center;
	background-size:cover;
}

.home .mv h1{
	position:absolute;
	left:0;
	right:0;
	top:150px;
	margin:0 auto;
	padding:0 20px;
}

.home .mv .b-txt{
	text-align:center;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	color:#fff;
}

.home .mv .b-txt > div{
	position:relative;
	z-index:2;
	padding:40px 20px;
}

.home .mv .b-txt > div:after{
	content:"";
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	top:0;
	background: linear-gradient(to right, #62a7ce 0%, #082360 100%);
	z-index:-1;
	opacity:0.77;
}

.home .mv .b-txt h2{
	font-size:29px;
	line-height:1.2;
	padding:0 0 15px 0;
}

.home .mv .b-txt ul{
	display:flex;
	justify-content:center;
	align-items:center;
}

.home .mv .b-txt ul li{
	padding:0 20px;
}

.home .mv .b-txt ul li a{
	color:#fff;
	font-size:37px;
	padding:5px 0 12px 33px;
	background:url(../img/top/mv-tel.png) no-repeat left center;
	line-height:1;
	font-weight:500;
}

.home .mv .b-txt ul li span{
	display:block;
	font-size:13px;
}

.home .mv .b-txt ul li:nth-child(2) span{
	font-size:16px;
}

.home .mv .b-txt ul li:nth-child(2) a{
	padding:25px 0 25px 20px;
	background:url(../img/top/mv-mail.png) no-repeat 40px center;
	line-height:1;
	font-weight:400;
	border-radius: 32.5px;
	border: 1px solid #fff;
	width:277px;
	box-sizing:border-box;
}

.curriculum{
	background:url(../img/top/curriculum-bg.jpg) no-repeat center center;
	background-size:cover;
	padding:80px 20px 100px 20px;
	text-align:center;
}

.m-tit{
	line-height:1.6;
	font-weight:600;
	font-family: "Noto Serif JP", serif;
	font-size:36px;
	text-align:center;
	padding:0 0 50px 0;
}

.m-tit span{
	display:block;
	font-weight:500;
	font-size:20px;
}

.curriculum .list01{
	display:flex;
	justify-content:space-between;
}

.curriculum .list01 li{
	background: #fff;
	box-shadow: 3px 3px 12px rgba(167, 167, 167, 0.16);
	width:32.2%;
	position:relative;
}

.curriculum .list01 li:after{
	content:"";
	height:9px;
	width:67px;
	background:#3D0066;
	position:absolute;
	left:0;
	right:0;
	top:0;
	margin:0 auto;
}

.curriculum .list01 li:nth-child(2):after{
	background:url(../img/top/curriculum-border.jpg) no-repeat center center;
}

.curriculum .list01 li:nth-child(3):after{
	background:#800000;
}

.curriculum .list01 li dl{
	position:relative;
	height: 120px;
	display:flex;
	justify-content:center;
	align-items:center;
}

.curriculum .list01 li dl dt{
	font-size:105px;
	color:#E8E8E8;
	opacity:0.4;
	position:absolute;
	left:20px;
	height: 120px;
	line-height:120px;
	font-family: "EB Garamond", serif;
	font-style:italic;
	font-weight:600;
}

.curriculum .list01 li dl dd{
	font-size:20px;
	line-height:1.6;
	font-family: "Noto Serif JP", serif;
	font-weight:600;
	position:relative;
	z-index:4;
}

.curriculum .box-in{
	max-width:860px;
	margin:80px auto 0;
	border-radius: 30px;
	background: #fff;
}

.curriculum .box-in h3{
	position:relative;
	top:-25px;
	font-family: "Noto Serif JP", serif;
	font-size:26px;
	line-height:1.6;
	font-weight:600;
}

.curriculum .box-in ul{
	display:flex;
	justify-content:center;
}

.curriculum .box-in ul li{
	margin:0 7px;
	color:#fff;
	font-family: "Noto Serif JP", serif;
	background: #815bb3;
	border-radius:6px;
	line-height:65px;
	height:65px;
	width:225px;
	font-size:20px;
}

.curriculum .box-in ul li:nth-child(2){
	background:#B86398;
}

.curriculum .box-in ul li:nth-child(3){
	background:#1F6390;
}

.curriculum .box-in p{
	font-size:14px;
	padding:20px 0 40px 0;
	font-weight:500;
}

.curriculum h4{
	font-size:20px;
	font-weight:600;
	line-height:1.6;
	padding:60px 0 0 0;
	font-family: "Noto Serif JP", serif;
}

.curriculum .list02{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	max-width:900px;
	margin:50px auto 0;
}

.curriculum .list02:after{
	content:"";
	width:290px;
}

.curriculum .list02 li{
	margin:0 0 18px 0;
}

.curriculum .list02 li a{
	display:flex;
	align-items:center;
	height:80px;
	border-radius:40px;
	background:url(../img/top/consulting-arrow.png) no-repeat 90% center #54A3AF;
	color:#fff;
	line-height:1.6;
	width:290px;
	box-sizing:border-box;
	padding:0 0 0 50px;
}

.reason{
	padding:80px 20px;
	background:url(../img/top/reason-bg01.png) no-repeat top right #F6F9FA;
}

.reason .box-in{
	display:flex;
	position:relative;
}

.reason .box-in:nth-child(2){
	padding:40px 0 70px 0;
}

.reason .box-in:nth-child(2) .bg{
	position:absolute;
	left:-80px;
	top:-270px;
}

.reason .box-in:nth-child(3){
	display:block;
	text-align:center;
}

.reason .box-in:nth-child(3) .bg{
	position:absolute;
	right:0;
	top:-200px;
	width:100vw;
}

.reason .box-in:nth-child(3) .bg02{
	position:absolute;
	left:0;
	bottom:-80px;
	width:100vw;
}

.reason .box-in .txt-box{
	width:50%;
	position:relative;
	z-index:3;
}

.reason .box-in:nth-child(1) .txt-box{
	order:2;
}

.reason .box-in h3{
	font-family: "EB Garamond", serif;
	color:#1F6390;
	font-size:38px;
	line-height:0.8;
	position:relative;
	margin:0 0 -15px -25px;
	z-index:2;
}

.reason .box-in:nth-child(3) h3{
	text-align:center;
}

.reason .box-in h3 span{
	display:block;
	font-size:100px;
	font-style:italic;
	margin:0 0 0 -20px;
}

.reason .box-in h4 br{
	display:none;
}

@media screen and (max-width: 1260px) {
.reason .box-in h4 br{
	display:block;
}
	
.reason .box-in h3{
	margin:0 0 -15px 0;
}
}

.reason .box-in h4{
	font-family: "Noto Serif JP", serif;
	color:#fff;
	font-size:30px;
	line-height:1.6;
	padding:20px 50px;
	background: linear-gradient(to right, #2f8cc9 0%, #54a3af 100%);
	font-weight:600;
	display:inline-block;
	text-align:center;
}

.reason .box-in:nth-child(2) h4{
	margin:0 -40px 0 0;
}

.reason .box-in .txt{
	padding:30px 0 0 0;
	font-size:15px;
	font-weight:500;
	line-height:1.8;
	text-align:left;
}

.reason .box-in .txt span{
	font-size:18px;
	font-weight:600;
	color:#1BA7BD;
}

.reason .box-in:nth-child(3) .txt{
	background:#F7F7F7;
	padding:35px;
	margin:30px 0 0 0;
}

.reason .box-in .img{
	width:50%;
	position:relative;
	z-index:2;
}

.reason .box-in:nth-child(1) .img img{
	position:absolute;
	left:-80px;
	top:10px;
	max-width:inherit;
}

.reason .box-in:nth-child(2) .img img{
	position:absolute;
	right:-80px;
	top:60px;
	max-width:inherit;
}

.reason .box-in:nth-child(3) .img{
	width:100%;
}

.reason .box-in:nth-child(3) .img01{
	padding:40px 0 15px 0;
}

.reason .box-in:nth-child(3) .img01 img{
	box-shadow: 0px 0px 24px rgba(136, 136, 136, 0.16);
}

.reason .box-in:nth-child(3) .graph-box{
	box-shadow: 0px 0px 24px rgba(136, 136, 136, 0.16);
	padding:50px;
	background:#fff;
	position:relative;
}

.experience{
	padding:60px 20px;
	background:url(../img/top/experience-bg.jpg) no-repeat center center;
	background-size:cover;
	text-align:center;
}

.experience h2{
	color:#fff;
	letter-spacing:0.1em;
}

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

.experience ul li{
	margin:0 20px;
	border-radius: 6px;
	background: #fff;
	padding:30px 40px;

}

.experience ul li h3{
	font-weight:600;
	line-height:1.6;
	padding:0 0 20px 0;
}

.experience ul li a{
	height:72px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius: 80px;
	background: #1BA7BD;
	width:360px;
	color:#fff;
	text-align:center;
}

.experience ul li:nth-child(2) a {
    background: #3780be;
}

.experience ul li:nth-child(2) a span {
    background: url(../img/top/experience-mail.png) no-repeat left center;
    padding: 5px 0 5px 30px;
    display: inline-block;
	font-size:18px;
}

.experience ul li a dl dt{
    font-size: 32px;
    padding: 0 0 3px 25px;
    background: url(../img/top/experience-tel.png) no-repeat left center;
    font-family: "EB Garamond", serif;
}

.experience ul li a dl dd{
    font-size: 12px;
	margin:-15px 0 0 0;
}

.voice{
	padding:80px 20px;
	background:url(../img/top/voice-bg.jpg) no-repeat top center;
	background-size:cover;
}

.voice .box{
	width:760px;
	margin:0 auto;
	background:rgba(255,255,255,0.52);
	box-shadow: 0px 0px 24px rgba(136, 136, 136, 0.16);
	box-sizing:border-box;
	padding:50px 85px;
}

.voice .box dl{
	padding:20px 0 0 0;
	font-size:14px;
}

.voice .box dl dt span{
	display:inline-block;
	padding:0 0 0 20px;
}

.voice .box dl dd{
	line-height:1.6;
	padding:10px 0 0 0;
}

.lecturer{
	background:url(../img/top/lecturer-bg.jpg) no-repeat top center;
	background-size:cover;
	padding:80px 20px;
}

.lecturer h2{
	color:#fff;
}

.lecturer .box-in{
	background:#fff;
	border-radius:15px;
	display:flex;
	filter: drop-shadow(3px 3px 12px rgba(136, 136, 136, 0.16));
}

.lecturer .box-in:nth-child(1){
	margin:0 0 50px 0;
}

.lecturer .box-in .img-box{
	min-width:350px;
	position:relative;
}

.lecturer .box-in .img-box .img{
	line-height:0;
}

.lecturer .box-in .img-box h3,
.representative .box-in .img-box h3{
	font-size:26px;
	line-height:1.6;
	font-weight:600;
	padding:30px 0 0 0;
}

.lecturer .box-in .img-box h3{
	text-align:center;
	background:#fff;
	position:absolute;
	left:0;
	bottom:30px;
	padding:20px 20px 0 20px;
}

.lecturer .box-in .img-box h3 span,
.representative .box-in .img-box h3 span{
	font-size:16px;
	font-weight:500;
	padding:0 10px 0 0;
	display:inline-block;
}

.lecturer .box-in .img-box h3 span{
	padding:0;
}

.lecturer .box-in .txt-box{
	padding:30px;
}

.lecturer .box-in .txt-box .message{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

.lecturer .box-in .txt-box .message > li{
	border-radius: 15px;
	background: #f1f6f7;
	padding:20px;
	width:48%;
	text-align:center;
}


.lecturer .box-in .txt-box .message > li:first-child{
	margin:0 0 20px 0;
	width:100%;
}

.lecturer .box-in .txt-box .message > li h4,
.representative .b-box > li h4{
	font-size:14px;
	font-weight:600;
	line-height:1.6;
	text-align:center;
	position:relative;
	padding:0 0 10px 0;
	margin:0 0 15px 0;
}

.lecturer .box-in .txt-box .message > li h4:after,
.representative .b-box > li h4:after{
	content:"";
	width:24px;
	height:1px;
	background:#ADADAD;
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin:0 auto;
}

.lecturer .box-in .txt-box .message > li .txt{
	font-size:14px;
	font-weight:500;
	line-height:1.6;
	display:inline-block;
	text-align:left;
}

.lecturer .box-in .txt-box .message > li ul,
.representative .b-box > li ul{
	display:flex;
	flex-wrap:wrap;
}

.lecturer .box-in:nth-child(2) .txt-box .message > li ul{
	justify-content:center;
}


.lecturer .box-in .txt-box .message > li ul li,
.representative .b-box > li ul li{
	margin:0 5px 10px 5px;
	color:#fff;
	line-height:1.6;
	padding:5px 20px;
	border-radius:4px;
	font-size:14px;
}

.lecturer .box-in .txt-box .message > li ul li.koku,
.representative .b-box > li ul li.koku{
	background:#B86398;
}

.lecturer .box-in .txt-box .message > li ul li.suu,
.representative .b-box > li ul li.suu{
	background:#1F6390;
}

.lecturer .box-in .txt-box .message > li ul li.men,
.representative .b-box > li ul li.men{
	background:#54A3AF;
}

.lecturer .box-in .txt-box .message > li ul li.sho,
.representative .b-box > li ul li.sho{
	background:#54A3AF;
}

.lecturer .box-in .txt-box .message > li ul li.ei,
.representative .b-box > li ul li.ei{
	background:#815BB3;
}

.lecturer .box-in .txt-box .message > li .other{
	text-align:right;
	font-size:13px;
}

.representative{
	background:url(../img/top/representative-bg.jpg) no-repeat center center;
	background-size:cover;
	padding:120px 20px 80px 20px;
}

.representative .box{
	position:relative;
}

.representative h2{
	position:absolute;
	right:20px;
	top:-30px;
	z-index:2;
}

.representative .box-in{
	position:relative;
	display:flex;
	justify-content:flex-end;
}

.representative .box-in .img-box{
	position:absolute;
	left:20px;
	top:60px;
	transition: all 0.3s;
}

@media screen and (max-width: 1190px) {
.representative .box-in .img-box{
	left:0;
}
}

ruby {
	/*ruby-align: center;*/
}

ruby rt{
	padding:0 0 5px 0;
}

.representative .box-in .txt{
	background: #fff;
	box-shadow: 0px 0px 24px rgba(136, 136, 136, 0.16);
	width:600px;
	box-sizing:border-box;
	padding:50px 40px 50px 90px;
	margin:0 100px 0 0;
	font-size:14px;
	line-height:1.8;
	font-weight:500;
}

.representative .b-box{
	display:flex;
	padding:40px 0 0 20px;
}

.representative .b-box > li{
	background: #fff;
	filter: drop-shadow(0px 0px 24px rgba(136, 136, 136, 0.16));
    padding: 20px 30px;
    text-align: center;
	width:300px;
	margin:0 20px 0 0;
}

.representative .b-box > li:nth-child(2){
	display:inline-block;
	width:600px;
}

.representative .b-box > li:nth-child(2) .txt-box{
	display:flex;
	justify-content:space-between;
	text-align:left;
	font-size:14px;
	font-weight:500;
}

.representative .b-box > li:nth-child(2) .txt-box p span{
	display:block;
	padding:22px 0 0 0;
	text-align:right;
}

.curriculum02{
	background:url(../img/top/curriculum02-bg.png) no-repeat bottom center;
	background-size:cover;
	padding:80px 20px 20px 20px
}

.course{
	padding:80px 20px;
	background:url(../img/top/course-bg.png) no-repeat top center;
	background-size:cover;
}

.course .box-in:not(:last-child){
	padding:0 0 120px 0;
}

.course .box-in .txt-box{
	position:relative;
	display:flex;
	background: #fff;
	box-shadow: 3px 3px 24px rgba(136, 136, 136, 0.16);
}

.course .box-in .txt-box h2{
	font-family: "EB Garamond", serif;
	color:#1F6390;
	font-size:32px;
	line-height:0.75;
	position:absolute;
	right:0;
	top:-50px;
	margin:0 0 -15px -25px;
	z-index:2;
}

.course .box-in .txt-box h2 span{
	display:block;
	font-size:100px;
	font-style:italic;
	margin:0 0 0 -20px;
}

.course .box-in .txt-box h3,
.request .box-in h3{
	display:inline-block;
	font-size:26px;
	line-height:1.6;
	padding:10px 20px;
	background: linear-gradient(to right, #2f8cc9 0%, #54a3af 100%);
	color:#fff;
	position:absolute;
	left:530px;
	top:25px;
	font-family: "Noto Serif JP", serif;
	font-weight:500;
}

.course .box-in .txt-box .img{
	min-width:484px;
}

@media screen and (max-width: 1160px) {
.course .box-in .txt-box h3{
	left:453px;
}	
	
.course .box-in .txt-box .img{
	min-width:400px;
}
}

.course .box-in .txt-box .img img{
	object-fit: cover;
	width:100%;
	height:100%;
	max-width:inherit;
}

.course .box-in .txt-box .txt{
	padding:120px 50px 20px 50px;
	line-height:1.6;
}

.price{
	text-align:center;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

@media screen and (max-width: 1260px) {
.price{
	justify-content:center;
}
}

.course .box-in:last-child .price{
	justify-content:center;
}

.price > li{
	width:580px;
	font-family: "Noto Serif JP", serif;
	padding:30px 0 0 0;
}

.price > li h4{
	color:#fff;
	border-radius:6px 6px 0 0;
	background:#1F6390;
	font-size:20px;
	line-height:1.6;
	padding:10px 0;
	font-weight:600;
}

.price > li .price-txt{
	display:flex;
	jusity-content:center;
	align-items:center;
	border:1px solid #1F6390;
	border-radius:0 0 6px 6px;
	background:#E2EDF0;
}


.price > li .price-txt .txt01{
	padding:10px;
	font-size:26px;
	font-weight:600;
	min-width:250px;
	box-sizing:border-box;
}

.price > li .price-txt .txt01 em{
	font-size:16px;
	display:block;
	margin:0 0 -10px 0;
}

.price > li .price-txt .txt01 span{
	font-size:16px;
}

.price > li .price-txt .txt02{
	padding:20px;
	background:#fff;
	box-sizing:border-box;
	text-align:left;
	border-radius:0 0 6px 0;
	border-left:1px solid #1F6390;
	width:100%;
	display:flex;
	align-items:center;
	flex-wrap:wrap;
}

.price > li .price-txt01 .txt02{
	min-height:114px;
}

.price > li .price-txt .txt02 ul li{
	padding:0 0 0 20px;
	line-height:1.6;
	position:relative;
	font-size:14px;
	font-weight:600;
	display:inline-block;
	width:100%;
	text-align:left;
}

.price > li .price-txt .txt02 ul li:after{
	content:"";
	width:8px;
	height:8px;
	border-radius:50%;
	background:#1BA7BD;
	position:absolute;
	left:0;
	top:8px;
}

.price > li .price-txt .txt02 .kome{
	font-size:13px;
	font-weight:600;
}

.price > li .b-txt{
	font-size:14px;
	font-weight:500;
	padding:15px 0 0 0;
	font-family: "Noto Sans JP", sans-serif;
	text-align:left;
}

.course .b-txt{
	font-size:14px;
	font-weight:500;
	padding:15px 0 0 0;
	font-family: "Noto Sans JP", sans-serif;
	text-align:center;
}

.request{
	background:url(../img/top/request-bg.jpg) no-repeat center center;
	background-size:cover;
}

.request h2{
	text-align:center;
	line-height:1.6;
	padding:30px 0;
	background: linear-gradient(to bottom, #1f6390 0%, #3d8fc4 100%);
	color:#fff;
	font-size:36px;
	font-weight:500;
	position:relative;
}

.request h2:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -80px;
    border: 80px solid transparent;
    border-top: 40px solid #3d8fc4;
}

.request .box{
	padding:120px 0 80px 0;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

.request .box-in{
	width:570px;
}

@media screen and (max-width: 1190px) {
.request .box{
	display:block;
}

.request .box-in{
	margin:0 auto;
}
	
.request .box-in:nth-child(2){
	padding:80px 0 0 0;
}
}

.request .txt-box{
	background:rgba(255,255,255,0.7);
	filter: drop-shadow(0px 3px 6px rgba(136, 136, 136, 0.16));
	border-radius:15px;
	box-sizing:border-box;
	padding:60px 50px 40px 50px;
	position:relative;
}

.request .txt-box h3{
	left:0;
	top:-30px;
}

.request .txt-box .txt{
	line-height:1.6;
	padding:20px 0 0 0;
}

.price .n-txt{
	padding:34.5px;
	text-align:left;
	background:#fff;
	border-radius:0 0 6px 6px;
	line-height:1.6;
	font-size:14px;
	width:100%;
	font-weight:500;
	font-family: "Noto Sans JP", sans-serif;
}

.faq{
	padding:80px 20px;
	background:#F1F6F7;
}

.faq dl{
	border-radius: 6px;
	background: #fff;
	box-shadow: 3px 3px 12px rgba(136, 136, 136, 0.16);
	padding:0 40px;
	position:relative;
	margin:0 0 35px 0;
}

.faq dl dt span{
	padding:30px 0 30px 50px;
	cursor:pointer;
	position:relative;
	font-weight:500;
	font-family: "Noto Serif JP", serif;
	line-height:1.6;
	font-size:24px;
	display:block;
}

.faq dl dt span:before{
	content:"Q.";
	font-size:33px;
	color:#1F6390;
	position:absolute;
	left:0;
	top:20px;
}

.faq dl dd{
	padding:20px 0 20px 50px;
	line-height:1.6;
	position:relative;
	border-top:1px solid #CECECE;
}

.faq dl dd:before{
	content:"A.";
	font-size:33px;
	color:#901F1F;
	position:absolute;
	left:0;
	top:5px;
	font-family: "Noto Serif JP", serif;
}

.accordion-title:before {
	position: absolute;
	content: '';
	top: 45px;
	right:40px;
	height: 3px;
	width: 18px;
	background: #1F6390;
	transform: rotate(90deg);
	transition: all .3s ease-in-out;
}
.accordion-title:after {
	position: absolute;
	content: '';
	top: 45px;
	right:40px;
	height: 3px;
	width: 18px;
	background: #1F6390;
	transition: all .3s ease-in-out;
}

.accordion-title.open:before {
	transform: rotate(180deg);
}
.accordion-title.open:after {
	opacity: 0;
}
.accordion-text {
	display: none;
}

.access{
	padding:80px 20px;
	position:relative;
}

.access .bg{
	height:500px;
	width:100%;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	background:url(../img/top/access-bg.png) no-repeat bottom center;
	background-size:cover;
}

.access .box-in{
	display:flex;
	justify-content:space-between;
}

.access .box-in .map{
	width:49%;
}

.access .box-in .map iframe{
	width:100%;
	height:100%;
	border-radius:15px;
	border:1px solid #3780BE;
}

.access .box-in ul{
	width:49%;
}

.access .box-in ul li{
	padding:25px;
	border-radius:15px;
	border:1px solid #3780BE;
	background:#F6F9FA;
	margin:0 0 20px 0;
}

.access .box-in ul li:last-child{
	margin:0;
}

.access .box-in ul li .txt{
	font-weight:500;
	line-height:1.6;
}

.access .box-in ul li:nth-child(1) .txt{
	padding:5px 0 5px 30px;
	background:url(../img/top/access-ico01.png) no-repeat left center;
}

.access .box-in ul li h3{
	font-size:18px;
	color:#3780BE;
	font-weight:600;
	line-height:1.6;
	padding:5px 0 5px 45px;
	background:url(../img/top/access-ico02.png) no-repeat left center;
	margin:0 0 20px 0;
}

.access .box-in ul li:nth-child(3) h3{
	background:url(../img/top/access-ico03.png) no-repeat left center;
}

.access .gallery{
	text-align:center;
	padding:50px 0 0 0;
}

.access .gallery h3{
	margin:0 0 -50px 0;
	position:relative;
	z-index:2;
}

.access .gallery ul{
	display:flex;
	justify-content:space-between;
}

.access .gallery ul li{
	position:relative;
	width:49%;
}

.access .gallery ul li h4{
	border-radius: 0px 15px;
	background: #fff;
	font-family: "Noto Serif JP", serif;
	width:150px;
	line-height:1.6;
	padding:10px 0;
	position:absolute;
	left:0;
	bottom:0;
	font-size:18px;
	font-weight:600;
}

@media screen and (max-width: 800px) {
.home .mv{
	min-height:auto;
	background:none;
}

.home .mv .img{
	line-height:0;
}

.home .mv h1{
	right:auto;
	top:21%;
	margin:0;
	padding:0 20px;
	width:66%;
}

.home .mv .b-txt{
	position:static;
}

.home .mv .b-txt > div{
	padding:40px 20px;
}

.home .mv .b-txt > div:after{
	opacity:1;
}

.home .mv .b-txt h2{
	font-size:20px;
	letter-spacing:0.1em;
	padding:0;
}

.home .mv .b-txt ul{
	display:block;
}

.home .mv .b-txt ul li{
	padding:20px 0 0 0;
}

.home .mv .b-txt ul li a{
	font-size:30px;
	padding:5px 0 12px 33px;
	background:url(../img/common/sp/tel-ico.png) no-repeat left center;
	background-size:22px;
}

.home .mv .b-txt ul li span{
	font-size:12px;
}

.home .mv .b-txt ul li:nth-child(2) span{
	font-size:16px;
}

.home .mv .b-txt ul li:nth-child(2) a{
	background:url(../img/common/sp/mail-ico.png) no-repeat 45px center;
	background-size:21px;
	margin:0 auto;
}

.curriculum{
	background:url(../img/top/sp/curriculum-bg.jpg) no-repeat top center;
	background-size:cover;
	padding:60px 20px;
}

.m-tit{
	font-size:30px;
	padding:0 0 40px 0;
}

.m-tit span{
	font-size:16px;
}

.curriculum .list01{
	display:block;
}

.curriculum .list01 li{
	width:100%;
	max-width:310px;
	margin:0 auto;
}

.curriculum .list01 li:not(:last-child){
	margin:0 auto 30px;
}

.curriculum .list01 li:after{
	height:7px;
	width:67px;
}

.curriculum .list01 li dl{
	height: 100px;
}

.curriculum .list01 li dl dt{
	font-size:84px;
	left:20px;
	height: 100px;
	line-height:100px;
}

.curriculum .list01 li dl dd{
	font-size:16px;
}

.curriculum .box-in{
	max-width:100%;
	margin:60px auto 0;
	border-radius: 15px;
}

.curriculum .box-in h3{
	top:-15px;
	font-size:20px;
}

.curriculum .box-in ul{
	display:flex;
	justify-content:center;
}

.curriculum .box-in ul li{
	margin:0 5px;
	border-radius:6px;
	line-height:40px;
	height:40px;
	width:90px;
	font-size:14px;
}

.curriculum .box-in p{
	font-size:12px;
	padding:15px 0 40px 0;
}

.curriculum h4{
	font-size:16px;
	padding:40px 0 0 0;
}

.curriculum .list02{
	display:block;
	max-width:inherit;
	margin:20px auto 0;
}

.curriculum .list02:after{
	display:none;
}

.curriculum .list02 li{
	margin:0 0 20px 0;
}

.curriculum .list02 li a{
	height:70px;
	border-radius:35px;
	background:url(../img/top/sp/consulting-arrow.png) no-repeat 93% center #54A3AF;
	background-size:25px;
	width:100%;
	padding:0 0 0 40px;
	text-align:left;
}

.reason{
	padding:60px 20px;
	background:url(../img/top/reason-bg01.png) no-repeat top right #F6F9FA;
	background-size:contain;
}

.reason .box-in{
	display:block;
	text-align:center;
}

.reason .box-in:nth-child(2){
	padding:60px 0;
}

.reason .box-in:nth-child(2) .bg{
	left:0;
	top:0;
	margin:0 -20px;
	z-index: 0;
}

.reason .box-in:nth-child(3) .bg{
	right:0;
	top:-60px;
	width:100%;
	margin:0 -20px;
	z-index: 0;
}

.reason .box-in:nth-child(3) .bg02{
	left:0;
	bottom:-80px;
	width:100%;
	margin:0 -20px;
	z-index: 0;
}

.reason .box-in .txt-box{
	width:100%;
}

.reason .box-in h3{
	font-size:28px;
}

.reason .box-in h3 span{
	font-size:75px;
}

.reason .box-in h4{
	font-size: clamp(16px, 5vw, 24px);
	padding:20px;
	display:block;
}

.reason .box-in:nth-child(2) h4{
	margin:0;
}

.reason .box-in .txt{
	padding:20px 0 0 0;
	font-size:14px;
}

.reason .box-in .txt span{
	font-size:16px;
}

.reason .box-in:nth-child(3) .sp-box{
	background: #fff;
	box-shadow: 0px 0px 24px rgba(136, 136, 136, 0.16);
	padding:20px;
	position:relative;
	margin:20px 0 30px 0;
}

.reason .box-in:nth-child(3) .sp-box .tit01{
	position:absolute;
	left:0;
	top:0;
	color:#FFFFFF;
	text-align:center;
	width:100px;
	height:40px;
	line-height:40px;
	font-weight:500;
	background:#1F6390;
}

.reason .box-in:nth-child(3) .sp-box .tit02{
	font-size:16px;
	font-weight:600;
	padding:0 0 20px 0;
}

.reason .box-in:nth-child(3) .sp-box .txt-img img{
	max-width:inherit;
	max-inline-size:none;
	width:586px;
}

.reason .box-in:nth-child(3) .sp-box .txt-img02{
	width:260px;
	margin:0 auto;
}

.reason .box-in:nth-child(3) .sp-box .txt-img02{
	width:260px;
	margin:0 auto;
}

.reason .box-in:nth-child(3) .txt{
	padding:20px;
	margin:20px 0 0 0;
}

.reason .box-in .img{
	width:100%;
	padding:20px 0 0 0;
}

.reason .box-in:nth-child(1) .img img{
	position:static;
	max-width:100%;
}

.reason .box-in:nth-child(2) .img img{
	position:static;
	max-width:100%;
}

.reason .box-in:nth-child(3) .graph-box{
	padding:20px;
}

.reason .box-in:nth-child(3) .graph-box h5{
	text-align:center;
	color:#3780BE;
	font-weight:600;
	line-height:1.6;
	font-size:16px;
	padding:0 0 20px 0;
}

.reason .box-in:nth-child(3) .graph-box .txt-img img{
	width:570px;
	max-width:inherit;
	max-inline-size:none;
}

.reason .box-in:nth-child(3) .graph-box .txt-img02{
	max-width:320px;
	margin:0 auto;
}

.experience{
	background:url(../img/top/sp/experience-bg.jpg) no-repeat center center;
	background-size:cover;
}

.experience h2{
	font-size:23px;
}

.experience ul{
	display:block;
}

.experience ul li{
	margin:0 0 20px 0;
	padding:30px 20px;

}

.experience ul li h3{
	padding:0 0 20px 0;
}

.experience ul li a{
	height:80px;
	width:280px;
	margin:0 auto;
}

.experience ul li:nth-child(2) a span {
    background: url(../img/common/sp/mail-ico.png) no-repeat left center;
	background-size:22px;
    padding: 5px 0 5px 30px;
	font-size:16px;
}

.experience ul li a dl dt{
    font-size: 30px;
    padding: 0 0 5px 25px;
    background: url(../img/common/sp/tel-ico.png) no-repeat left center;
	background-size:22px;
}

.experience ul li a dl dd{
    font-size: 12px;
	margin:-15px 0 0 0;
}

.voice{
	padding:60px 20px;
	background:url(../img/top/sp/voice-bg.jpg) no-repeat bottom center;
	background-size:cover;
}

.voice .box{
	width:100%;
	padding:20px 15px;
}

.voice .box .txt{
	max-width:400px;
	margin:0 auto;
}

.voice .box dl{
	max-width:400px;
	margin:0 auto;
}

.voice .box dl dt span{
	padding:0 0 0 15px;
}

.lecturer{
	background:url(../img/top/sp/lecturer-bg.jpg) no-repeat top center;
	background-size:cover;
	padding:60px 20px;
}

.lecturer .box-in{
	display:block;
}

.lecturer .box-in:nth-child(1){
	margin:0 0 40px 0;
}

.lecturer .box-in .img-box{
	min-width:inherit;
	text-align:center;
}

.lecturer .box-in .img-box .img img{
	border-radius:15px 15px 0 0;
}

.lecturer .box-in .img-box h3,
.representative .box-in .img-box h3{
	font-size:20px;
	padding: 10px 10px 0 20px;
}

.lecturer .box-in .img-box h3{
	left:0;
	bottom:0;
}

.lecturer .box-in .img-box h3 span,
.representative .box-in .img-box h3 span{
	font-size:14px;
	padding:0 10px 0 0;
}

.lecturer .box-in .txt-box{
	padding:30px 20px;
}

.lecturer .box-in .txt-box .message{
	display:block;
}

.lecturer .box-in .txt-box .message > li{
	width:100%;
	box-sizing:border-box;
	margin:0 0 20px 0;
}

ruby rt {
    padding: 0;
}

.lecturer .box-in .txt-box .message > li:last-child{
	margin:0;
}


.lecturer .box-in .txt-box .message > li ul,
.representative .b-box > li ul{
	justify-content:center;
}

.representative{
	background:url(../img/top/sp/representative-bg.jpg) no-repeat center center;
	background-size:cover;
	padding:60px 20px;
}

.representative h2{
	position:static;
}

.representative .box-in{
	display:block;
}

.representative .box-in .img-box{
	position:static;
	padding:0 20px;
}

.representative .box-in .img-box img{
	border-radius:15px;
}

.representative .box-in .img-box h3 {
	font-size: 22px;
    padding: 30px 0 20px 0;
	text-align:center;
}

.representative .box-in .img-box h3 span {
	font-size: 16px;
    padding:0;
	display:block;
}

.representative .box-in .txt{
	width:100%;
	padding:30px 20px;
	margin:0;
}

.representative .b-box{
	display:block;
	padding:0;
}

.representative .b-box > li{
    padding: 20px;
	width:100%;
	margin:20px 0 0 0;
}

.representative .b-box > li:nth-child(2){
	width:100%;
}

.representative .b-box > li:nth-child(2) .txt-box{
	display:inline-block;
}

.representative .b-box > li:nth-child(2) .txt-box p span{
	padding:20px 0 0 0;
}

.curriculum02{
	background:url(../img/top/sp/curriculum02-bg.jpg) no-repeat bottom center;
	background-size:cover;
	padding:60px 20px 60px 20px
}

.course{
	padding:90px 20px 60px 20px;
	background:url(../img/top/sp/course-bg.jpg) no-repeat top center;
	background-size:cover;
}

.course .box-in:not(:last-child){
	padding:0 0 90px 0;
}

.course .box-in .txt-box{
	display:block;
}

.course .box-in .txt-box h2{
	text-align:center;
	font-size:21px;
	right:0;
	left:0;
	margin:0 auto;
	top:-55px;
	margin:0;
}

.course .box-in .txt-box h2 span{
	font-size:75px;
}

.course .box-in .txt-box h3,
.request .box-in h3{
	display:block;
	font-size: clamp(16px, 5vw, 24px);
	padding:20px 10px;
	position:static;
	text-align:center;
}

.course .box-in .txt-box .img{
	min-width:inherit;
	line-height:0;
}

.course .box-in .txt-box .txt{
	padding:30px 20px;
}

.price{
	display:block;
}

.price > li{
	width:100%;
	padding:30px 0 0 0;
}

.price > li h4{
	font-size:18px;
	padding:10px 0;
}

.price > li .price-txt{
	display:block;
}


.price > li .price-txt .txt01{
	padding:20px;
	min-width:inherit;
	border-bottom:1px solid #1F6390;
}

.price > li .price-txt .txt02{
	padding:20px;
	border-radius:0 0 6px 6px;
	border-left:none;
	width:100%;
	display:block;
}

.price > li .price-txt01 .txt02{
	min-height:inherit;
}

.price > li .price-txt .txt02 .kome{
	padding:5px 0 0 0;
	text-align:left;
}

.course .b-txt{
	text-align:left;
}

.request{
	background:url(../img/top/sp/request-bg.jpg) no-repeat center center;
	background-size:cover;
}

.request h2{
	padding:30px 0;
	font-size: clamp(16px, 5vw, 26px);
}

.request h2:after {
    margin-left: -30px;
    border: 30px solid transparent;
    border-top: 20px solid #3d8fc4;
}

.request .box{
	padding:40px 20px 80px 20px;
	display:block;
}

.request .box-in{
	width:100%;
	padding:40px 0 0 0;
}

.request .txt-box{
	border-radius:0 0 15px 15px;
	padding:0 20px 30px 20px;
}

.request .txt-box h3{
	margin:0 -20px 30px -20px;
}

.request .txt-box .img{
	text-align:center;
}

.request .txt-box .txt{
	line-height:1.6;
	padding:20px 0 0 0;
}

.price .n-txt{
	padding:30px 20px;
}

.faq{
	padding:60px 20px;
}

.faq dl{
	padding:0 20px;
	margin:0 0 30px 0;
}

.faq dl:last-child{
	margin:0;
}

.faq dl dt span{
	padding:20px 30px 20px 40px;
	font-size:18px;
}

.faq dl dt span:before{
	font-size:25px;
	top:10px;
}

.faq dl dd{
	padding:20px 0 20px 40px;
}

.faq dl dd:before{
	font-size:25px;
	left:0;
	top:10px;
}

.accordion-title:before {
	top: 35px;
	right:20px;
	height: 2px;
}
.accordion-title:after {
	top: 35px;
	right:20px;
	height: 2px;
}

.access{
	padding:60px 20px;
}

.access .bg{
	height:380px;
	background:url(../img/top/sp/access-bg.png) no-repeat bottom center;
	background-size:cover;
}

.access .box-in{
	flex-wrap:wrap;
}

.access .box-in .map{
	width:100%;
	order:2;
	line-height:0;
	margin:20px 0 0 0;
}

.access .box-in .map iframe{
	height:200px;
}

.access .box-in ul{
	width:100%;
}

.access .box-in ul li{
	padding:20px;
}

.access .box-in ul li:nth-child(1) .txt{
	padding:5px 0 5px 30px;
	background:url(../img/top/sp/access-ico01.png) no-repeat left 10px;
	background-size:18px;
}

.access .box-in ul li h3{
	font-size:16px;
	padding:5px 0 5px 35px;
	background:url(../img/top/sp/access-ico02.png) no-repeat left center;
	background-size:23px;
}

.access .box-in ul li:nth-child(3) h3{
	background:url(../img/top/sp/access-ico03.png) no-repeat left center;
	background-size:23px;
}

.access .gallery{
	padding:50px 0 0 0;
	text-align:right;
}

.access .gallery h3{
	margin:0 0 -50px 0;
	display:inline-block;
	width:190px;
}


.access .gallery ul{
	display:block;
	text-align:center;
}

.access .gallery ul li{
	width:100%;
	margin:0 0 20px 0;
}

.access .gallery ul li h4{
	width:150px;
	padding:10px 0;
	font-size:16px;
}
}

/* CONTACT
-------------------------------------------------------------------*/
.contact{
	padding:80px 20px;
	position:relative;
	background:#F1F6F7;
}

.contact .bg{
	height:630px;
	width:100%;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	background:url(../img/top/contact-bg.png) no-repeat bottom center;
	background-size:cover;
}

.contact .box{
	background:rgba(255,255,255,0.85);
	filter: drop-shadow(3px 3px 12px rgba(136, 136, 136, 0.16));
	padding:50px 20px;
}

.form{
	width:710px;
	margin:0 auto;
}

.form dl{
	display:flex;
	padding:0 0 20px 0;
}

.form dl dt{
	position:relative;
	padding:13px 0 0 0;
	min-width:200px;
	width:200px;
	box-sizing:border-box;
	vertical-align:middle;
	font-weight:500;
}

.form dl dt.hissu:after{
	content:"*";
	color:#E91E46;
}

.form dl.none dt{
	padding:0;
}

.form dl dd{
	width:100%;
}

.form input, .form textarea{
    width: 100%;
    font-size: 16px;
    line-height: 1.6;
    padding: 15px;
	background:#E9F2F3;
    box-sizing: border-box;
	font-family: "Noto Sans JP", sans-serif;
	border:none;
	border-radius:3px;
}

.form textarea{
	height:240px;
}

.form .wpcf7-radio {
    display: block;
    padding:0;
}

.form .wpcf7-radio>* {
    display:inline-block;
	margin:0;
}

.form .wpcf7-radio input[type="radio"] {
    display: none;
}

.form .wpcf7-radio .wpcf7-list-item-label {
    position: relative;
    padding-left: 30px;
    line-height: 1.5;
    cursor: pointer;
}

.form .wpcf7-list-item > label{
	display:inline-block;
	margin:0 30px 10px 0;
}

.form .wpcf7-list-item.first > label{
	margin:0 30px 10px 0;
}

.form .wpcf7-radio .wpcf7-list-item-label::before {
    content: "";
    position: absolute;
    width: 20px;
	height:20px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border-radius: 50%;
	background:#fff;
}

.form .wpcf7-radio .wpcf7-list-item-label::after {
    content: "";
    position: absolute;
    width: 10px;
	height:10px;
    top: 50%;
	left: 5px;
    transform: translateY(-50%);
    background: #041d2b;
    border-radius: 50%;
    opacity: 0;
    transition: .3s;
}

.form .wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label::after {
    opacity: 1;
}

.wpcf7-response-output{
	max-width:700px;
	margin:30px auto 0 !important;
	text-align:center;
}

.check02{
	text-align:center;
	padding:30px 0 50px 0;
}

.check02 a{
	text-decoration:underline !important;
	color:#3780BE;
}

.check .wpcf7-list-item-label{
	position:relative;
	cursor:pointer;
}

.check input[type="checkbox"] {
    display: none
}

.check input[type="checkbox"]+span {
    display:inline-block;
    position: relative;
    padding-left: 30px;
    line-height: 1.4em;
    cursor: pointer;
}

.check input[type="checkbox"]+span::before {
    content: "";
    position: absolute;
    width: 20px;
    aspect-ratio: 1 / 1;
	top: 2px;
    left: 0;
    background: #fff;
	border:1px solid #000000;
}

.check input[type="checkbox"]+span::after {
    content: "";
    position: absolute;
    width: 15px;
    aspect-ratio: 1 / 1;
    top: 5px;
    left: 3px;
	background: url(../img/common/check.png) no-repeat center center;
    background-size: contain;
    opacity: 0;
    transition: .3s
}

.check input[type="checkbox"]:checked+span::after {
    opacity: 1
}

.wpcf7-list-item {
    display: inline-block;
	margin:0;
}

.conbtn{
	text-align:center;
}

.conbtn > div{
	display:inline-block;
    position: relative;
	height: 70px;
    line-height: 70px;
    width: 290px;
}

.conbtn input[type=submit] {
	height: 72px;
    line-height: 70px;
    width: 360px;
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    box-sizing: border-box;
    display: block;
    position: relative;
	font-family: "Noto Sans JP", sans-serif;
	border:1px solid #3780BE;;
	background:#3780BE;
	cursor:pointer;
	border-radius:80px;
	letter-spacing:0.1em;
	transition: all 0.3s;
}

.conbtn input[type=submit]:hover{
	color:#081534;
	background:#fff;
}

.contact .privacy{
	margin:30px auto 0;
	padding:30px;
	background:#F1F6F7;
	height:240px;
	box-sizing:border-box;
	overflow:auto;
	width:850px;
}

.contact .privacy h3{
	font-size:20px;
	font-weight:500;
	padding:0 0 20px 0;
	line-height:1.4em;
	font-family: "Noto Serif JP", serif;
}

.contact .privacy p{
	font-size:14px;
	line-height:1.6;
	padding:0 0 20px 0;
}

.contact .privacy ul{
	padding:0 0 10px 0;
}

.contact .privacy ul li{
	font-size:13px;
	line-height:1.8em;
	padding-left:1em;
	text-indent:-1em;
}

.wpcf7-not-valid-tip {
    font-size: 12px;
	padding:5px 0 0 0;
}

@media screen and (max-width: 800px) {
.contact{
	padding:60px 20px;
}

.contact .bg{
	height:390px;
	background:url(../img/top/sp/contact-bg.png) no-repeat bottom center;
	background-size:cover;
}

.contact .box{
	padding:40px 20px;
}

.form{
	width:100%;
}

.form dl{
	display:block;
}

.form dl dt{
	padding:0 0 10px 0;
	min-width:inherit;
	width:100%;
}
	
.form dl.none dt{
	padding:0 0 10px 0;
}

.form input, .form textarea{
    padding: 15px;
}

.form textarea{
	height:160px;
}

.form .wpcf7-list-item > label{
	display:block;
	margin:0 0 10px 0;
}

.form .wpcf7-list-item.first > label{
	margin:0 0 10px 0;
}

.wpcf7-response-output{
	max-width:inherit;
	margin:20px auto 0 !important;
	text-align:center;
}

.check02{
	padding:20px 0 30px 0;
}

.check input[type="checkbox"]+span {
    padding-left: 25px;
	display:block;
}
	
.check02 input[type="checkbox"]+span {
	display:inline-block;
	text-align:left;
}

.check input[type="checkbox"]+span::before {
    width: 16px;
	top: 2px;
}

.check input[type="checkbox"]+span::after {
    width: 12px;
    top: 4px;
    left: 2px;
}

.wpcf7-list-item {
    display: block;
	margin:0;
}

.conbtn > div{
	height: 62px;
    line-height: 60px;
    width: 100%;
}

.conbtn input[type=submit] {
	height: 62px;
    line-height: 60px;
    width: 100%;
	max-width:320px;
	margin:0 auto;
    font-size: 16px;
}

.contact .privacy{
	margin:30px auto 0;
	padding:30px 20px;
	height:200px;
	width:100%;
}

.contact .privacy h3{
	font-size:18px;
	text-align:center;
}
}

/* THANKS/404
-------------------------------------------------------------------*/
.error404 #header,
.thanks #header{
	display:none !important;
}

.thanks_area{
	padding:160px 0 160px 0;
	text-align:center;
}

.thanks_area h1{
	font-size:28px;
	line-height:1.6em;
	font-weight:700;
	padding:50px 0;
	width:720px;
	border-bottom:1px solid #121B3A;
	margin:0 auto;
}

.thanks_area .txt{
	line-height:2em;
	padding:50px 0;
	font-weight:500;
}

.thanks_area .m-btn a{
	margin:0 auto;
	height: 72px;
    line-height: 70px;
    width: 360px;
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    box-sizing: border-box;
    display: block;
    position: relative;
	border:1px solid #3780BE;;
	background:#3780BE;
	border-radius:80px;
	letter-spacing:0.1em;
	transition: all 0.3s;
}

.thanks_area .m-btn a:hover{
	color:#081534;
	background:#fff;
}

@media screen and (max-width: 800px) {
.thanks_area{
	padding:60px 20px 60px 20px;
	text-align:left;
}

.thanks_area h1{
	font-size:20px;
	padding:30px 0;
	box-sizing:border-box;
	width:100%;
	text-align:center;
}

.thanks_area .txt{
	padding:30px 0 40px 0;
}
	
.thanks_area .m-btn a{
	height: 62px;
    line-height: 60px;
    width: 100%;
	max-width:320px;
    font-size: 16px;
}

}