/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/
.zen-old-mincho-regular {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
.zen-old-mincho-medium {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  font-style: normal;
}
.zen-old-mincho-semibold {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-style: normal;
}
.zen-old-mincho-bold {
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  font-style: normal;
}

.zen-old-mincho-black {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-style: normal;
}
.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/******************************/
/** カラー管理 **/
/******************************/
:root {
  --main-color: #00533a;
  --accent-color: #c7a633;
  --text-color: #333;

  /* main-color：#00533a → RGB(0, 83, 58) */
  --main-color20: rgba(0, 83, 58, 0.2);
  --main-color30: rgba(0, 83, 58, 0.3);
  --main-color40: rgba(0, 83, 58, 0.4);
  --main-color50: rgba(0, 83, 58, 0.5);

  /* accent-color：#c7a633 → RGB(199, 166, 51) */
  --accent-color20: rgba(199, 166, 51, 0.2);
  --accent-color30: rgba(199, 166, 51, 0.3);
  --accent-color40: rgba(199, 166, 51, 0.4);
  --accent-color50: rgba(199, 166, 51, 0.5);
}

.sample {
color: var(--main-color);
color: var(--accent-color);
}



/******************************/
/** グローバルヘッダー **/
/******************************/

/*　グローバルメニュー　*/
.global-nav-list>li .global-nav-name{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

/*　グローバルメニュー　問い合わせボタン　*/
.global-nav-list > li:last-child a {
  position: relative;
  color: #fff;
  width: 135px;
  height: 100px;
  background: linear-gradient(35deg, var(--accent-color), var(--main-color)60%);
  overflow: hidden;
}

.header_scrolled .global-nav-list > li:last-child a {
  width: 135px;
  height: 75px;
	padding-right:30px;
}

.global-nav-list > li:last-child{
	margin-left:20px;
}
/* 擬似要素で単色背景をかぶせておく */
.global-nav-list > li:last-child a::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: var(--accent-color);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0;
}
@media screen and (min-width: 781px) {/* スマホ&タブレットでホバー停止 */
/* hover時にふわっと単色を上からかぶせる */
.global-nav-list > li:last-child a:hover::before {
  opacity: 1;
}
}
/* 文字などは上に表示 */
.global-nav-list > li:last-child a > * {
  position: relative;
  z-index: 1;
}

.site-header-container{
max-width:100%;
padding-right:0;
padding-left:3vw;
display: flex!important;
align-items: center;
}

.site-header-logo{
max-width:430px;
width:70vw;
	
}
.site-header{
	min-height:60px;
	display: flex!important;
align-items: center;
}
/******************************/
/** ページヘッダー **/
/******************************/
.page-header{
height:200px;
}
.page-header-title{
font-family: "Zen Old Mincho", serif;
font-weight: 300!important;
color: var(--main-color);
font-style: normal;
position: relative;
display: inline-block;
padding: 0 55px 5px 55px;
}

.page-header-title:before,
.page-header-title:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 40px;
    height: 1px;
    background-color: var(--main-color);
}

.page-header-title:before {
    left: 0;
}

.page-header-title:after {
    right: 0;
}

@media screen and (max-width: 480px) {
.page-header{
height:150px;
}
}
/******************************/
/** TOPページ **/
/******************************/
.top-about{
margin-top: -50px!important;
background-color: #fff;
padding: 35px 35px 45px 35px;
max-width: 730px;
margin-left:auto;
margin-right:auto;
box-shadow: 7px 7px 14px 0px rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 781px) {
.top-about{
padding: 30px 30px 40px 30px;
}
}
@media screen and (max-width: 480px) {
.top-about{
padding: 25px 25px 30px 25px;
}
}

/* コンテンツ部分 */
.top-con-box{
max-width: 1100px;
margin-left:auto;
margin-right:auto;
}
.top-con-cols{
height: 210px;
background-color: #fff;
column-gap:0;
}
.top-con-cols .wp-block-column:last-child{
padding:20px 5px;
}

.top-con-cover{
min-height: 210px!important;
}
.top-con-h3{
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size:28px;
color: var(--main-color);
margin-bottom:20px!important;
}
.top-con-two-clm {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  will-change: transform, box-shadow;
}
@media screen and (min-width: 781px) {/* スマホ&タブレットでホバー停止 */
.top-con-two-clm:hover {/* マウスホバー時のふわっと左上＋影 */
  transform: translate(-6px, -6px);
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.3);
}
}
.top-con-txt{
font-size:16px;
line-height:26px;
}
@media screen and (max-width: 991px) {
.top-con-h3{
font-size:20px;
}
.top-con-txt {
font-size:13px;
line-height:23px;
}
.top-con-cols{
height: 150px;
}
.top-con-cover{
min-height: 150px!important;
}
}

@media screen and (max-width: 781px) {
.top-con-h3{
font-size:min(5vw,20px)!important;
margin-bottom:10px!important;
}
.top-con-txt {
font-size:min(3vw,14px)!important;
line-height:min(5vw,24px)!important;
}
.top-con-cols{
height: 30vw;
}
.top-con-cover{
min-height: 30vw!important;
}
.top-con-box .top-con-four-clm{
gap:15px!important;
}
}

@media screen and (max-width: 599px) {
.top-con-cols{
height: 35vw;
}
.top-con-cover{
min-height: 35vw!important;
}
}
/* ニュース部分 */
.top-news-list .postListText{
	    padding:1.2rem 0;
}

/******************************/
/** リサーチ **/
/******************************/
.research-col h3{
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-style: normal;
font-size:30px;
color: var(--main-color);
  position: relative;
  padding-left: 25px; /* 擬似要素の幅＋余白 */
	margin-bottom:20px!important;
}
.research-col h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 100%;
  background-color: var(--accent-color);
}

.research-prof-name{
	font-size:26px;
	font-weight:600!important;
	border-bottom:1px solid #000;
	padding-bottom:10px;
	margin-bottom:15px;
	letter-spacing:.2rem;
}
.research-prof-name em{
	font-style:normal;
	font-size:16px;
	font-weight:400!important;
	letter-spacing:0;
}
.research-prof-department,
.research-prof-specialty{
	margin-bottom:0!important;
}

.research-prof-awards-title{
	font-size:15px;
	margin-bottom:0;
	background-color:#E6E6E6;
	display:inline-block;
	color:#000;
	font-weight:500;
	margin-bottom:10px!important;
	padding:0 10px;
	border-radius:20px;
}
.research-prof-awards-detail a{
    color: #4ea4ff;
    text-decoration: underline;
}
.theme-col{
	border:1px solid var(--main-color30);
	background-color:#fff!important;
	padding:30px 30px;
box-shadow: 7px 7px 14px 0px rgba(0, 0, 0, 0.3);
}
.research-col .wp-block-image{
border-radius:5px;
margin-bottom:10px;
overflow:hidden;
}
.theme-col .research-prof-acco-theme{
	font-size:14px;
	background-color:var(--main-color);
	display:inline-block;
	color:#fff;
	padding:3px 20px 5px 20px;
	border-radius:20px;
	letter-spacing:.2rem;
}
.theme-col h3{
	font-size:26px;
	font-weight:600!important;
	border-bottom:1px solid #000;
	padding-bottom:15px;
	margin-bottom:15px;
}
.theme-col .caption{
	font-size:14px;
line-height:22px;
	font-weight:600;
}
.theme-col .caption2{
	font-size:14px;
line-height:22px;
	font-weight:400;
}
.theme-col .wp-block-image{
border-radius:5px;
margin-bottom:5px!important;
overflow:hidden;
}
@media screen and (max-width: 991px) {
.research-left{
flex-basis:55%!important;
}
.cap-image-col{
    flex-direction: column !important;	
}
.cap-image-col .wp-block-column{
    flex-basis: 100% !important;
    max-width: 100% !important;
}
}
@media screen and (max-width: 781px) {
.research-col .wp-block-image{
max-width:250px;
height:67vw;
max-height:250px;
width:80%;
margin-left:auto;
margin-right:auto;
}
.research-col h3{
font-size:26px;
line-height:38px;
margin-bottom:20px!important;
}
.research-prof-name{
font-size:26px;
padding-bottom:10px;
margin-bottom:15px;
}
.research-prof-name em{
font-size:16px;
}
.research-prof-awards-title{
font-size:15px;
}
.theme-col{
padding:30px 30px;
}
.theme-col .research-prof-acco-theme{
font-size:14px;
}
.theme-col h3{
font-size:22px;
line-height:34px;
padding-bottom:15px;
margin-bottom:15px;
}
.theme-col .caption{
font-size:13px;
}
.theme-col .caption2{
font-size:13px;
}
}
@media screen and (max-width: 480px) {
.research-col h3{
font-size:24px;
line-height:34px;
margin-bottom:15px!important;
}
.research-prof-name{
font-size:24px;
padding-bottom:5px;
margin-bottom:10px;
}
.research-prof-name em{
font-size:14px;
}
.research-prof-awards-title{
font-size:14px;
}
.theme-col{
padding:20px 20px;
}
.theme-col h3{
font-size:20px;
line-height:32px;
padding-bottom:13px;
margin-bottom:7px;
}
.theme-col .caption{
font-size:13px;
}
.theme-col .caption2{
font-size:13px;
}
}
/******************************/
/** サマリー **/
/******************************/
/* カリキュラム */
/* 上の見出し一列 */

.curriculum-h4{
	font-size:20px;
	background-color:var(--main-color);
	display:inline-block;
	color:#fff;
	padding:5px 30px 8px 30px;
	border-radius:20px;
	letter-spacing:.2rem;
}
.curriculum2-h4{
	background-color:#9D3A2D;
}
.curriculum {
border-color:#DCDCDC;
}
.curriculum thead {
border-bottom:10px;
}
.curriculum thead th {
  background-color: var(--main-color20);
  font-weight: bold;
  text-align: center;
}
.curriculum2 thead th {
  background-color: #EFDAD2;
}

/* 上の見出しの左 */
.curriculum thead th:first-child {
border-right:1px solid #fff;
}

/* 左一列（見出し＋コンテンツ） */
.curriculum thead th:first-child,
.curriculum tbody td:first-child {
	width:200px!important;
}

/* 下のコンテンツの左全部（1列目） */
.curriculum tbody td:first-child {
  background-color: #F5F5F5;
  font-weight: 500;
  vertical-align: top;
	line-height:25px;
}

/* 下のコンテンツの右全部（2列目） */
.curriculum tbody td:last-child {
  background-color: #ffffff;
  vertical-align: top;
		line-height:25px;
}

/* 教員一覧 */
.faculty-member-grid{
row-gap:70px!important;
}
.faculty-member-grid-group {
  height: 100%;
	position:relative;
	padding-bottom:40px;
}
.faculty-member-grid-group .vk_button {
  position:absolute;
	bottom:0;
}
.faculty-member-grid-group img{
	margin-bottom:20px;
	border-radius:10px;
}
.faculty-member-name{
	font-size:18px;
	font-weight:600!important;
	border-bottom:1px solid #000;
	padding-bottom:5px;
	margin-bottom:10px!important;
}
.faculty-member-name em{
	font-style:normal;
	font-size:14px;
	font-weight:400!important;
}
.specialty-field-midashi{
	font-size:12px;
	margin-bottom:0;
	background-color:#E6E6E6;
	display:inline-block;
	color:#000;
	font-weight:500;
	margin-bottom:10px!important;
	padding:0 10px;
	border-radius:20px;
}
.specialty-field-detail{
	font-size:15px;
	line-height:24px;
}
@media screen and (max-width: 781px) {
.curriculum-h4{
	font-size:16px;
	padding:5px 30px 8px 30px;
	border-radius:20px;
}
/* 左一列（見出し＋コンテンツ） */
.curriculum3 thead {
display:none;
}
.curriculum3 tr:first-child,
.curriculum3 td{
border-top:none!important;
}	
}
@media screen and (max-width: 480px) {
/* 左一列（見出し＋コンテンツ） */
.curriculum thead th:first-child,
.curriculum tbody td:first-child {
	width:120px!important;
}
.faculty-member-name{
	font-size:16px;
}
.faculty-member-name em{
	font-size:12px;
}
.specialty-field-midashi{
	font-size:12px;
}
.specialty-field-detail{
	font-size:13px;
	line-height:20px;
}
}


/******************************/
/** 座談会・インタビュー **/
/******************************/
.conversation-terme{
font-family: "Zen Old Mincho", serif;
font-weight: 500;
font-style: normal;
font-size:36px;
line-height:48px;
color: var(--main-color);
}
.speaker-label{
	font-size:12px;
	margin-bottom:0;
	background-color:var(--main-color);
	display:inline-block;
	color:#fff;
	font-weight:700;
	margin-bottom:10px!important;
	padding:0 10px;
	border-radius:20px;
}
.speaker-role{
	font-size:14px;
	margin-bottom:0!important;
}
.speaker-name{
font-size:18px;
font-weight:600;
margin-bottom:15px!important;
padding-bottom:10px;
border-bottom:1px solid #000;
}
.speaker-meta{
	font-size:14px;
	line-height:20px;
}
.speaker-img-col .wp-block-image{
	border-radius:5px!important;
	overflow:hidden;
}
.interview-h3{
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
padding-bottom:15px;
color: var(--main-color);
border-bottom:1px solid var(--accent-color);
margin-bottom:40px!important;
}

.interview strong{
	  font-weight: 500;
	color: #BC5513;
}
.interview p{
	font-size:16px;
	line-height:30px;
}
.interview-img{
	border-radius:5px!important;
	width:40%;
	overflow:hidden;
}
.interview-img2{
	border-radius:5px!important;
	overflow:hidden;
}
/* メッセージ */
.message-group{
	border:1px solid var(--main-color30);
	background-color:#fff!important;
	padding:50px;
box-shadow: 7px 7px 14px 0px rgba(0, 0, 0, 0.3);
}
.message-name{
font-size:18px;
font-weight:600;
margin-bottom:15px!important;
padding-bottom:10px;
border-bottom:1px solid #000;
}
.message-img-col .wp-block-image{
border-radius:5px;
overflow:hidden;
}


@media screen and (max-width: 991px)and (min-width: 481px){
.speaker-col{
flex-direction: column !important;
}
.speaker-col .wp-block-column {
flex-basis: 100% !important;
max-width: 100% !important;
}
.speaker-img-col{
text-align:center;
}
.speaker-img-col .wp-block-image{
width:150px;
height:175px;
margin-left:auto;
margin-right:auto;
}
}

@media screen and (max-width: 781px) {
.conversation-terme{
font-size:32px;
line-height:44px;
}
.speaker-img-col{
flex-basis:100px!important;	
}
.interview-h3{
margin-bottom:30px!important;
}
.interview-img{
	width:100%!important;
}
.message-group{
padding:40px 30px;
}
.message-img-col{
flex-basis:100px!important;
}
}

@media screen and (max-width: 480px) {
.speaker{
flex-direction: column !important;
}
.speaker-single {
flex-basis: 100% !important;
max-width: 100% !important;
}
.conversation-terme{
font-size:28px;
line-height:40px;
}
.speaker-img-col{
flex-basis:100px!important;	
}
.interview-h3{
font-size:19px;
margin-bottom:20px!important;
}
.interview p{
	font-size:14px;
	line-height:26px;
}
.message-group{
padding:35px 20px;
}
.message-img-col{
flex-basis:70px!important;
}
}
/******************************/
/** faq **/
/******************************/
.faq .vk_faq_title{
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: normal;
font-size:18px;
line-height:24px;
padding:20px 40px;
}
.faq .vk_faq .vk_faq_title:before {
top: 1.1rem;
font-size: 22px;
line-height: 105%;
width: 2.1rem;
height: 2.1rem;
line-height: 2.1rem;
font-family: "Zen Old Mincho", serif;
font-weight: 500;
font-style: normal;
}
.faq .vk_faq .vk_faq_content:before {
top: 1.7rem;
font-size: 22px;
line-height: 105%;
width: 2.1rem;
height: 2.1rem;
line-height: 2.1rem;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
color: var(--main-color);
}
.faq .vk_faq-accordion-open .vk_faq_content{
padding-top:30px;
padding-bottom:30px;
}
.faq .vk_faq-accordion-open .vk_faq_content p{
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
font-size:16px;
line-height:30px!important;
}

.faq a{
    color: #4ea4ff;
    text-decoration: underline;
}

@media screen and (max-width: 480px) {
.faq .vk_faq_title{
font-size:16px;
line-height:20px;
}
.faq .vk_faq .vk_faq_title:before {
top: 1.2rem;
}
.faq .vk_faq-accordion-open .vk_faq_content p{
font-size:14px;
line-height:28px!important;
}
.faq .vk_faq .vk_faq_content:before {
top: 2rem;
}
}
/******************************/
/** フッター **/
/******************************/
.site-footer{
	display:none;
}
.copy-right{
margin-bottom:-10px!important;
font-size:11px;
line-height:22px;
}
.site-body-bottom{
background: linear-gradient(35deg, var(--accent-color), var(--main-color)60%);
color:#fff;
}
.fotter-name{
font-size:28px;
line-height:38px;
font-weight: 400;
}
.fotter-tel{
font-size:20px;
line-height:26px;
}
@media screen and (max-width: 781px) {
.fotter-name{
text-align:center!important;
}
.fotter-tel{
text-align:center;
}
}

@media screen and (max-width: 480px) {
.fotter-name{
font-size:min(7.5vw,28px)!important;
}
}
/******************************/
/** ブログ **/
/******************************/
.sub-section h4{
font-size:18px;
font-weight:500;
margin-bottom:15px!important;
padding-bottom:10px;
border-bottom:1px solid #000;
}
.vk_posts .postListText {
    padding: 1.2rem 1.1rem;
    border-bottom: 1px dotted #ccc;
}

/******************************/
/** 見出し **/
/******************************/
.h2-design01{
font-size:36px;
line-height:48px;
font-family: "Zen Old Mincho", serif;
font-weight: 500;
font-style: normal;
margin-bottom:25px!important;
}
.h2-design01::after{
  content: "";
  display: block;
  width: 130px;
  height: 3px;
  background-color: var(--main-color);
  margin: 20px auto 0!important; /* ← ここで調整 */
}

@media screen and (max-width: 781px) {
.h2-design01{
font-size:30px;
line-height:40px;
margin-bottom:25px!important;
}
}
@media screen and (max-width: 480px) {
.h2-design01{
font-size:min(11vw,26px)!important;
line-height:36px;
margin-bottom:25px!important;
}
}

/******************************/
/** テキスト本文 **/
/******************************/
.text-p01{
font-size:16px;
line-height:26px;
}
.text-p02{
font-size:16px;
line-height:29px;
}
.text-p03{
font-size:18px;
line-height:36px;
}
.text-p04{
font-size:20px;
line-height:36px;
}
@media screen and (max-width: 781px) {
.text-p01,.text-p02,.text-p03,.text-p04{
text-align:left;
}
.text-p03,.text-p04{
font-size:16px;
line-height:30px;
}
}	
@media screen and (max-width: 480px) {
.text-p01,.text-p02,.text-p03,.text-p04{
font-size:14px;
line-height:26px;
}
}

/******************************/
/** ボタン **/
/******************************/
.arrow-btn .vk_button_link_txt{
color: var(--main-color);
}
.arrow-btn .vk_button_link.is-style-outline {
 position: relative;
 z-index: 0; 
 border-radius: 0;
 padding: 12px 35px;
 letter-spacing: 0.1em;
 max-width: 240px;
width:80%;
border:1px solid var(--main-color);
}
.arrow-btn .vk_button_link.is-style-outline::before {
 content: '';
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 width: 0;
 height: 100%;
 background-color: var(--main-color);
 z-index: -1;
 transition: .3s;
}

@media screen and (min-width: 781px) {/* スマホ&タブレットでホバー停止 */
.arrow-btn .vk_button_link.is-style-outline:hover::before {
 width: 100%;
}
}
.arrow-btn .vk_button_link.is-style-outline .vk_button_link_caption::before {
 content: '';
 position: absolute;
 display: block;
 width: 80px;
 height: 1px;
 bottom: 50%;
 right: -45px;
 border-bottom: solid 2px var(--main-color);
}
.arrow-btn .vk_button_link.is-style-outline .vk_button_link_caption:after {
 content: '';
 position: absolute;
 display: block;
 width: 14px;
 height: 2px;
 background: var(--main-color);
 bottom: calc(50% + 5px);
 right: -45px;
 transform: rotate(45deg);
}
@media screen and (min-width: 781px) {/* スマホ&タブレットでホバー停止 */
.arrow-btn .vk_button_link.is-style-outline:hover {
 opacity: unset;
 box-shadow: unset;
 background-color:  transparent !important;
 border: solid 1px var(--main-color);
}
}
@media screen and (max-width: 480px) {
.arrow-btn .vk_button_link.is-style-outline .vk_button_link_caption::before {
 width: 60px;
 right: -35px;
}
.arrow-btn .vk_button_link.is-style-outline .vk_button_link_caption:after {
 right: -35px;
}
}


/*　フッターコンタクトボタン　*/
.fotter-contact-btn .vk_button_link_txt,
.fotter-contact-btn i{
color: #fff;
}
.fotter-contact-btn .vk_button_link.is-style-outline {
 position: relative;
 z-index: 0; 
 border-radius: 0;
 padding: 16px 35px;
 letter-spacing: 0.1em;
 max-width: 300px;
border:1px solid #fff;
}
.fotter-contact-btn .vk_button_link.is-style-outline::before {
 content: '';
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 width: 0;
 height: 100%;
 background-color:#fff;
 z-index: -1;
 transition: .3s;
}
@media screen and (min-width: 781px) {/* スマホ&タブレットでホバー停止 */
.fotter-contact-btn .vk_button_link.is-style-outline:hover::before {
 width: 100%;
}
.fotter-contact-btn .vk_button_link.is-style-outline:hover {
opacity: unset;
box-shadow: unset;
background-color:  transparent !important;
border: solid 1px #fff;
}
.fotter-contact-btn .vk_button_link.is-style-outline:hover .vk_button_link_txt,
.fotter-contact-btn .vk_button_link.is-style-outline:hover i{
	color:var(--main-color)!important;
}
}

/*　教員一覧ボタン　*/
.faculty-member-grid-group .vk_button_link_txt,
.faculty-member-grid-group i,
.research-btn .vk_button_link_txt,
.research-btn i{
color: var(--main-color);
font-size:13px;
}
.faculty-member-grid-group .vk_button_link.is-style-outline,
.research-btn .vk_button_link.is-style-outline{
 position: relative;
 z-index: 0; 
 border-radius: 0;
 padding: 4px 15px 8px 15px;
 max-width: 300px;
border:1px solid var(--main-color);
}
.faculty-member-grid-group .vk_button_link.is-style-outline::before,
.research-btn .vk_button_link.is-style-outline::before {
 content: '';
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 width: 0;
 height: 100%;
 background-color:var(--main-color);
 z-index: -1;
 transition: .3s;
}
@media screen and (min-width: 781px) {/* スマホ&タブレットでホバー停止 */
.faculty-member-grid-group .vk_button_link.is-style-outline:hover::before,
.research-btn .vk_button_link.is-style-outline:hover::before{
 width: 100%;
}

.faculty-member-grid-group .vk_button_link.is-style-outline:hover,
.research-btn .vk_button_link.is-style-outline:hover{
opacity: unset;
box-shadow: unset;
background-color:  transparent !important;
border:1px solid var(--main-color);
}
.faculty-member-grid-group .vk_button_link.is-style-outline:hover .vk_button_link_txt,
.faculty-member-grid-group .vk_button_link.is-style-outline:hover i,
.research-btn .vk_button_link.is-style-outline:hover .vk_button_link_txt,
.research-btn .vk_button_link.is-style-outline:hover i{
	color:#fff;
}
}
@media screen and (max-width: 480px) {
.faculty-member-grid-group .vk_button_link_txt,
.faculty-member-grid-group i,
.research-btn .vk_button_link_txt,
.research-btn i{
color: var(--main-color);
font-size:11px;
}
}
/******************************/
/** モバイルナビ **/
/******************************/
/*モバイルナビ　閉じてる時*/
.vk-mobile-nav-menu-btn {
	border: none;
	background-image:
		url(https://sojutsu.meijo-u.ac.jp/wp-content/themes/lightning/_g3/inc/vk-mobile-nav/package/images/vk-menu-btn-white.svg),
		linear-gradient(35deg, var(--main-color)20%, var(--accent-color));
	background-repeat: no-repeat, no-repeat;
	background-position: center, center;
	background-size: 40px 40px, cover;
	position: fixed;
	top: 0px!important;
	right: 0px!important;
	z-index: 2100;
	border: none;
	border-radius: 0!important;
	width: 60px;
	height: 60px;
	cursor: pointer;
	text-indent: -9999px;
	transition: border-color .5s ease-out;
}

/*モバイルナビ　開いた時*/
.vk-mobile-nav-menu-btn.menu-open{
	border: none;
	background-image:
		url(https://sojutsu.meijo-u.ac.jp/wp-content/themes/lightning/_g3/inc/vk-mobile-nav/package/images/vk-menu-close-white.svg),
		linear-gradient(35deg, var(--main-color)20%, var(--accent-color));
	background-size: 40px 40px, cover;
}

/******************************/
/** コンタクトフォームの装飾 **/
/******************************/

/*　送信ボタンを中央に　*/
div.wpcf7 .wpcf7-spinner {
    display: none !important;
}
/*　フォーム全体　*/
#cf7-area {
width:100%;
margin: 0 auto;
font-family: “遊ゴシック”,”ヒラギノ角ゴ”,”メイリオ”,”MS Pゴシック”,sans-serif;
}

.cf7-item {
display: flex;
align-items: flex-start;
justify-content: flex-start;
}

.cf7-q {
width: 30%;
margin: 0 0 0 10px;
}

.cf7-a {
width: 70%;
}

/*　見出し　*/
.form-heading
{
width: 100%;
background-color:  var(--wp--preset--color--vk-color-primary-vivid);
border-radius: 2px;
color: #ffffff;
font-weight: bold;
padding: 1em .8em;
margin: 0 0 3em;
}

.form-heading p {
margin: 0;
}
.wpcf7-submit:disabled{
    border: 1px solid #d3d3d3;
    background-color: #d3d3d3 !important;
    color: #fff !important;
}
/* 各項目共通 */
#cf7-area label{
font-weight:bold;
}

#cf7-area input[type=”text”],#cf7-area input[type=”email”],#cf7-area input[type=”tel”],#cf7-area textarea {
background: #F0F8FF;
width:500px;
margin-left:10px;
}

#cf7-area input[type=”text”]:focus,#cf7-area input[type=”email”]:focus,#cf7-area input[type=”tel”]:focus,#cf7-area textarea:focus {
background: #FFE4E1;
border: 2px solid #FF1493;
outline: 0;
}

#cf7-area input[type=”checkbox”], #cf7-area input[type=”radio”]{
appearance: auto;
}

#cf7-area .wpcf7-list-item {
display: block;
}

#cf7-area textarea{
height:200px;
width:100%;
padding: 0.625em 0.4375em;
	margin-left:0!important;
}

.cf7-accept-check{
text-align: center;
margin: 50px auto;
}

.cf7-submit {
width: 40%;
margin: 0 auto;
text-align: center;
}
.wpcf7-previous{
	font-size: 1rem;
    border: 1px solid var(--vk-color-primary-dark);
    background-color: #fff;
    color: var(--vk-color-primary);
    padding: .5em 2em;
    border-radius: var(--vk-size-radius);
	cursor: pointer;
	margin-bottom:20px;
}
input[type="submit"]
{
width: 100%;
max-width:240px;
background-color: var(--main-color);
color: #ffffff;
border-radius: 5px;
font-size: 1em;
padding: 1em 10px;
border-radius:0;
border:1px solid var(--main-color);
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s;
}

input[type="submit"]:hover
{
background-color:#fff!important;
color: var(--main-color)!important;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s;
}


.cf7-btn{
width: 40%;
margin: 0 auto;
text-align: center;
}

/*　必須ラベル　*/
.cf7-req{
font-size:.8em;
padding: 2px 6px;
background: #eb2a2a;
color: #ffffff;
margin-left: 10px;
display:inline-block;
}

@media screen and (max-width:768px){
.cf7-item {
display: block;
}

#cf7-area label{
display: block;
margin-bottom: 10px;
}

.cf7-q {
width: 100%;
margin: 0;
}

.cf7-a {
width: 100%;
}

#cf7-area input[type=”text”], #cf7-area input[type=”email”], #cf7-area input[type=”tel”], #cf7-area textarea{
margin-left: 0;
}

.cf7-submit{
width: 90%;
}
}