@charset "UTF-8";

/*================================================

PC,SP共通

=================================================*/

html {
  overflow: auto;
}

body {
  color: #333;
  font-family: 'Noto Sans CJK JP','Hiragino Kaku Gothic Pro', 'MS Pゴシック', sans-serif;
  height: 100%;
  overflow: hidden;
  width: 100%;
}

a {
  text-decoration: none;
}

button:focus {
  outline: 0;
}

/*================================================

PC：width769px以上で表示

=================================================*/

.wrapper {
  position: relative;
  width: 100%;
}

.contents_area {
  margin: 0 auto;
  max-width: 1024px;
  position: relative;
}

.sp_none {
  display: block;
}

.pc_none {
  display: none;
}

.contents_title {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  width: 100%;
}

.contents_title > span {
  color: #689d38;
  display: block;
  font-size: 16px;
  margin-top: 27px;
}

/*================================================
 header
=================================================*/

.header {
  background-color: #8dc031;
  font-size: 16px;
  height: 90px;
  padding: 0 20px;
}

.header_title {
  display: block;
}

.header_logo {
  display: flex;
}

.header_logo img {
  width: 65px;
  margin-top: 17px;
  margin-right: 12px;
}

.header_title {
  margin-top: 17px;
}

.univ_name {
  color: #fff;
  font-size: 20px;
}

.dep_name {
  color: #fff;
  font-size: 30px;
  display: block;
  margin-top: 6px;
}

.header a,
.header a:visited,
.header a:hover {
  color: #333;
}

.drawer-nav {
  z-index: 100;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon::before,
.drawer-hamburger-icon::after {
  background-color: #fff;
  height: 3px;
}

.test,
.test::before,
.test::after {
  background-color: #333;
}


.drawer--right.drawer-open .drawer-nav,
.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
  right: 0;
  overflow: auto;
}

.drawer--right.drawer-open .drawer-hamburger {
  right: 20px;
  z-index: 1000;
  position: fixed;
}

.drawer-hamburger {
  position: relative;
  top: 10px;
  width: 34px;
}

.drawer-overlay {
  z-index: 2;
}

.flex_box {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  padding: 0;
}

.main_menu > li:first-of-type {
  margin-top: 90px;
}

.main_menu > li a {
  display: block;
  padding: 15px;
  font-size: 18px;
  border-bottom: 1px solid #f7f7f7;
}

.main_menu > li a:hover {
  transition: all 1.0s;
  background-color: #c6e57a;
}

.main_menu > .contact_link a {
  background-color: #8dc031;
  color: #fff;
}

.main_menu > .contact_link a:hover {
  background-color: #c6e57a;
}

.drawer-dropdown-menu-item {
  line-height: normal;
}

.drawer-dropdown-menu-item:hover {
  text-decoration: none;
}

/*================================================
 main_visual
=================================================*/

/* TOPページ */
.main_visual {
  background-size: cover;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 650px;
}

.main_visual_cover {
  background-color: rgba(181, 164, 86, 0.4);
  height: 650px;
  width: 100%;
  position: absolute;
  z-index: 1;
}

.main_text {
  color: #fff;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
  text-align: center;
  z-index: 2;
}

h1 {
  font-size: 40px;
  line-height: 1.625;
  margin-bottom: 40px;
}

.main_text > p {
  font-size: 18px;
  line-height: 1.7;
  width: 630px;
  margin: 0 auto;
}

/* 下層ページ */
.main_visual_under {
  background-size: cover;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 300px;
  background-position: center center;
}

.main_visual_about {
  background-image: url(https://www-user.yokohama-cu.ac.jp/~diagrad/wordpress/wp-content/uploads/2022/01/main_visual_about_2022.jpg);
}
.main_visual_news {
  background-image: url(https://www-user.yokohama-cu.ac.jp/~diagrad/wordpress/wp-content/uploads/2019/04/main_visual_news.jpg);
}
.main_visual_faq {
  background-image: url(https://www-user.yokohama-cu.ac.jp/~diagrad/wordpress/wp-content/uploads/2019/04/main_visual_faq.jpg);
}

.main_visual_access {
  background-image: url(../images/main_visual_access.jpg);
}

.main_visual_outline {
  background-image: url(../images/main_visual_outline.jpg);
}

.main_visual_training {
  background-image: url(https://www-user.yokohama-cu.ac.jp/~diagrad/wordpress/wp-content/uploads/2019/04/main_visual_training.jpg);
}
.main_visual_training_detail {
  background-image: url(https://www-user.yokohama-cu.ac.jp/~diagrad/wordpress/wp-content/uploads/2019/04/main_visual_training_detail.jpg);
}
.main_visual_research {
  background-image: url(https://www-user.yokohama-cu.ac.jp/~diagrad/wordpress/wp-content/uploads/2019/04/main_visual_research.jpg);
}

.main_visual_cover_under {
  background-color: rgba(181, 164, 86, 0.4);
  height: 300px;
  width: 100%;
  position: absolute;
  z-index: 1;
}

/*================================================
 news
=================================================*/

.news {
  background-color: #fff;
  padding: 87px 0 111px;
  text-align: center;
}

.news a,
.news a:visited,
.news a:hover {
  color: #333;
}

.news dd a:hover {
  opacity: 0.7;
}

.news dl {
  width: 750px;
  margin: 0 auto;
}

.news dl:first-of-type {
  margin-top: 45px;
}

.news dt {
  float: left;
  width: 186px;
  text-align: left;
  margin-top: 16px;
   margin-bottom: 16px;
}
.news dd {
	margin-top: 16px;
   margin-left: 186px;
	margin-bottom: 16px;
}
.news dl {
  border-top: 1px solid #818181;
  min-height: 70px;
  line-height: 30px;
  text-align: left;
}

.news .dl_last {
  border-bottom: 1px solid #818181;
}
.news_link {
	text-align:center;
	justify-content: space-between;
   display: flex;
   align-items: center;
}
.news_link a {
  font-size: 16px;
  background-color: #fff;
  display: block;
  padding: 28px 0px;
  border: 2px solid #333;
  width: 320px;
  margin: 52px auto 0;
	color:#333;
}

.news_link a::before,
.news_link a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}

.news_link a,
.news_link a::before,
.news_link a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.news_link a:hover {
  background-color: #333;
  color: #fff;
}

.news_link.news_single a {
  font-size: 13px;
}

.news_link.news_single .next {
  margin-left: auto;
}
/*================================================
 about
=================================================*/

.about {
  background-color: #f6f9ef;
  padding: 104px 0 140px;
}

.about ul {
  display: flex;
  flex-wrap: wrap;
  width: 1024px;
  margin-top: 54px;
}

.img_wrap {
  overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
  box-sizing: border-box;
  position: relative;
}

.img_row_1 {
  width: 512px;
}

.img_row_2 {
  width: 341px;
}

.img_row_3 {
  width: 342px;
}

.about_image {
  position: relative;
  display: block;
  text-align: center;
  text-decoration: none;
  outline: none;
  transition: all .2s;
}

.about_image::before,
.about_image::after,
.at_hover::before,
.at_hover::after {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2;
  content: '';
  width: 0;
  height: 0;
  border: 10px solid transparent;
}

.about_image:hover::before,
.about_image:hover::after,
.at_hover::before,
.at_hover::after {
  width: 100%;
  height: 100%;
}

.about_image:hover::before,
.at_hover::before {
  box-sizing: border-box;
  border-top-color: #8dc031;
  border-right-color: #8dc031;
  transition: width .4s, height .4s .4s;
}

.about_image:hover::after,
.at_hover::after {
  box-sizing: border-box;
  border-bottom-color: #8dc031;
  border-left-color: #8dc031;
  transition: height .4s, width .4s .4s;
}

.about_image img {
  transition-duration: 1.0s;
  width: 100%;
}

.about_text {
  display: block;
  position: absolute;
  height: 70px;
  background-color: rgba(255, 255, 255, 0.7);
  color: #333;
  font-weight: bold;
  font-size: 22px;
  bottom: 0;
  width: 100%;
  line-height: 70px;
  padding-left: 32px;
}

/*================================================
  contact
=================================================*/

.contact {
  padding: 52px 0 100px;
}

.contact .contents_contact {
  text-align: center;
}

form {
  max-width :655px;
  margin:0 auto;
  padding: 0 20px;
}

.item {
  overflow: hidden;
  margin-bottom: 20px;
}

.label {
  float: left;
  margin-right: 20px;
  width:135px;
  border-left: solid 3px #8dc031;
  padding-left: 10px;
}

.inputs {
  float: left;
  width:350px;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]:focus,
input[type="button"]:focus {
  outline-offset: -2px;
}

input[type="text"]:focus,
input[type="email"],
input[type="tel"],
textarea {
  outline: 0;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
  border: solid 1px #aaa;
  padding:10px;
  font-size: 16px;
}
textarea {
  border: solid 1px #aaa;
  padding: 10px;
  height: 160px;
  font-size: 16px;
}

.btn-area {
  text-align: center;
}

input[type="submit"] {
  font-size: 20px;
  background-color: #fff;
  cursor: pointer;
  display: block;
  padding: 20px 0px;
  border: 2px solid #689d38;
  width: 320px;
  margin: 52px auto 0;
}

input[type="submit"]::before,
input[type="submit"]::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}

input[type="submit"] ,
input[type="submit"]::before,
input[type="submit"]::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

input[type="submit"]:hover  {
  background-color: #689d38;
  color: #fff;
}

/*================================================
 pagetop
=================================================*/

#page_top {
  position: fixed;
  bottom: 20px;
  right: 20px;
}

#page_top i {
  padding-top: 6px
}

#page_top a {
  display: block;
  z-index: 999;
  border-radius: 5px;
  width: 70px;
  height: 55px;
  color: #fff;
  font-weight: bold;
  font-size: 26px;
  text-decoration: none;
  text-align: center;
  padding-top: 10px;
}

.topBtn {
  background: #8dc031;
}

.topBtn_training {
  background-color: #ffd400;
}

#page_top a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/*================================================
 footer
=================================================*/

.footer {
  padding-top: 40px;
  text-align: center;
  background: #8dc031;
  color: #fff;
}

.footer_logo {
  display: flex;
  justify-content: center;
}

.footer_logo img {
  margin-right: 12px;
}

.footer > ul {
  display: flex;
  justify-content: space-around;
  margin: 35px auto 68px;
  font-size: 16px;
  max-width: 870px;
}
.footer > ul {
  display: flex;
  justify-content: space-around;
  margin: 35px auto 0px;
  font-size: 16px;
  max-width: 870px;
}
.footer > ul.footer_list02 {
  display: flex;
  justify-content: space-around;
  margin: 20px auto 68px;
  font-size: 16px;
  max-width: 870px;
}
.footer_address {
  font-size: 14px;
  line-height: 1.57;
  margin-bottom: 33px;
}

.footer_copyright {
  height: 47px;
  line-height: 47px;
  background: #fff;
  color: #333;
  font-size: 12px;
}

.footer a,
.footer a:visited,
.footer a:hover {
  color: #fff;
}

.footer a:hover {
  opacity: 0.8;
}

.footer_logo a:hover {
  opacity: 1.0;
}

/*================================================
 下層ページ
=================================================*/

/* 下層共通 */
.contents_section {
  padding: 52px 0;
}

.contents_list {
  width: 750px;
  line-height: 1.4;
  margin: 0 auto 80px;
  flex-wrap: wrap;
}

.contents_list li {
  margin-bottom: 8px;
}

.contents_introduction {
  max-width: 750px;
  text-align: left;
  margin: 40px auto 80px;
  line-height: 1.875;
}

.contents_list h3 {
  color: #333;
  font-size: 22px;
  font-weight: bold;
  padding-left: 32px;
  background-image: url('../images/heading_shape.jpg');
  background-position: left 0 center;
  background-repeat: no-repeat;
  margin-bottom: 16px;
  margin-top: 32px;
}

.contents_list .contents_row_1 {
  margin-bottom: 78px;
}

.contents_list .contents_row_2 {
  margin-bottom: 94px;
}

.contents_item li {
  margin-top: 21px;
}

.contents_item a {
  color: #333;
}

.contents_item a:hover {
  opacity: 0.7;
}

/* スタッフ紹介ページ */
.changeElem_btn_content {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  margin: 40px auto 0px;
  max-width: 750px;
}

.change_elem_btn {
  border: 2px solid #8dc031;
  background-color: #fff;
  border-radius: 10px;
  color: #333;
  cursor: pointer;
  display: inline-block;
  font-size: 18px;
  padding: 20px;
  position: relative;
  transition: all .3s ease-in-out;
  vertical-align: middle;
}

.change_elem_btn.is-active {
  background: #8dc031;
  border: 2px solid #8dc031;
  box-sizing: border-box;
  color: #fff;
}

.change_elem_btn {
  margin-bottom: 0;
}

.change_elem_panel{
  display: none;
}

.staff_list {
  width: 750px;
  margin: 28px auto;
  flex-wrap: wrap;
  justify-content: space-between;
}

.staff_list_item {
  background-color: #f1f1f1;
  margin: 20px 0;
}

.staff_profile {
  padding: 20px;
  margin-bottom: 0;
  width: 750px;
}

.staff_first {
  margin-top: 30px;
}

.staff_others {
  width: 350px;
  padding: 20px;
  box-sizing: border-box;
}

.staff_list_item h2 span {
  border-top: 1px solid #d8d8d8;
  display: inline-block;
  padding-top: 32px;
  width: 710px;
}

.staff_list_item h3 {
  font-size: 22px;
  margin-top: 12px;
}

.staff_list_item dl:first-of-type {
  margin-top: 30px;
}
.staff_list_item dt {
  margin-bottom: 8px;
  padding-left: 10px;
  border-left: 3px solid #8dc131;
  font-size: 12px;
  font-weight: bold;
}
.flex_box p {
  font-size: 13px;
}

.staff_list_item dl {
  margin-top: 18px;
}

.staff_list_item dl:last-of-type {
  margin-top: 18px;
}

.staff_list_item dd {
  margin-bottom: 3px;
	font-size: 13px;
}

.staff_ttitle {
  margin-top:12px;
}

.staff_image {
  width: 320px;
  height: 200px;
  margin-bottom: 24px;
}

.greeeting_text {
  font-size: 12px;
  line-height: 1.8;
  max-width: 750px;
  margin: 20px auto;
  text-align: left;
}

/* 研修・入局ページ */
.training_color_main {
  background-color: #ffd400;
}

.contents_title > .training_color_sub {
  color: #dbbb1f;
}

.training_color_sub > li a:hover {
  background-color: #dbbb1f;
}

.training_color_sub > .contact_link_training a {
  background-color: #dbbb1f;
  color: #fff;
}

.training_color_sub > .contact_link_training a:hover {
  background-color: #ffd400;
}

.contents_list .training_heading {
  background-image: url('../images/training_heading_shape.jpg');
}

.training_title {
  margin-bottom: 60px;
}

.training_contents a {
  color: #777;
}

.training_heading_sub {
  color: #dbbb1f;
  font-size: 18px;
  font-weight: bold;
  margin-top: 20px;
}

.training_introduction {
  margin-top: 20px;
}

.first_sub {
  margin-top: 0px;
}

/* 研修内容 */
.flex_detail {
  display: flex;
}

.flex_detail > .training_introduction:first-of-type {
  margin-right: 30px;
}

.training_introduction img {
  width: 100%;
}

/* faq */
.qa_list {
  display: flex;
  justify-content: space-between;
  max-width: 750px;
  margin: 40px auto 80px;
  line-height: 1.8;
  list-style: disc;
  padding-left: 60px;
  flex-wrap: wrap;
  background: #fafafa;
  padding: 50px;
}

.qa_list li {
  width: 50%;
}

.qa_list a,
.qa_list a:hover {
  color: #333;
}

.qa_list a:hover {
  opacity: 0.7;
}

/* 業績ページ */
.list_btn {
  margin-top: 60px;
  padding: 20px 80px;
}

.report_list:first-of-type {
  margin-top: 80px;
}

.contents_list dd {
  margin-bottom: 16px;
}

/* アクセスページ */
.access_title {
  color: #8dc031;
  margin-bottom: 10px;
  font-weight: bold;
}

.access_text {
  line-height: 1.8;
}
.googlemap {
  font-size: 12px;
  background: #8dc131;
  padding: 10px;
  color: #fff!important;
  margin: 10px 0 50px;
  display: block;
  width: 100px;
  text-align: center;
}

/* 新着 */
.date{
  text-align: right;
  margin: 20px;
  font-size: 12px;
}

.center iframe {
  width: 750px;
}

/*================================================

SP：width325px以上〜768px以下で表示

=================================================*/

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

.sp_none {
  display: none;
}

.pc_none {
  display: block;
}

.contents_area {
  margin: 0 auto;
  min-width: 300px;
}

.contents_title {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}

.contents_title > span {
  display: block;
  font-size: 10px;
  margin: 12px auto 0;
  width: 90%;
}

/*================================================
  header
=================================================*/

.header {
  height: 60px;
  padding: 0 10px;
}

.header_logo img {
  width: 42px;
  margin: 12px 8px 0;
}

.header_title {
  margin-top: 10px;
}

.main_menu > li:first-of-type {
  margin-top: 60px;
}

.main_menu > li a {
  font-size: 12px;
  padding: 16px;
}

.main_menu > li a:hover {
  background-color: #fff;
}

.main_menu > .contact_link a:hover {
  background-color: #8dc031;
}

.univ_name {
  font-size: 14px;
}

.dep_name {
  font-size: 18px;
  margin-top: 4px;
}

.drawer-hamburger {
  position: relative;
  top: 0;
}

/*================================================
  main_visual
=================================================*/

.main_visual,
.main_visual_cover {
  height: 400px;
}

.main_visual {
  background-position: center center;
}

h1 {
  font-size: 24px;
  margin: 0 auto 20px;
  width: 80%;
}

.main_text > p {
  font-size: 14px;
  line-height: 1.6;
  width: 75%;
  margin: 0 auto;
}

/*================================================
 news
=================================================*/

.news {
  padding: 48px 0 60px;
  width: 90%;
  margin: 0 auto;
}

.news dl,.contents_section.news dl {
  min-height: 60px;
  width: 100%;
  margin-bottom: 5px;
}

.news dt {
  font-size: 13px;
  float: none;
  line-height: normal;
  margin-top: 10px;
}

.news dd {
  font-size: 13px;
	margin-left: 0;
  line-height: normal;
}

.news_link a {
  padding: 14px 0px;
  width: 200px;
  margin: 40px auto 0;
}
.news_link.news_single a {
  width: 150px;
	font-size: 12px;
}

/*================================================
 about
=================================================*/

.about {
  background-color: #f6f9ef;
  padding: 52px 0 50px;
}

.about ul {
  display: block;
  width: 100%;
  margin: 27px auto 0;
}

.img_wrap {
  width: 90%;
  margin: 0 auto 28px;
}

.img_wrap:last-of-type {
  margin-bottom: 0px;
}

.about img {
  height: 200px;
  object-fit: cover;
}

.about_text {
  background-color: rgba(255, 255, 255, 0.9);
  height: 60px;
  font-size: 18px;
  line-height: 60px;
  padding-left: 0;
  text-align: center;
}

.img_wrap::before,
.img_wrap::after,
.at_hover::before,
.at_hover::after {
  border: none;
}

/*================================================
 contact
=================================================*/

.item {
  margin-bottom: 30px;
  width: 100%;
}

.inputs {
  float: none;
  width: 100%;
  box-sizing: border-box;
}

.label {
  margin-bottom: 10px;
}

input[type="submit"] {
  font-size: 20px;
  background-color: #fff;
  cursor: pointer;
  display: block;
  padding: 20px 0px;
  border: 2px solid #689d38;
  width: 100%;
  margin: 52px auto 0;
}


/*================================================
  footer
=================================================*/

.footer {
  padding-top: 30px;
}

.footer_title {
  margin-top: 8px;
}

.footer > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px auto 0px;
  font-size: 14px;
  max-width: 300px;
}
.footer > ul.footer_list02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0px auto 30px;
  font-size: 14px;
  max-width: 300px;
}

.footer_item {
  margin: 10px 16px 10px 0px;
}

.footer_item:last-of-type {
  margin-right: 0;
}

.footer_address {
  font-size: 12px;
  line-height: 1.5;
  margin: 0 auto 20px;
  width: 80%;
}

.footer_copyright {
  height: 32px;
  line-height: normal;
  font-size: 8px;
  padding: 4px 0;
}

/*================================================
  下層ページ
=================================================*/

.main_under {
  width: 100%;
}

.under_title > span {
  line-height: 1.6;
  width: 90%;
  margin: 20px auto 0;
  font-size: 13px;
}

.contents_introduction {
  width: 90%;
  margin: 20px auto 40px;
}

.contents_list .contents_introduction {
  width: 100%;
}

.contents_list {
  display: block;
  width: 90%;
  margin-bottom: 0;
}
.contents_list li {
  width: 100%;
}
.contents_list img {
  width: 100%;
}

.contents_list > li {
  margin-bottom: 60px;
}

.contents_section dl {
  margin-bottom: 60px;
}

.contents_list > dt > h3,
.contents_list > li > h3,
.fac_list > h3 {
  font-size: 18px;
  line-height: 1.2;
}

.contents_item li {
  margin-top: 16px;
}

.changeElem_btn_content {
  width: 90%;
  margin: 40px auto 0;
	flex-flow:row nowrap;
}

.list_btn {
  margin-top: 0;
	padding:10px 30px;
}

.change_elem_btn {
/*  margin-bottom: 20px;*/
}

/* スタッフ紹介 */
.staff_list {
  width: 100%;
  justify-content: center;
	  margin: 28px auto 0;
}

.staff_list_item h2 span {
  font-size: 16px;
  width: 90%;
}

.staff_profile {
  width: 100%;
  flex-wrap: wrap;
	padding:10px;
}

.staff_profile li {
  margin-bottom: 10px;
}

.staff_image {
  margin-top: 30px;
  width: 100%;
  height: auto;
}
.staff_image img {
  width: 100%;
}

.staff_list_item h3 {
  font-size: 18px;
}

.staff_list_item {
  width: 90%;
}

.staff_others {
  padding: 20px;
  width: 100%;
}

.staff_others > dl {
  margin-bottom: 10px;
}

/* 研究・業績 */
.report_list {
  margin-bottom: 10px;
}

.report_list:first-of-type {
  margin-top: 0;
}

.change_elem_panel dl {
  margin-bottom: 20px;
}

.change_elem_panel dl:last-of-type {
  margin-bottom: 0;
}

/* 研修・入局 */
.contents_list .contents_row_1,
.contents_list .contents_row_2 {
  margin-bottom: 60px;
}

.contents_title > .training_color_sub {
  font-size: 16px;
}

.training_color_sub > .contact_link_training a:hover {
  background-color: #dbbb1f;
}

.training_title {
  margin-bottom: 30px;
}

/* 研修内容 */
.flex_detail {
  display: block;
}

.flex_detail > .training_introduction {
  margin-right: 0;
}

.training_introduction img {
  width: 100%;
}


/* faq */
.qa_list {
  display: block;
}

.qa_list li {
  width: 100%;
}

/* アクセス */
.fac_list p:last-of-type {
}
}

.center iframe {
  width: 100%;
}


/*================================================
  contactform7
=================================================*/
.form {
  margin: 30px;
}
.form p {
  margin-top: 30px;
}

/* 必須マーク */
.must{
	color: #fff;
	margin-right: 10px;
	padding: 6px 10px;
	background: #F92931;
	border-radius: 20px;
}

/* 任意マーク */
.free {
	color: #fff;
	margin-right: 10px;
	padding: 6px 10px;
	background: #424242;
	border-radius: 20px;
}

/* 項目名を太字にする */
form p {
	font-weight: 600;
}

/* 入力項目を見やすくする */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 必須項目の入力欄を黄色にする */
input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
	background: rgba(255, 255, 142, 0.46);
}

/* 送信ボタンを見やすくする */
input.wpcf7-submit {
	width: 100%;
	height: 80px;
	background: #8dc031;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
}

/* エラーメッセージを見やすくする */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}