/********************************************************************************

common.css
※headerは1200px未満でモバイル用に切り替え

********************************************************************************/

/*============================================================
 import
*============================================================*/
/* base */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
/* other */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap');

/* fonts
---------------------------------------- */
.font-oswald {
	font-family: 'Oswald', sans-serif;
}
.font-lato {
	font-family: 'Lato', sans-serif;
}

/*============================================================
 system
*============================================================*/
/* pc-sp display switch
---------------------------------------- */
.forPC {
	display: initial;
}
.forSP {
	display: none;
}

/*============================================================
 format
*============================================================*/
html {
	width: 100%;
	background-color: #fff;
}
body {
	font-family:"Noto Sans JP",sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 16px;
	line-height: 180%;
	color: #1F272F;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
main {
	width: 100%;
}
main.scrolled {
}
section {
	width: 100%;
}
.inner {
	width: 1008px;
	padding: 0 24px;
	margin: 0 auto;
}
.inner-wide {
	width: 1200px;
	padding: 0 24px;
	max-width: 100%;
	margin: 0 auto;
}

h1 {
}
h2 {
}
}
h3 {
}
h4 {
}

p {
	margin-bottom: 1em;
}
img {
	max-width: 100%;
	height: auto;
}
.img-box {
	line-height: 0;
	text-align: center;
}
span {
	font-weight: inherit;
}
a[href^="tel:"] {
    pointer-events: none;
}
strong {
}

/* scroll fade
---------------------------------------- */
.scroll-fade {
    opacity: 0;
    -webkit-transition: all 0.8s;
    -moz-transition: all 0.8s;
    -o-transition: all 0.8s;
    -ms-transition: all 0.8s;
    transition: all 0.8s;
	transform : translate(0, 50px);
}
.scroll-fade-on {
    opacity: 1;
	transform: translate(0, 0);
}

/* form
---------------------------------------- */
input, select, textarea, button {
    font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	-webkit-appearance: none;
}
input[type="text"], input[type="tel"], input[type="email"], textarea, select {
	display: block;
	width: 100%;
    height: 65px;
	background-color: #fff;
	border: solid 1px #fff;
    border-radius: 0;
	padding: 8px;
	box-sizing: border-box;
}
textarea {
	padding: 17px 32px;
	height: 300px;
}
input::placeholder, textarea::placeholder, select::placeholder {
  color: #B1B1B1;
}
input:hover, textarea:hover, select:hover, button:hover, input:focus, textarea:focus, select:focus button:focus {
	outline: none;
}
input[type="text"]:hover, input[type="tel"]:hover, input[type="email"]:hover, textarea:hover, select:hover, input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, textarea:focus, select:focus {
	/* border: solid 1px #3285C5;
	border-radius: 10px; */
}
input[type="checkbox"] {
	margin: 0;
    height: 20px;
    width: 20px;
    vertical-align: -4px;
}

/* checkbox 装飾 (for mwform)
---------------------------------------- */
input[type="checkbox"] {
  display: none;
}
.mwform-checkbox-field-text{
  padding-left: 40px;
  position:relative;
}
.mwform-checkbox-field-text::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	border: 1px solid #000;
	background-color: #fff;
	-webkit-transition: all 0.8s;
    -moz-transition: all 0.8s;
    -o-transition: all 0.8s;
    -ms-transition: all 0.8s;
    transition: all 0.8s;

}
input[type="checkbox"]:checked + .mwform-checkbox-field-text::before{
	background-color: #000000;
}
input[type="checkbox"]:checked + .mwform-checkbox-field-text::after{
	content: "";
	display: block;
	position: absolute;
	top: 2px;
	left: 8px;
	width: 8px;
	height: 16px;
	transform: rotate(40deg);
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
}

/*============================================================
 site-header
*============================================================*/
#site-header {
	position: fixed;
	top: -160px;
	left: 0;
	z-index: 99999;
	width: 100%;
}
/* スクロール時(下層は最初から) */
#site-header.scrolled {
	top: 44px;
}

#site-header .inner {
	width: 1200px;
	padding: 0 0 0 24px;
	background-color: #fff;
	border-radius: 4px;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
}

/* トップページスクロール時用スムージング */
body.home #site-header {
	-webkit-transition: all 0.8s;
    -moz-transition: all 0.8s;
    -o-transition: all 0.8s;
    -ms-transition: all 0.8s;
    transition: all 0.8s;
}


/* Gnav
---------------------------------------- */
/* logo */
.gnav .gnav-logo {
	width: 100px;
	padding: 8px 0;
}
/* gnav-menu */
.gnav .gnav-menu {
	margin-left: auto;
}
.gnav ul.gnav-menu.nav-parent > li {
	margin-left: 48px;
}
.gnav ul.gnav-menu.nav-parent > li:first-of-type {
	margin-left: 0;
}
.gnav ul.gnav-menu.nav-parent > li > a {
	display: block;
	text-align: center;
	position: relative;
}
.gnav ul.gnav-menu.nav-parent > li > a:after {
	content: "";
	display: block;
	width: 0;
	height: 2px;
	position: absolute;
	bottom: -4px;
	left: calc(50% - 24px);
	background-color: none;
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
}
.gnav ul.gnav-menu.nav-parent > li > a:hover::after,
.gnav ul.gnav-menu.nav-parent > li.current > a::after {
	width: 48px;
	background-color: #1F272F;
}
.gnav .nav-title {
	font-size: 16px;
	line-height: 160%;
	margin-bottom: 2px;
	text-align: center;
}
.gnav .nav-sub-title {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 160%;
	margin-bottom: 0;
	color: #969696;
}
.gnav ul.gnav-menu.nav-parent li.has-nav-child {
	position: relative;
}
.gnav ul.gnav-menu.nav-parent li.has-nav-child ul.nav-child {
	position: absolute;
	top: 56px;
	left: -32px;
	background-color: #1F272F;
	width: 214px;
	overflow: hidden;
	padding: 24px 16px 16px 16px;
	display: none;
}
.gnav ul.gnav-menu.nav-parent li.has-nav-child ul.nav-child li {
	margin-bottom: 16px;
}
.gnav ul.gnav-menu.nav-parent li.has-nav-child ul.nav-child li::after {
	content: "";
	display: block;
	width: 0;
	height: 2px;
	background-color: none;
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
}
.gnav ul.gnav-menu.nav-parent li.has-nav-child ul.nav-child li:hover::after {
	width: 100%;
	background-color: #fff;
}
.gnav ul.gnav-menu.nav-parent li.has-nav-child ul.nav-child li:last-child {
	margin-bottom: 0;
}
.gnav ul.gnav-menu.nav-parent li.has-nav-child ul.nav-child li .nav-title {
	font-size: 16px;
	line-height: 180%;
	text-align: left;
	color: #fff;
	display: inline-block;
	width: 96px;
}
.gnav ul.gnav-menu.nav-parent li.has-nav-child ul.nav-child li .nav-sub-title {
	font-size: 12px;
	line-height: 160%;
	text-align: left;
	color: #D2D2D2;
	padding-left: 4px;
}
.gnav ul.gnav-menu.nav-parent li.has-nav-child:hover {
	cursor: pointer;
}

/* gnav-entry */
.gnav .gnav-entry {
	margin-left: 64px;
	width: 216px;
	height: 96px;
	border-radius: 0px 4px 4px 0px;
}
.gnav .gnav-entry a {
	display: block;
	padding: 24px 0;
	color: #fff;
	text-align: center;
}
.gnav .gnav-entry a .sub-label {
	line-height: 160%;
}

/*============================================================
 ヘッダー(1200未満はモバイル用に切り替え)
*============================================================*/
#site-header-min {
	display: none;
}
@media screen and (max-width:1199px){
	#site-header {
		display: none;
	}
	#site-header-min {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99999;
		width: 100%;
	}
	#site-header-min #gnav-min .inner {
		height: 56px;
		box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
	}

	/* Gnav
	---------------------------------------- */
	.gnav-min .inner {
		width: 100%;
		background-color: #fff;
		padding: 4px 8px;
	}
	/* logo */
	.gnav-min .gnav-min-logo {
		width: 58px;
	}
	.gnav-min .gnav-min-title {
		margin-left: 12px;
		font-weight: bold;
		font-size: 14px;
		line-height: 160%;
	}
	.gnav-min .gnav-min-right {
		margin-left: auto;
	}
	.gnav-min .gnav-min-entry {
		width: 104px;
		height: 48px;
		box-shadow: none;
	}
	.gnav-min .gnav-min-entry a {
		font-weight: bold;
		line-height: 48px;
		border-radius: 2px;
	}
	.gnav-min .gnav-min-hamburger {
		width: 48px;
		height: 48px;
		border: 1px solid #EBEBEB;
		border-radius: 2px;
		padding: 10px;
		margin-left: 8px;
	}
	.gnav-min .gnav-min-hamburger:hover {
		cursor: pointer;
	}
	.gnav-min .gnav-min-hamburger div {
		width: 100%;
		height: 2px;
		background-color: #1F272F;
		margin: 5px 0;
	}
	.gnav-min-menu .gnav-min-hamburger div:nth-of-type(1) {
		transform: rotate(45deg);
		margin-top: 12px;
	}
	.gnav-min-menu .gnav-min-hamburger div:nth-of-type(2) {
		display: none;
	}
	.gnav-min-menu .gnav-min-hamburger div:nth-of-type(3) {
		transform: rotate(-45deg);
		margin-top: -6px;
	}
	/* gnav-min menu */
	#gnav-min-menu {
		position: fixed;
		top: 0;
		right: -100%;
		z-index: 99999;
		width: 100%;
		height: 100%;
		background-color: #fff;
		-webkit-transition: all 0.3s;
	    -moz-transition: all 0.3s;
	    -o-transition: all 0.3s;
	    -ms-transition: all 0.3s;
	    transition: all 0.3s;
	}
	#gnav-min-menu.open {
		right: 0;
	}
	#gnav-min-menu ul {
		padding: 16px 0;
	}
	#gnav-min-menu ul li {
		border-bottom: solid 1px #F8F8F8;
	}
	#gnav-min-menu ul li a {
		display: block;
		box-sizing: border-box;
		padding: 16px;
	}
	#gnav-min-menu ul li:last-child {
		border:none;
	}
	#gnav-min-menu ul li .nav-title {
		padding-right: 8px;
	}
	#gnav-min-menu ul li .nav-sub-title {
		font-family: 'Lato', sans-serif;
	    font-weight: 400;
	    font-size: 12px;
	    line-height: 160%;
	    margin-bottom: 0;
	    color: #969696;
	}
	#gnav-min-menu ul li .nav-sub-title::before,
	#gnav-min-menu ul li .nav-sub-title::after {
		content: "─";
		display: inline;
		padding: 0 4px;
	}
	#gnav-min-menu .site-search {
		width: 100%;
	    padding: 0 0 0 40px;
		background-position: 16px 12px;
	}
}

/*============================================================
サイト内検索
*============================================================*/
#main-content-wrap {
	position: relative;
}
#site-search {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 200;
}
.site-search {
	background-color: #1F272F;
	width: 240px;
	height: 40px;
	padding: 0 0 0 30px;
	background-image: url(../images/common/icon-search.svg);
	background-repeat: no-repeat;
	background-position: 12px 12px;
	background-size: 22px auto;
}
.site-search form input {
	display: inline-block;
	height: 100%;
	background-color: transparent;
	border: none;
	color: #DBDBDB;
}

/*============================================================
 パンくずリスト
*============================================================*/
#breadcrumb {
	width: 100%;
	padding: 12px 0;
	position: absolute;
	top: 136px;
	left: 0;
	z-index: 200;
}
#breadcrumb ul li {
	display: inline-block;
}
#breadcrumb ul li > * {
	display: inline-block;
	font-size: 12px;
	line-height: 160%;
	text-decoration-line: underline;
	color: #fff;
	vertical-align: middle;
}
#breadcrumb ul li:after {
	content: " ";
	display: inline-block;
	width: 24px;
	height: 32px;
	background-image: url(../images/common/icon-arrow-bread.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px;
	margin: 0 16px;
	vertical-align: middle;
}
#breadcrumb ul li:last-child > * {
	text-decoration-line: none;
}
#breadcrumb ul li:last-child::after {
	display: none;
}

/* 1200px未満 */
@media screen and (max-width:1199px){
	#breadcrumb {
		top: 56px;
	}
}

/*============================================================
 もっと知る
*============================================================*/
#link-download {
	width: 80px;
	height: 80px;
	position: fixed;
	right: calc(50% - 480px - 40px);
	bottom: 100px;
	z-index: 500;
}
#link-download img {
	filter: drop-shadow(1px 1px 6px #00000052);
}
/* 1200px未満 */
@media screen and (max-width:1079px){
	#link-download {
		width: 80px;
		height: 80px;
		position: fixed;
		right: 24px;
		z-index: 500;
	}
}

/*============================================================
　下層共通
*============================================================*/
/* 見出し
---------------------------------------- */
.page-lower h2 {
	font-weight: bold;
	font-size: 20px;
	line-height: 180%;
	margin-bottom: 48px;
	text-align: center;
}
.page-lower .title-catchcopy {
	font-weight: 900;
	font-size: 40px;
	line-height: 180%;
	text-align: center;
	margin-bottom: 32px;
	text-align: center;
}
h3 {
	font-weight: bold;
	font-size: 16px;
	line-height: 200%;
	margin-bottom: 24px;
}

/* ページヘッダー(下層hero)
---------------------------------------- */
.page-lower #sec-header {
	height: 440px;
	/* background-image: url(../images/template/hero.jpg); */
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	/* background-size: 1920px auto; */
	/* background-position: center top;
	background-size: auto 440px; */
	padding: 224px 0 0 0;
	color: #fff;
	text-align: center;

    background-color: #7b7b7b;
	position: relative;
	content: "";
}
.page-lower #sec-header::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 440px;
	background: linear-gradient(180deg, rgba(31, 39, 47, 0.8) 24.79%, rgba(31, 39, 47, 0.32) 82.41%);
}
.page-lower #sec-header .inner {
	position: relative;
}
.page-lower #sec-header #page-title {
	font-weight: 900;
	font-size: 56px;
	line-height: 160%;
	letter-spacing: 0.08em;
}
.page-lower #sec-header #page-sub-title {
	font-weight: 400;
	font-size: 24px;
	line-height: 160%;
}

/* ページキャッチコビー
---------------------------------------- */
.page-lower #sec-catchcopy {
	padding: 72px 0 80px 0;
	background-color: #fff;
}
.page-lower #sec-catchcopy .lead {
	text-align: center;
}

/* 汎用ブロック
---------------------------------------- */
.page-lower .block-basic {
	margin-bottom: 80px;
}
.page-lower .block-child {
	margin-bottom: 56px;
}


/* ポイント・メリット訴求パーツ
---------------------------------------- */
.page-lower .block-point {
	padding: 48px 0 104px 0;
	background-color: #F8F8F8;
}
.page-lower .block-point .points .point {
	position: relative;
	height: 400px;
	margin-bottom: 80px;
}
.page-lower .block-point .points .point:last-child {
	margin-bottom: 0;
}
.page-lower .block-point .points .point .point-img {
	width: 764px;
	height: 400px;
	top: 0;
	overflow: hidden;
}
.page-lower .block-point .points .point .point-img img {
	-webkit-mask-image: url(../images/template/point-img-mask.svg);
	mask-image: url(../images/template/point-img-mask.svg);
	-webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
.page-lower .block-point .points .point .point-info {
	position: absolute;
	width: 480px;
	top: 0;
}
.page-lower .block-point .points .point .point-info .point-num {
	font-family: 'Oswald', sans-serif;
	font-size: 120px;
	line-height: 100%;
	letter-spacing: -0.06em;
	opacity: 0.72;
	margin-bottom: 24px;
}
.page-lower .block-point .points .point .point-info .point-title {
	font-weight: 900;
	font-size: 36px;
	line-height: 160%;
	margin-bottom: 32px;
}
/* 奇数 */
.page-lower .block-point .points .point:nth-child(odd) .point-img {
	position: absolute;
	left: -160px;
}
.page-lower .block-point .points .point:nth-child(odd) .point-info {
	left: 50%;
	padding-left: 32px;
}
/* 偶数 */
.page-lower .block-point .points .point:nth-child(even) .point-img {
	position: absolute;
	right: -160px;
}
.page-lower .block-point .points .point:nth-child(even) .point-info {
	left: 0;
	width: 448px;
}
.page-lower .block-point .points .point .point-info .point-info-inner {
/* .page-lower .block-point .points .point:nth-child(even) .point-info .point-info-inner { */
	position: relative;
	z-index: 100;
}
.page-lower .block-point .points .point .point-info .point-info-inner::after {
/* .page-lower .block-point .points .point:nth-child(even) .point-info .point-info-inner::after { */
	background: #fff;
    opacity: 0.4;
    filter: blur(4px);
    content: "";
    width: 456px;
    height: 264px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
/* 番号色 */
.page-lower .block-point .points .point:nth-child(3n+1) .point-info .point-num {
	color: #337FC6;
}
.page-lower .block-point .points .point:nth-child(3n+2) .point-info .point-num {
	color: #18C4B9;
}
.page-lower .block-point .points .point:nth-child(3n) .point-info .point-num {
	color: #A36ABD;
}
/* 1280px未満は調整 */
@media screen and (max-width: 1279px) {
	.page-lower .block-point .points .point .point-img {
		width: 764px;
		height: 400px;
		top: 0;
		overflow: hidden;
		max-width: 100%;
	}
	.page-lower .block-point .points .point .point-img img {
		-webkit-mask-image: url(../images/template/point-img-mask.svg);
		mask-image: url(../images/template/point-img-mask.svg);
		-webkit-mask-repeat: no-repeat;
	    mask-repeat: no-repeat;
		-webkit-mask-size: contain;
	    mask-size: contain;
	}
	/* 奇数 */
	.page-lower .block-point .points .point:nth-child(odd) .point-img {
		position: absolute;
		left: 0px;
	}
	/* 偶数 */
	.page-lower .block-point .points .point:nth-child(even) .point-img {
		position: absolute;
		right: 0px;
	}
	.page-lower .block-point .points .point:nth-child(odd) .point-info {
		left: unset;
		right: 0;
	}
}

/* 人物紹介
---------------------------------------- */
.page-lower .block-author {
	padding: 84px 0 80px 0;
}
.page-lower .block-author .author-img-wrap {
	margin-bottom: 24px;
}
.page-lower .block-author .author-name-wrap {
	position: relative;
	color: #fff;
	background-color: #1F272F;
    margin: -45px 0 0 calc(50% - 50vw);
    padding: 0 0 0 calc(50vw - 50%);
    /* width: 100vw; */
	width: calc(50vw + 160px);
}
.page-lower .block-author .author-name-wrap .author-name {
	font-weight: 900;
	font-size: 56px;
	line-height: 160%;
	margin: 0 36px 0 0;
}
.page-lower .block-author .author-name-wrap .author-degree {
	font-weight: bold;
	font-size: 16px;
	line-height: 180%;
}

/* 画像パーツ
---------------------------------------- */
.page-lower .block-img {
	margin-bottom: 80px;
}
.page-lower .block-img .title-img {
	text-align: center;
}

/* ボタンパーツ
---------------------------------------- */
.page-lower .btn-lead {
	margin-bottom: 40px;
}

/* ページナビ
---------------------------------------- */
.page-lower .block-nav  {
	overflow-x: auto;
}
.page-lower .block-nav .nav-page-modal {
	width: 960px;
}
.page-lower .block-nav .parts-btn {
	margin: 0 24px 24px 0;
}
.page-lower .block-nav .parts-btn.nav-page {
	width: 180px;
	height: 80px;
}
.page-lower .block-nav .parts-btn.nav-modal {
	width: 162px;
	height: 80px;
	border: solid 2px #1F272F;
}
.page-lower .block-nav .parts-btn.nav-modal > a {
	padding: 12px 0;
	font-size: 20px;
	line-height: 140%;
}
.page-lower .block-nav .parts-btn:last-child {
	margin-right: 0;
}

/* 画像付きリスト横に3つ並べる
---------------------------------------- */
.page-lower .block-img-list .item {
	width: 300px;
}
.page-lower .block-img-list .item .item-img {
	text-align: center;
	margin-bottom: 16px;
}
.page-lower .block-img-list .item .item-title {
	font-weight: bold;
	font-size: 24px;
	line-height: 180%;
	margin-bottom: 16px;
}
/* 1280px未満は調整 */
@media screen and (max-width: 1279px) {
	.page-lower .block-img-list .item {
		width: 48%;
		margin-bottom: 56px;
	}
	.page-lower .block-img-list .item:last-child {
		margin-bottom: 0;
	}
}

/* キャッチコピー＋イメージ付きボタン導線
---------------------------------------- */
.page-lower .block-wire-catch-img {
	position: relative;
}
.page-lower .block-wire-catch-img .item-info-wrap {
	position: absolute;
	width: 600px;
	top: 64px;
	left: -80px;
}
.page-lower .block-wire-catch-img .item-info-wrap .item-catchcopy {
	font-weight: 900;
	font-size: 32px;
	line-height: 180%;
	padding: 8px 0;
	background-color: #fff6;
}
.page-lower .block-wire-catch-img .item-info-wrap .parts-btn {
	margin: 0;
}
.page-lower .block-wire-catch-img .item-img-wrap {
	margin-left: calc(100% - 640px + 80px);
	margin-right: -80px;
}
/* 1120px未満は調整 */
@media screen and (max-width: 1119px) {
	.page-lower .block-wire-catch-img .item-info-wrap {
		left: 0;
	}
	.page-lower .block-wire-catch-img .item-img-wrap {
		margin-left: calc(100% - 640px);
		margin-right: 0;
	}
}

/* プロ達のインタビュー
---------------------------------------- */
.page-lower .block-interview {
	padding: 0 0 80px 0;
	background-image: url(../images/common/bg-block-interview.svg);
	background-repeat: no-repeat;
	background-size: 1280px auto;
	background-position: center top;
}
.page-lower .block-interview h2 {
	margin-bottom: 32px;
}
.page-lower .block-interview .interview-wrap .item {
	display: block;
	width: 432px;
	margin-bottom: 40px;
}
.page-lower .block-interview .interview-wrap .item .item-img {
	width: 432px;
	height: 432px;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	-webkit-transition: filter,opacity 0.3s;
    -moz-transition: filter,opacity 0.3s;
    -o-transition: filter,opacity 0.3s;
    -ms-transition: filter,opacity 0.3s;
    transition: filter,opacity 0.3s;
}
.page-lower .block-interview .interview-wrap .item:hover .item-img {
	filter: brightness(120%);
    opacity: 0.8;
}
.page-lower .block-interview .interview-wrap .item .item-info {
	margin: -32px -32px 0 32px;
	background-color: #fff;
	box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.32);
	border-radius: 4px;
	padding: 16px;
	position: relative;
}
.page-lower .block-interview .interview-wrap .item .item-info .info-title {
	font-weight: bold;
	font-size: 20px;
	line-height: 180%;
	margin-bottom: 16px;
}
.page-lower .block-interview .interview-wrap .item .item-info .info-degree {
	font-size: 12px;
	line-height: 160%;
	margin-bottom: 8px;
}
.page-lower .block-interview .interview-wrap .item .item-info .info-name {
	font-size: 12px;
	line-height: 160%;
	margin-bottom: 0;
}
/* 1120px未満は調整 */
@media screen and (max-width: 1040px) {
	.page-lower .block-interview .interview-wrap .item .item-img {
		margin-bottom: 8px;
	}
	.page-lower .block-interview .interview-wrap .item .item-info {
		margin: 0;
	}
}

/* 投稿リスト共通
---------------------------------------- */
.page-lower .block-post-list {
	padding: 56px 0 80px 0;
}
.page-lower #sec-recommend {
	background-color: #F8F8F8;
}
.page-lower #sec-recommend .inner-scroll {
	overflow-x: auto;
	margin-bottom: 30px;
}
.page-lower #sec-recommend .inner-scroll .post-list {
	margin-bottom: 10px;
}
.page-lower .block-post-list h2 {
	margin-bottom: 36px;
}
.page-lower .block-post-list .post-list {
	width: 960px;
	margin: 0 auto 40px auto;
}
.page-lower .block-post-list .post-list .post-item {
	padding: 8px;
	background-color: #fff;
	width: 300px;
	box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.32);
	border-radius: 4px;
	margin: 0 30px 56px 0;
}
.page-lower .block-post-list .post-list .post-item:nth-child(3n) {
	margin-right: 0;
}
.page-lower .block-post-list .post-list .post-item:nth-child(3n+1):nth-last-child(-n+3),
.page-lower .block-post-list .post-list .post-item:nth-child(3n+1):nth-last-child(-n+3) ~ .post-item {
	margin-bottom: 0;
}

.page-lower .block-post-list .post-list .post-item > a {
	display: block;
}
.page-lower .block-post-list .post-list .post-item .post-img {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
	width: 100%;
	height: 190px;
	margin-bottom: 8px;
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
}
.page-lower .block-post-list .post-list .post-item > a:hover .post-img {
	filter: brightness(120%);
    opacity: 0.8;
}
.page-lower .block-post-list .post-list .post-item .post-title {
	font-weight: bold;
	font-size: 16px;
	line-height: 200%;
	height: 64px;
	margin-bottom: 12px;

	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
/* インタビュー用 */
.page-lower .block-post-list .post-list .post-item .interviewee-name {
	font-family: 'Lato', sans-serif;
	font-weight: bold;
	font-size: 12px;
	line-height: 160%;
	margin-bottom: 8px;
	height: 38px;
}
.page-lower .block-post-list .post-list .post-item .interviewee-lead {
	font-size: 12px;
	line-height: 160%;
	margin-bottom: 16px;
	height: 36px;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* 採用ブログ用 */
.page-lower .block-post-list .post-list .post-item .blog-meta {
	margin-bottom: 8px;
}
.page-lower .block-post-list .post-list .post-item .blog-meta .blog-date {
	font-size: 10px;
	line-height: 200%;
	color: #969696;
}
.page-lower .block-post-list .post-list .post-item .blog-meta .blog-category span{
	display: inline-block;
	font-size: 12px;
	line-height: 200%;
	color: #FFFFFF;
	text-align: center;
	background-color: #337FC6;
	margin-right: 4px;
	padding: 0 12px;
}
.page-lower .block-post-list .post-list .post-item .blog-author {
	padding: 2px 0;
	font-size: 10px;
	line-height: 200%;
	text-align: center;
	background-color: #EFEFEF;
	margin-bottom: 0;
}

/* 投稿詳細共通
---------------------------------------- */
.page-lower .post-content figure.wp-block-image {
	margin-bottom: 72px;
}

/* お知らせリスト共通
---------------------------------------- */
.block-news-list {
	max-width: 800px;
	margin: 0 auto 40px auto;
}
.block-news-list .item {
	width: 100%;
	padding: 24px 0 20px 0;
	border-bottom: solid 1px #969696;
}
.block-news-list .item:first-child {
	padding: 0 0 20px 0;
}
.block-news-list .item .item-date {
	width: 80px;
	margin-right: 24px;
	font-size: 12px;
	line-height: 180%;
}
.block-news-list .item .item-title {
	width: calc(100% - 80px - 24px);
	margin-bottom: 0;
	font-weight: normal;
	font-size: 16px;
	line-height: 180%;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	text-decoration: underline;
}

/* 末尾要素のmargin-bottom削除
---------------------------------------- */
.page-lower .section > *:last-child,
.page-lower .section .inner > *:last-child {
	margin-bottom: 0 !important;
}

/*============================================================
 ページング
*============================================================*/
/* jqueryプラグイン　InfiniteScroll使用時
---------------------------------------- */
/* メッセージ */
.page-load-status {
	text-align: center;
}

/* WPプラグイン　pagenavi使用時
---------------------------------------- */
.wp-pagenavi {
	margin: 40px 0;
    text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span {
	border: none;
	padding: 3px 8px;
}
.wp-pagenavi span.current {
	background-color: #0BB4A9;
    color: #fff;
}

/*============================================================
 404
*============================================================*/
#page-system-error #sec-system-error {
	padding: 220px 0 80px 0;
	text-align: center;
}
#page-system-error #sec-system-error .system-error-num {
	font-weight: 900;
	font-size: 160px;
	line-height: 100%;
	letter-spacing: 0.04em;
	margin-bottom: 20px;
}
#page-system-error #sec-system-error .system-error-sts {
	font-weight: bold;
	font-size: 32px;
	line-height: 180%;
	margin-bottom: 32px;
}
#page-system-error #sec-system-error .system-error-lead {
	margin-bottom: 40px;
}

/*============================================================
 footer
*============================================================*/
#site-footer {
	text-align: center;
	color: #fff;
	background-color: #1F272F;
}

/* totop
---------------------------------------- */
#site-footer #pagetop {
	padding: 32px 0 6px 0;
	background-color: #364049;
	background-image: url(../images/common/icon-arrow-pagetop.svg);
	background-repeat: no-repeat;
	background-size: 17px;
	background-position: center top 12px;
}
#site-footer #pagetop:hover {
    cursor: pointer;
}
/* footer-cta
---------------------------------------- */
#site-footer #footer-cta {
	padding: 48px 0 40px 0;
}
#site-footer #footer-cta .catchcopy {
	font-weight: bold;
	font-size: 32px;
	line-height: 160%;
	margin-bottom: 40px;
}

/* fnav
---------------------------------------- */
#site-footer #fnav {
	padding: 32px 0 20px 0;
}
/* fnav-logo */
#site-footer #fnav #fnav-logo img {
	width: 150px;
	margin-bottom: 40px;
}
/* fnav-menu */
#site-footer #fnav ul#fnav-menu {
	margin: 0 0 32px 0;
}
#site-footer #fnav ul#fnav-menu li {
	margin: 0 32px;
}
#site-footer #fnav ul#fnav-menu li a {
	display: block;
	position: relative;
}
#site-footer #fnav ul#fnav-menu li a::after {
	content: "";
	display: block;
	width: 0;
	height: 2px;
	position: absolute;
	bottom: -4px;
	left: calc(50% - 24px);
	background-color: none;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-ms-transition: all 0.3s;
	transition: all 0.3s;
}
#site-footer #fnav ul#fnav-menu li a:hover::after,
#site-footer #fnav ul#fnav-menu li.current a::after {
	width: 48px;
	background-color: #fff;
}

#site-footer #fnav ul#fnav-menu li .nav-title {
	font-size: 16px;
	line-height: 180%;
	margin-bottom: 0;
}
#site-footer #fnav ul#fnav-menu li .nav-sub-title {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 160%;
	margin-bottom: 0;
}
/* fnav-link */
#site-footer #fnav #fnav-link {
	width: 686px;
	margin: 0 auto 52px auto;
}
#site-footer #fnav #fnav-link #link-page ul li {
	margin-right: 40px;
}
#site-footer #fnav #fnav-link #link-page ul li:last-child {
	margin-right: 0;
}
#site-footer #fnav #fnav-link #link-page a {
	text-decoration: underline;
}
#site-footer #fnav #fnav-link #link-sns ul li {
	margin-left: 16px;
}
/* copyright */
#site-footer #copyright {
	font-size: 10px;
	line-height: 180%;
	letter-spacing: 0.08em;
}
