@charset "UTF-8";

/*! Theme Name: wp */

/*------------------------------------------------------------
共通
------------------------------------------------------------*/
.news .tit,
.message .tit,
.vo01 .tit,
.member .tit,
.theme .tit,
.matsukuma .tit,
.link .tit,
.lbm .tit {
 font-size: 3rem;
 font-weight: 400;
 text-align: center;
 position: relative;
 letter-spacing: 0.08em;
 padding-bottom: 70px;
}

.news .tit:after,
.message .tit:after,
.vo01 .tit:after,
.member .tit:after,
.theme .tit:after,
.matsukuma .tit:after,
.link .tit:after,
.lbm .tit:after {
 content: "";
 height: 1px;
 width: 100px;
 background-color: #9c0;
 position: absolute;
 bottom: 50px;
 left: 50%;
 transform: translateX(-50%);
}

@media screen and (max-width: 640px) {
 .news .tit,
 .message .tit,
 .vo01 .tit,
 .member .tit,
 .theme .tit,
 .matsukuma01 .tit,
 .matsukuma02 .tit,
 .matsukuma03 .tit,
 .matsukuma04 .tit,
 .link .tit,
 .lbm01 .tit,
 .lbm02 .tit {
  font-size: 2.4rem;
  font-weight: 500;
 }
}


/*------------------------------------------------------------
news
------------------------------------------------------------*/
.news .mainvisual {
 background: url(../img/news/main_img02.jpg) no-repeat center center;
 background-size: cover;
}

.news01 {
 padding-bottom: 80px;
}

.news .info_list {
 border-top: 1px solid #ccc;
 padding-bottom: 60px;
}

.news .info_list .info_item {
 border-bottom: 1px solid #ccc;
 padding: 30px 0;
 display: flex;
}

.news .info_list .info_imgbox {
 max-width: 180px;
 width: 17.5%;
}

.news .info_list .info_txtbox {
 max-width: 820px;
 width: 78.5%;
 padding-left: 40px;
}


.news01 .btn_list .btn_style01 {}


@media screen and (max-width: 640px) {
 .news01 {
  padding: 50px 0;
 }

 .news01 .info_list {
  border-top: none;
 }

 .news01 .info_list .info_item {
  display: block;
  padding: 0px 0 0 0;
 }

 .news01 .info_list .info_imgbox {
  max-width: 680px;
  width: 100%;
 }

 .news01 .info_list .info_txtbox .info_date {
  padding-bottom: 10px;
 }

 .news .info_list .info_txtbox {
  font-size: 1.6rem;
  padding-top: 15px;
  padding-bottom: 25px;
  width: 100%;
  padding-left: 0px;
 }
}


/*------------------------------------------------------------
message
------------------------------------------------------------*/
.message {}

.message .ms01 .inner p, .message .ms03 .inner p{
 font-size: 1.6rem;
}

.message .mainvisual {
 background: url(../img/message/main_img10.jpg) no-repeat center center;
 background-size: cover;
}

.ms01,
.ms02,
.ms03 {
 padding-bottom: 80px;
}

.ms02 .ta-center {
 max-width: 800px;
 width: 100%;
 margin: 0 auto;
}

.ms02 .ta-center iframe {
 width: 100%;
 height: calc(80vw * 0.78);
}


.jmp_anc{
 padding-top: 120px;
 margin-top:-120px;
}



@media screen and (max-width: 640px) {
 .ms01 {
  padding-top: 50px;
  padding-bottom: 50px;
 }

 .ms02,
 .ms03 {
  padding-bottom: 50px;
 }


.jmp_anc{
 padding-top: 60px;
 margin-top:-60px;
}



}

/*------------------------------------------------------------
member
------------------------------------------------------------*/
.member {}

.member .mainvisual {
 background: url(../img/member/main_img07.jpg) no-repeat center center;
 background-size: cover;
}

.mem01,
.mem02 {
 padding-bottom: 80px;
}

.mem01 .staff,
.mem02 .students {
 display: flex;
 flex-wrap: wrap;
}

.staff dt,
.staff dd,
.students dt,
.students dd {
 padding: 14px 30px 15px;
 font-size: 1.6rem;
 font-weight: 500;
 border-top: 1px solid #ccc;
}



.staff dt:nth-last-child(2),
.staff dt:nth-last-child(3),
.staff dd:nth-last-child(1),
.staff dd:nth-last-child(2),
.students dt:nth-last-child(2),
.students dd:nth-last-child(2),
.students dd:nth-last-child(1) {
 border-bottom: 1px solid #ccc;
}

.staff dt {
 width: 30%;
 text-align: left;
 border-right: 1px solid #ccc;
 border-left: 1px solid #ccc;
}

.staff .staff_name {
 width: 39%;
 border-right: 1px solid #ccc;
}

.staff .staff_link {
 width: 31%;
 border-right: 1px solid #ccc;
}

.staff dt>span,
.staff dd>span,
.students dt>span {
 display: inline-block;
 text-align: left;
}

.students dt {
 width: 17%;
 text-align: left;
 border-left: 1px solid #ccc;
 border-right: 1px solid #ccc;
}

.students dt:nth-last-child(3) {
 border-bottom: 1px solid #ccc;
}

.students_name {
 width: 18%;
 text-align: left;
 padding-left: 30px;
 border-right: 1px solid #ccc;
}

.students_exp {
 width: 64%;
 text-align: left;
 padding-left: 30px;
 border-right: 1px solid #ccc;
}

.students dt .degree {
 max-width: 170px;
 width: 47%;
}

.students dt .name {
 max-width: 190px;
 width: 52.5%;
}

.prof {
 width: 100%;
}

.name {
 width: 60%;
}

@media screen and (min-width: 970px) {

 .staff dt>span,
 .staff dd>span,
 .students dt>span {
  width: 100%;
 }
}



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

 .mem01 .staff,
 .mem02 .students {
  display: block;
 }

 .staff dt,
 .staff dd,
 .students dt,
 .students dd {
  width: 100%;
  text-align: center;
 }


 .staff dt,
 .students dt {
  background-color: #eee;
  border-right: none;
  border-left: none;
 }

 .staff dt>span.prof {
  text-align: center;
 }

 .staff dt>span.name {
  width: 50%;
  text-align: left;
  padding-left: 20px;
 }

 .staff dd>span {
  text-align: left;
 }

 .students dt .degree {
  max-width: 170px;
  width: 100px;
 }

 .students dt .name {
  max-width: 190px;
  width: inherit;
 }

 .staff dt,
 .staff dd,
 .students dt,
 .students dd {
  border-top: none;
 }

 .staff dt:nth-last-child(2),
 .students dt:nth-last-child(2) {
  border-bottom: none;
 }
}

@media screen and (max-width: 640px) {
 .mem01 {
  padding-bottom: 50px;
  padding-top: 50px;
 }

 .mem02 {
  padding-bottom: 50px;
 }

 .staff dt>span.prof {
  display: block;
  width: 100%;
  text-align: center;
 }

 .staff dt>span.name {
  width: 100%;
  padding: 0;
  text-align: center;
 }

 .staff dt>span,
 .staff dd>span {
  display: block;
  text-align: center;
  width: 100%;
 }

 .staff dd span:nth-child(1) {
  padding-bottom: 10px;
 }

}


@media screen and (max-width: 430px){
.students dt .degree {
 max-width: none;
 width: 50px;
 }

.students dt>span {
 text-align: unset;}
}



/*------------------------------------------------------------
theme
------------------------------------------------------------*/

.theme {}

.theme .mainvisual {
 background: url(../img/theme/main_img04.jpg) no-repeat center center;
 background-size: cover;
}

.theme01,
.theme02,
.theme03,
.theme04,
.theme05 {
 padding-bottom: 80px;
}

.theme_img_list {
 display: flex;
 justify-content: space-around;
 align-items: flex-end;
 padding: 50px 0;
}

.theme_img_list li {
 max-width: 520px;
 width: 50%;
 text-align: center;
 margin: 0 10px;
}

.img_caption {
 text-align: center;
 padding-top: 20px;
}

.theme_img_list img {
 max-width: 100%;
 height: auto;
 object-position: center;
 object-fit: contain;
 padding: 0 10px;
}

.theme .btn_list li {
 margin: 0 30px;
 width: 250px;
}

.theme02 .movies{
 margin: 50px 0;
}


.th_d {
 font-size: 1.6rem;
}

.youtube {
 width: 100%;
 max-width: 800px;
 margin: 0 auto;
 padding: 0;
 box-sizing: border-box;
}

.youtube .inner {
 max-width: 800px;
 max-height: 450px;
 padding-top: 56.25%;
 position: relative;
 height: 0;
 overflow: hidden;
}

.youtube .inner iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}


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

.theme .btn_list li {
 margin: 0 15px;
 width: 200px;
}

 .theme01 {
  padding-top: 50px;
  padding-bottom: 50px; }

 .theme02,
 .theme03,
 .theme04,
 .theme05 {
  padding-bottom: 50px; }

 .theme_img_list {
  display: block;
  padding: 40px 0; }

 .theme_img_list li {
  max-width: 767px;
  width: 100%;
  padding-bottom: 20px;
  margin: 0; }　

}


/*------------------------------------------------------------
lbm
------------------------------------------------------------*/

.lbm {}

.lbm .mainvisual {
 background: url(../img/lbmprogram/main_img06.jpg) no-repeat center center;
 background-size: cover;
}

.lbm03,
.lbm04,
.lbm05 {
 padding-bottom: 80px;
}

.lbm p {
 padding: 40px 0;
}

.lbm02 .other {
 padding-top: 0px;
 padding-bottom: 40px
}

.lbm .movies {
 padding-bottom: 80px;
}

.lbm .subtit {
 background-color: #e8ebf2;
 font-size: 2.0rem;
 font-weight: 500;
 padding: 16px 20px 16px;
}

.lbm .subtit01 {
 margin-bottom: 40px;
}

.lbm_movie {
 padding: 40px 0;
 text-align: center;
}

.lbm .flex {
 display: flex;
 justify-content: space-between;
 max-width: 800px;
 margin: 0 auto;
}

.lbm .flex li {
 max-width: 390px;
 width: 100%;
}

.lbm .flex li .youtube .inner {
 padding-top: 100%;
}

@media screen and (max-width: 960px) {
 .lbm .flex li:nth-child(1) {
  margin-right: 20px;
 }
}

@media screen and (max-width: 640px) {
 .lbm01 {
  padding-bottom: 30px;
  padding-top: 50px
 }

 .lbm02 {
  padding-bottom: 0px;
 }

 .lbm03,
 .lbm04,
 .lbm05 {
  padding-bottom: 50px;
 }

 .lbm .movies {
  padding-bottom: 50px;
 }
}

@media screen and (max-width: 640px) {
 .lbm .subtit {
  font-size: 1.6rem;
  padding: 10px 20px 10px;
 }

 .lbm01 p,
 .lbm02 p {
  font-size: 1.6rem;
  padding: 20px 0;
 }

 .lbm .flex {
  display: block;
 }

 .lbm .flex li {
  width: 100%;
 }

 .lbm .flex li:nth-last-child(1),
 .lbm .flex li:nth-child(1) {
  margin: 0 auto;
  padding: 10px 0; }
}

/*------------------------------------------------------------
link
------------------------------------------------------------*/

.link {}


.link .mainvisual {
 background: url(../img/link/main_img08.jpg) no-repeat center center;
 background-size: cover;
}

.link01,
.link02,
.link03,
.link04 {
 padding-bottom: 80px;
}

.gakkai,
.bunken,
.researcher,
.fukuokadaigaku,
.link_list {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}

.link_list li {
 width: 50%;
 padding: 15px 50px 15px;
 font-size: 1.6rem;
 position: relative;
 background: url(../img/link/point.png) 18px center no-repeat;
 background-size: 6px;
}

@media screen and (max-width: 640px) {
 .link01 {
  padding: 50px 0;
 }

 .link04 {
  padding-bottom: 50px;
 }

 .link01,
 .link02,
 .link03,
  {
  padding-bottom: 40px;
 }

 .gakkai,
 .bunken,
 .researcher,
 .fukuokadaigaku,
 .link_list {
  display: block;
  justify-content: space-between;
  flex-wrap: wrap;
 }

 .link_list li {
  width: 100%;
  padding: 10px 5% 10px 50px;
 }
}


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

 .link_list li {
  width: 100%;
  padding: 10px 5% 10px 14%;
 }

}


/*------------------------------------------------------------
matsukuma
------------------------------------------------------------*/

.matsukuma .mainvisual {
 background: url(../img/matsukuma/main_img05.jpg) no-repeat center center;
 background-size: cover;
}

.matsukuma01,
.matsukuma02,
.matsukuma03,
.matsukuma04 {
 padding-bottom: 80px;
}

.prof_list {
 display: flex;
 justify-content: space-between;
 padding-bottom: 60px;
}

.prof_img {
 max-width: 380px;
 width: 36.5%;
}

.prof_txt {
 max-width: 600px;
 width: 57.7%;
}

.prof_txt p {
 font-size: 1.6rem;
 font-weight: 500;
}

.prof_txt .prof_deg {
 font-size: 1.8rem;
 letter-spacing: 0.08em;
}

.prof_txt .prof_name {
 font-size: 3.0rem;
 font-weight: bold;
 letter-spacing: 0.08em;
}

.prof_txt .prof_name span {
 font-size: 1.6rem;
}

.prof_txt .age {
 padding: 10px 0 30px 0;
}

.prof_txt .btn_list {
 padding-top: 40px;
 justify-content: flex-start;
}



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

 .matsukuma .mainvisual {
  background: url(../img/matsukuma/main_img05.jpg) no-repeat right -200px center;
  background-size: cover;
 }

 .prof_txt p {
  font-size: 1.4rem;
 }

 .prof_txt .prof_deg {
  font-size: 1.6rem;
 }

 .prof_txt .prof_name {
  font-size: 2.4rem;
 }

 .prof_txt .prof_name span {
  font-size: 1.4rem;
 }

 .prof_txt .btn_list {
  padding-top: 30px;
 }

 .prof_txt .btn_list li {
  width: 240px;
  height: 60px;
 }

 .prof_txt .btn_style01 a>span {
  font-size: 1.8rem;
 }
}

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

 .matsukuma01 {
  padding: 50px 0;
 }

 .matsukuma04 {
  padding-bottom: 50px;
 }
}

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

 .prof_list {
  display: block;
  padding-bottom: 50px;
 }

 .prof_img {
  max-width: 100%;
  width: 80%;
  margin: 0 auto;
 }

 .prof_txt {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
  padding-top: 20px;
 }

 .prof_txt p {
  font-size: 1.6rem;
  text-align: center;
 }

 .prof_txt .prof_deg {
  font-size: 1.4rem;
 }

 .prof_txt .prof_name {
  font-size: 1.8rem;
 }

 .prof_txt .prof_name span {
  font-size: 1.2rem;
 }

 .prof_txt .age {
  padding: 5px 0 15px 0;
 }

 .prof_txt .btn_list {
  padding-top: 20px;
  justify-content: center;
 }

.prof_txt .btn_list li {  
  width: 200px; 
  height: 50px; 
 }  
 .prof_txt .btn_style01 a>span {  
  font-size: 1.2rem;  
 }  
}


.like_list {
 display: flex;
 justify-content: space-between;
 padding-bottom: 60px;
}

.like_list li {
 max-width: 320px;
 width: 30.7%;
 text-align: center;
}

.like_list li p {
 font-size: 1.6rem;
 font-weight: 500;
 padding-top: 30px;
 text-align: center;
}

@media screen and (max-width: 960px) {}

@media screen and (max-width: 640px) {
 .like_list {
  display: block;
 padding-bottom: 0px;
 }

 .like_list li {
  max-width: 100%;
  width: 100%;
  text-align: center;
 }

 .like_list li img {
  width: 80%;
 }

 .like_list li p {
  font-size: 1.6rem;
  padding: 10px 0 30px;
 }
}


.kamoku {
 border-collapse: collapse;
 width: 100%;
}

.t_name th{
 text-align: center;
}


.kamoku th,
.kamoku td {
 padding: 20px 0;
 font-weight: 500;
 border: 1px solid #ddd;
 font-size: 1.6rem;
}

.kamoku th {
 background-color: #e8ebf2;
 text-align: center;
}

.kamoku tr td:nth-child(1) {
 max-width: 210px;
 width: 21%;
 text-indent: 19%;
}

.kamoku tr td:nth-child(2) {
 max-width: 150px;
 width: 14.5%;
 text-align: center;
}

.kamoku tr td:nth-child(3) {
 max-width: 380px;
 text-indent: 13%;
}

.kamoku tr td:nth-child(4) {
 max-width: 140px;
 width: 13.5%;
 text-align: center;
}

.kamoku tr td:nth-last-child(1) {
 max-width: 160px;
 width: 14.5%;
 text-align: center;
}

.kamoku tr td:nth-child(1)>p span {
 display: inherit;
}

@media screen and (max-width: 960px) {
 .kamoku tr td:nth-child(1)>p span {
  display: block;
 }

 .kamoku th,
 .kamoku td {
  font-size: 1.4rem;
 }
}

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

 .kamoku th,
 .kamoku td {
  font-size: 1.2rem;
 }

.kamoku tr td:nth-child(1) {
 width: 20%;
 text-indent: 2%;
}

.kamoku tr td:nth-child(2) {
 width: 20%;
}

.kamoku tr td:nth-child(3) {
 text-indent: 2%;
}

.kamoku tr td:nth-child(4) {
 width: 10.5%;
}

.kamoku tr td:nth-last-child(1) {
 width: 10.5%;
}
}





.matsukuma04 .ta-center {
 max-width: 800px;
 width: 100%;
 margin: 0 auto;
}

.matsukuma04 .ta-center iframe {
 width: 100%;
 height: calc(80vw * 0.78);
}



/*------------------------------------------------------------
recruit
------------------------------------------------------------*/



/*------------------------------------------------------------
recruit_detail
------------------------------------------------------------*/



/*------------------------------------------------------------
oneday
------------------------------------------------------------*/




/*------------------------------------------------------------
news_detail
------------------------------------------------------------*/


/*------------------------------------------------------------
information
------------------------------------------------------------*/


/*------------------------------------------------------------
information_detail
------------------------------------------------------------*/




/*------------------------------------------------------------
works
------------------------------------------------------------*/

/*------------------------------------------------------------
works_detail
------------------------------------------------------------*/


/*------------------------------------------------------------
business
------------------------------------------------------------*/


/*------------------------------------------------------------
interview
------------------------------------------------------------*/


/*------------------------------------------------------------
career
------------------------------------------------------------*/



/*------------------------------------------------------------
entry
------------------------------------------------------------*/
.entry .contact-section02 {
 padding-bottom: 80px;
}

/*------------------------------------------------------------
contact
------------------------------------------------------------*/
.contact main {
 padding-bottom: 82px;
}

.contact-section01 {
 padding: 80px 0 100px;
 margin-bottom: 92px;
 background: #f5f5f5;
}

.contact-section01 .tit_style01 {
 margin-bottom: 18px;
}

@media screen and (max-width: 640px) {
 .contact-section01 {
  padding: 80px 0 80px;
  margin-bottom: 80px;
 }
}

@media screen and (max-width: 640px) {}

.contact-section02 .contact_txt {
 margin-top: 28px;
 color: #333;
 text-align: center;
 letter-spacing: 0.1em;
}

.contact-section02 .contact_txt a {
 color: #e60012;
 text-decoration: underline;
}

@media screen and (min-width: 768px) {
 .contact-section02 .contact_txt a:hover {
  opacity: 1;
  text-decoration: none;
 }
}

.contact_text {
 margin: 0 0 12px;
 letter-spacing: 0.08em;
 line-height: 2.29;
 text-align: justify;
}

@media screen and (max-width: 640px) {
 .contact_text {
  margin: -6px 0 20px;
  letter-spacing: 0.04em;
 }
}

.contact_text2 {
 margin: 12px 0 4px;
}

@media screen and (max-width: 640px) {
 .contact_text2 {
  margin: 8px 0 4px;
 }
}

.contact_text3 {
 margin-bottom: 13px;
 padding: 8px 19px;
 line-height: 2.285;
 letter-spacing: 0.08em;
 height: 200px;
 overflow-y: scroll;
 border: 1px solid #ced5db;
}

.contact_text3 span {
 font-weight: 700;
}

@media screen and (max-width: 640px) {
 .contact_text3 {
  padding: 15px;
 }
}

.contact_text3 p+p {
 margin-top: 25px;
}

@media screen and (max-width: 640px) {
 .contact_text3 p+p {
  margin-top: 15px;
 }
}

.contact_form {
 margin-bottom: 60px;
 background-color: #fff;
}

@media screen and (max-width: 640px) {
 .contact_form {
  margin-bottom: 30px;
 }
}

.contact_form dl {
 margin: 0 0 0 1px;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 letter-spacing: 0.12em;
}

.contact_form dl dd {
 letter-spacing: 0.08em;
 border-top: 1px solid #c9c9c9;
 border-right: 1px solid #c9c9c9;
}

.contact_form dl dt {
 border-top: 1px solid #c9c9c9;
}

@media screen and (max-width: 640px) {
 .contact_form dl {
  display: block;
 }

 .contact_form dl dt,
 .contact_form dl dd {
  border: none;
 }
}

.contact_form dl:last-child dt {
 border-bottom: 1px solid #c9c9c9;
}

.contact_form dl:last-child dd {
 border-bottom: 1px solid #c9c9c9;
}

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

 .contact_form dl:last-child dt,
 .contact_form dl:last-child dd {
  border: none;
 }
}

.contact_form dl:first-child dt {
 border-top-color: #c9c9c9;
}

.contact_form dt {
 padding: 27px 8% 27px 2.9%;
 width: 27.8%;
 color: #000;
 position: relative;
 font-weight: 500;
 line-height: 1.6;
 background-color: #ededed;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 -webkit-box-align: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
}

@media screen and (max-width: 960px) {
 .contact_form dt {
  padding: 27px 65px 27px 10px;
 }
}

@media screen and (max-width: 640px) {
 .contact_form dt {
  display: block;
  width: 100%;
  padding: 10px;
 }
}

.contact_form dd {
 width: 76.5%;
 padding: 19px 29px 19px 30px;
 color: #333;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

@media screen and (max-width: 960px) {
 .contact_form dd {
  padding: 19px 20px 19px 20px;
 }
}

@media screen and (max-width: 640px) {
 .contact_form dd {
  width: 100%;
  padding: 15px 10px;
 }
}

.contact_require {
 margin-top: -12px;
 padding: 5px 11px 6px;
 display: inline-block;
 position: absolute;
 top: 39px;
 right: 9.5%;
 color: #fff;
 font-weight: 500;
 font-size: 1.2rem;
 line-height: 1.2;
 -webkit-transform: scale(0.83);
 -ms-transform: scale(0.83);
 transform: scale(0.83);
 background-color: #d0171f;
}

@media all and (-ms-high-contrast: none) {
 .contact_require {
  padding-bottom: 5px;
 }
}

@media screen and (max-width: 960px) {
 .contact_require {
  right: 10px;
 }
}

@media screen and (max-width: 640px) {
 .contact_require {
  right: 10px;
  top: 50%;
 }
}

.contact_wrap {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
}

@media screen and (max-width: 640px) {
 .contact_wrap {
  display: block;
 }
}

.contact_wrap2 {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
 .contact_wrap2 {
  display: block;
 }
}

.contact_wrap3_text2 {
 margin: 14px 0 6px;
}

.contact_input input[type='text'],
.contact_input input[type='email'],
.contact_input input[type='tel'],
.contact_input input[type='number'] {
 width: 100%;
 height: 40px;
 border: 1px solid #cfd5da;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 padding: 0 10px;
 -moz-appearance: none;
 appearance: none;
 -webkit-appearance: none;
 border-radius: 0;
 font-family: 'Noto Sans JP', sans-serif, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN,',
  'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック',
  'MS PGothic', sans-serif;
 font-weight: 400;
}

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

 .contact_input input[type='text'],
 .contact_input input[type='email'],
 .contact_input input[type='tel'],
 .contact_input input[type='number'] {
  height: 35px;
 }
}

.contact_input--2 {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
}

@media screen and (max-width: 640px) {
 .contact_input--2 {
  display: block;
 }
}

.contact_input--2 input[type='text'] {
 max-width: 230px;
 width: 100%;
 -moz-appearance: none;
 appearance: none;
 -webkit-appearance: none;
 border-radius: 0;
}

@media screen and (max-width: 640px) {
 .contact_input--2 input[type='text'] {
  max-width: 100%;
 }
}

.contact_input--2 .text {
 width: 42px;
 white-space: nowrap;
}

@media screen and (max-width: 640px) {
 .contact_input--2 .text {
  width: 100%;
  display: block;
  margin-bottom: 6px;
 }
}

.contact_input--2:last-of-type {
 margin-left: 31px;
}

@media screen and (max-width: 640px) {
 .contact_input--2:last-of-type {
  margin-left: 0;
  margin-top: 14px;
 }
}

.contact_input--4 {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
}

.contact_input--4 input[type='text'],
.contact_input--4 input[type='number'] {
 width: 167px;
}

.contact_input--4 .text {
 width: 78px;
}

+.contact_input--4_input--4 {
 margin-top: 10px;
}

.contact_radio {
 margin: 8px 0 5px;
}

.contact_radio .wpcf7-list-item {
 margin: 0;
}

.contact_radio label {
 display: inline-block;
 margin-right: 24px;
}

.contact_radio label span {
 display: inline-block;
 position: relative;
 padding-left: 22px;
}

.contact_radio label span:before,
.contact_radio label span:after {
 content: '';
 position: absolute;
}

.contact_radio label span:before {
 width: 11px;
 height: 11px;
 background-color: #cfd5da;
 border: 1px solid #8e8e8e;
 border-radius: 50px;
 left: -1px;
 top: 7px;
}

.contact_radio label input {
 display: none;
}

.contact_radio label input:checked+span:after {
 width: 7px;
 height: 7px;
 background-color: #63636a;
 border-radius: 50px;
 top: 10px;
 left: 2px;
}

.contact_radio label input+input+span:after {
 width: 7px;
 height: 7px;
 background-color: #63636a;
 border-radius: 50px;
 top: 8px;
 left: 2px;
}

@media screen and (max-width: 640px) {
 .contact_radio {
  margin: 0;
 }

 .contact_radio label span:before {
  top: 5px;
 }

 .contact_radio label input:checked+span:after {
  top: 8px;
 }
}

.contact_checkbox {
 margin: 6px 0 -15px;
}

.contact_checkbox .wpcf7-list-item {
 margin: 0;
}

.contact_checkbox label {
 display: inline-block;
}

.contact_checkbox label span {
 display: inline-block;
 position: relative;
 padding-left: 23px;
 margin-bottom: 9px;
}

.contact_checkbox label span:before,
.contact_checkbox label span:after {
 content: '';
 position: absolute;
}

.contact_checkbox label span:before {
 width: 13px;
 height: 13px;
 background-color: #cfd5da;
 left: 0;
 top: 7px;
}

@media screen and (max-width: 640px) {
 .contact_checkbox label span:before {
  top: 5px;
 }
}

.contact_checkbox label input {
 display: none;
}

.contact_checkbox label input:checked+span:after {
 width: 3px;
 height: 6px;
 border-bottom: 2px solid #63636a;
 border-right: 2px solid #63636a;
 top: 8px;
 left: 4px;
 -webkit-transform: rotate(45deg);
 -ms-transform: rotate(45deg);
 transform: rotate(45deg);
}

@media screen and (max-width: 640px) {
 .contact_checkbox label input:checked+span:after {
  top: 8px;
 }
}

.contact_checkbox label input+input+span:after {
 width: 3px;
 height: 6px;
 border-bottom: 2px solid #63636a;
 border-right: 2px solid #63636a;
 top: 6px;
 left: 4px;
 -webkit-transform: rotate(45deg);
 -ms-transform: rotate(45deg);
 transform: rotate(45deg);
}

.contact_address {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
 margin-left: 10px;
}

@media screen and (max-width: 640px) {
 .contact_address {
  margin: 10px 0 0 0;
 }
}

.contact_address span {
 margin-right: 9px;
 word-break: keep-all;
}

.contact_address .js-button {
 width: 97px;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
 -webkit-box-pack: center;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
 color: #fff;
 font-size: 1.3rem;
 line-height: 34px;
 background-color: #444;
 cursor: pointer;
 border-radius: 100px;
}

.contact_select {
 width: 167px;
 height: 40px;
 position: relative;
}

@media screen and (max-width: 640px) {
 .contact_select {
  height: 35px;
 }
}

.contact_select:before,
.contact_select:after {
 content: '';
 position: absolute;
 pointer-events: none;
 z-index: 1;
}

.contact_select:before {
 width: 30px;
 height: 38px;
 background: #fff;
 top: 1px;
 right: 1px;
}

@media screen and (max-width: 640px) {
 .contact_select:before {
  height: 33px;
 }
}

.contact_select:after {
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 5px 3px 0 3px;
 border-color: #000 transparent transparent transparent;
 top: 45%;
 right: 11px;
}

.contact_select select {
 width: 100%;
 height: 100%;
 border: none;
 background: #fff;
 padding: 0 10px;
 font-family: 'Noto Sans JP', sans-serif, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN,',
  'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック',
  'MS PGothic', sans-serif;
 font-weight: 400;
 border: 1px solid #dcdcdc;
 -moz-appearance: none;
 appearance: none;
 -webkit-appearance: none;
 border-radius: 0;
}

.contact_textarea {
 margin-bottom: -3px;
}

.contact_textarea .content {
 display: block;
}

.contact_textarea textarea {
 margin: 0;
 border: 1px solid #cfd5da;
 width: 100%;
 height: 200px;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 padding: 10px;
 font-size: 1.4rem;
 -moz-appearance: none;
 appearance: none;
 -webkit-appearance: none;
 border-radius: 0;
 font-family: 'Noto Sans JP', sans-serif, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN,',
  'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック',
  'MS PGothic', sans-serif;
}

.contact_text_bottom {
 margin-top: 29px;
 text-align: center;
}

@media screen and (max-width: 640px) {
 .contact_text_bottom {
  margin-top: 35px;
 }
}

.contact_text_bottom a {
 margin-right: 25px;
 display: inline-block;
 color: #d0171f;
}

.contact_thanks {
 padding: 80px 0 100px;
 font-size: 1.6rem;
 color: #333;
 text-align: center;
 font-weight: bold;
}

.contact_thanks * {
 font-size: 1.6rem;
 color: #333;
 text-align: center;
 font-weight: bold;
}

@media screen and (max-width: 640px) {
 .contact_thanks {
  padding: 60px 0;
 }
}

.contact_note {
 margin-left: 15px;
 word-break: keep-all;
}

div.wpcf7-mail-sent-ok {
 display: none !important;
}

.tBtn_box {
 padding-bottom: 4px;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
}

@media screen and (max-width: 640px) {
 .tBtn_box {
  display: block;
 }
}

.tBtn_box li {
 margin: 0 20px;
}

@media screen and (max-width: 640px) {
 .tBtn_box li {
  margin-left: 0 !important;
 }
}

.tBtn_box .btn_style {
 width: 250px;
 height: 50px;
 display: block;
 border-radius: 0;
 background: #fff;
 padding: 0;
 position: relative;
 -webkit-transition: all 0.3s ease;
 transition: all 0.3s ease;
 overflow: hidden;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.tBtn_box .btn_style input,
.tBtn_box .btn_style button {
 height: 100%;
 width: 100%;
 padding: 0px 22px 0px;
 display: block;
 position: relative;
 color: #fff;
 font-family: 'Oswald', sans-serif;
 font-weight: 500;
 font-size: 1.6rem;
 letter-spacing: 0.05em;
 line-height: 1.5;
 text-align: center;
 border: 1px solid #d0171f;
 border-radius: 100px;
 background: #d0171f url(../img/common/arrow01_hover.png) no-repeat right center;
 background-position: right 20px center;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 opacity: 1;
 -webkit-box-align: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
}

/*リセットボタン*/
.tBtn_box .btn_style button {
 border: 1px solid #444;
 background: #444 url(../img/common/arrow01_hover.png) no-repeat right center;
 background-position: right 20px center;
 opacity: 1;
}

.tBtn_box .btn_style button:hover {
 border: 1px solid #d0171f;
 background: #d0171f url(../img/common/arrow01_hover.png) no-repeat right center;
 background-position: right 20px center;
}

/*送信ボタン*/
.tBtn_box .btn_style input {
 border: 1px solid #d0171f;
 background: #d0171f url(../img/common/arrow01_hover.png) no-repeat right center;
 background-position: right 20px center;
 opacity: 1;
}

.tBtn_box .btn_style input:hover {
 color: #d0171f;
 background: #fff url(../img/common/arrow01_red.png) no-repeat right center;
 background-position: right 20px center;
}

@media screen and (max-width: 640px) {
 .tBtn_box .btn_style {
  margin: 0 auto 15px;
  max-width: 340px;
  width: 80%;
  height: 40px;
 }

 .tBtn_box .btn_style input,
 .tBtn_box .btn_style button {
  width: 100%;
  height: 40px;
 }
}

@media screen and (min-width: 768px) {
 .tBtn_box .btn_style:hover:before {
  opacity: 1;
 }

 .tBtn_box .btn_style:hover input,
 .tBtn_box .btn_style:hover button {
  color: #f4f7fd;
  border-color: transparent;
 }
}

.tBtn_box .btn_style--arrow {
 overflow: visible;
}

.tBtn_box .btn_style--arrow:before {
 opacity: 1;
}

.tBtn_box .btn_style--arrow input {
 color: #f4f7fd;
 border-color: transparent;
}

@media screen and (min-width: 768px) {
 .tBtn_box .btn_style--arrow:hover:before {
  opacity: 0;
 }

 .tBtn_box .btn_style--arrow:hover input,
 .tBtn_box .btn_style--arrow:hover button {
  color: #e60012;
  border-color: #e60012;
 }
}

.tBtn_box .btn_style .ajax-loader {
 position: absolute;
 top: 50%;
 right: -30px;
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transform: translateY(-50%);
}

.bx-wrapper .bx-controls-direction a {
 display: none;
}

.bx-wrapper {
 box-shadow: none;
 -moz-box-shadow: none;
 -webkit-box-shadow: none;
}


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

 .news .mainvisual,
 .message .mainvisual,
 .member .mainvisual,
 .matsukuma .mainvisual,
 .link .mainvisual,
  {
  height: 253.5px;
 }
}