@charset "utf-8";

/*--------------------------------------------------------------------------------------------------

   second

--------------------------------------------------------------------------------------------------*/

header nav li.box-lang.sp {
  display: none!important;
}

.sp {
    display: none;
  }

.pc {
  display: inline-block;
}

nav.pc {
  display: block;
}

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

.sp {
	display: block;
}

.pc {
	display: none;
}

nav.pc,
header .info-top .info-right  {
	display: none;
}

nav li:last-child  {
	display: block!important;
}

.fl-left,
.fl-right {
	float: none;
}

.container,
.container-960 {
	width: 100%;
}

.full-max-width {
	max-width: 100%!important;
}

.full-width {
	width: 100%!important;
}

a.animated-button:link, a.animated-button:visited {
	width:200px;
	height:35px;
	line-height:30px;
	display:block;
	margin:0 auto;
}

a.btn-talk span::before {
	width:26px;
	height:20px;
}

.breadcumb {
	padding: 15px 0;
}

.breadcumb .container {
	padding:0 10px;
}

.breadcumb.fixed {
	top:70px;
}
@media only screen and (max-width: 460px) {
	.breadcumb .container {
		display:block;
		overflow:hidden;
	}

	.breadcumb a {
		display:inline;
		float:left;
	}

	.breadcumb p {
		float:left;
	}
}

.menubt {
	z-index: 3;
	width: 40px;
	height: 47px;
	display: block;
	right: 10px;
	top: 13px;
	position: absolute;
	background: none;
}

.menubt span {
	width: 40px;
	height: 8%;
	display: block;
	background: #16165a;
	border-radius: 0;
	position: absolute;
	right: 0;
	top:10px;
	transition: all 0.4s;
	transform: rotate(0deg);
}

.menubt .top {
	-webkit-transform: translateY(-250%);
	-ms-transform: translateY(-250%);
	transform: translateY(-250%);
}

.menubt .bottom {
	-webkit-transform: translateY(250%);
	-ms-transform: translateY(250%);
	transform: translateY(250%);
}

.menubt .menuclick1 {
	transform: rotate(-215deg);
}

.menubt .menuclick2 {
	background-color: rgba(255,255,255,0);
}

.menubt .menuclick3 {
	transform: rotate(215deg);
}

.menubt .text {
	position: absolute;
	bottom: 0;
	right: 0;
	font-size:13px;
}

header .info-right {
	left:0;
}

header .info-right a {
	padding: 0 10px 0 10px;
	font-size:14px;
}

.box-slider {
	padding-top: 0;
}

header .info-right a::after {
	right: 10px;
}

nav ul:first-of-type {
	flex-direction: column;
	align-items: start;
	-webkit-align-self: start;
	padding-right: 0;
	width: 100%;
	position: absolute;
	top: 75px;
	left: 0;
	background: #f9e4e5;
	z-index: 1;
	height: auto;
	padding: 13px;
	padding-bottom:80px;
}

nav li {
	width: 100%;
	padding: 12px 5px;
	border-bottom: 1px solid #000;
}

nav li:last-child {
	border-bottom: none;
	padding: 12px 0;
	margin-top:20px;
}

nav li a {
	width: 100%!important;
	text-align: left;
	line-height: inherit;
	padding-right: 0;
}

nav li::after {
	content: "";
}

header .info-top  {
	height: auto;
	border: none;
}

header .logo {
	margin: 0;
	padding: 15px 0 15px 15px;
}

header .logo img {
	height:40px;
}

header .container {
	justify-content: flex-start;
}

footer .info-contact {
	background-image:url(../image/bg-contact-footer-sp.png);
	background-position:right top;
}

footer .info-contact p {
	font-size:3.8vw;
	line-height:normal;
}

footer .info-contact a.animated-button {
	width:250px;
}

footer .info-intro {
	padding: 20px 0 125px 0;
}

footer .info-intro .fb_npo {
	bottom:40px;
	left:50%;
	transform:translateX(-50%);
	width:191px;
}

footer .info-intro p {
	padding: 10px 0 15px 0;
}

footer .box-link a.animated-button {
	width:300px;
	font-size:12px;
}

/*--------------------------------------------------------------------------------------------
  top
--------------------------------------------------------------------------------------------*/
.main-slider .sp {
	display:block;
	margin-top:70px;
}

.main-slider .pc {
	display:none;
}

.main-slider .slider .slick-dots {
	bottom:0;
}

#top-news {
	top: 0;
	padding-top: 0;
}

#top-news .container {
	padding: 0 20px;
	width:auto;
	max-width:565px;
}

#top-news .visit_banner {
	width:auto;
	max-width:565px;
}

#top-news .visit_banner img {
	max-width:100%;
}

#top-news .visit_banner a {
	position:relative;
	bottom:auto;
	right:auto;
	margin-top:8px;
}

#top-news h2 {
	padding-bottom: 0;
}

@media only screen and (max-width: 768px) {
#top-news ul {
	margin: 10px 0 12px 0;
	flex-wrap: wrap;
	justify-content:left;
}

#top-news ul.cat li {
	width: 46%;
	margin: 0 2%;
	margin-bottom: 8px;
	height: 23px;
	font-size:14px;
}

#top-news .box-info li .date {
	margin: 0 5px 0 10px;
}

#top-news ul li a {
	line-height: 23px;
}

#top-news .box-info {
	margin: 0 10px 15px 10px;
}

#top-news .box-info li div {
	text-decoration: underline;
	max-width: 290px;
}

#top-news .box-info li a {
	flex-wrap: wrap;
}

#top-news .box-info li .icon,
#news .box-detail .icon {
	height: 25px;
}

#top-news .box-info li {
	margin-bottom: 8px;
}
}

#top {
	background: url(../image/top/bg-content-sp.png) no-repeat center top 215px;
	background-size:100% 100%;
}

#top .frame {
	top: 0;
}

#top .frame .container {
}

#top .frame .photo {
	left: 0;
	top: 0;
	position: relative;
	margin-top: 70px;
}

#top .info {
	width: 100%;
	top: 40px;
	position: unset;
}

@media only screen and (max-width: 425px) {
	#top h3 {
		font-size:4vw;
	}

	#top h3 span {
		font-size:11vw;
	}

	#top h4 {
		font-size:6vw;
		padding-left:30px;
	}

}

#top h3 span span.pc {
	display:none;
}

#top .info p {
	padding: 0 30px;
	text-shadow:none;
}

#top h4 img {
	height: 75px;
}

#top .frame .container {
	flex-wrap: wrap;
}

#top .frame h3 {
	position: absolute;
	top: 30px;
}

#top .frame h3 img {
	max-width:100%;
}

#top .frame3 h3 {
	position:static;
}

#top .frame3 h3 div {
	float:none;
}

#top h4 {
	margin: 0;
	position: relative;
	top: -10px;
	text-align: left;
}

#top .frame2 p, #top .frame1 p {
	margin-bottom: 15px;
	text-align: left;
}

#top .frame2 h3 {
	left: unset;
	right: 35px;
}

#top .frame2 {
	margin-top: 0px;
	padding-bottom: 0;
}

#top .frame3 {
	margin-top: 70px;
}

#top .frame3 p {
	text-align:left;
}

#top .frame3 ul {
	padding-bottom: 10px;
	flex-wrap: wrap;
	justify-content: center;
}

#top .frame3 li {
	margin-right: 0;
	margin-bottom: 120px;
}

#top .frame3 .container {
	padding: 0 30px;
}

#top .frame1 h3 {
	right: unset;
	left: 30px;
	top: 33px;
}

#top .frame3 li .text {
	width: 70%;
	height: auto;
	bottom: -100px;
	padding:15px 0 10px;
}

#top .frame3 li.interview01 .text {
	box-shadow:5px 5px 0 rgba(22,22,90,0.3);
}

#top .frame3 li.interview02 .text {
	box-shadow:5px 5px 0 rgba(51,175,162,0.3);
}

#top .frame3 li.interview03 .text {
	box-shadow:5px 5px 0 rgba(47,169,224,0.3);
}

#top .frame3 li .text img {
	width:70%;
	max-width:160px;
}

#top .frame4 {
	margin-top: 0;
	padding:0 5px;
}

#top .frame4 .photo {
	margin-top: 0!important;
	text-align: center;
	width: 100%;
}

#top .frame4 h3 {
	position: static;
	margin-left: 30px;
	margin-bottom: 10px;
}

#top .frame4 h3 img {
	height:43px;
}

#top .frame4 .photo .btn-talk {
	position: relative;
	bottom: unset;
	right: 0;
	z-index: 0;
	left: 0;
	text-align: center;
	margin: 8px auto 20px auto;
	border: 2px solid #16165a !important;
}

#top .frame4 .photo2 {
	margin: 40px 0 0 0;
}

#top .frame5 {
	margin-top: 40px;
	padding:0 10px;
}

#top .frame5 h3 {
	position: static;
	margin-left: 35px;
}

#top .frame5 ul {
	margin-top:-9px;
}

#top .frame5 li {
	margin-bottom: 0;
	text-align: center;
}

#top .frame5 a {
	bottom: -18px;
}

#top .frame5 a {
	position: relative !important;
	bottom: 18px !important;
	left: unset!important;
	right: unset!important;
}

#top .frame6 .box {
	float:none;
	width:100%;
	max-width:500px;
	margin:60px auto!important;
	padding:0!important;
}

@media only screen and (max-width: 425px) {
	#top .frame6 .box {
		width:90%;
	}
}

#top .frame6 .box h3 {
	position:relative;
	top:auto;
}

#top .frame6 .box:first-child h3,
#top .frame6 .box:last-child h3 {
	float:right;
	margin-bottom:-30px;
}

#top .frame6 .box:last-child h3 span {
	margin-right:0;
}

#top .frame6 .box div {
	width:100%;
}

#top .frame6 .box:first-child div,
#top .frame6 .box:last-child div {
	margin-top:0;
}

#top .frame6 .box:nth-child(3) div {
	margin-top:-30px;
}

#top .frame6 .box div img {
	width:100%;
}

#top .frame6 .box div a {
	bottom:-17px;
}

@media only screen and (max-width: 425px) {
	#top .frame6 .box:first-child h3,
	#top .frame6 .box:last-child h3 {
		margin-bottom:-15px;
	}

	#top .frame6 .box div {
		margin-top:-15px;
	}

	#top .frame6 .box:nth-child(3) div {
		margin-top:-15px;
	}
}

#top .frame7 {
	padding: 105px 0 40px 0;
}

#top .frame7 .container {
	width:98%;
}

#top .frame7 h3 {
	top: -52px;
	left: 20px;
}

#top .frame7 .box-link {
	bottom: 25%;
}

.banner {
	padding-top: 0;
	background: #f9e4e5 url(../image/line-banner-page.png) no-repeat left center;
	margin-top:70px;
}

.banner .container {
	width: auto;
	padding: 15px 0px 15px 35px;
}

.banner .container {
	width: auto;
	padding: 15px 0px 15px 8px;
	margin-left: 27px;
	flex-wrap: wrap;
}

.banner span {
	font-size: 12px;
	line-height: 1.2;
	margin-left: 0;
}

.banner h2 {
	margin-left: 0;
	font-size: 33px;
	line-height: 1.2;
	margin-right: 20px;
}

.page .container {
	padding: 0 20px;
}

/*--------------------------------------------------------------------------------------------
  merit
--------------------------------------------------------------------------------------------*/
#merit {
	padding-bottom: 10px;
	margin-bottom: 30px;
	background: url(../image/merit/bg-content.png) no-repeat center top 30px;
	background-size: 78% 100%;
}

#merit h2 {
	margin-bottom: 20px;
	font-size:5.4vw;
}

#merit li {
	flex-wrap: wrap;
	margin-bottom: 20px;
}

#merit li img {
	width: 89%;
}

#merit li:nth-child(2) img {
	margin-left:11%;
}

#merit li .text {
	width: auto;
	padding: 0;
	margin-left: 40px;
	box-shadow: 5px 5px rgba(0,0,0,0.25);
	position: relative;
	top: -10px;
}

#merit li:nth-child(2) .text {
	margin-left:0;
	margin-right:40px;
}

#merit li .text .title-number {
	font-size: 12px;
	padding: 10px 12px 2px 7px;
	height: 65px;
}

#merit li .text .title-number span {
	font-size: 30px;
}

#merit li .text h3 {
	padding: 15px 0 0 10px;
	font-size: 4.4vw;
	line-height: 1.2;
}

#merit li .text div {
	display: flex;
}

#merit li .text p {
	padding: 10px;
}

/*--------------------------------------------------------------------------------------------
  message
--------------------------------------------------------------------------------------------*/
#message li {
	position: relative;
	min-height: auto;
	padding: 0;
	background: none!important;
}

#message li .container {
	padding: 0 30px;
}

#message li .text {
	height: auto;
	width: 100%;
	margin: 0;
	padding: 13px;
	position: relative;
	top: -30px;
	background-image: linear-gradient(#16165a, #16165a), linear-gradient(#16165a, #16165a), linear-gradient(#16165a, #16165a), linear-gradient(#16165a, #16165a);
	background-repeat: no-repeat;
	background-size: 3px 50px, 50px 3px, 3px 50px, 50px 3px;
	background-position: left top, left top, right bottom, right bottom, 3px 3px;
}

#message li .text .box {
	padding: 25px 20px;
	box-shadow: 5px 5px rgba(0,0,0,0.25);
}

#message li .text .author {
	font-size: 16px;
}

@media only screen and (max-width: 375px) {
	#message li .text .author br.width375 {
		display: block;
	}
}

#message li:first-child .title {
	right: 15%;
	bottom: unset;
	height: 270px;
	top: 20px;
}

#message li:nth-child(2) .title {
	right: 0;
	bottom: unset;
	top: 13%;
	height: 112px;
	left: 0;
	text-align: center;
	margin: 0 auto;
}

#message li:nth-child(3) {
	background: none;
}

#message li:nth-child(3) .title {
	left: 17%;
	bottom: unset;
	height: 87px;
	top: 17%;
}

#message li .clear {
	overflow: inherit;
}

#message li:last-child .title {
	right: 13%;
	bottom: unset;
	top: 2%;
	height: 245px;
}

/*--------------------------------------------------------------------------------------------
  interview
--------------------------------------------------------------------------------------------*/
.page-interview#top .frame4 h3,
.page-interview#top .frame5 h3 {
	margin:0;
}

.page-interview#top .frame4 .photo img {
	margin:0 auto;
}

.page-interview#top .frame5 ul {
	margin-top:0;
}

.page-interview#top .frame5 img.pc {
	display:none;
}

#interview .frame01 .name {
	padding:10px 0;
}

#interview .frame01 .name p {
	width:100%;
}

#interview .frame01 .name p span {
	display:block;
	margin-bottom:10px;
	font-size:14px;
}
#interview .frame01 .name p img {
	margin-left:0;
	height:40px;
}

#interview .frame02 {
	padding-top: 40px;
}

#interview .frame02 .box01 .photo {
	width: 100%;
	position: inherit;
	top: 0;
}

#interview .frame02 .box01 li {
	padding: 0 10px 10px 0;
	margin-bottom: 30px;
}

#interview .frame02 .box01 .text {
	width: 100%;
	padding: 20px 20px 25px 20px;
	box-shadow:5px 5px rgba(30,30,129,0.3);
}

#interview.page-interview02 .frame02 .box01 .text {
	box-shadow:5px 5px rgba(51,175,162,0.3);
}

#interview.page-interview03 .frame02 .box01 .text {
	box-shadow:5px 5px rgba(47,169,224,0.3);
}

#interview .frame02 .box01 .text .title,
#interview .frame02 .box01 .text div {
	margin-bottom: 10px;
	display:block;
}

#interview .frame02 .box01 .text .icon-qa {
	float:left;
	font-size:18px;
	width:30px;
	height:30px;
	line-height:30px;
}

#interview .frame02 .box01 .text .title p {
	font-size:18px;
}

#interview .frame02 .box01 .text .title p,
#interview .frame02 .box01 .text div p {
	width:auto;
	display:inline;
}

.entrant-profile .list-photo,
#special .list-photo {
	flex-wrap: wrap;
}

.entrant-profile .list-photo li,
#special .list-photo li {
	margin-right: 0;
	margin-bottom: 20px;
}

.entrant-profile .list-photo li:nth-child(2n),
#special .list-photo li:nth-child(2n) {
	margin-top: 0;
}

.entrant-profile .info-profile .photo {
	bottom: unset;
	right: 35px;
	z-index: -1;
	top: -92px;
}

.entrant-profile .info-profile .title {
	padding: 13px;
	border-radius: 30px;
	font-size: 17px;
	top: -30px;
	left: 12px;
	color: #FFF;
}

.entrant-profile .info-profile .text {
	width: 100%;
	margin: 0 auto;
	padding: 40px 20px 25px 20px;
}

.entrant-profile .info-profile .container {
	padding: 0 35px;
}

.entrant-profile .info-profile .title::after {
	border-left: 7.5px solid transparent;
	border-right: 7.5px solid transparent;
	bottom: -15px;
}

#interview .frame02 .box02 .other-profile .frame3 {
	flex-wrap: wrap;
}

.entrant-profile .other-profile ul {
	padding-bottom: 20px;
}

.entrant-profile .other-profile {
	padding-bottom: 0;
}

.other-profile h3 img {
	height: 30px!important;
}

.entrant-profile .info-profile {
	padding-top: 100px;
}

.entrant-profile #top.other-profile h3,
#special .box05 .frame4 h3 {
	margin: 30px 0 30px 0;
	font-size:14px;
}

.entrant-profile #top.other-profile h3 span,
#special .box05 .frame4 h3 span {
	font-size:20px;
}

/*--------------------------------------------------------------------------------------------
  special
--------------------------------------------------------------------------------------------*/
#special .frame02 .box01 .person {
	display:block;
}

#special.page-special02 .frame02 .box01 .person {
	width:100%;
}

#special .frame02 .box01 .person div {
	margin:0 auto 20px;
	max-width:303px;
}

#special .frame02 .box-info-talk .title {
	padding: 12px 20px;
	font-size: 16px;
	line-height: 24px;
}

#special .frame02 .box-info-talk .container {
	padding: 65px 20px 20px 20px;
}

#special .frame02 .box-info-talk li {
	flex-wrap: nowrap;
}

#special .list-photo,
#special .frame02 .box04 .image {
	padding: 40px 0 70px 0;
}

#special .list-photo li img {
	width: 100%;
}

#special .box05 h3 img {
	height: 30px;
}

#special .frame4 .photo2 {
	margin: 40px 0 0 0;
}

#special #top .frame4 h3 {
	margin: 0 0 20px 0 !important;
}

#special #top .frame4 {
	margin: 40px auto !important;
}

#special .frame02 .box-info-talk li .text {
	width: auto;
	margin: 5px 0 0 20px;
	padding: 15px;
}

/*--------------------------------------------------------------------------------------------
  schedule
--------------------------------------------------------------------------------------------*/
#schedule .frame01 {
	height: auto;
	padding: 0;
	background: none;
}

#schedule .frame01 .text {
	position: relative;
	top: -40px;
	left: 0;
	right: 0;
	text-align: center;
	margin: 0 auto;
}

#schedule .frame01 .text img {
	width: 215px;
}

#schedule.page-schedule02 .frame02 .option {
	position:absolute;
	width:80%;
	top:450px;
	left:70px;
	margin:20px auto;
	padding:18px 18px 25px;
}

#schedule.page-schedule02 .frame02 .option h3 {
	font-size:22px;
}

#schedule.page-schedule02 .frame02 .box01 ul {
	padding:0 0 60px;
}

#schedule .frame02 .box01 li .info {
	width: calc(100% - 20px);
}

#schedule .frame02 .box01 li:nth-of-type(2n+1),
#schedule .frame02 .box01 li  {
	justify-content: flex-end;
	margin-left: 0;
	padding-top: 20px;
}

#schedule.page-schedule02 .frame02 .box01 li:nth-of-type(2) {
	margin-top:440px;
}

@media only screen and (max-width: 425px) {
	#schedule.page-schedule02 .frame02 .option {
		top:290px;
		left:40px;
	}
	#schedule.page-schedule02 .frame02 .box01 li:nth-of-type(2) {
		margin-top:260px;
	}
}

#schedule .frame02 .box01 ul::before {
	width: 5px;
	left: 20px;
	right: unset;
	text-align: left;
}

#schedule .frame02 .box01 li .info.position {
	position: static;
}

#schedule .frame02 .box01 li .info::before,
#schedule .frame02 .box01 li:nth-of-type(2n) .info::before  {
	width: 20px;
	left: 0;
}

#schedule .frame02 .box01 li .info h3 {
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	padding: 10px 15px 5px 15px;
}

#schedule .frame02 .box01 li .info h3 span:first-child {
	font-size: 18px;
}

#schedule .frame02 .box01 li .info p {
	padding: 8px 15px;
}

#schedule .frame02 .box01 li .info {
	border-radius: 15px;
}

#schedule .entrant-profile .other-profile {
	padding-bottom: 40px;
}

.entrant-profile .list-photo li img,
#special .list-photo li img {
	max-width: 100%;
}

/*--------------------------------------------------------------------------------------------
  program
--------------------------------------------------------------------------------------------*/
#program .intro {
	padding: 30px 0 50px 0;
}

#program .content-detail {
	border: 10px solid #f9e4e5;
	padding: 30px 20px 30px 20px;
}

#program .content-detail .icon {
	position: absolute;
	top: -32px;
	left: 25px;
	height: 50px;
}

#program .content-detail h3 {
	min-width:auto;
	max-width:500px;
	font-size:4.6vw;
	padding:20px 10px;
}

#program .content-detail .box01 div {
	line-height: 30px;
	font-size: 20px;
	margin-bottom: 20px;
	flex-wrap: wrap;
	justify-content: center;
}

#program .content-detail .box01 .title {
	z-index:1;
}

#program .content-detail .box01 {
	margin-left: 0;
	margin-bottom: 0;
}

#program .content-detail .box01 p {
	font-size:14px;
	text-align:center;
	padding-top:10px;
	margin-top:-10px;
	width:100%;
}

#program .content-detail .box02 {
	margin-top:0;
}

#program  .table.pc {
	display: none;
}

#program .list-photo {
	margin: 30px 0;
}

.table-responsive {
	overflow-x: auto!important;
	margin-bottom:20px;
}

.table-responsive::-webkit-scrollbar{height:8px;}
.table-responsive::-webkit-scrollbar-track{background:#f1f1f1;}
.table-responsive::-webkit-scrollbar-thumb{background:#ccc;}

/*--------------------------------------------------------------------------------------------
  courses
--------------------------------------------------------------------------------------------*/
#courses .container {
	padding: 0 20px;
	width: 100%;
}

#courses {
	padding-top: 30px;
}

#courses li {
	margin-bottom: 35px;
	margin-right: 0;
}

#courses ul {
	flex-wrap: wrap;
	justify-content: center;
}

#courses h3 .container::before {
	left: 10px;
}

#courses h3::before {
	width: 10px;
}

#courses .intro {
	margin: 10px 0 15px 0;
}

#requirements {
	padding-bottom: 40px;
}

#requirements .container {
	padding: 0;
}

#requirements .box ul {
	padding: 50px 20px 0 20px;
}

#requirements .box {
	margin-top: 40px;
}

/*--------------------------------------------------------------------------------------------
  requirements
--------------------------------------------------------------------------------------------*/
#requirements .box01 .title .number {
	padding: 10px;
	font-size: 14px;
	width:130px;
}

#requirements .box01 .title p {
	font-size: 16px;
	padding-left: 30px;
}

#requirements .box01 .title {
	padding-right: 10px;
}

#requirements .box01 .text p {
	padding: 20px 10px 20px 20px;
}

#requirements .box01 li:last-child .text p {
	padding-left:65px;
}

#requirements .box01 .text {
	margin-left: 0;
}

#requirements .box01 .title .number span {
	font-size: 18px;
}

#requirements .box02 li {
	display: block;
}

#requirements .box02 li .col {
	width: 100%;
}

#requirements .box02 li .col {
	padding: 10px 15px;
}

#requirements .box h3 {
	font-size: 23px;
}

/*--------------------------------------------------------------------------------------------
  Q&A
--------------------------------------------------------------------------------------------*/
#qa {
	margin: 30px 0;
}

#qa .container {
	padding: 40px 20px 10px 20px;
}

#qa li div {
	width: auto;
	padding: 60px 20px 30px 20px;
}

#qa h4 {
	margin-bottom: 15px;
}

/*--------------------------------------------------------------------------------------------
  news
--------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 768px) {
	#news .cat {
		flex-wrap: wrap;
	}

	#news .cat li {
		width:120px;
	}

	#news .cat li.cat-all {
		width:150px;
	}
}
#news .box-detail li {
	margin-top: 40px;
	padding: 0;
	flex-wrap: wrap;
	justify-content: center;
}

#news .box-detail li div {
	width:100%;
	max-width:320px;
	margin:10px 10px 40px;
}

@media only screen and (max-width: 425px) {
	#news .cat li,
	#news .cat li.cat-all {
		width:100%;
		float:none;
		margin:10px 0;
	}
	#news .box-detail li div {
		margin-bottom:10px;
	}
}
#news .box-detail .info .date {
	margin: 15px 0 10px 0;
}

#news .box-detail .info .des {
	margin-bottom: 15px;
	font-size: 16px;
}

#news .box-detail .info {
	padding: 10px 0 40px;
	text-align: center;
}

#news .box-detail .info p.des,
#news .box-detail .info p.date  {
	text-align: left;
}

#news .pagination li:first-child, #news .pagination li:nth-child(n-1) {
	margin-right: 20px;
}

.page-news-detail {
	padding: 40px 0;
}

.page-news-detail .content-left {
	width: 100%;
	margin-right: 0;
	padding: 30px 20px;
}

.page-news-detail .box-detail .info {
	padding: 0 !important;
}

.page-news-detail .container {
	flex-wrap: wrap;
}

.page-news-detail .box-link a {
	width:205px;
	height:50px;
	line-height:46px;
	margin: 0 5px;
	display: inline-block;
}

@media only screen and (max-width: 425px) {
	.page-news-detail .box-link a {
		margin: 10px auto;
		display: block;
	}

	.page-news-detail .box-link .blank {
		display:none;
	}
}

.page-news-detail .menu-right {
	width: 100%;
}

.page-news-detail .menu-right h3 {
	margin: 40px 0 15px 0;
}

.page-news-detail .menu-right h3 .title {
	font-size: 26px;
	padding-bottom: 10px;
}

.page-news-detail .menu-right h3 .title::after {
	margin-top: 5px;
}

/*--------------------------------------------------------------------------------------------
  program
--------------------------------------------------------------------------------------------*/
#program .content-detail .table1 th {
	width: 60px;
	font-size:14px;
}

#program .content-detail .table1 td {
	width: 200px;
}

#program .content-detail .table {
	margin: 20px 0;
}

#program .content-detail .table td,
#program .content-detail .table th {
	font-size:14px;
}

#program .content-detail tr:last-child th {
	border-bottom: 2px solid #16165a;
}

#program .content-detail tr:nth-child(n-1) td {
	border-bottom: 2px solid #16165a;
}

#program .content-detail .table1  .col1 {
	width: 100%;
	height: 24px;
	line-height:24px;
	border-bottom:2px solid #16165a;
}

#program .content-detail .table1 .flex {
	flex-wrap: wrap;
}

#program .content-detail .table1 td {
	height: auto;
}

#program .content-detail .table1  .col2 {
	width: 100%;
	height: 288px;
	padding-top:132px;
}

#program .content-detail .table2 td {
	line-height: 24px;
}

.table-responsive > .table > tbody > tr > td, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > td, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > thead > tr > th {
	white-space: nowrap;
}

#top .frame3 li a p img,
#top .frame4 .photo img  {
	max-width: 100%;
}

/*--------------------------------------------------------------------------------------------
  contact
--------------------------------------------------------------------------------------------*/
#contact .box-link {
	flex-wrap: wrap;
	margin-top: 20px;
}

#contact .box-link li {
	margin: 10px 0;
}

#contact {
	padding: 40px 0;
}

	@media only screen and (max-width: 425px) {
		#contact h3 {
			font-size:6.6vw;
		}
	}

	#contact p {
		text-align:left;
	}

  #contact .box-form {
    padding: 10px;
    margin-top: 30px;
  }

  #contact .table-form,
  #contact .row,
  #contact .col {
    width: 100%!important;
    display: block;
  }

  .page-contact-confirm .col {
    width: auto!important;
  }

  #contact input[type="text"] {
    max-width: 100%;
    line-height: 25px;
  }

	#contact .box-form .col-input input[name="family_name"],
	#contact .box-form .col-input input[name="family_name_kana"] {
		margin-right:0px;
		margin-bottom:10px;
	}

	#contact input.txt-larg,
	#contact input.txt-medium {
		width:220px;
	}

  #contact .note h4 {
    padding: 20px 0 10px 0;
  }

  #contact textarea {
    max-width: 100%;
  }

  .nice-select {
    height: 25px;
  }

  #contact .col-title {
    font-weight: bold;
    line-height: 1.2;
  }

  #contact .btn-link {
    margin-top: 20px;
  }

  #contact .box-form .col-input .box-input {
    margin-bottom: 10px;
		margin-right:0;
  }

  #contact .row {
    height: auto;
  }

  #contact .box-form .col {
    padding: 10px;
  }

  #contact .box-form .col-title {
    border-bottom: none;
    padding-bottom: 0;
    line-height: 1.2;
  }

  .page-contact-confirm .row {
    height: auto!important;
  }

  .btn-link-prev {
    margin-right: 0;
  }

  .page-contact-complete .box {
    padding: 0 !important;
  }

  .nice-select {
    float: none!important;
  }

  .page-contact-confirm .box-form {
    padding: 20px !important;
  }

  .page-contact-confirm .col-input {
    margin-bottom: 10px;
    padding-left: 0!important;
  }

  #contact .box-btn {
    flex-wrap: wrap;
  }

  #contact .animated-button {
    margin: 10px 0;
  }

/*--------------------------------------------------------------------------------------------
  number
--------------------------------------------------------------------------------------------*/
  #numbers {
    padding: 30px 0;
  }

  #numbers .container {
    padding: 0;
  }

  #numbers li {
    height: auto!important;
    padding-bottom: 20px;
  }

	#numbers li .intro {
		width:90%;
		margin:20px auto 0;
		text-align:left;
	}

  #numbers li.box01 {
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 10px;
  }

  #numbers li.box01 .icon1 {
    width: 86px;
    left: 20px;
    top: 15px;
  }

  #numbers li.box01 .icon2 {
    width: 74px;
    right: 10px;
    top: 23px;
  }

  #numbers li.box01 h3 img {
		width:100%;
  }

	#numbers li.box02 {
		display:block;
	}

	#numbers li.box02 div.half:first-child {
		border-right:none;
	}

  #numbers li.box02 div img {
    padding: 0 20px;
  }

	#numbers li.box02 .icon {
		height:1em;
		padding:0;
	}

  #numbers li h4 {
    display: flex;
    align-items: center;
    line-height: 1.2;
    height: 50px;
  }

  #numbers li h4 .number {
    line-height: 50px;
    margin-right: 15px;
		font-size:18px;
		width:60px;
  }

  #numbers li.box01 h3,
  #numbers li.box01 p {
    position: relative;
    z-index: 1;
  }

  #numbers li.box01 p {
    margin-top: 0px;
  }

  .half {
    width: 100%;
  }

  .half:first-child {
    padding-bottom: 40px;
    border-bottom: 2px solid #fff;
  }

  #numbers li.box03 .info .list-photo {
  }

  #numbers li.box03 .info {
    padding: 0;
  }

  #numbers li.box03 .info .list-photo img {
    padding: 0 25px 15px 25px;
		margin:0;
		max-width:50%;
  }

	#numbers li.box03 .info .list-photo img:nth-child(3) {
		clear:both;
	}

  #numbers li.box03 .note {
    padding: 10px 55px 10px 6px;
    font-size: 12px;
    line-height: 24px;
    margin-left: 0;
    display: inline-block;
    position: relative;
  }

  #numbers li .text-point {
    top: 45px;
    right: -40px;
		width:90px;
		font-size:12px;
		padding-left:5px;
  }

  #numbers li .note {
    border-radius: 20px;
  }

  #numbers li h6 {
    font-size: 18px;
    margin-bottom: 10px;
  }

  #numbers li.box03 .info .fl-left {
    float: left;
  }

	#numbers li.box04 {
		display:block;
	}

	#numbers li.box04 div.half:first-child {
		border-right:none;
	}

	#numbers li.box04 .flex {
		display:block;
	}

  #numbers li.box04 .photo {
		margin:0 auto;
		display:block;
  }

  #numbers li.box04 .text {
    width: 90%;
		margin:0 auto;
  }

  #numbers li.box04 p {
    margin-top: 0;
  }

	#numbers li.box04 .text p:first-of-type {
		margin-bottom:10px;
	}

  #numbers li.box04 .text2 {
    margin: 0 20px;
  }

  #numbers li.box04 .photo2 {
    margin: 20px auto;
  }

  #numbers li.box05 .text h5 {
    font-size: 35px;
  }

  #numbers li.box05 .text h5 span {
    font-size: 70px;
  }

  #numbers li.box05 .text h5 img {
    width: 46px;
    padding-top: 35px;
  }

  #numbers li.box05 .info .note {
    width: 100%;
    padding: 20px;
    margin: 30px 0;
  }
}

@media screen and (min-width:2200px) {
#message li:nth-child(1) {
  background: url(../image/message/bg5_w.png) no-repeat 60% top;
  background-size: cover;
}

#message li:nth-child(2) {
  background: url(../image/message/bg3_w.png) no-repeat center top;
  background-size: cover;
}

#message li:nth-child(3) {
  border-bottom: none;
  background: url(../image/message/bg4_w.png) no-repeat center top;
  background-size: cover;
}

footer .info-contact {
  background: url(../image/bg-contact-footer.png) no-repeat center center;
  background-size: cover;
}
  
}
