/*
Thema Name: 田原研究グループ
Description: 田原研究グループのテーマデザインになります。
Version: 2
*/
html {
    overflow-x: hidden;
    width: 100vw;
    scroll-behavior: smooth;
}

body {
    background-color: #fff;
    font-family: "BIZ UDPGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 2.4em;
    font-size: 16px;
    color: var(--textcolor);
    min-width: 320px;
    overflow-x: hidden;
    width: 100vw;
}

:root {
    --main-color: #00584f;/*006E50*/
    --sub-color: #078107; /*#44A24C*/
    --textcolor:rgb(70, 70, 70);
    --textcolor-sub: #7d7d7d;
    --white:#fbfbfb;
}

iframe {width: 100%;}

#adminmenu li.wp-menu-separator {height: 24px;}
#collapse-button span.collapse-button-label {font-size: 13px; top: 0;}
.fixed .column-date {width: 20%;}
.widefat tbody .level-1 th.check-column {padding-left: 32px;}
.level-1 td {padding-left: 36px;}

/* WP用 追加タグ */
.wp-block-separator {border-bottom:none;}
.linklist {padding: 20px 2em;}
.linklist li {padding: 4px;}
.indent {text-indent: 1em;}

.marginSS {margin-top: 6px !important;}
.marginS {margin-top: 30px !important;}
.marginM {margin-top: 60px !important;}
.marginL {margin-top: 80px !important;}
.marginLL {margin-top: 120px !important;}

.marginBSS {margin-bottom: 6px !important;}
.marginBS {margin-bottom: 30px !important;}
.marginBM {margin-bottom: 60px !important;}
.marginBL {margin-bottom: 80px !important;}
.marginBLL {margin-bottom: 120px !important;}

.paddingS {padding-left:1em !important; padding-right:1em !important;}
.paddingM {padding-left:2em !important; padding-right:2em !important;}
.paddingL {padding-left:3em !important; padding-right:3em !important;}
.paddingBS {padding-bottom:1em !important;}
.paddingBM {padding-bottom:2em !important;}
.paddingBL {padding-bottom:3em !important;}

.textC {text-align: center;}
.textL {text-align: left;} 
.textR {text-align: right;}

.textS {font-size: 12px; font-size: .8em;}
.textGray {color: var(--textcolor-sub);}

.lineheightSS {line-height: 1.3em;}
.lineheightS {line-height: 1.6em;}
.lineheightM {line-height: 2em;}
.lineheightL {line-height: 2.8em;}

hr.lineGray {border-top: none !important; border-bottom:solid 1px var(--textcolor-sub); margin: 14px 0;}

.supplement {box-sizing: border-box; padding: 24px 16px; margin: 30px auto;}

.column2 {display: flex; flex-wrap: wrap; justify-content: space-around}
.clminner {flex: 1; box-sizing: border-box; min-width: 320px;}

figcaption {text-align: center; line-height: 1.4em;}
ol,ul {margin: 6px 0;}
.disc {list-style: disc; padding-left: 2em;}

.frameGreen ,.frameBlack ,.frameGreenBold {border-radius: 8px; box-sizing: border-box; margin: 50px auto; padding: 30px 50px; transition: .3s;}
.frameGreen {border: 1px solid var( --sub-color);}
.frameBlack {border: 1px solid #3c3c3c;}
.frameGreenBold {border: 2px solid var( --sub-color);}

.arrowTitle::before {content: url(./common/img/arrowGreen.svg); width: 24px; margin-right: 12px;}
.discTitle::before {content:"●"; font-size: 1.2rem; margin-right: 12px;}

.detailBtn {text-align: right;}
.detailBtn p {display: inline-block; text-align: center; margin-top: 10px;}
.detailBtn p::after {content:""; display: inline-block; background-image: url(./common/img/arrow01.svg); background-repeat: no-repeat; position: relative; background-size: cover; width: 8px; height: 14px; right: 20px;}
.detailBtn a {display: inline-block; min-width: 240px; color: var(--white); background-color: var(--main-color); padding: 6px 20px;}
.detailBtn a:hover {background-color: var(--sub-color); transition: all .3s;}

.tableGreen table {font-size: 15px; margin: 20px auto;}/** min-width: 700px; overflow: scroll; **/
.tableGreen table tr:nth-child(odd) {background-color: #006e5125;}
.tableGreen table tr {display: flex; padding: 10px 0;}
.tableGreen table tr td {flex: 1; border: none; line-height: 2em; padding: 0 10px;}

.tableBoderNone table {font-size: 15px; margin: 20px auto;}
.tableBoderNone table tr {display: flex; padding: 10px 0;}
.tableBoderNone table tr td {flex: 1; border: none; line-height: 2em; padding: 0 6px;}
.tableBoderNone table tr td:last-child {flex: 4;}

.countNumber {counter-reset: my-counter;}
.countNumber a {color: var(--sub-color);}
.countNumber p {line-height: 1.6em;}
.wrapper_sub .countNumber h4 {padding-top: 4px; font-weight: bold; line-height: 1.6em; margin-bottom: 6px;}
.countNumber > .wp-block-group__inner-container {display: flex; flex-direction: column-reverse;}
.number {counter-increment: my-counter; padding-left: 3em; padding-right: 1em; position: relative; width: 100%;}
.number::before {
    content: counter(my-counter) ".";
    position: absolute;
    left: -8px;
    width: 54px;
    text-align: right;
    color: var(--sub-color);
}
.number hr.lineGray {margin: 24px 0; position: relative; left: -30px; width: calc(100% + 30px);}
.number .tableBoderNone table tr {padding: 0;}

.device .frameGreen {transition: .3s; padding: 30px 30px; max-width: 340px; margin: auto;}

.btnFix {
    padding-top: 0;
}

.btnFixMenu{
    position: fixed;
    top: 134px;
    z-index: 10;
    max-width: 1100px;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.8);
}

.ankerLinkBtn ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-end;
    padding-left: 0 !important;
}

.ankerLinkBtn ul li {list-style: none;}

.ankerLinkBtn a {
    display: inline-block;
    line-height: 1.2em;
    margin: 0 2px;
    padding: 4px 20px;
    color: var(--white);
    background-color: var(--sub-color);
    border-radius: 8px;
    border: 2px solid var(--sub-color);
}

.ankerLink:before {
        content: "";
        display: block;
        height: 300px;
        margin-top: -300px;
        visibility: hidden;
}
.ankerLink::after {content: url(#);}

.btnCont {padding-top: 170px;}

/* ドロップダウン */

.dropIcon::before {
        content: "";
        position: absolute;
        left:2px;
        top:10px;
        width:12px;
        height:12px;
        border-top: 3px solid var(--sub-color);
        border-right:3px solid var(--sub-color);
        transform: rotate(135deg);
        transition: all .3s;
    }
    .dropIcon {position: relative; padding-left: 20px; transition: all .3s; color: var(--main-color); display: inline-block;}
    .dropIcon:hover {color: var(--sub-color); transition: all .3s;}

    .dropcontentA,.dropcontentB,.dropcontentC,.dropcontentD,.dropcontentE {display: none; height: 0; opacity: 0;}

    input[type="checkbox"]{display:block; height: 0;}
    label[for="dropMenuA"],label[for="dropMenuB"],label[for="dropMenuC"],label[for="dropMenuD"],label[for="dropMenuE"]{display: inline-block;}
    #dropMenuA:checked + .dropcontentA, #dropMenuB:checked + .dropcontentB, #dropMenuC:checked + .dropcontentC, #dropMenuD:checked + .dropcontentD,#dropMenuE:checked + .dropcontentE {
        display: block; height: auto; opacity: 1; transition: all .3s;
    }


.wrapper_sub .award img {max-width: 260px; width: 100%; padding-top: 10px;}
.wrapper_sub .award .tableBoderNone table {margin: 0;}

/* 文字色パレット */
.has-maincolor-color {color: var(--main-color);}
.has-subcolor-color {color: var(--sub-color);}
.has-textBlack-color {color: #000;}
.has-textGray-color {color: #adb7c1;}
.has-textWhite-color {color: #fff;}
.has-textPink-color {color: #df8ba4;}
.has-textRed-color {color: #b23131;}
.has-textOrange-color {color: #e06818;}
.has-textYellow-color {color: #ebb82a;}
.has-textLightBlue-color {color: #a3d0fa;}
.has-textBlue-color {color: #5392e0;}
.has-textPurple-color {color: #8952db;}
/* 背景色パレット */
.has-maincolor-background-color {background-color: #00584f;}
.has-subcolor-background-color {background-color: #44A24C;}
.has-textBlack-background-color {background-color: #000;}
.has-textGray-background-color {background-color: #adb7c1;}
.has-textWhite-background-color {background-color: #fff;}
.has-textPink-background-color {background-color: #df8ba4;}
.has-textRed-background-color {background-color: #b23131;}
.has-textOrange-background-color {background-color: #e06818;}
.has-textYellow-background-color {background-color: #ebb82a;}
.has-textLightBlue-background-color {background-color: #a3d0fa;}
.has-textBlue-background-color {background-color: #5392e0;}
.has-textPurple-background-color {background-color: #8952db;}

/* top・下層ページ共通 */

main {width: 100%; padding-top: 133px;}
header {position: fixed; top: 0; z-index: 100; width: 100%;}
.logoBG {background: linear-gradient(to right, var(--main-color), var(--sub-color)); color: var(--white); width: 100%; font-size: 20px; height: 70px;}
.headFlex {display: flex; width: 100%; max-width: 1100px; margin: 0 auto;}
.headFlex h1 {flex: 1;}
.headFlex h1 a {display: inline-block; margin-top: 15px; margin-left: 10px; opacity: 1; transition: all .3s;}
.headFlex h1 a:hover {opacity: 0.8; transition: all .3s;}
.headFlex h1 a img {min-width: 150px;}

.headerNav {background-color: rgba(255, 255, 255, 0.8);}
.headerNav .menu {display: flex; width: 100%; max-width: 1100px; margin: 0 auto;}
.headerNav .menu .menu-item {flex: 1; text-align: center;}
.headerNav .menu .menu-item a {display: inline-block; box-sizing: border-box; padding: 10px 10px; margin: 10px auto; text-decoration: none; line-height: 24px; color: var(--main-color); font-weight: bold; font-size: 17px;}
.headerNav .menu .menu-item a{position: relative;}
.headerNav .menu .menu-item a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 2px;
    background:var(--sub-color);
    transition: all .3s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: center top;/*上部中央基点*/
}
/*現在地とhoverの設定*/
.headerNav .menu li.now a::after,.headerNav .menu .menu-item a:hover::after {transform: scale(1, 1);}

.pcNav {display: block;}
.spNav {display: none; position: relative;}
.br-pc {display: block;}
.br-sp {display: none;}

.logo h1{flex: 1;}
.i-menu {position: absolute; top: 10px; right: 40px; z-index: 120;}
.i-menu img{width: 30px;}
.headFlexSPmenu {flex: 1; z-index: 100;}
.headFlexSPmenu .menu {display: block;}
.headFlexSPmenu .menu .menu-item {text-align: center;}
#menu-headermenu {
    box-sizing: border-box;
    width: 240px;
    height: 100vh;
    padding: 80px 10px; 
    background-color: #ffffffe0;}


.spNav .menu-checkbox {display: none;}
.spNav .menu-headermenu-container {
    position: absolute;
    transform: translateX(100%);
    transition: all 0.5s ease-in-out 0s;
    z-index: 100;
    right: 0;
  }
.spNav .menu-checkbox:checked ~ .menu-headermenu-container { transform: translateX(0);}
.spNav .menu-background {
    display: none;
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: all 0.5s ease-in-out 0s;
  }
.spNav .menu-checkbox:checked ~ .menu-background {
    display: block;
    opacity: 0.3;
  }



footer {width: 100%; background-color: #D9D9D9;}
.footerNav {width: 100%; box-sizing: border-box; padding-top: 80px; padding-bottom: 40px;}
.footerNav .menu {display: flex; flex-wrap: wrap; width: 100%; max-width: 1100px; margin: 0 auto;}
.footerNav .menu .menu-item {flex: 1; text-align: center; min-width: 80px;}
.footerNav .menu .menu-item a {display: inline-block; box-sizing: border-box; padding: 10px 10px; text-decoration: none; line-height: 20px; color: var(--main-color); font-weight: bold; font-size: 14px;}

.footerNav .menu .menu-item a{position: relative;}
.footerNav .menu .menu-item a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 15%;
    width: 70%;
    height: 1px;
    background:var(--main-color);
    transition: all .3s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: center top;/*上部中央基点*/
}
/*現在地とhoverの設定*/
.footerNav .menu li.now a::after,.footerNav .menu .menu-item a:hover::after {transform: scale(1, 1);}

.footerAddress {font-size: 12px; color: #808080; text-align: center;}
.footerTaharaG {margin-top: 20px; background: linear-gradient(to left, var(--main-color), var(--sub-color)); color: var(--white);}


/* topページ */
.toppage {max-width: 1100px; min-height: 60vh; margin: 0 auto; }
.toppage h2 {font-size: 32px; line-height: 2.4em; font-weight: bold; color: var(--main-color); border-bottom: 2px solid var(--main-color); margin-bottom: 20px; transition: 0.3s;}
.topAboutUs {width: 100%; margin: 80px auto; color: var(--main-color);}
.topRecruiting {width: 100%; margin: 80px auto; border: 1px solid var(--main-color);box-sizing: border-box; padding: 50px 20px;}
.topNews {width: 100%; margin: 80px auto;}
.topResearch {width: 100%; margin: 80px auto;}
.topSNS {margin-bottom: 100px;}
.topSNS .clminner {box-sizing: border-box;max-width: 500px; padding: 10px;}
.topSNS .clminner h2 {margin-top: 30px;}

.topReResult h2,.topReEnviroment h2 {border: none; text-align: right; font-size: 28px;}
.topReResult h2 a,.topReEnviroment h2 a {display: block; position: relative; box-sizing: border-box; width: 100%; height: 260px; padding: 100px 10%; color: var(--white);}
.topReResult h2 a {background-color: var(--main-color); transition: .5s ease;}
.topReEnviroment h2 a {background-color: var(--sub-color); transition: .5s ease;}
.topReResult h2 a:hover{background-color:  #053d38; transition: .5s ease;}
.topReEnviroment h2 a:hover{background-color: #40bf19; transition: .5s ease;}
.topReResult h2 a span,.topReEnviroment h2 a span {position: relative; z-index: 10; width: 100%;}
.topReResult h2 a::after,.topReEnviroment h2 a::after {content: url(./common/img/arrow01.svg); padding-left: 12px;}
.topReResult h2 a::before,.topReEnviroment h2 a::before{content: ""; display: block; position: absolute; z-index: 0; left: 10%; top: 20px; background-repeat: no-repeat; background-size: cover; background-position: center;}
.topReResult h2 a::before {background-image: url(./common/img/topReResult.png); height: 220px; width: 250px;}
.topReEnviroment h2 a::before {background-image: url(./common/img/topReEnviroment.png); height: 220px; width: 260px;}

.wrapper_sub .news ul {padding-left: 0;}
.news ul { display: flex; flex-flow: row wrap; justify-content: space-around;}
.newsdesign { margin-top: 16px; margin-bottom: 16px; box-shadow: 0 2px 8px 0 #00000035;}
.news ul li {list-style: none; width: 31%; min-width: 320px; overflow:hidden; text-overflow:ellipsis; line-height: 2em; border-radius: 6px;}
.news ul li img {display: block; width: 100%; height: 100%; object-fit: cover;}
.news ul li a {display: block; opacity: 1; transition: .3s; font-size: 15px;}
.news ul li a:hover {opacity: .5; transition: .3s;}
.newsimg {width: 100%; height: 210px; background-color: #c6c6c6; background-image: url(./common/img/taharaGroupLogo.svg);background-position: center;  background-repeat: no-repeat; background-size:70%;}
.newsinfo {box-sizing: border-box; padding: 4px 10px;}
.newsdate {display: inline-block;  color: var(--main-color); font-size: 14px; vertical-align: sub; margin-right: 8px;}
.newsTitle {display: inline-block; line-height: 1.6rem; margin-top: 6px;}
.newsCategory {display: inline-block; min-width: 70px; margin-right:8px; padding: 0 10px; text-align: center; font-size: 0.8em; line-height: 1.8em; color: var(--white); border-radius: 6px; background-color: var(--main-color);}

.newsArchive {margin: 50px 0;}
.newsArchive h3 {margin-top: 10px; color: var(--main-color); font-weight: bold;}
.newsArchiveList_year {display: flex; flex-flow: row wrap; justify-content: flex-start;}
.newsArchiveList_year li {list-style: none; margin: 0 10px; background-color: var(--sub-color); color: var(--white);}
.newsArchiveList_year li a {display: inline-block; padding: 4px 20px;}

.allNewsCategory {margin: 50px 0;}
.allNewsCategory h3 {margin-top: 10px; color: var(--main-color); font-weight: bold;}
.newsCategoryList {display: flex; flex-flow: row wrap; justify-content: flex-start;}
.newsCategoryList li {list-style: none; line-height: 1.2em; margin: 0 10px; border-radius: 8px;}
.newsCategoryList li a {display: inline-block; box-sizing:border-box; border-radius: 8px; border: 2px solid #ffffff00; padding: 4px 20px; font-size: 12px; color: var(--white);}


/*
.news .event {background-color: #58AD44;}
.news .notice {background-color: #4965A3;}
.news .society {background-color: #1CA5A1;}
.news .award {background-color: #BC43A9;}
.news .funding {background-color: #C18017;}
.news .publication {background-color: #0b8270;}
*/

.wp-pagenavi .pages {display: none;}
.wp-pagenavi .current,.wp-pagenavi .page, .wp-pagenavi .first, .wp-pagenavi .last {display: inline-block; padding: 8px; margin: 10px; line-height: 1em;}
.wp-pagenavi .current {border: var(--main-color) 1px solid ; color: #eee; background-color: var(--main-color);}
.wp-pagenavi .page, .wp-pagenavi .first, .wp-pagenavi .last  {border: var(--sub-color) 1px solid ; color: var(--sub-color);}
.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {display: inline-block;  margin: 0 10px; vertical-align: sub; color: var(--sub-color); font-size: 2.4em;}
.ereaTwitter,.ereaFacebook {border: 1px solid #808080; min-height: 380px;}


/* 下層ページ共通 */
.wrapper_sub {max-width: 1100px; width: 100%; min-height: 25vh; margin: 80px auto; margin-bottom: 140px;}
.wrapper_sub h2 {font-size: 32px; line-height: 2.4em; font-weight: bold; color: var(--main-color); border-bottom: 2px solid var(--main-color); margin-bottom: 28px; text-align: center;}
.wrapper_sub h3 {font-size: 20px; line-height: 2em; font-weight: bold;}
.wrapper_sub h4 {font-size: 18px; line-height: 1.8em; padding-top: 14px;}

.wrapper_sub a {transition: .3s;}
.wrapper_sub a:hover {opacity: 0.6; transition: .3s;}
.wrapper_sub ul {list-style: disc; padding-left: 2em;}

.subpageEyecatch {width: 100%; max-height: 300px; overflow: hidden;}
.eyecatchImg {
    height: 300px;
    width: 100%;
    object-fit: cover;
    transition: .3s;
}

.newsPage .newsTitle {min-height: 30px;}
.newsContent h3 {font-size: 20px; color: var(--main-color); text-align: center; margin-bottom: 50px;}
.newsContentDate {font-size: 0.8em; color: var(--textcolor-sub); margin-top: 24px; text-align: right;}
.newsContent .prenextpost {text-align: right; color: var(--sub-color); font-size: 13px; margin-top: 10px;}
.newsContent .prenextpost a {display: inline-block; padding: 4px 8px;}
.newsContent .detailBtn {text-align: center;}

.photoFloat::after {content: ""; display: block; clear: both;}
.photoFloat .floatImg {float: right;}

@media screen and (max-width: 1100px) {
	.topAboutUs {width: 90%;}
    .topNews {width: 90%;}
    .topRecruiting {width: 90%;}
    .wrapper_sub {width: 90%;}
}
@media screen and (max-width: 950px) {
    main {padding-top: 70px;}
    .spNav {display: block;}
    .pcNav {display: none;}
    .br-pc {display: none;}
    .br-sp {display: block;}
    .tableGreen table tr {flex-wrap: wrap;}
    .tableGreen table tr td:nth-child(1) {flex-basis: 100%;}
    .tableGreen table tr td:nth-child(3) {flex: 2;}
    .tableBoderNone table tr td:last-child {flex: 2;}

    .toppage h2 {font-size: 24px;line-height: 1.8em; transition: 0.3s;}

    .eyecatchImg {
        height: 200px;
        transition: .3s;
    }
    .news ul li {white-space: normal; width: 40%;}
    .device .frameGreen {padding: 30px 16px; transition: .3s;}

    .photoFloat .floatImg {float: none;}

    .wrapper_sub .award .tableBoderNone table tr td:nth-child(2) {flex: 4;}

    .btnFixMenu{
        top: 70px;
        width: 90%;
    }
    .ankerLink:before {
        height: 230px;
        margin-top: -230px;
}
.btnCont {padding-top: 80px;}
}
@media screen and (max-width: 480px) {
    .toppage h2 {font-size: 20px; transition: 0.3s;}
    .tableGreen table tr td:nth-child(2) {flex-basis: 100%;}
    .frameGreen ,.frameBlack {padding: 30px 16px; transition: .3s;}
    .ankerLinkBtn a {font-size: 0.8em; padding: 4px 6px;}
}