@charset "utf-8";
/*
Theme Name: PONSHUKAN
Text Domain: ponshukan
*/

/* = Theme Normalize
-------------------------------------------------------------- */
h1,h2,h3,h4,h5,h6 {
	margin: 0 0 1em;
	font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, serif;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.1em;
	color: #222;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
p {
	margin: 1.5em 0;
}
dl, dt, dd {
	margin: 0;
}
a, span {
}
a {
	color: #0073aa;
}
em { font-style: normal; }
em,
strong {
	font-weight: bold;
}

img:not(.thumbnail-with-fitted) {
	height: auto !important;
}
img.thumbnail-with-fitted {
	object-fit: contain;
}
a.img-box {
	letter-spacing: 0;
}
a.img-box:hover {
	cursor: pointer;
}

table {
	table-layout: fixed;
}
th,td {
	font-size: 1.3rem;
}
th {
	background: transparent;
	border-right: 0;
}
td {
	background: transparent;
}
th:last-child,
td:last-child {
	border-right: 0;
}

.fa, .fab, .fal, .far, .fas {
	position: relative;
	top: 0.15em\0;
}

.mincho {
	font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
}

/* = Layout
-------------------------------------------------------------- */
#wrapper {
	position: relative;
	min-width: 1040px;
	width: 100%;
	background: #fffae6;
}
#main {
	padding-top: 40px;
	padding-bottom: 40px;
}
.home #main,
.page-template #main,
.pg-tmplt-vrbl #main {
	padding-top: 0;
	padding-bottom: 0;
}

.two-column-container {
	width: 100%;
}
	.two-column-container #container {
		float: left;
		box-sizing: border-box;
		position: relative;
		width: 67.6%;
	}
	.two-column-container #sidebar {
		float: right;
		box-sizing: border-box;
		position: relative;
		width: 274px;
	}

.content-width {
	position: relative;
	box-sizing: border-box;
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}
.content-wide {
	max-width: 860px;
}
.content-full-wide {
	max-width: 1000px;
}
.content-narrow {
	max-width: 640px;
}

@media screen and (min-width: 769px) {
	.content-row {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	.content-row-reverse {
		flex-direction: row-reverse;
	}
	.content-row .col {
		box-sizing: border-box;
		width: 50%;
	}
}
.content-row .col {
	padding: 10px 20px;
}
.content-row .img-col {
	padding: 10px 0;
}
@media screen and (max-width: 768px) {
	.content-row {
		padding: 20px 0 30px;
	}
	.content-row .col {
		padding: 10px;
	}
	.content-row .img-col img {
		width: 100%;
		height: auto!important;
	}
}

/* = Common Layout
-------------------------------------------------------------- */
.sec {
	padding: 30px 0;
}
.pg-tmplt-vrbl .sec:first-child {
	padding-top: 0;
}
.sec:last-child {
	padding-bottom: 0;
}

.sec-central {
	text-align: center;
}

.sec-part-container {
}
.sec-part {
}
.sec-part + .sec-part {
	padding-top: 20px;
}

.sec-desc {
	margin: 0 0 40px;
	text-align: center;
}
	.sec-desc .ttl-box {
		margin: 0 0 30px;
	}
	.sec-desc .txt-box {
		font-size: 1.8rem;
		line-height: 2;
	}

.row-container {}

.float-row {}
	@media screen and (min-width: 769px) {
		.float-row .left-col, 
		.float-row .right-col {
			width: 48%;
		}
		.float-row .left-col {
			float: left;
		}
		.float-row .right-col {
			float: right;
		}
		.float-row .left-col .img-box {
			text-align: left;
		}
		.float-row .right-col .img-box {
			text-align: right;
		}
	}

.grid-row {
	font-size: 0;
}
.grid-row + .grid-row {
	margin-top: 4%;
}
	.grid-row .col {
		display: inline-block;
		vertical-align: top;
	}
	.grid-row .col-2 {
		width: 48%;
	}
	.grid-row .col-2 + .col-2 {
		margin-left: 4%;
	}
	.grid-row .col-2:nth-child(2n+1) {
		margin-left: 0;
	}
	.grid-row .col-2:nth-child(n+3) {
		margin-top: 4%;
	}
	.grid-row .col-3 {
		width: 30%;
	}
	.grid-row .col-3 + .col-3 {
		margin-left: 5%;
	}
	.grid-row .col-3:nth-child(3n+1) {
		margin-left: 0;
	}
	.grid-row .col-3:nth-child(n+4) {
		margin-top: 5%;
	}
		.grid-row .col .ttl-box {
			margin: 10px 0;
		}
		.grid-row .col .ttl {
			font-size: 1.8rem;
		}
		.grid-row .col .txt-box {
			font-size: 1.6rem;
		}

@media screen and (max-width: 768px) {
	.grid-row .col-2,
	.grid-row .col-3 {
		width: 100%;
	}
	.grid-row .col + .col {
		margin-top: 5%;
		margin-left: 0;
	}
	.grid-row .col-sp-2 {
		width: 48%;
	}
	.grid-row .col-sp-2 + .col-sp-2 {
		margin-top: 0;
		margin-left: 4%;
	}
	.grid-row .col-sp-2:nth-child(2n+1) {
		margin-left: 0;
	}
	.grid-row .col-sp-2:nth-child(n+3) {
		margin-top: 4%;
	}
}

.inner-table {
	box-sizing: border-box;
	display: table;
	width: 100%;
	height: 100%;
}
	.inner-table .inner-cell {
		box-sizing: border-box;
		display: table-cell;
		width: 100%;
		height: 100%;
		text-align: center;
		vertical-align: middle;
	}

/* = Common Layout
-------------------------------------------------------------- */
a.disabled,
.disabled > a {
	pointer-events: none;
}

.ttl-box {}
.ttl {
	margin: 0;
}
.gothic-ttl {
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}

.sub-ttl {
	display: inline-block;
	font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, serif;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	font-weight: 700;
}

.sec-ttl-bar {
	box-sizing: border-box;
	display: table;
	width: 100%;
	height: 120px;
	margin-bottom: 40px;
	background: #111 no-repeat center center;
	background-image: url("./images/common/ttl_brown_01.png");
	background-size: cover;
	text-align: center;
}
.sec-ttl-bar .inner {
	display: table-cell;
	vertical-align: middle;
}
.sec:nth-child(even) .sec-ttl-bar {
	background-image: url("./images/common/ttl_blue_01.png");
}
.sec-ttl-bar .sec-ttl {
	margin: 0;
	font-size: 3rem;
	letter-spacing: 0.2em;
	color: #fff;
}
.sec-ttl-bar .sub-ttl {
	font-size: 2rem;
	color: #fff;
}
@media screen and (max-width: 768px) {
	.sec-ttl-bar {
		height: 140px;
	}
	.sec-ttl-bar .sec-ttl {
		font-size: 2.7rem;
	}
	.sec-ttl-bar .sub-ttl {
		font-size: 1.9rem;
	}
}

.under-border-ttl {
	font-size: 3rem;
	text-align: center;
}
.under-border-ttl .ttl-inner {
	position: relative;
	display: inline-block;
	padding: 0.4em 0;
	color: #0073aa;
	border-bottom: 1px solid currentColor;
	vertical-align: top;
}

.border-gothic-ttl {
	display: block;
	margin: 20px 0;
	padding: 15px 0;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	font-size: 2rem;
	font-weight: bold;
	border-bottom: 1px solid #0073aa;
}

.txt-box {
	margin-bottom: 20px;
}
.txt-box:last-child {
	margin-bottom: 0;
}
	.txt-box p:first-child {
		margin-top: 0;
	}
	.txt-box p:last-child {
		margin-bottom: 0;
	}

.common-list li {
	position: relative;
	margin: 5px 0;
	padding-left: 1.2em;
}
.common-list li::before {
	content: "";
	position: absolute;
	top: 0.65em;
	left: 0;
	width: 5px;
	height: 5px;
	background: #0073aa;
	border-radius: 50%;
}

/* = Archive
-------------------------------------------------------------- */
body.archive #content .box-container {
	margin-top: 20px;
	margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
body.post-type-archive-recruit .content-narrow {
	max-width: 500px;
}
}
body.post-type-archive-recruit .sec-recruit {
	margin-top: 40px;
	margin-bottom: 80px;
	font-weight: bold;
}
body.post-type-archive-recruit .sec-recruit:last-child {
	margin-bottom: 120px;
}
body.post-type-archive-recruit .sec-recruit p {
	font-size: 1.4rem;
}
body.post-type-archive-recruit .sec-ttl-box,
body.post-type-archive-recruit .sec-recruit .ttl-box {
	margin: 0 0 40px;
	text-align: center;
}
body.post-type-archive-recruit .sec-ttl {
	margin: 15px 0;
	font-size: 2.6rem;
	text-align: center;
}
body.post-type-archive-recruit .sec-recruit .sub-ttl {
	width: 100%;
	margin: 0 auto;
	padding-top: 15px;
	font-size: 2.2rem;
	line-height: 1.5;
	border-top: 1px solid #000;
}
body.post-type-archive-recruit .sec-recruit:first-child .sub-ttl {
	border-top: 0;
}
body.post-type-archive-recruit .sec-recruit .president {
	margin-top: 30px;
	line-height: 2;
	text-align: center;
}
body.post-type-archive-recruit .sec-recruit .president .f-smaller {
	font-size: 1.2rem;
}

/* = Entry Loop list
-------------------------------------------------------------- */
.entry-date {
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: #666;
}

.entry-list {
	font-size: 0;
}
.entry-list li {
	box-sizing: border-box;
	width: 100%;
	padding: 18px 20px;
	background: #fff;
}
.entry-list li + li {
	border-top: 1px solid #ddd;
}
.entry-list li .entry-date {
	display: inline-block;
	margin: 5px 15px 5px 0;
	vertical-align: middle;
}
.entry-list li .cat-items {
	display: inline-block;
	margin: 5px 15px 5px 0;
	font-size: 0;
	vertical-align: middle;
}
.entry-list li .ttl {
	display: inline-block;
	max-width: 770px;
	margin: 5px 0;
	font-size: 1.4rem;
	line-height: 1.5;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	vertical-align: middle;
}

.box-container {
	font-size: 0;
	text-align: left;
}
/* = Entry Loop box
-------------------------------------------------------------- */
.news-box {
	box-sizing: border-box;
	display: inline-block;
	font-size: 1.3rem;
	width: 30%;
	margin-top: 8%;
	margin-right: 5%;
	vertical-align: top;
}
.recruit-box {
	box-sizing: border-box;
	display: inline-block;
	font-size: 1.3rem;
	width: 46%;
	margin-top: 8%;
	margin-right: 8%;
	vertical-align: top;
}
@media screen and (min-width: 769px) {
	.news-box:nth-child(-n+3) {
		margin-top: 0;
	}
	.news-box:nth-child(3n) {
		margin-right: 0;
	}
	.recruit-box:nth-child(-n+2) {
		margin-top: 0;
	}
	.recruit-box:nth-child(2n) {
		margin-right: 0;
	}
}

.entry-box .entry-date {
	margin: 2px 0;
	font-size: 1.3rem;
	color: #969696;
}
.entry-box .entry-ttl {
	margin: 2px 0;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
}

.cat-list {
	font-size: 0;
	text-align: left;
}
.cat-item {
	display: inline-block;
	vertical-align: top;
}
.cat-item a {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	min-width: 80px;
	margin: 2px 10px 2px 0;
	margin-right: 10px;
	padding: 2px 10px;
	font-size: 1.2rem;
	line-height: 1.25;
	border: 1px solid #111;
	text-align: center;
	vertical-align: middle;
}
.cat-item .cat-inner {
	font-size: 1.2rem;
}

.single-common-table {
	margin: 30px 0;
	border-top: 1px solid #868379;
	table-layout: fixed;
}
.single-common-table th {
	width: 100px;
	padding: 20px 0;
	background: #ede8d6;
	border-bottom: 1px solid #868379;
}
.single-common-table td {
	padding: 10px 20px;
	border-bottom: 1px solid #868379;
}
@media screen and (max-width: 768px) {
	.single-common-table th {
		width: 130px;
	}
}

/* = news
-------------------------------------------------------------- */
.post-type-archive-news .box-container {
	/* max-width: 700px; */
}
.news-box .thumb {
	margin-bottom: 5px;
}

/* = pb
-------------------------------------------------------------- */
#pb-row-container .content-row {
	margin-bottom: 50px;
	align-items: flex-start;
}
#pb-row-container .content-row .col {
	padding-top: 0;
	padding-bottom: 0;
}
#pb-row-container .content-row .txt-col {
	font-size: 1.3rem;
}
#pb-row-container .content-row .txt-col .ttl-box {
	margin-bottom: 10px;
}
#pb-row-container .content-row .txt-col .ttl {
	font-size: 2rem;
	font-weight: bold;
}
#pb-row-container .content-row .txt-col .txt-box {
	margin-bottom: 0;
}
#pb-content .btn-box,
#pb-row-container .content-row .txt-col .btn-box {
	margin: 8px 0 0;
	text-align: left;
}
#pb-content .btn-box .btn,
#pb-row-container .content-row .txt-col .btn-box .btn {
	padding: 6px 30px;
}
#pb-content .btn-box .btn .btn-inner,
#pb-row-container .content-row .txt-col .btn-box .btn .btn-inner {
	font-size: 1.5rem;
}

.single-pb #pb-ttl-box {
	text-align: center;
}
.single-pb .pb-sub-name {
	font-size: 2rem;
	font-weight: bold;
}
.single-pb #entry-ttl {
	font-size: 4rem;
	font-weight: bold;
}
.single-pb #pb-content {
	border-top: 1px solid #111;
	padding: 25px 0;
}

@media screen and (max-width: 768px) {
	#pb-row-container .content-row .col + .col {
		padding-top: 10px;
	}
	#pb-row-container .content-row .txt-col .btn-box {
		margin-top: 15px;
	}
}

/* = recruit
-------------------------------------------------------------- */
.single-recruit #entry-ttl {
	font-size: 1.6rem;
	text-align: center;
}

/* = sakagura
-------------------------------------------------------------- */
.post-type-archive-sakagura #main,
.single-sakagura #main {
	padding-top: 0;
}

.sec-sakagura {
	padding: 50px 0 20px;
}
.sec-sakagura + .sec-sakagura {
	padding-top: 20px;
}

.area-ttl {
	margin: 0 0 15px;
	padding: 0 0 15px;
	font-size: 3rem;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #111;
	text-align: center;
}

.txt-bar {
	margin: 0;
	padding: 10px 0;
	background: #ede8d6;
}
	.txt-bar .txt-box {
		font-size: 1.5rem;
	}

#sakagura-detail {
	padding: 50px 0;
	font-size: 1.5rem;
	text-align: center;
}
#sakagura-detail #entry-ttl {
	margin: 5px 0;
	font-size: 5rem;
	line-height: 1.1;
}
#sakagura-detail .sakagura-kana {
	display: block;
	margin: 0 0 10px;
	font-size: 2rem;
	font-weight: bold;
}
#sakagura-detail .sakagura-founding-year {
	display: block;
	margin: 0 0 10px;
	font-size: 2rem;
	font-weight: bold;
}
#sakagura-detail .sakagura-link {
	font-weight: bold;
}

#sakagura-interview {
	padding: 20px 0;
	border-top: 1px solid #111;
}
#sakagura-interview .ttl-box {
	text-align: center;
}
@media screen and (max-width: 768px) {
	#sakagura-detail #entry-ttl {
		font-size: 4rem;
	}
}

/* = Entry Article
-------------------------------------------------------------- */
@media screen and (max-width: 768px) {
	html {
		font-size: 87.5%;
	}
	.left,
	.right {
		float: none;
	}
	.content-width {
		min-width: 0;
		width: 100%;
		margin: 0 auto;
		padding-left: 3.125%;
		padding-right: 3.125%;
	}

	#wrapper {
		width: 640px;
		min-width: 0;
		margin: 0 auto;
		box-shadow: 0 0 10px rgba(30, 30, 30, 0.3);
	}
	.two-column-container #container,
	.two-column-container #sidebar {
		float: none;
		width: 100%;
	}
	.two-column-container #sidebar {
		margin-top: 40px;
	}
	#main {
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.entry-list li .ttl {
		max-width: none;
		display: block;
	}
	
	.news-box {
		width: 48%;
		margin-top: 30px;
		margin-right: 4%;
	}
	.news-box:nth-child(-n+2) {
		margin-top: 0;
	}
	.news-box:nth-child(2n) {
		margin-right: 0;
	}
	.recruit-box {
		display: block;
		width: 100%;
		margin-top: 30px;
		margin-right: 0;
	}
}
