@charset "UTF-8";
/* CSS Document */
body { color: #000; }
/*
@media print, screen and (min-width: 768px) { #hamburger-btn { display: block !important; opacity: 1 !important; position: absolute; top: 110px; }
  #hamburger-btn.top-fixed { position: fixed; top: 110px; }
  #contact-btn { display: block !important; opacity: 1 !important; position: absolute; top: calc(120px + 6rem); }
  #contact-btn.top-fixed { position: fixed; top: calc(120px + 6rem); } }
*/
/* ------------------------------

 key

------------------------------ */
#key { background: url(/assets/images/top/key-bg.jpg) no-repeat center top;
background-size: cover;}

@media print, screen and (max-width: 767px) { #key { background-image: url(/assets/images/top/key-bg-smt.jpg); } }

.key-wrap { position: relative; }

@media print, screen and (min-width: 768px) { .key-wrap { height: 500px; } }

@media print, screen and (max-width: 767px) { .key-wrap { padding: 1.2rem 0 1rem; } }

.key-catch { width: 100%; text-align: center; }

@media print, screen and (min-width: 768px) { .key-catch { position: absolute; left: 0; top: 2rem; } }

@media print, screen and (min-width: 768px) { .key-fg { position: absolute; width: 50%; right: 0; bottom: 55px; } }

@media print, screen and (max-width: 767px) { .key-fg { width: 100%; margin-bottom: 1.5rem; } }

.key-works { color: #051c31; }

@media print, screen and (min-width: 896px) { .key-works { position: absolute; width: 240px; left: 10px; bottom: 55px; } }

@media screen and (max-width: 895px) and (min-width: 768px){ .key-works { position: absolute; width: 240px; left: 10px; bottom: 85px; } }

@media print, screen and (max-width: 767px) { .key-works { display: table; table-layout: fixed; width: 100%; margin-bottom: .5rem; } }

.key-works-tit { background-color: rgba(65, 123, 176, 0.9); text-align: center; font-size: 1.6rem; color: #fff; }

@media print, screen and (min-width: 768px) { .key-works-tit { width: 100%; height: 50px; line-height: 50px; } }

@media print, screen and (max-width: 767px) { .key-works-tit { display: table-cell; vertical-align: middle; } }

.key-works-box { padding: 15px 20px; background-color: rgba(240, 240, 240, 0.9); }

@media print, screen and (max-width: 767px) { .key-works-box { display: table-cell; padding: 10px 5px 3px; } }

@media print, screen and (min-width: 768px) { .key-works-line { border-bottom: 1px solid #3a5772; } }

@media print, screen and (max-width: 767px) { .key-works-line { border-right: 1px solid #3a5772; } }

@media print, screen and (min-width: 768px) { .key-works-date { float: left; font-size: 1.5rem; } }

@media print, screen and (max-width: 767px) { .key-works-date { text-align: left; font-size: 1.8rem; line-height: 1; margin-bottom: .5rem; } }

.key-works-num strong { font-size: 120%; line-height: 1; }

@media print, screen and (min-width: 768px) { .key-works-num { float: right; } }

@media print, screen and (max-width: 767px) { .key-works-num { text-align: right; } }

@media print, screen and (min-width: 768px) { .key-news { position: absolute; bottom: 10px; left: 10px; width: calc(100% - 20px - 0.1px); display: table; } }

@media print, screen and (max-width: 767px) { .key-news { position: relative; display: table; width: 100%; }
  .key-news:after { content: none; } }

.key-news-tit { background-color: rgba(65, 123, 176, 0.9); text-align: center; font-size: 1.6rem; color: #fff; }

@media print, screen and (min-width: 768px) { .key-news-tit { width: 100px; text-align: center; display: table-cell; } }

@media print, screen and (max-width: 767px) { .key-news-tit { display: table-cell; width: 80px; vertical-align: middle; } }

.key-news-text { background: rgba(240, 240, 240, 0.9); color: #000000; }

@media print, screen and (min-width: 768px) { .key-news-text { width: calc(100% - 100px - 0.1px); padding: .5rem 45px .5rem 15px; display: table-cell; } }

@media print, screen and (max-width: 767px) { .key-news-text { display: table-cell; width: calc(100% - 80px - 0.1px); padding: 5px 13% 5px 5px; } }

.key-news-btn { line-height: 1; position: absolute; right: 15px; top: 50%; width: 25px; height: 25px; margin-top: -12.5px; }

@media print, screen and (min-width: 768px) { .key-news-date { display: inline-block; margin-right: 20px; } }

@media print, screen and (max-width: 767px) { .key-news-date { display: block; font-size: 1.3rem; } }

/* ------------------------------

 feature

------------------------------ */
#feature { background-color: #0b2e4e; padding: 5rem 0; }

#feature-list { overflow: hidden; margin-bottom: 20px; }

#feature-list li { 
	padding: 0;
	position: relative;
	float: left; 	
} 
#feature-list li > div a{
    border-color: #fff; 
	border-style: solid;
	border-width: 1px;
	/* pointer-events: none; */
}
#feature-list li > div:hover a{
    border-color: #ff8c16;
	border-width: 5px;
}

#feature-list li > p {
	color: #ffffff;
	font-size: 25px;
	font-weight: bold;
	letter-spacing: 3px;
	text-align: center;
}

#feature-list li > p > span{ font-size: 120%; }

#feature-list a {
	background: url(/assets/images/common/arrow-white_left.png) no-repeat right 13px bottom 13px/13px 13px;
	display: block;
	color: #fff;
	position: relative;
	text-align: center;
	text-decoration: none;
}

@media print, screen and (max-width: 767px) {
	#feature-list li > div a { background: url(/assets/images/common/arrow-white_left.png) no-repeat right 5px bottom 5px/3rem 3rem; }
}


@media print, screen and (max-width: 767px){
    #feature-list li > a { padding: 5rem 0 4rem; }
}

@media screen and (min-width: 901px){
    #feature-list li > a { padding: 4rem 0 3rem; }
}

@media screen and (min-width: 901px) { 
	#feature-list li { width: calc( ( 100% - 12.5% ) / 6 - 0.1px ); 
		margin-right: 2.5%; 
		margin-bottom: 2.5%;
	}
	
	#feature-list li > div a{ padding: 4rem 0 3rem; }
	
	#feature-list li:nth-child(6n) { margin-right: 0; }
}

@media screen and (max-width: 900px) and (min-width: 767px) { 
	#feature-list li { 
		width: calc( ( 100% - 4% ) / 3 - 0.1px ); 
		margin-right: 2%;
		margin-bottom: 2%; 
	}
	#feature-list li > div a { padding: 4rem 0 3rem;  }
	
	#feature-list li:nth-child(3n) { margin-right: 0; }
}

@media print, screen and (max-width: 767px) { 
	#feature-list li { width: 48%; margin-bottom: 2%; }
	#feature-list li > div a{ padding: 5rem 0 4rem; }
	#feature-list li:nth-child(2n) { float: right; }
}

.feature-list-text { text-align: center; font-size: 130%; line-height: 1.3; }

@media screen and (max-width: 768px) { .feature-hov-item { display: none; } }

@media screen and (min-width: 769px) { .feature-hov-item { opacity: 0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 10; background-color: rgba(255, 255, 255, 0.9); -webkit-transition: opacity .3s ease-in-out; -o-transition: opacity .3s ease-in-out; transition: opacity .3s ease-in-out; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -js-display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-align-content: center; -ms-flex-line-pack: center; align-content: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; }
  a:hover .feature-hov-item,
  #feature-list li > div:hover a .feature-hov-item { opacity: 1; }
  .feature-hov-item-text { width: 80%; margin: 0 auto 2rem; -webkit-box-flex: 0; -webkit-flex: 0 1 auto; -ms-flex: 0 1 auto; flex: 0 1 auto; }
  .feature-hov-item-btn { width: 80%; margin: 0 auto; -webkit-box-flex: 0; -webkit-flex: 0 1 auto; -ms-flex: 0 1 auto; flex: 0 1 auto; border: 1px solid #051c31; padding: .5rem 0; } }

[class*=feature-list-icon] { background-repeat: no-repeat; background-position: center top; background-size: contain; display: block; width: 100%; margin-bottom: 30px; }

@media print, screen and (min-width: 768px) { [class*=feature-list-icon] { height: 65px; background-size: auto 60px; } }

@media print, screen and (min-width: 641px) and (max-width: 767px) { [class*=feature-list-icon] { height: 80px; } }

@media print, screen and (max-width: 640px) { [class*=feature-list-icon] { height: 60px; } }

.feature-list-icon1 { background-image: url(/assets/images/top/future-icon1.png); }

.feature-list-icon2 { background-image: url(/assets/images/top/future-icon2.png); }

.feature-list-icon3 { background-image: url(/assets/images/top/future-icon3.png); }

.feature-list-icon4 { background-image: url(/assets/images/top/future-icon4.png); }

.feature-list-icon5 { background-image: url(/assets/images/top/future-icon5.png); }

.feature-list-icon6 { background-image: url(/assets/images/top/future-icon6.png); }

.feature-list-icon7 { background-image: url(/assets/images/top/future-icon7.png); }

.feature-list-icon8 { background-image: url(/assets/images/top/future-icon8.png); }

.feature-list-icon9 { background-image: url(/assets/images/top/future-icon9.png); }

.feature-list-icon10 { background-image: url(/assets/images/top/future-icon10.png); }

#feature-bnr li { font-size: 110%; }

#feature-bnr li a { display: block; padding: 15px 20px; background: #fff url(/assets/images/common/arrow-blue_left.png) no-repeat right 20px center/20px 20px; text-decoration: none; }

@media print, screen and (min-width: 768px) { #feature-bnr { overflow: hidden; }
  #feature-bnr li { width: 49%; float: left; }
  #feature-bnr li:nth-child(2) { float: right; }
  #feature-bnr li a:hover { background: #134674 url(/assets/images/common/arrow-white_left.png) no-repeat right 20px center/20px 20px; color: #fff; } }

@media print, screen and (max-width: 767px) { #feature-bnr li { margin-bottom: 10px; } }

/* ------------------------------

 staff

------------------------------ */
#staff { margin: 5rem auto; }

@media print, screen and (min-width: 768px) { #staff { position: relative; text-align: right; }
  #staff .more-btn { position: absolute; width: 380px; left: 50%; margin-left: -190px; bottom: -25px; }
  .staff-text { position: relative; background-color: #fff; width: 54%; z-index: 2; margin-top: 10px; padding: 20px 20px 40px; text-align: left; float: left; margin-right: -40px; }
  .staff-img { width: 49%; max-width: 570px; line-height: 1; vertical-align: top; position: relative; z-index: 1; } }

@media print, screen and (max-width: 767px) { .staff-text { margin-bottom: 4rem; }
  #staff .more-btn { max-width: 420px; margin-top: 4rem; } }

/* ------------------------------

 point

------------------------------ */
#point {}

@media print, screen and (min-width: 768px) { 
	#point-list,
	#important-point-list{ font-size: 0; }
	#important-point-list{
		margin: 0 auto;
		width:66%;
	}
	
	#point-list li,
	#important-point-list li {
		display: inline-block;
		font-size: 1.6rem;
		margin-right: 1.5em;
		vertical-align: middle;
	}
	#point-list li{ width: calc( ( 100% - 3em ) / 3 - 0.1px  ); /* ( 100% - 4% ) / 3 */ }
	#important-point-list li{ width: calc( ( 100% - 1.5em ) / 2 - 0.1px ); }
	#point-list li:first-of-type,
	#point-list li:nth-of-type(2),
	#point-list li:nth-of-type(3){ margin-bottom: 4rem; }
	#point-list li:nth-of-type(3n),
	#important-point-list li:last-of-type{ margin-right: 0; }
}

@media print, screen and (max-width: 767px) {
	#point-list li,
	#important-point-list li { margin-bottom: 4rem; }
}

#point-list p { margin: 0 10px 2rem; }

#point-list .more-btn { margin-left: 10px; margin-right: 10px; }

.point-img { position: relative; z-index: 1; }

.point-tit { background-color: #fff; padding: 20px 0; text-align: center; font-size: 130%; border-top: 2px solid #043057; margin: -20px 10px 0; position: relative; z-index: 2; }

@media print, screen and (max-width: 767px) { .point-tit { padding: 10px 0; } }

/* ------------------------------

 voice-bnr

------------------------------ */
#voice-bnr {
	background-color: #f5f5f5;
	padding: 5rem 0;
}

.voice-btn { display: block; max-width: 910px; margin: 0 auto; background-color: #043057; }

@media print, screen and (min-width: 768px) { .voice-btn { padding-left: 20px; height: 145px; line-height: 145px; background-image: url(/assets/images/top/voice-bnr-bg.png), url(/assets/images/common/arrow-white_left.png); background-repeat: no-repeat, no-repeat; background-position: right 80px center, right 20px center; background-size: auto 100%, 20px 20px; } }

@media print, screen and (max-width: 767px) { .voice-btn { width: 92%; padding: 5rem 0 5rem 10px; background-image: url(/assets/images/top/voice-bnr-bg.png); background-repeat: no-repeat; background-position: right 10px center; background-size: auto 100%; } }

#voice-bnr h2 {
  text-align: center;
  margin-bottom: 3rem;
}
#voice-bnr #voice_list li {
  float: left;
  width: 27.5%;
  margin-right: 8.7%;
}
/*#voice-bnr #voice_list li {
  float: left;
  width: 23.5%;
  margin-right: 2%;
}*/
#voice-bnr #voice_list li:nth-child(3) {
  margin-right: 0;
}
/*#voice-bnr #voice_list li:nth-child(4) {
  margin-right: 0;
}*/
#voice-bnr #voice_list li .voice-img {
  position: relative;
  margin-bottom: 1rem;
}
#voice-bnr #voice_list li .voice-img p.img-caption {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #043057;
  width: 140px;
  padding: 5px 0;
  text-align: center;
  color: #fff;
}
#voice-bnr #voice_list li p.voice-txt {
  line-height: 1.5;
}

@media print, screen and (max-width: 767px) {
  #voice-bnr #voice_list li {
    width: 49%;
    margin-right: 2%;
    margin-bottom: 2rem;
  }
  #voice-bnr #voice_list li:nth-child(2n) {
    margin-right: 0;
  }

}

/* ------------------------------

 answer zeirishi

------------------------------ */
#answer-bnr { background-color: #ffffff; padding: 5rem 0; }

.voice-btn { display: block; max-width: 910px; margin: 0 auto; background-color: #043057; }

@media print, screen and (min-width: 768px) { .voice-btn { padding-left: 20px; height: 145px; line-height: 145px; background-image: url(/assets/images/top/voice-bnr-bg.png), url(/assets/images/common/arrow-white_left.png); background-repeat: no-repeat, no-repeat; background-position: right 80px center, right 20px center; background-size: auto 100%, 20px 20px; } }

@media print, screen and (max-width: 767px) { .voice-btn { width: 92%; padding: 5rem 0 5rem 10px; background-image: url(/assets/images/top/voice-bnr-bg.png); background-repeat: no-repeat; background-position: right 10px center; background-size: auto 100%; } }

#answer-bnr h2 {
  text-align: center;
  margin-bottom: 3rem;
}
#answer-bnr #answer_list li {
  float: left;
  width: 27.5%;
  margin-right: 8.7%;
}
/*#voice-bnr #voice_list li {
  float: left;
  width: 23.5%;
  margin-right: 2%;
}*/
#answer-bnr #answer_list li:nth-child(3) {
  margin-right: 0;
}
/*#voice-bnr #voice_list li:nth-child(4) {
  margin-right: 0;
}*/
#answer-bnr #answer_list li .answer-img {
  position: relative;
  margin-bottom: 1rem;
}
#answer-bnr #answer_list li .voice-img p.img-caption {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #043057;
  width: 140px;
  padding: 5px 0;
  text-align: center;
  color: #fff;
}
#answer-bnr #answer_list li p.answer-txt {
  line-height: 1.5;
}

@media print, screen and (max-width: 767px) {
  #answer-bnr #answer_list li {
    width: 49%;
    margin-right: 2%;
    margin-bottom: 2rem;
  }
  #answer-bnr #answer_list li:nth-child(2n) {
    margin-right: 0;
  }

}

/* ------------------------------

 Interview-pro

------------------------------ */
#Interview-pro { background-color: #f5f5f5; padding: 5rem 0; }

.voice-btn {
	display: block;
	max-width: 910px;
	margin: 0 auto;
	background-color: #043057;
}

@media print, screen and (min-width: 768px) {
	.voice-btn {
		padding-left: 20px;
		height: 145px;
		line-height: 145px;
		background-image: url(/assets/images/top/voice-bnr-bg.png), url(/assets/images/common/arrow-white_left.png); background-repeat: no-repeat, no-repeat;
		background-position: right 80px center, right 20px center; background-size: auto 100%, 20px 20px;
	}
}

@media print, screen and (max-width: 767px) { .voice-btn { width: 92%; padding: 5rem 0 5rem 10px; background-image: url(/assets/images/top/voice-bnr-bg.png); background-repeat: no-repeat; background-position: right 10px center; background-size: auto 100%; } }

#Interview-pro h2 {
  text-align: center;
  margin-bottom: 3rem;
}
#Interview-pro #voice_list li {
  float: left;
  width: 27.5%;
  margin-right: 8.7%;
}
/*#voice-bnr #voice_list li {
  float: left;
  width: 23.5%;
  margin-right: 2%;
}*/
#Interview-pro #voice_list li:nth-child(3) {
  margin-right: 0;
}
/*#voice-bnr #voice_list li:nth-child(4) {
  margin-right: 0;
}*/
#Interview-pro #voice_list li .voice-img {
  position: relative;
  margin-bottom: 1rem;
}
#Interview-pro #voice_list li .voice-img p.img-caption {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #043057;
  width: 140px;
  padding: 5px 0;
  text-align: center;
  color: #fff;
}
#Interview-pro #voice_list li p.voice-txt {
  line-height: 1.5;
}

@media print, screen and (max-width: 767px) {
  #Interview-pro #voice_list li {
    width: 49%;
    margin-right: 2%;
    margin-bottom: 2rem;
  }
  #Interview-pro #voice_list li:nth-child(2n) {
    margin-right: 0;
  }

}

/* ------------------------------

 media

------------------------------ */
#media { margin-bottom: 5rem; }

@media print, screen and (min-width: 768px) { #media .more-btn { width: 380px; } }

#media-slide,
#media-slide02{ margin: 0 80px 5rem; }

#media-slide a,
#media-slide02 a{ display: block; }

#media-slide li,
#media-slide02 li{ margin: 0 10px; }

@media print, screen and (max-width: 767px) { #media-slide,#media-slide02 { margin: 0 40px 5rem; } }

#media-slide .slide-arrow,
#media-slide02 .slide-arrow{ position: absolute; top: 50%; margin-top: -22px; }

#media-slide .slide-arrow.prev,
#media-slide02 .slide-arrow.prev{ left: -80px; }

#media-slide .slide-arrow.next,
#media-slide02 .slide-arrow.next{ right: -80px; }

@media print, screen and (max-width: 767px) {
	#media-slide .slide-arrow,
	#media-slide02 .slide-arrow{ width: 30px; margin-top: -15px; }
	#media-slide .slide-arrow.prev,
	#media-slide02 .slide-arrow.prev{ left: -35px; }
	#media-slide .slide-arrow.next,
	#media-slide02 .slide-arrow.next{ right: -35px; }
}

/* ------------------------------

 answer

------------------------------ */
#answer { padding: 5rem 0; }

@media print, screen and (min-width: 768px) {
	#answer .more-btn {
		padding: 2.5rem 0;
		width: 420px;
	}
}

#answer-list { margin-bottom: 3rem; }
#answer-list li a{ display: block;}
#answer-list img { margin-bottom: 1rem; }

@media print, screen and (min-width: 768px) {
	#answer-list li { float: left; width: 32%; margin-top: 2%; margin-right: 2%; }
	#answer-list li:first-of-type,
	#answer-list li:nth-of-type(2),
	#answer-list li:nth-of-type(3){ margin-top: 0; }
	#answer-list li:nth-child(3n) { margin-right: 0; }
}

@media print, screen and (max-width: 767px) { #answer-list li { margin-bottom: 3rem; } }

/* ------------------------------

 organization

------------------------------ */
#organization { background-color: #efefef; padding: 5rem 0; margin-bottom: 5rem; }

/* ------------------------------

 tel-contanct

------------------------------ */
#tel-contanct { max-width: 900px; width: 96%; border: 1px solid #bbbbbb; margin: 0 auto 5rem; }

@media print, screen and (min-width: 768px) { #tel-contanct { padding: 3rem 0; text-align: center; vertical-align: top; } }

@media print, screen and (max-width: 767px) { #tel-contanct { padding: 3rem 2rem; width: 90%; } }

@media print, screen and (min-width: 768px) { .tel-contanct-left { display: inline-block; text-align: left; margin-right: 20px; }
  .tel-contanct-right { display: inline-block; text-align: left; } }

/* ------------------------------

 news

------------------------------ */
#news { max-width: 980px; width: 96%; margin: 0 auto 5rem; }

#news .more-btn { max-width: 380px; }

#news-tab { max-width: 560px; margin: 0px auto 3rem; overflow: hidden; }

#news-tab li { float: left; width: 49%; text-align: center; color: #043057; line-height: 1; padding: 20px 0; border-bottom: 2px solid #043057; background-color: #fff; font-size: 105%; cursor: pointer; }

#news-tab li:nth-child(2) { float: right; }

#news-tab li.current { background-color: #043057; color: #fff; }

#news-wrap { margin-bottom: 5rem; }

.news-contents { border-top: 1px dashed #b2b2b2; }

.news-contents li { padding: 2rem 5px; border-bottom: 1px dashed #b2b2b2; }

.news-contents li.new .news-date { position: relative; }

.news-contents li.new .news-date:after { content: 'NEW'; line-height: 1; font-size: 90%; color: #043057; padding: 2px 8px; border: 2px solid #043057; }

@media print, screen and (min-width: 768px) { .news-contents li { overflow: hidden; }
  .news-contents li .news-date { display: block; float: left; width: 200px; }
  .news-contents li .news-text { float: right; width: calc(100% - 220px - 0.1px); }
  .news-contents li.new .news-date { position: relative; }
  .news-contents li.new .news-date:after { position: absolute; top: 4px; right: 15px; } }

@media print, screen and (max-width: 767px) { .news-contents li .news-date { display: block; font-size: 80%; margin-bottom: 1rem; }
  .news-contents li .news-text { font-size: 120%; }
  .news-contents li.new .news-date:after { display: inline-block; margin-left: 10px; } }

/* ------------------------------

 office

------------------------------ */
#office { background-color: #efefef; padding: 5rem 0; }

.office-data dt { font-size: 120%; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 2px solid #a7a7a7; }

.head-office { margin-bottom: 6rem; }

#office-list li { margin-bottom: 6rem; }

#office-list .office-info { overflow: hidden; margin-bottom: 2rem; }

@media print, screen and (min-width: 768px) {
	.head-office { overflow: hidden; position: relative; padding-bottom: 60px; }
	.head-office .more-btn { position: absolute; right: 0; bottom: 0; width: 48%; }
	.head-office .office-data { float: right; width: 48%; }
	.head-office-img { float: left; width: 48%; }
	#office-list { overflow: hidden; }
	#office-list li { width: 48%; float: left; }
	#office-list li:nth-child(2n) { float: right; }
	#office-list .office-data { float: right; width: 50%; }
	#office-list .office-img { float: left; width: 43%; }
}

@media print, screen and (max-width: 767px) {
	.head-office { overflow: hidden; }
	.head-office .office-data { margin-bottom: 2rem; }
	.head-office-img { margin-bottom: 1rem; }
	#office-list li { overflow: hidden; }
	#office .more-btn { float: right; width: 48%; }
	#office .tel-btn { display: block; text-align: center; background-color: #fff; line-height: 1; padding: 15px 0; border: 1px solid #bbbbbb; margin-left: auto; margin-right: auto; border-radius: 5px; float: left; width: 48%; }
	#office-list .office-img {
		margin-right: auto;
		margin-bottom: 2rem;
		margin-left: auto;
		max-width: 210px;
		width: 100%;
	}
	#office-list .office-data { width: 100%; }
}

/* ------------------------------ その他 ------------------------------ */
.more-btn {text-decoration: none; display: block; text-align: center; background-color: #fff; line-height: 1; padding: 15px 0; border: 1px solid #bbbbbb; margin-left: auto; margin-right: auto; -webkit-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }

@media print, screen and (min-width: 768px) { .more-btn:hover { background-color: #0b2e4e; border-color: #0b2e4e; color: #fff !important; } }



/* --------- 吹き出し --------- */
.arrow_box{
    position:relative;
	margin: 10px auto;
    max-width:360px;
	width: 96%;
    background:#043057;
    padding:10px;
    text-align:center;
    color:#FFFFFF;
    font-size:20px;
    font-weight:bold;
    border-radius:10px;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
}
.arrow_box:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(4, 48, 87, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:15px;
    border-right-width:15px;
    margin-left: -15px;
    border-top-color:#043057;
    top:100%;
    left:50%;
}

/* ------------------------------

promise

------------------------------ */
#promise{ padding: 10rem 0 7rem; }

#promise .promise-txt > h2{ letter-spacing: 3px; line-height: 1.3; }

#promise > a > ul{ margin: 2.5rem 0; padding: 2.5rem 0; }
#promise > a > ul:after{ 
	content: "";
	display: block;
	clear: both; 
	height: 0;
	line-height: 0;
	overflow: hidden;
}

#promise > a > ul li{
	float: left;
	/* padding-right: 1.25%;
	padding-left: 1.25%; */
	width: calc( ( 100% - 6px ) / 7 - 0.1px );
}

/* #promise > ul li:first-of-type{ padding-left: 0; }
#promise > ul li:last-of-type{ padding-right: 0; }
 */

#promise > a > ul li > div.icon-in{ text-align: center;}

#promise > a > ul li > div div{ 
	border-right: 1px solid #0b2e4e;
	height: 70px;
	margin-bottom: 10px;
	text-align: center;
	width: auto;
}

#promise > a > ul li:last-of-type div div{ border-right: none; }

#promise > a > ul li > div div > img{
	height: inherit;
}

#promise > a > ul li > div > p{ 
	color: #0b2e4e;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 1.3;
	text-align: center;
}
@media screen and (min-width: 768px){ #promise .more-btn { width: 380px; } }
@media screen and (max-width: 900px){ #promise > a > ul li{ margin-bottom: 2rem; } }

@media screen and (max-width: 900px) and (min-width: 660px){
	#promise > a > ul li{ width: calc( ( 100% - 3px ) / 4 - 0.1px ); }
	#promise > a > ul li:nth-of-type(4n) > div div{ border-right: none; }
	
	#promise > a > ul li:nth-last-of-type(3),
	#promise > a > ul li:nth-last-of-type(2),
	#promise > a > ul li:nth-last-of-type(1){ margin-bottom: 0; }
}

@media screen and (max-width: 659px){ 
	#promise > a > ul{ margin: 1rem 0; padding: 1rem 0; }
	#promise > a > ul li{ margin-bottom: 1.5rem; width: calc( ( 100% - 2px ) / 3 - 0.1px ); }
	#promise > a > ul li:nth-of-type(3n) > div div{ border-right: none; }
	#promise > a > ul li:nth-last-of-type(1){ margin: 0 auto; width: 100%;}
}
@media screen and (max-width: 321px){ #promise > a > ul li > div > p{ letter-spacing: 0; } }

/*=====================================================
	
対象リンクをhoverすると枠で囲われる
（トップ）

=====================================================*/

.feature-hoverFrame{ 
	border-color: #fff; 
	border-style: solid;
	border-width: 1px;
	pointer-events: none;
}
.feature-hoverFrame:hover{
	border-color: #ff8c16;
	border-width: 5px;
}
.feature-hoverFrame >.feature-hov-item{ pointer-events: auto; }
@media screen and (max-width: 768px){ .feature-hoverFrame{ pointer-events: auto; } }
@media screen and (max-width: 767px){
	.feature-hoverFrame:hover{ border-width: 3px; }
}

.button-hoverFrame01:hover{
	border-color: #ff8c16;
	border-width: 5px;
}
@media screen and (max-width: 767px){
	.button-hoverFrame01:hover{ border-width: 3px; }
}

.button-hoverFrame02:hover{
	border-color: #ff8c16;
	border-width: 3px;
}

/*=====================================================
	
テレビ面談導線（topのみ）

=====================================================*/

.tv-mendan-top01{
	border-width: 4px;
	display: block;
	padding: 0.5rem;
	max-width: 570px;
	width: 96%;
}

@media screen and (max-width: 767px){
	.tv-mendan-top01{
		padding: 1rem;
	}
}

.tv-mendan-top01 > .tv-mendan-top01-icon{
	float: left;
	margin-right: 1rem;
	width: 60px;
}
@media screen and (max-width: 767px){
	.tv-mendan-top01 > .tv-mendan-top01-icon{ display: none; float: none; }
}

.tv-mendan-top01 > .tv-mendan-top01-txt{
	float: right;
	width: calc( 100% - 60px - 1rem - 0.1px );
}
@media screen and (max-width: 767px){
	.tv-mendan-top01 > .tv-mendan-top01-txt{ float: none; width: 100%; }
}

.tv-mendan-top01 > .tv-mendan-top01-txt span.tv-mendan-top01-txt-hover{ color: #07449b; }
.tv-mendan-top01:hover > .tv-mendan-top01-txt span.tv-mendan-top01-txt-hover{ color: #dc9610; }

.tv-mendan-top01-txt > .tv-mendan-top01-txt-pc,
.tv-mendan-top01-txt > .tv-mendan-top01-txt-smt{ display: none; }
@media screen and (min-width: 768px){ .tv-mendan-top01-txt > .tv-mendan-top01-txt-pc{ display: block; } }
@media screen and (max-width: 767px){ .tv-mendan-top01-txt > .tv-mendan-top01-txt-smt{ display: block; } }

/*=====================================================
	
ウィルス対策導線（topのみ）

=====================================================*/

.il1040-500,
.il990-768,
.il920-768,
.il640,
.il540,
.il420,
.il410{ display: none; }

@media print, screen and (max-width: 1040px) and (min-width: 500px){ .il1040-500{ display: inline;} }
@media print, screen and (max-width: 990px) and (min-width: 768px) { .il990-768{ display: inline; } }
@media print, screen and (max-width: 920px) and (min-width: 768px) { .il920-768{ display: inline; } }
@media print, screen and (min-width: 410px) { .il410{ display: inline; } }
@media print, screen and (max-width: 640px) { .il640{ display: inline; } }
@media print, screen and (max-width: 540px) { .il540{ display: inline; } }
@media print, screen and (max-width: 420px) { .il420{ display: inline; } }

.flex{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.do_to{
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.do_to > li{
	color: #ffffff;
	margin-right: 2rem;
	margin-bottom: 2rem;
	width: calc( ( 100% - 6rem ) / 4 - 0.1px );
}
.do_to > li:last-of-type{ margin-right: 0; }
.do_to > li:nth-first-of-type(3),
.do_to > li:nth-first-of-type(2),
.do_to > li:first-of-type{ margin-top: 0; }
@media print, screen and (max-width: 767px){
	.do_to > li{ width: calc( ( 100% - 2rem ) / 2 - 0.1px ); }
	.do_to > li:nth-of-type(4n){ margin-right: 0; }
	.do_to > li:nth-of-type(2n){ margin-right: 0; }
	.do_to > li:nth-first-of-type(3){ margin-top: 1rem; }
}

.tv-mendan-top02 .do_to > li .part_title p{
	line-height: 1.2;
	padding-left: calc( 1.5em + 0.8rem );
	text-indent: calc( -1.5em + -0.8rem );
}

.do_to > li .part_img{
	margin: 2rem auto;
	max-width: 240px;
	width: 100%;
	height:auto;
}

.tv-mendan-top02 .mendan-btn > div{
	/*
	margin:  margin-right: 3rem;
	width: calc( ( 100% - 3rem ) / 2 - 0.1px );
	*/
	max-width: 520px;
	width: 80%
}
/* .tv-mendan-top02 .mendan-btn > div:last-of-type{ margin-right: 0; } */
@media print, screen and (max-width: 767px){
	.tv-mendan-top02 .mendan-btn > div{
		/* margin-right: 0; */
		width: 100%;
	}
	/* .tv-mendan-top02 .mendan-btn > div:last-of-type{ margin-top: 2rem; } */
}

.tv-mendan-top02 .mendan-btn > div:hover{
	background-color: 
}

.tv-mendan-top02 .mendan-btn > div a{
	background-color: #ffffff;
	border: 4px solid #ffffff;
	display: block;
	padding: 1.5rem;
	text-decoration: none;
}
.tv-mendan-top02 .mendan-btn > div a:hover{
	background-color: #134674;
	border-color: #ff8c16;
	color: #ffffff;
}

/*=====================================================
	
トップコンテンツ編集（topのみ）

=====================================================*/
#recommendation{  }
@media print, screen and (min-width: 640px){ .sp639{ display: none; } }
@media print, screen and (min-width: 375px){ .sp374{ display: none; } }

#ombanner01 > a{
	margin: 0 auto;
	padding: 20px 0;
	max-width: 1120px;
	width: 96%;
}
@media print, screen and (min-width: 768px){
	#ombanner01 > a{ font-size: 0; }
}

#ombanner01 div.ombanner01-img a{ display: block}
#ombanner01 div.ombanner01-img{ max-width: 600px; }
@media print, screen and (min-width: 768px){
	#ombanner01 > a > div{
		display: inline-block;
		font-size: 1.6rem;
		vertical-align: middle;
	}
	#ombanner01 div.ombanner01-txt{ width: 46%; }
	#ombanner01 div.ombanner01-img{ width: 54%; }
}
@media print, screen and (max-width: 767px){
	#ombanner01 div.ombanner01-txt,
	#ombanner01 div.ombanner01-img{ width: 100%; }
	#ombanner01 div.ombanner01-txt{ line-height: 1.4; }
	#ombanner01 div.ombanner01-img{ margin: 10px auto 0 auto; }
}

#important-point{ padding: 5rem 0; }
@media print, screen and (max-width: 374px){
	#important-point > h2:first-of-type > span:first-of-type{ line-height: 1; }
}

#top-merit{
	background-color: #0b2e4e;
	padding: 5rem 0;
}

@media print, screen and (min-width: 768px){
	#top-merit ul{ font-size: 0; }
	#top-merit ul > li{
		display: inline-block;
		font-size: 1.6rem;
		margin-left: 2rem;
		vertical-align: top;
		width: calc( ( 100% - 4rem ) / 3 - 0.1px );
	}
	#top-merit ul > li:first-of-type{ margin-left: 0; }
}

@media print, screen and (max-width: 767px){
	#top-merit ul > li{
		margin-bottom: 3rem;
	}
}

#top-merit ul li > h3,
#top-merit ul li > p{ color: #ffffff; }
#top-merit ul li > h3{
	font-size: 140%;
	line-height: 1.4;
	margin-bottom: 1rem;
	text-align: center;
}
#top-merit ul > li > div{ margin-bottom: 1.5rem; }

@media print, screen and (max-width: 767px){
	#top-merit ul > li > div{ text-align: center; }
	#top-merit ul li > p{
		margin: 0 auto;
		max-width: 500px;
		width: 100%;
	}
}

a.top-bannar02{
	display: block;
	margin: 0 auto;
	max-width: 600px;
	width: 100%;
}

#rate-sheet{
	background: #0b2e4e;
	padding: 5rem 0;
}

/*-------------------
 
 fee-box
 
-------------------*/
#rate-sheet .fee-box-tit { padding: 2rem 0; background-color: #134674; }

#rate-sheet .fee-box-price { padding: 2rem 0; background-color: #eeeeee; border: 1px solid #134674; }

#rate-sheet .fee-box-number { padding: 2rem 0; background-color: #e5eff8; border: 1px solid #134674; }

#rate-sheet .fee-box-price2 { padding: 2rem 0; background-color: #fff; border: 1px solid #134674; }

#rate-sheet .fee-box-price3 { padding: 2rem 0; background-color: #fff; border: 1px solid #134674; }

#rate-sheet .fee-box-price4 { padding: 1rem; background-color: #fff; border: 1px solid #134674; }

@media print, screen and (min-width: 641px) {
	#rate-sheet .fee-box {
		width: 100%;
		display: table;
		border-collapse: collapse;
		background-color: #ffffff;
	}
	#rate-sheet .fee-box.bg-trans{ background-color: transparent; }
	#rate-sheet .fee-box-tit, 
	#rate-sheet .fee-box-price,
	#rate-sheet .fee-box-number,
	#rate-sheet .fee-box-price2,
	#rate-sheet .fee-box-price3,
	#rate-sheet .fee-box-price4 {
		display: table-cell;
		vertical-align: middle;
	}
	#rate-sheet .fee-box-tr { display: table-row; }
	#rate-sheet .fee-box-tr .fee-box-tit {
		border-top: 1px solid #134674;
		border-left: 1px solid #134674;
		border-bottom: 1px solid #fff;
		border-right: 1px solid #fff;
	}
}

@media print, screen and (max-width: 640px) { 
	#rate-sheet .smt-fee-box { width: 100%; display: table; border-collapse: collapse; }
	#rate-sheet .smt-fee-tc { display: table-cell;}
	#rate-sheet .fee-box-price3 { padding: 1.65rem 0; }
	#rate-sheet .smt-fee-tc .fee-box-tit { border-top: 1px solid #134674; border-left: 1px solid #134674; border-bottom: 1px solid #fff; border-right: 1px solid #fff; }
}

.rate-service{
	font-size: 0;
	margin: 0 auto 2rem auto;
	width: 70%;
}
.rate-service > li{
	display: inline-block;
	font-size: 1.6rem;
	margin-left: 2.5rem;
	max-width: 300px;
}
.rate-service > li:first-of-type{ margin-left: 0; }
@media print, screen and (min-width: 768px) { .rate-service > li{ width: calc( ( 100% - 7.5rem ) / 4 - 0.1px ); } }
@media print, screen and (max-width: 767px) {
	.rate-service{ max-width: calc( 600px + 2.5rem ); }
	.rate-service > li{
		margin-top: 2.5rem;
		width: calc( ( 100% - 2.5rem ) / 2 - 0.1px );
	}
	.rate-service > li:first-of-type,
	.rate-service > li:nth-of-type(2){ margin-top: 0; }
	.rate-service > li:nth-of-type(2n+1){ margin-left: 0; }
}
@media print, screen and (max-width: 420px){
	.rate-service{ width: 100%; }
}
#rate-sheet .supplement{
	margin-right: auto;
	margin-left: auto;
	max-width: 550px;
	width: 100%;
}

.rate-service-btn{
	max-width: 500px;
	width: 100%;	
	
}
.rate-service-btn > a{
	background-color: #ffffff;
	border: 4px solid #ffffff;
	display: block;
	padding: 1.5rem;
	text-decoration: none;
}
.rate-service-btn > a:hover{
	background: #134674;
	color: #ffffff;
}

#popularity-contens{ padding: 10rem 0; }
#popularity-contens .contents > ul{ font-size: 0; }
#popularity-contens .contents > ul li{
	display: inline-block;
	font-size: 1.6rem;
	margin-left: 2%;
	vertical-align: top;
	max-width: 400px;
}
#popularity-contens .contents > ul li:first-of-type{ margin-left: 0; }
@media print, screen and (min-width: 768px){
	#popularity-contens .contents > ul li{ width: calc( 94% / 4 - 0.1px ); }
}
@media print, screen and (max-width: 767px){
	#popularity-contens .contents > ul li{
		margin-top: 2%;
		width: calc( 98% / 2 - 0.1px );
	}
	#popularity-contens .contents > ul li:first-of-type,
	#popularity-contens .contents > ul li:nth-of-type(2){ margin-top: 0; }
	#popularity-contens .contents > ul li:nth-of-type(2n+1){ margin-left: 0; }
}
#popularity-contens .contents > ul li > a{ display: block; }
#popularity-contens .contents > ul li div{ margin-bottom: 5px; }
#popularity-contens .contents > ul li p{ text-align: center;}

#top-recruit{ padding: 5rem 0; }
#top-recruit .promise-txt > h2{ letter-spacing: 3px; line-height: 1.3; }

#top-recruit > a > ul{ padding: 2.5rem 0; }
#top-recruit > a > ul:after{ 
	content: "";
	display: block;
	clear: both; 
	height: 0;
	line-height: 0;
	overflow: hidden;
}

#top-recruit > a > ul li{
	float: left;
	width: calc( ( 100% - 4px ) / 5 - 0.1px );
}
@media screen and (max-width: 900px){
	#top-recruit > a > ul li{
		margin-top: 2rem;
		width: calc( ( 100% - 2px ) / 3 - 0.1px );
	}
	#top-recruit > a > ul li:nth-of-type(3n) > div div{ border-right: none; }
	#top-recruit > a > ul li:first-of-type,
	#top-recruit > a > ul li:nth-of-type(2),
	#top-recruit > a > ul li:nth-of-type(3){ margin-top: 0; }
	#top-recruit > a > ul li:nth-of-type(4){ margin-left: calc( 50% - ( ( 100% - 2px ) / 3 - 0.1px ) ); }
}
@media screen and (max-width: 659px){ 
	#top-recruit > a > ul{ margin: 1rem 0; padding: 1rem 0; }
	#top-recruit > a > ul li{ margin-top: 1.5rem; }
}

#top-recruit > a > ul li > div.icon-in{ text-align: center;}

#top-recruit > a > ul li > div div{ 
	border-right: 1px solid #0b2e4e;
	height: 70px;
	margin-top: 10px;
	text-align: center;
	width: auto;
}
#top-recruit > a > ul li:last-of-type div div{ border-right: none; }

#top-recruit > a > ul li > div div > img{ height: inherit; }

#top-recruit > a > ul li > div > p{ 
	color: #0b2e4e;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 1.3;
	margin-top: 10px;
	text-align: center;
}
@media screen and (max-width: 321px){ #top-recruit > a > ul li > div > p{ letter-spacing: 0; } }
@media screen and (min-width: 768px){ #top-recruit .more-btn { width: 380px; } }

/* ---------------------------
レーティング
#raty配下
--------------------------- */
#raty > div{
	border-radius: 8px;
	padding: 2rem;
}

@media print, screen and (min-width: 768px){}
@media print, screen and (max-width: 767px){}

.raty-contents.flex{ width: 100%; }
@media print, screen and (min-width: 768px){
	.raty-contents.flex{ align-items: center; }
	.raty-contents .raty-star{
		margin-right: 20px;
		width: 340px;
	}
	.raty-contents .raty-txt{ width: calc( 100% - 360px ); }
}
@media print, screen and (max-width: 767px){
	.raty-contents.flex{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.raty-contents .raty-star{
		margin-bottom: 10px;
		width: 100%;
	}
	.raty-contents .raty-txt{ width: 100%; }
}

.corpRaty img{ width: 55px; }
	