@charset "utf-8";
/* CSS Document */

section#main {
	width:100%;
	height:300px;
	background: url(../img/second-bg.jpg) no-repeat;
	background-size:cover;
	text-align:center;
	margin-bottom: 1em
}
section#main h2 {
	position:relative;
	color:#fff;
	font-size:40px;
	display:inline-block;
	padding-top:90px;
	font-weight:bold;
}
section#main h2::after {
	content:"";
	background-color:#fff;
	position:absolute;
	left:0;
	bottom:-12px;
	border-radius:3px;
	height:6px;
	width:100%;
}
section#main h2::before {
	content:"";
	background: url(../img/second.png) no-repeat;
	position:absolute;
	left:-210px;
	bottom:-70px;
	width:169px;
	height:189px;
}


h3.hline {
	color:#ffe700;
	font-size:50px;
	text-align:center;
	font-weight:bold;
	margin-top:10px;
	line-height:1.4;
	color:#333333;
}
h3.hline span:first-child {
	font-size:16px;
}
h3.hline span.main {
	position:relative;
	display:inline-block;
}
h3.hline span.main::after {
	content:"";
	position:absolute;
	bottom:-20px;
	width:120px;
	height:8px;
	background-color:transparent;
}

h3.hlineBk span.main::after {
	left:calc(50% - 60px);
	background: url(../img/h3line1.png) no-repeat;
}

h3.hlineWh span.main::after {
	left:calc(50% - 50px);
	background: url(../img/h3line2.png) no-repeat;
}

h4.center {
	text-align:center;
	font-size:18px;
	line-height: 1.5;
}

p.text-r {
	text-align:right;
}

ol.pan {
	padding-left:6px;
	font-size:14px;
}
ol.pan li {
	display:inline;
	list-style-type:none;
}
ol.pan li:after {
	content:"＞";
	margin-left:8px;
}
ol.pan li:last-child:after {
	content:"";
}

div.pagination {
	justify-content: center;
}
ul.pagination {
	display: flex;
	flex-wrap: wrap;
	margin: -10px 0 0 -10px;
	font-size:14px;
}
ul.pagination li {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 10px 0 0 10px;
	text-decoration: none;
	min-width: 30px;
	min-height: 28px;
	font-weight:normal;
}
ul.pagination li a {
	padding: 6px 9px;
}
ul.pagination li a:hover {
	font-weight:normal;
}
ul.pagination li:hover {
/*	background-color: #e5f6f1;*/
	background-color: #e5f1f6;
}
ul.pagination li.current {
	border: #00a273;
/*	background-color: #00a273;*/
	background-color: #0865ff;
	color: #fff;
}


/* company:メッセージ */
.messageBox {
	background-color:#fff;
	border-radius:20px;
	width:1400px;
	max-width:calc(100% - 20px);
	margin:0 auto;
	padding:0 40px 40px 40px;
}

.messageBoxContent {
	display: flex;
}
.messageBoxContent > div:first-child {
	flex:2;
	padding-right:1em;
}
.messageBoxContent > div:first-child img {
	margin-left:1em;
}
.messageBoxContent > div:last-child {
	flex:1.1;
	text-align:right;
}
.messageBoxContent > div:last-child img {
	border-radius:20px;
}

/* category/news:お知らせ一覧 */
.newsBox {
	width:100%;
	background-color:#fff;
	border-radius:23px;
	padding:30px;
}
.newsBox h3 {
	text-align:center;
	font-size:28px;
	margin-top:50px;
}
.newsBox h3 span {
	background-color:#ffe700;
	padding:0 12px;
}
.newsBox ul.newsList {
	width:100%;
	max-width:1000px;
	margin:40px auto;
	padding-left:0;
}
.newsBox ul.newsList li {
	list-style-type:none;
	border-bottom:1px dashed #7e7e7e;
	padding: 30px 0;
}
.newsBox ul.newsList li:first-child {
	border-top:1px dashed #7e7e7e;
}
.newsBox ul.newsList li p {
	margin:0;
}
.newsBox ul.newsList li p a {
	text-decoration:underline;
}
.newsBox ul.newsList li p a:hover {
	text-decoration:none;
	font-weight:normal;
}


/* category/blog:ブログ一覧 */
.blogBox {
	width:100%;
	background-color:#fff;
	border-radius:23px;
	padding:30px;
}
.blogBox h3 {
	text-align:center;
	font-size:28px;
	margin-top:50px;
	font-weight:700;
}
.blogBox h3 span {
	background-color:#ffe700;
	padding:0 12px;
}
.blogBox ul.blogList {
	width:100%;
	max-width:1000px;
	margin:40px auto;
	padding-left:0;
	display: grid;
	grid-template-columns: repeat(3, 304px);
	gap: 44px;
}
.blogBox ul.blogList li {
	list-style-type:none;
	padding: 10px;
}
.blogBox ul.blogList li p {
	width:300px;
}
.blogBox ul.blogList li p.blog__thumb {
	text-align:center;
	height:300px;
	overflow:hidden;
}
.blogBox ul.blogList li p.blog__thumb a:hover img {
	opacity:0.8;
}
.blogBox ul.blogList li p.blog__title a {
	text-decoration:underline;
}
.blogBox ul.blogList li p.blog__title a:hover {
	text-decoration:none;
	font-weight:normal;
}
.blogBox ul.blogList li p.blog__date {
	font-size:14px;
	margin-bottom:0.3rem;
}

/* blog:ブログ／news:お知らせ */
.postSingleBox {
	width:100%;
	background-color:#fff;
	border-radius:23px;
	padding:30px;
}
.postSingleBox .postInner {
	width:100%;
	max-width:1000px;
	margin:40px auto 0;
}
.postSingleBox h3 {
	text-align:left;
	font-size:30px;
	font-weight:700;
	margin-top:14px;
}
.postSingleBox h3 span {
	background-color:#ffe700;
	padding:0 8px;
	line-height:1.4;
}
.postSingleBox .post_contents {
	margin-top:50px;
}
.postSingleBox .post_contents a {
	text-decoration:underline;
}
.postSingleBox .post_contents a:hover {
	text-decoration:none;
	font-weight:normal;
}
.postSingleBox .post_contents p {
	margin-bottom:30px;
}
.postSingleBox .postInner hr {
/*	opacity:1;*/
	margin-top:50px;
	margin-bottom:30px;
}

.singlePagination {
}
.singlePagination ul {
	position:relative;
	display:flex;
	width:100%;
	padding-left:0;
}
.singlePagination ul li {
	list-style-type:none;
	width:50%;
}
.singlePagination ul li.next {
	text-align:right;
}
.singlePagination  p.listLink {
	margin-top:20px;
	text-align:center;
}
.singlePagination  p.listLink a {
	display:inline-block;
	background-color:#363538;
	color:#fff;
	border-radius:24.5px;
	font-size:18px;
	padding:9px 0;
	width:320px;
	max-width:100%;
}
.singlePagination  p.blog a {
	background-color:#fff;
	color:#363538;
	border:1px solid #363538;
}
.singlePagination  p.listLink a img {
	margin-bottom:3px;
}

.post_contents table tr td,
.post_contents table tr th {
	border-width:1px;
	border-style:none;
}



@media screen and (max-width: 1090px) {
	/* category/blog:ブログ */
	.blogBox ul.blogList {
		grid-template-columns: repeat(2, 304px);
		gap: 44px;
	}
}

@media screen and (max-width: 959px) {
	.messageBoxContent {
		flex-direction: column;
	}
	.messageBoxContent > div:first-child {
		padding-right:0;
	}
	.messageBoxContent > div:last-child {
		text-align:center;
	}
}

@media screen and (max-width: 640px) {
	section#main {
		height:250px;
		background-position: center top;
		background-size:auto;
	}
	section#main h2 {
		padding-top:65px;
		font-size:36px;
	}
	section#main h2::before {
/*		left:calc(50% - 85px);
		top:-20px;
*/
		display:none;
	}

	h3.hline {
		font-size:36px;
	}
	h3.hline span:first-child {
		font-size:14px;
	}

	h4.center {
		text-align:left;
	}

	.messageBox {
		padding:0 20px 40px 20px;
	}

	/* category/news:お知らせ一覧 */
	.newsBox {
		padding:20px;
	}

	/* category/blog:ブログ一覧 */
	.blogBox {
		padding: 15px;
	}
	.blogBox ul.blogList {
		grid-template-columns: repeat(1, 100%);
		gap: 44px;
	}
	.blogBox ul.blogList li p {
		width:500px;
		max-width:100%;
	}
	.blogBox ul.blogList li p.blog__thumb {
		height:auto;
	}


}

/*サービス紹介
-----------------------------------------*/
p.service-guide{
font-size: 1.13em;
line-height: 1.6;
text-align: center;
}

.serviceBox {
	background-color:#fff;
	border-radius:20px;
	width:1400px;
	max-width:calc(100% - 20px);
	margin:0 auto;
	padding:30px 40px 40px 40px;
}

.serviceBox h3.subtitle{
	display: inline-block;
	background-color: #ffe701;
	color: #333333;
	font-size: 36px;
	padding: 5px 2rem ;
	text-align: center;
	border-radius: 50vh;
	font-weight: bold;
 vertical-align: middle;
}
.serviceBox h3.subtitle .en{
	width: 36px;
	height:36px;
	border-radius: 50%;
	background-color: #fff;
	display: inline-block;
	border: 1px solid #333;
	margin-right: 1rem;
	text-align:center;
 line-height: 32px;
 font-size: 28px;
}


.service_cont .disc{
	padding-right: 2em;
}
.service_cont .disc table{
	border-top: 1px solid #333;
	border-right: 1px solid #333;
}
.service_cont .disc table th{
	background-color: #ccc;
	font-size: 1.5em;
	padding: 5px 1rem;
	border-left: 1px solid #333;
	border-bottom: 1px solid #333;
}
.service_cont .disc table td{
 font-weight: bold;
	font-size: 1.5em;
	padding: 5px 1rem;
	border-left: 1px solid #333;
	border-bottom: 1px solid #333;
}

.service_cont p{
	font-size: 1.13em;
}
.service_cont .photo{
		max-width: 460px;
		width: 100%;
}
.service_cont .photo img{
	border-radius: 20px;

}
.serviceBox h4 span{
	background-color: #000;
	color: #fff;
	font-size: 24px;
	padding: 5px 1rem;
	vertical-align: middle;
	display: inline-block;
}
.service_cont .disc h5{
	border-left: 10px solid #ffe700;
	font-size: 1.13em;
	padding-left: 10px;
}


.service_cont .disc .bg-gray{
	padding: 1rem;
	margin: 0;
	font-weight: bold;
	max-width: 450px;
	width: 100%;
	margin-left: 1em;
	background-color: #f6f6f6;
	border-radius: 10px;
}
.service_cont .disc ul{
	margin-bottom: 0;
}
.service_cont .disc li{
	font-size: 1.13em;
}
.serviceBox .summary{
	width: 95%;
	margin: 0 auto;
}
.serviceBox .summary .disc{
	background-color: #fff6a3;
	font-size: 1.25em;
	padding: 1.5rem;
	border: 1px solid #333;
	border-radius: 20px;
}
@media screen and (max-width: 959px) {
	.serviceBox h3.hline{font-size: 40px}
	.serviceBox h3.subtitle{
		font-size: 28px;
	}
	.serviceBox h3.subtitle .en{
		width: 28px;
		height: 28px;
		line-height: 25px;
font-size: 22px;
	}
	.serviceBox h4 span{
		font-size: 20px;
	}
.service_cont .disc,.service_cont .photo{
	width: 50%;
}
.service_cont .disc table th,
.service_cont .disc table td{
	display: block;
	font-size: 1.25em;
}

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

	p.service-guide{
		text-align: left;
	}

	.service_cont .disc,.service_cont .photo{
		width: 100%;
	}
	.service_cont .disc{
		padding-right: 0;
	}

	.service_cont .photo{
		margin: 0 auto;
	}
	.serviceBox .summary .disc{
		font-size: 1.13em;
		margin-top: 1em;
	}
}
@media screen and (max-width: 767px){

	.service_cont .disc table{
		width: 100%;
	}
}

@media screen and (max-width: 640px){
	.serviceBox h3.hline{
		font-size: 32px;
	}
}
@media screen and (max-width: 480px){
	.serviceBox{
		padding: 1em;
	}
	.serviceBox h3.hline{
		font-size: 24px;
	}
	.serviceBox h4.center{
		font-size: 16px;
	}
	.serviceBox h3.subtitle{
		font-size: 20px;
	}
	.serviceBox h3.subtitle .en{
		width: 20px;
		height: 20px;
		line-height: 18px;
		font-size: 16px;
	}
	.service_cont .disc table th, .service_cont .disc table td,
	.service_cont p,.service_cont .disc h5,.service_cont .disc li,
	.serviceBox .summary .disc{
		font-size: 1em;
	}
	.serviceBox h4 span{
		font-size: 16px;
	}
	.service_cont .disc .bg-gray{
		margin-left: 0;
	}
	.serviceBox .summary{
		width: 100%;
	}
}
/*スタッフ紹介*/
.staffBox {
	background-color:#fff;
	border-radius:20px;
	width:1400px;
	max-width:calc(100% - 20px);
	margin:0 auto;
	padding:30px 40px 40px 40px;
}

.staffBox h3.subtitle{
	display: inline-block;
	background-color: #ffe701;
	color: #333333;
	font-size: 36px;
	padding: 5px 2rem ;
	text-align: center;
	border-radius: 50vh;
	font-weight: bold;
 vertical-align: middle;
}
.staff_cont p{
	font-size: 1.13em;
	line-height: 1.6;
}
.staff_cont .disc{
	padding-right: 2em;
	width: 100%;
}
.staff_cont .disc.staff2{
	padding-left: 2em;
	width: 100%;
}

.staff_cont .photo{
		max-width: 460px;
		width: 100%;
}
.staff_cont .photo img{
	border-radius: 20px;

}

.staff_cont .disc .bg-gray{
	padding: 1rem;
	margin: 0;
	font-weight: bold;

	width: 90%;
	background-color: #f6f6f6;
	border-radius: 10px;
}
.staff_cont .disc ul{
	margin-bottom: 0;
}
.staff_cont .disc li{
	font-size: 1.13em;
}
.staff_cont h4 span{
	background-color: #000;
	color: #fff;
	font-size: 24px;
	padding: 5px 1rem;
	vertical-align: middle;
	display: inline-block;
	width: 6em;
	text-align: center;
}
.staff_cont .disc h5{
	border-left: 10px solid #ffe700;
	font-size: 1.13em;
	padding-left: 10px;
}
.staff_cont .selfBox{
		background-color: #f6f6f6;
		border-radius: 10px;
		padding: 1em;
		font-size: 1.13em;
}
@media screen and (max-width: 992px) {
	.staffBox h3.subtitle{
		font-size: 28px;
	}
	.staffBox h4 span{
		font-size: 20px;
	}
.staff_cont .disc,.staff_cont .photo{
	width: 100%;
}
.staff_cont .photo{
	display: flex;
	justify-content: center;
	max-width: 100%;
}

.staff_cont .disc{
	padding-right: 0;
}
.staff_cont .disc.staff2{
	padding-left: 0;
	padding-top: 1em;
}
.staff_cont .disc .bg-gray{
	width: 100%;
}
}
@media screen and (max-width: 767px){
.staffBox{
	padding: 1em;
}

.staffBox h3.subtitle{
	font-size: 20px;
}
.staffBox h4 span{
	font-size: 18px;
}
.staff_cont p,.staff_cont .disc li,.staff_cont .selfBox{
	font-size: 1em;
}
}
@media screen and (max-width: 576px){
	.staffBox h3.subtitle{
		font-size: 18px;
		display: block;
	}
}
