@charset "utf-8";
/* CSS Document */
a{
 color: #006a7a;
}

.table_1 {
 background-color: #dbdaca;
}
.table_2 {
 background-color: #f4f2eb;
}
article .wrapper table tr td {
 padding: 20px 0 20px 30px;
}
article .wrapper table tr th {
 padding: 20px 0 20px 30px;
}
.txt_center {
 text-align: center;
}
.wrapper2 {
 margin: 60px 0;
}
.mb30 {
 margin-bottom: 30px !important;
}
.mb60 {
 margin-bottom: 60px !important;
}
.mt60 {
 margin-top: 60px;
}
article .wrapper p {
 line-height: 24px;
}
article .wrapper h2 {
 margin: 60px 0 30px;
}
.column-image-right {
 margin-left: 30px;
}
article .wrapper img {
 margin-bottom: 30px;
}
article .wrapper table tr th {
 padding: 25px 0 25px 30px;
}
article .wrapper h3 {
 margin: 30px 0 20px;
}
.grey {
 background-color: #ccc;
}
.column-image-left {
 margin-right: 20px;
}
main #pickup {
 overflow: hidden;
}
.wrapper .columndesign h3.listTitle {
 margin: 10px 0 0px;
 font-size: 16px;
 font-weight: normal;
}
.wrapper .list img {
 margin-bottom: 0;
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 width: 100%;
 height: auto;
}
.wrapper .columndesign .col3.list {
 margin: 20px 15px 0px 0;
}
.wrapper .columndesign .col4.list {
 margin: 20px 15px 0px 0;
}
.wrapper .columndesign .imgbox {
 width: 100%;
 height: 125px;
 overflow: hidden;
 position: relative;
}
main #information a {
 display: block;
 color: white;
 font-size: 20px;
 line-height: 41px;
 text-align: center;
 background-color: #0071bc;
 width: 250px;
 margin: 0 45px;
 transition: background-color 0.3s ease;
 float: left;
}
main #information a:hover {
 background-color: #666666;
 box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6);
}
main .nquiryBlock a {
 float: left;
}
.inquiryBlock {
 display: flex;
 text-align: center;
 flex-wrap :wrap;
 justify-content: center;
}
.inquiryBlock_btn {
 float: left;
}
.clear {
 clear: both;
}
.columnadress {
 text-align: center;
 background-color: #006a7a;
 padding: 35px 0 35px 0;
}
.columnadress address {
    color: white;
    font-size: 16px;
    line-height: 26px;
    font-style: normal;
    text-align: left;
    margin-left: 10px;
}
header .top-wrapper nav ul.toplink {
    width: auto;
}
/*main .container #kv video {
    width: 100vw;
    object-fit: cover;
}*/
/*------------------------------下層ページ---------------------------*/


article .kv h1 {
    font-size: 54px;
    font-weight: normal;
    letter-spacing: 0;
    font-family: "Noto Serif JP", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    color: white;
    margin: 0 auto;
    width: 100%;
    max-width: 1920px;
    background: rgba(00,125,120,.5);
    height: 100px;
    padding: 20px 0 0 100px;
}






/*会社概要*/
.wrapper .columndesign .imgbox{
 height: 250px;
}


article .wrapper table tr th{
 padding: 20px 30px;
}
article .wrapper table tr td{
  padding: 20px 30px;
}

article .wrapper table{
    border-bottom: 2px solid #dbdaca;
}

.capacity table tr:nth-child(odd) {
    background-color: #f5f3ec;
}

article table tr .col_3_td{
 width: 29.7%;
}

article table tr .scholarship_td{
width: 43.7%;
}






/*footar*/
main footer .footermenu dl dt a{
 color: #006a7a;

}
main footer .footer-col{
    justify-content: center;
}
main footer .footer-col .link-col a{
   width: 505px;
}
main footer .footer-col .link-col {
    width: 505px;
}

main footer .footermenu .submenu {
 padding:0 0 0 0;

}
main footer .footermenu .submenu li{
 list-style: none;

}

main footer .footermenu .submenu li a {
    font-size: 12px;
    color: #333333;

}
main footer .footermenu .submenu li::before {
    content: "　";
    display: inline-block;
    font-size: 12px;
    margin: 0 0 5px 0;
}
main footer{
 margin: 0 0 0 0
}
.freebirdSolidBackground{
  background-color: #006a7a!important;
}

article .wrapper h2 span .question{
 font-size: 24px;
 color: #006A7A;
 display: inline;
}

main footer .footermenu{
     margin: 0 0 20px 0;
}

main .footermenu dl{
    width: 25%;
    margin-left: 18px;
}




/*font*/
.columnadress .address {
font-family: NotoSansJP-Regular,sans-serif;
}

article .kv h1 {
 font-family: NotoSansJP-Regular,sans-serif;
}

pre {
 font-family: NotoSansJP-Regular,sans-serif;
}
samp{
 font-family: NotoSansJP-Regular,sans-serif;
}
button,
input,
optgroup,
select,
textarea {
font-family: NotoSansJP-Regular,sans-serif;
}

header{
font-family: NotoSansJP-Regular,sans-serif;
}


main {
font-family: NotoSansJP-Regular,sans-serif;
}

main .container #kv h1 {
 font-family: NotoSansJP-Regular,sans-serif;
}
 main #strengths .strengths-wrapper .strengths-col h2 {
font-family: NotoSansJP-Regular,sans-serif;
}

main #information h1 {
font-family: NotoSansJP-Regular,sans-serif;
}

article .kv h1 {
font-family: NotoSansJP-Regular,sans-serif;
}

article .kv h1 span {
font-family: NotoSansJP-Regular,sans-serif;
}

 article .wrapper h2 {
font-family: NotoSansJP-Regular,sans-serif;
}

 article .wrapper .columnlink a {
font-family: NotoSansJP-Regular,sans-serif;
}

 article .columnadress address {
font-family: NotoSansJP-Regular,sans-serif;
}
.columnadress .inner{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px 0 20px;
}
.columnadress .col_01{
    max-width: 60px;
    margin-right: 6px;
}
.columnadress .col_02{
    max-width: 380px;
}
.columnadress .col_01 img, .columnadress .col_02 img{
    width: 100%;
}
main #philosophy .philosophy-col h1 {
    font-size: 30px;
}
main #strengths h1 {
    padding: 70px 0 0 60px;
    font-size: 30px;
}
main #press h1 {
    padding: 65px 0 37px 60px;
}
main #strengths .strengths-wrapper .strengths-col {
    padding: 30px 20px 20px 60px;
}
main #strengths .strengths-wrapper .strengths-col h2 {
    font-size: 1.6vw;
}
article .wrapper h2 {
    font-size: 32px;
}
article .wrapper h3 {
    font-size: 24px;
}
header .top-wrapper nav ul.topmenu li:hover a {
    pointer-events: auto;
}
main #press .press-col {
    margin: 70px auto;
}
main  #press .presslink {
    position: absolute;
    left: 60px;
    width: 212px;
    top: 120px;
    margin: 0;
}
main footer .footermenu {
    width: 1140px;
    margin: auto;
    justify-content: center;
}
@media screen and (max-width:1340px){
    main footer .footermenu {
        width: 795px;
    }
}
@media screen and (max-width:1280px){
    main footer .footermenu {
        width: 1140px;
    }
}
@media screen and (max-width:1140px){
    main footer .footermenu {
        width: 795px;
    }
}
main footer .footermenu .submenu li {
    padding-left: 10px;
    text-indent: -6px;
}
.footermenu dl:nth-of-type(3) ul li:nth-of-type(2){
    width: 150px;
}
.footermenu dl:nth-of-type(3) ul li:nth-of-type(3){
    width: 170px;
}
.footermenu dl:nth-of-type(3) ul li:nth-of-type(5){
    width: 180px;
}
.footermenu dl:nth-of-type(5) ul li:nth-of-type(5){
    width: 150px;
}
main footer .footer-col .sns-col {
    min-height: 24px;
}
main #philosophy .philosophy-col a {
    font-size: 18px;
    padding: 12px 48px 12px 49px;
    letter-spacing: 1px;
    background-color: rgba(255,255,255,0.7);
    color: #006a7a;
}

main #philosophy .philosophy-col a::before{
	background-color: #006a7a;
	color:#FFFFFF;
}

main #philosophy .philosophy-col a:hover{
	color:#FFFFFF;
}

.sitemap {
 display: flex;
 justify-content: space-between;
 margin: 0 0 140px 0;
}
.sitemap dl dt {
 font-size: 18px;
 font-weight: bold;
 color: #006a7a;
 margin: 0 0 20px 0;
}
.sitemap dl dd::before {
 content: "ー";
 display: inline-block;
 font-size: 12px;
 margin: 0 0 5px 0;
}

/* add 2020-03-04 */
article .wrapper table {
    border-collapse: inherit;
}
.footer-col small{
	position: relative;
    top: 4px;
    vertical-align: text-bottom;
    display: inline-block;
    padding: 0 0 5px 0;
}
.footer-col p span{
    vertical-align: text-bottom;
    padding: 0 5px 0 0;
    display: inline-block;
}

main footer .footer-col p{
	margin: 0 0 0 60px;
}

main #information {
    padding: 55px 0 50px 0;
}
main #information .inquiryBlock {
	position: relative;
}
main #information a{
	background-color: #006a7a;
	backface-visibility: hidden;
    display: inline-block;
    color: #fff;
    font-size: 18px;
    padding: 12px 42px 10px 42px;
	position: relative;
	width: 200px;
    z-index: 1;
}
main #information a:before {
	backface-visibility: hidden;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    background: #fff;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
main #information a:hover {
	box-shadow: none;
}
main #information a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}
main #information a:hover{
	color: #006a7a;
}
main #information a:after {
    background-color: #4ba7b5;
	content: "";
    display: inline-block;
    height: 1px;
    position: absolute;
    right: -25px;
    top: 50%;
    transform: translateX(0px);
    transition: transform 0.5s 0s ease;
    width: 50px;
}
main #information a:hover:after {
    transform: translateX(10px);
}
main #strengths .strengths-wrapper .strengths-col {
    background-color: #006a7a;
}
main #strengths .strengths-wrapper .strengths-col h2 {
    color: #fff;
}
main #strengths .strengths-wrapper .strengths-col p {
	color: #fff;
    font-size: 16px;
    max-width: 530px;
}
main #strengths .strengths-wrapper .strengths-col::after {
    border-color: transparent transparent #006a7a transparent;
}
main #strengths .strengths-wrapper .strengths-col a {
    border: solid 1px #fff;
    color: #006a7a;
    background-color: rgba(255,255,255,0.8);
}
main #strengths .strengths-wrapper .strengths-col a:hover{
	color: #FFFFFF;
}
main #strengths .strengths-wrapper .strengths-col a::after {
    background-color: #FFFFFF;
}
main #strengths .strengths-wrapper .strengths-col a::before {
    background-color: #006a7a;
    opacity: 0.8;
}

main #strengths .strengths-wrapper:nth-child(odd) .strengths-col a{
	color: #006a7a;
}

main #strengths .strengths-wrapper:nth-child(odd) .strengths-col a:hover{
	color: #FFFFFF;
}

main #strengths .strengths-wrapper:nth-child(odd) .strengths-col a::before{
    background-color: #006a7a;
}


.columnadress .col_02 img {
    max-width: 300px;
    display: flex;
    margin: 0 0 0 2%;
}
article .wrapper h2.faq-h2{
	font-size: 24px;
	margin-bottom: 16px;
}
article .wrapper p.faq-p{
	color: #333;
	font-size: 24px;
	line-height: 36px;
	padding-left: 33px;
	text-indent: -31px;
}
@media screen and  (min-width: 1281px){
    header .top-wrapper {
        overflow: auto;
    }
    header .top-wrapper::-webkit-scrollbar {
        display:none;
    }
    header .top-wrapper {
        scrollbar-width: none;
    }
    header .top-wrapper {
        overflow: scroll;
        -ms-overflow-style: none;
    }
}
@media screen and (max-width: 1280px){
	header .top-wrapper{
		height: 85px;
	}
    header .top-wrapper nav ul.topmenu li:nth-of-type(n) .submenu {
        transform: translateY(-100%);
    }
    header .top-wrapper nav ul.topmenu li:hover:nth-child(n) .submenu {
        transform: translateY(-5px);
    }
    header .top-wrapper nav ul.topmenu li:nth-child(6) .submenu {
        left: -115px;
    }
}
@media screen and (min-width: 961px){
  .sp_br{
    display: none
  }
  main footer .footer-col p{
	margin: 0 0 0 0;
}
}
@media screen and (max-width: 960px) {
	 article .wrapper table {
	  display: block;
	  overflow-x: scroll;
	  white-space: nowrap;
	  -webkit-overflow-scrolling: touch;
	 }
	 header .top-wrapper nav ul.toplink{
		flex-direction: column;
	 }
	 main #information .inquiryBlock a{
		 margin-top: 10px;
		 margin-bottom: 10px;
	 }
	 #navDrawer{
		cursor: pointer;
	 }
	 #navDrawer #humb{
		cursor: inherit;
	 }
	main .container #press .presslink {
		position: absolute;
		left: 16px;
		width: 212px;
		top: 120px;
		margin: 0;
	}
	
	header .top-wrapper nav ul.topmenu li:nth-child(6) .submenu {
		left: 0;
	}
	header .top-wrapper nav ul.topmenu li:nth-child(3) .submenu {
		transform: translateY(0);
	}
	header .top-wrapper nav ul.topmenu li:nth-child(4) .submenu {
		transform: translateY(0);
	}
	header .top-wrapper nav ul.topmenu li:nth-child(5) .submenu {
		transform: translateY(0);
	}
	header .top-wrapper nav ul.topmenu li:nth-child(6) .submenu {
		transform: translateY(0);
	}
    header .top-wrapper nav ul.topmenu li .submenu li a {
        z-index: 0;
    }
    header .top-wrapper nav ul.topmenu li .submenu li {
        z-index: 0;
    }
    header .top-wrapper nav ul.topmenu li .submenu {
        z-index: 0;
    }
    .topmenu li:nth-of-type(1) .cross-wrapp {
      display: none;
    }
    .sp_br{
      display: block
    }
}
@media screen and (max-width: 760px) {
     article .wrapper .columndesign .col3.list {
      margin: 30px 7px 0px 7px;
     }
     .wrapper .columndesign .imgbox {
      width: 100%;
      height: 90px;
      overflow: hidden;
     }
     article .wrapper .columndesign .col4.list {
      margin: 30px 7px 0px 7px;
     }
     article .kv h1 {
      font-size: 24px;
     }
    .columnadress address {
        font-size: 14px;
    }
    article .kv h1 {
        height: 100px;
        padding: 40px 0;
        text-align: center;
    }
    main #strengths .strengths-wrapper:nth-of-type(2) .strengths-col p {
        height: 78px;
    }
	article .wrapper h2.faq-h2{
		font-size: 18px;
		margin-bottom: 12px;
	}
	article .wrapper p.faq-p{
		color: #333;
		font-size: 18px;
		line-height: 27px;
		padding-left: 28px;
		text-indent: -26px;
	}
	article .wrapper h2 span .question{
	 font-size: 18px;
	}
	  main footer .footer-col p{
	margin: 0 0 0 0;
}
}
@media screen and (max-width: 600px){
    main .container #press .presslink {
        position: absolute;
        top: 110px;
        left: 16px;
        width: 210px;
    }
    main .container #press .press-col {
        margin-top: 50px;
    }
    main #philosophy .philosophy-col a {
        font-size: 16px;
        max-width: 200px;
    }
	main .container #information a {
		min-width: 70%;
	}
	  main footer .footer-col p{
	margin: 0 0 0 0;
}
}
@media screen and (max-width:486px){
	article .wrapper h2.access-h2{
		font-size: 24px;
	}
    main .container footer .footer-col .link-col a {
    padding: 5px;
    line-height: 16px;
	}
	main #strengths .strengths-wrapper:nth-of-type(2) .strengths-col p {
		margin-bottom: 36px;
	}
	  main footer .footer-col p{
	margin: 0 0 0 0;
}
}

@media screen and (max-width:486px) {    
    main .container #kv video {
        position: absolute;
        top: 0;
        left:-50%;
        width: auto;
        height: 100vh;
    }

}
@media screen and (min-width:487px) and ( max-width:768px) {
    /*　画面サイズが768pxから1024pxまではここを読み込む　*/
    main .container #kv video {
        position: absolute;
        top: 0;
        left:-15%;
        width: auto;
        height: 100vh;
    }
}
@media screen and (min-width:769px) and ( max-width:1024px) {
    /*　画面サイズが768pxから1024pxまではここを読み込む　*/
    main .container #kv video {
        position: absolute;
        top: 0;
        left:-15%;
        width: auto;
        height: 100vh;
    }
}
@media screen and (min-width:1025px) {
    /*　画面サイズが1024pxからはここを読み込む　*/
 
}


/* ②ニュースの表示件数変更(SP) */
@media screen and (max-width: 600px) {
main .container #press .press-col .innner-col:nth-child(n+5) {
	display: none;
}
}

/* ①2つの強みのコンテンツをスライドインのようなモーションへ */
.anime_strengths{
	background-color: #006a7a;
	position: relative;
	z-index: 0;
	overflow: hidden;
}

.anime_strengths .anime_strengthsWrap:first-child{
	left: 50%;
	opacity: 0;
}
.anime_strengths .anime_strengthsWrap:first-child.is-show{
	animation-name: slideInRight;
	animation-duration: 2s;
	animation-iteration-count: 1;
	animation-fill-mode:forwards;
}
.anime_strengths .anime_strengthsWrap:last-child{
	right: 50%;
	opacity: 0;
}
.anime_strengths .anime_strengthsWrap:last-child.is-show{
	animation-name: slideInLeft;
	animation-duration: 2s;
	animation-iteration-count: 1;
	animation-fill-mode:forwards;
}

@keyframes slideInRight {
    from {
        left: 50%;
		opacity: 0;
    }
    to {
        left: 0;
		opacity: 1;
    }
}

@keyframes slideInLeft {
    from {
        right: 50%;
		opacity: 0;
    }
    to {
        right: 0;
		opacity: 1;
    }
}

/* ③ニュースの記事モーション追加 */
main #press .press-col .innner-col.anime_fadeInNews{
	transform: translate(-50px, 50px);
	opacity: 0;
}
.anime_fadeInNews{
	transform: translate(-50px, 50px);
	opacity: 0;
}

.anime_fadeInNews.is-show{
	animation-name: fadeInNews;
	animation-duration: 0.8s;
	animation-iteration-count: 1;
	animation-fill-mode:forwards;
}
@keyframes fadeInNews {
    from {
        transform: translate(-50px, 50px);
		opacity: 0;
    }
    to {
        transform: translate( 0, 0);
		opacity: 1;
    }
}

/* ⑤資料請求・お問い合わせコンテンツの下にgooglemap追加 */
.access{
	width: 100%;
	height: 400px;
	display: flex;
	justify-content: center;
}
@media screen and (max-width: 1050px) {
	.access{
		height: 380px;
	}
}
@media screen and (max-width: 810px) {
	.access{
		height: 360px;
	}
}

.access__map{
	width: 85%;
	padding: 5% 0;
}

.access-sp{
	display: none;
}
@media screen and (max-width: 600px) {
	.access{
		display: none;
	}
	.access-sp{
		display: block;
	}
	.access__map{
		width: 100%;
		height: 350px;
	}
}
@media screen and (max-width: 520px){
	.access__map{
		height: 340px;
	}
}
@media screen and (max-width: 410px){
	.access__map{
		height: 330px;
	}
}
.review-box {
    display: none!important;
}

/*
--------------------------------------
    20220513追加
    TOP/2つの強みの文章変更に伴う調整
--------------------------------------
*/
@media screen and (min-width: 961px) and (max-width: 1600px){
    main #philosophy .philo-img-wrapper img{
        height: 100%;
        object-fit: cover;
    }
}
@media screen and (max-width: 960px){
    main #strengths .strengths-wrapper:nth-of-type(2) .strengths-col p {
        height: auto;
    }
}
@media screen and (max-width: 600px){
    main .container #strengths .strengths-wrapper .strengths-col::after{
        border-width: 0 110px 110vw 0px;
    }
    main .container #strengths .strengths-wrapper:nth-child(odd) .strengths-col::after {
        border-width: 0 0 110vw 110px;
    }
}