@charset "utf-8";
/*------------------------------------------------------------------------------
Css name: content.css
Css info: 各ページスタイル
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------
index
--------------------------------------------------------------------------*/

/*-------------------------------------------------------------*/
.hero{
	display: flex;
	justify-content: space-between;
	align-items: center;

	padding-top: 60px;
	margin-bottom: 100px;

	z-index: -1;
}
.hero_txt{
	width: 34%;
	margin-left: 2%;
}
.hero_txt img{
	width: 100%;
}

.hero_images{
	position: relative;

	overflow: hidden;
	display: block;

	width: 60vw;
	height: 600px;
	margin-top: 50px;
	border-radius: 16px 0 0 16px;

	-webkit-transform: skewY(-7.5deg);
	transform: skewY(-7.5deg);
	background: #d5eaf6;
}
.hero_image{
	display: block;
	width: 100%;

	position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;

  animation: heroImg-animation 18s linear infinite;
  will-change: opacity;  /* 描画の安定化 */
  backface-visibility: hidden; /* Safariのチラつき対策 */
}

@media screen and (min-width: 2000px) {
	.hero_images{
		height: 70vh;
	}
}
@media screen and (max-width: 880px) {
	.hero_txt{
		margin-left: 3%;
	}
	.hero_images{
		height: 40vh;
	}
}
@media screen and (max-width: 1100px) {
	.hero{
		padding-top: 0;
	}
}
@media screen and (max-width: 580px) {
	.hero{
		display: flex;
		flex-direction: column;
	}
	.hero_txt{
		order: 2;

		width: 80%;
		margin: 0 auto;

		z-index: 1;
	}
	.hero_txt img{
		filter: drop-shadow(1px 1px 1px rgba(255,255,255,.9)) drop-shadow(-1px -1px 1px rgba(255,255,255,.9));
	}
	.hero_images{
		order: 1;

		width:95vw;
		height: 300px;
		margin: 60px auto 0;
		border-radius: 16px;
	}
}

.hero_image img{
	display: block;
	position: absolute;
	top: calc( 19vw * tan(-7.5deg) );
	left: 0;

	-webkit-transform: skewY(7.5deg) scale(1.1);
	transform: skewY(7.5deg) scale(1.1);

	width: 100%;
	height: calc( 100% + ( 19vw * tan(7.5deg) * 2 ) );
	object-fit: cover;
}
	.hero_image02{
		object-position: right center;
	}
	.hero_image06{
		object-position: center bottom;
	}
	.hero_image07{
		object-position: left center;
	}
	@media screen and (max-width: 880px) {
		.hero_image02{
			object-position: 80% center;
		}
	}
@media screen and (max-width: 580px) {
	.hero_image img{
		top: calc( 31vw * tan(-7.5deg) );
		height: calc( 100% + ( 31vw * tan(7.5deg) * 2 ) );
	}
}


.hero_image:nth-of-type(1){ animation-delay: 0s; }
.hero_image:nth-of-type(2){ animation-delay: 6s; }
.hero_image:nth-of-type(3){ animation-delay: 12s; }

@keyframes heroImg-animation {
  0%{ opacity: 0;}
  5%{ opacity: 1;}
  33%{ opacity: 1;}
  36%{ opacity: 0;}
  100%{ opacity: 0;}
}

/*-- index_共通 -------------------------------------------*/
.index_box{
	width: 1100px;
	max-width: 90%;
	margin: 0 auto;
}
.index_content_title{
	font-family: 'EB Garamond', serif;
	font-size: 8.0rem;
	line-height: 1;
	color: #05328d;
}
.index_content_title span{
	display: block;
	margin-top: 24px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.4rem;
	font-weight: 700;
	color: #ea5226;
}
@media screen and (max-width: 580px) {
	.index_content_title{
		font-size: 6.0rem;
	}
	.index_content_title span{
		margin-top: 12px;
	}
}
/*-- index_サービス -------------------------------------------*/
.index_service_box{
	margin-top: 130px;
}
.index_service_btns{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	width: 100%;
}
.index_service_btn{
	width: 30%;
	margin-right: 5%;
}
.index_service_btn01{
	margin-top: 96px;
}
.index_service_btn02{
	margin-top: 48px;
}
.index_service_btn:nth-of-type(3n),
.index_service_btn:last-of-type{
	margin-right: 0;
}
.index_service_image{ /* 画像 */
	position: relative;
	overflow: hidden;
	display: block;

	width: 100%;
	height: 260px;
	border-radius: 20px;

	-webkit-transform: skewY(-7deg);
	transform: skewY(-7deg);
}
.index_service_image img{
	display: block;
	position: absolute;
	top: calc( 19vw * tan(-7deg) );
	left: 0;

	-webkit-transform: skewY(7deg);
	transform: skewY(7deg);

	width: 100%;
	height: calc( 100% + ( 19vw * tan(7deg) * 2 ) );
	-o-object-fit: cover;
	object-fit: cover;

	transition: transform .3s;
}
@media (hover: hover) and (pointer: fine){
	.index_service_btn:hover .index_service_image img {
		transform: skewY(7deg) scale(1.05);
	}
}
.index_service_title{ /* タイトル */
	position: relative;

	margin: 8px 0 0 auto;
	padding: 0 12px 0 36px;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 2.4rem;
	font-weight: 700;
	color: #05328d;
	transition: color .3s;
}
.index_service_txt{
	margin-top: 1em;
	padding: 0 12px;
	line-height: 1.6;
}
.index_service_title::before{
	display: block;
	content: "";
	position: absolute;
	top: 8px;
	left: 0;

	width: 24px;
	height: 24px;
	background: #fff url(../img/common/ico_arrow.png) center center no-repeat;
	background-size: 8px;
	border: 1px solid #2c96d3;
	border-radius: 50%;
	transition: background .3s;
}
@media (hover: hover) and (pointer: fine){
	.index_service_btn:hover .index_service_title {
		color: #2c96d3;
	}
	.index_service_btn:hover .index_service_title::before{
		background-color: #d5eaf6;
	}
}
@media screen and (max-width: 880px) {
	.index_service_btn{
		width: 32%;
		margin-right: 2%;
	}
	.index_service_btn01{
		margin-top: 66px;
	}
	.index_service_btn02{
		margin-top: 68px;
	}
	.index_service_image{ /* 画像 */
		height: 200px;
	}
	.index_service_title{ /* タイトル */
		margin: 8px 0 0 auto;
		padding: 0 12px 0 36px;
		font-size: 2.0rem;
	}
	.index_service_title::before{
		top: 6px;
		left: 0;
	}
}
@media screen and (max-width: 580px) {
	.index_service_btns{
		flex-direction: column;
	}
	.index_service_btn{
		width: 100%;
		margin-top: 30px;
	}
	.index_service_btn01,
	.index_service_btn02{
		margin-top: 30px;
	}
	.index_service_image{ /* 画像 */
		width: 100%;
		height: 180px;
	}
	.index_service_image img{
		top: calc( 80vw * tan(-7deg) );
		height: calc( 100% + ( 80vw * tan(7deg) * 2 ) );
	}
	.index_service_title{ /* タイトル */
		margin: -16px 0 0 auto;
	}
}
/*-- index_サービス -------------------------------------------*/
.index_message_wrap{
	position: relative;

	margin-top: 150px;
}
.index_message_box{
	display: flex;
	align-items: center;

	height: 500px;
}
.index_message_inner{
	width: 400px;
	max-width: 45%;
	padding-top: calc( 50vw * tan(7deg) );
}
.index_message_txt{
	margin-top: 60px;
}

.index_message_btn{
	display: block;
	position: relative;

	width: -moz-fit-content;
	width: fit-content;
	margin: 28px 0 0 auto;
	padding: .5em 36px .5em .5em;
	font-size: 1.4rem;
}
.index_message_btn::before{
	display: block;
	content: "";
	position: absolute;
	top: 10px;
	right: 0;

	width: 24px;
	height: 24px;
	background: #fff url(../img/common/ico_arrow.png) center center no-repeat;
	background-size: 8px;
	border: 1px solid #2c96d3;
	border-radius: 50%;
	transition: background .3s;
}
@media (hover: hover) and (pointer: fine){
	.index_message_btn:hover {
		color: #2c96d3;
	}
	.index_message_btn:hover::before{
		background-color: #d5eaf6;
	}
}

.index_message_img{ /* 街並み画像 */
	position: absolute;
	top: 0;
	right: 0;

	overflow: hidden;
	display: block;

	width: 50vw;
	height: 500px;
	border-radius: 20px 0 0 20px;

	-webkit-transform: skewY(-7deg);
	transform: skewY(-7deg);
}
.index_message_img img{
	display: block;
	position: absolute;
	top: calc( 50vw * tan(-7deg) );
	left: 0;

	-webkit-transform: skewY(7deg);
	transform: skewY(7deg);

	width: 100%;
	height: calc( 100% + ( 50vw * tan(7deg) * 2 ) );
	-o-object-fit: cover;
	object-fit: cover;
}
@media screen and (max-width: 680px) {
	.index_message_box{
		display: block;

		height: auto;
	}
	.index_message_inner{
		width: 100%;
		max-width: 100%;
		padding-top: 0;
	}
	.index_message_txt{
		margin-top: 48px;
	}
	.index_message_img{ /* 街並み画像 */
		position: relative;
		top: calc( 50vw * tan(7deg) );
		left: 3vw;

		width: 97vw;
		height: 300px;

		z-index: -1;
	}
}
@media screen and (max-width: 580px) {
	.index_message_img{ /* 街並み画像 */
		height: 240px;
	}
}
/*-- index_お知らせ -------------------------------------------*/
.index_info_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.index_info_title_box{
	width: -moz-fit-content;
	width: fit-content;
}
.index_info_title{
	font-family: 'EB Garamond', serif;
	font-size: 4.8rem;
	line-height: 1.6;
	color: #05328d;
}
.index_info_title span{
	display: block;
	padding-right: 3px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.4rem;
	line-height: 1;
	font-weight: 700;
	color: #ea5226;
}
.index_info_title_box .index_message_btn{
	margin-top: 28px;
}
.index_twitter_btn{
	display: block;
	width: 100%;
	margin-top: 20px;
	padding: 1em 0 1em calc( 10% + 40px);
	line-height: 1.2;
	color: #000;
	background: url(../img/common/ico_x__logo-black.png) 10% center no-repeat;
	background-size: 30px;
	border: 1px solid #000;
	border-radius: 4em;
}
.index_twitter_btn_pc small{
	display: block;
}
@media (hover: hover) and (pointer: fine){
	.index_twitter_btn:hover {
		background-color: #d5eaf6;
	}
}

.index_info_list{
	width: 65%;
	margin-top: 24px;
}
.info_list{
	border-top: 1px solid #ccc;
}
.info_list_item{
	display: flex;
	flex-wrap: wrap;

	padding: 24px 0;
	border-bottom: 1px solid #ccc;
}
.info_list_item span,
.info_list_item time{
	display: block;
	padding: 0 .5em;
	line-height: 1.6;
}
.info_list_item_date{
	width: 200px;
}
.info_list_item_title{
	width: calc( 100% - 200px );
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.index_message_btn_mbi,
.index_twitter_btn_mbi{
	display: none;
}
@media screen and (max-width: 880px) {
	.info_list_item_date{
		width: 160px;
	}
	.info_list_item_title{
		width: calc( 100% - 160px );
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}
@media screen and (max-width: 780px) {
	.index_info_box{
		display: block;
	}
	.index_message_btn_pc,
	.index_twitter_btn_pc{
		display: none;
	}
	.index_info_list{
		width: 100%;
		margin-top: 48px;
	}
	.info_list{
		border-top: 1px solid #ccc;
	}
	.info_list_item{
		display: block;

		padding: 20px 0;
	}
	.info_list_item_date{
		width: 100%;
		margin-bottom: 4px;
		font-size: 1.4rem;
	}
	.info_list_item_title{
		width: 100%;
	}
	.index_message_btn_mbi{
		display: block;
	}
	.index_twitter_btn_mbi{
		display: block;

		margin-top: 60px;
		padding: 1.3em 0 1.3em calc( 15% + 40px);
		background: url(../img/common/ico_x__logo-black.png) 15% center no-repeat;
		background-size: 30px;
	}
}
@media screen and (max-width: 580px) {
	.index_info_title{
		font-size: 3.6rem;
	}
}

/*------------------------------------------------------------------------
ウィンの約束 / message
--------------------------------------------------------------------------*/
.message_message_title{
	width: 446px;
	max-width: 90%;
	margin: 0 auto;
}
.message_message_box p{
	margin-top: 80px;
	text-align: center;
}
.message_message_box p + p{
	margin-top: 2em;
}

/*------------------------------------------------------------------------
私たちについて / company
--------------------------------------------------------------------------*/
.company_greeting_title{
	margin-bottom: 1em;
	font-size: 1.6rem;
	line-height: 1.4;
	font-weight: 700;
	color: #ea5226;
}
.company_greeting_hl{
	margin-bottom: 40px;
	font-size: 2.8rem;
	line-height: 1.6;
	font-weight: 700;
	color: #05328d;
	transition: color .3s;
}
.company_greeting p + p{
	margin-top: 1em;
}
.company_greeting_name{
	margin-top: 2em !important;
	font-weight: 700;
	text-align: right;
}

.company_outline_box_inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.company_outline_box_inner .pt_table_std{
	width: 47%;
}
.company_outline_box_inner .pt_table_std th{
	width: 140px;
}
.company_certification{
	margin-top: .5em;
}

.company_outline_map{
	width:100%;
	height: 340px;
	margin-top: 40px;
}
.company_outline_map iframe{
	border-radius: 8px;
}
@media screen and (max-width: 780px) {
	.company_outline_box_inner .pt_table_std{
		width: 100%;
	}
	.company_outline_box_inner .pt_table_std + .pt_table_std{
		margin-top: -1px;
	}
}
@media screen and (max-width: 580px) {
	.company_outline_box_inner .pt_table_std th{
		width: 100%;
	}
}
.company_outline_client_att{
	font-size: .8em;
	text-align: right;
}

.company_license_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.company_license_list li{
	display: flex;

	width: 47%;
	margin-top: -1px;
	line-height: 2;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.company_license_list span{
	display: block;
	padding: 1em;
}
.company_license_list .name{
	width: 80%;
}
.company_license_list .num{
	width: 20%;
	text-align: right;
}
@media screen and (max-width: 780px) {
	.company_license_list .name{
		width: 70%;
	}
	.company_license_list .num{
		width: 30%;
	}
}
@media screen and (max-width: 580px) {
	.company_license_list li{
		width: 100%;
		line-height: 2;
	}
}

/*------------------------------------------------------------------------
業務内容 / service
--------------------------------------------------------------------------*/
.service_read{
	width: 700px;
	max-width: 90%;
	margin: 0 auto 80px;
}

.service_box{
	position: relative;

	width: 1100px;
}
.service_header{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.service_name{
	margin-top: 66px;
	font-size: 3.2rem;
	font-weight: 700;
	color: #05328d;
}
.service_name small{
	display: block;
	font-family: 'EB Garamond', serif;
	font-size: 1.6rem;
	line-height: 1.4;
	color: #ea5226;
}
.service_img{
	width: 60%;
	z-index: -1;
}
.service_img img{
	border-radius: 10px;
}
.service_img_2col{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.service_img_2col img{
	width: 49.5%;
}

.service_txtBox{
	margin-top: -120px;
	width: 60%;

	z-index: 2;
}
.service_title{
	margin-bottom: 1em;
	font-size: 2.2rem;
	color: #2c96d3;
	font-weight: 700;
}
.service_title span{
	display: block;

	width: -fit-fit-content;
	width: fit-content;
	background: #fff;
}
.service_txt{
	background: #fff;
}
@media screen and (max-width: 880px) {
	.service_name{
		margin-top: 20px;
	}
	.service_img{
		width: 65%;
		z-index: -1;
	}
	.service_img img{
		border-radius: 10px;
	}

	.service_txtBox{
		margin-top: -80px;
		width: 70%;
	}
}
@media screen and (max-width: 780px) {
	.service_header{
		display: block;
	}
	.service_name{
		margin-top: 0;
	}
	.service_img{
		margin-top: 20px;
		width: 100%;
	}
	.service_txtBox{
		margin-top: 20px;
		width: 100%;
	}
}
@media screen and (max-width: 580px) {
	.service_name{
		font-size: 2.8rem;
	}
	.service_name small{
		font-size: 1.4rem;
	}
	.service_title{
		margin-bottom: .5em;
		font-size: 2.0rem;
	}
}

/*------------------------------------------------------------------------
採用情報 / recruit
--------------------------------------------------------------------------*/
.recruit_message_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.recruit_message_title{
	width: 36%;
	font-size: 2.8rem;
	font-weight: 700;
	color: #05328d;
}
.recruit_message_txt{
	width: 60%;
}
.recruit_message_txt p + p{
	margin-top: 1em;
}
@media screen and (max-width: 580px) {
	.recruit_message_box{
		display: block;
	}
	.recruit_message_title{
		margin-bottom: 1em;
		width: 100%;
		font-size: 2.4rem;
	}
	.recruit_message_txt{
		width: 100%;
	}
}
/*- インタビュー --------*/
.recruit_int_header{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.recruit_int_title_wrap{
	width: 50%;
}
.recruit_int_title{
	font-size: 2.2rem;
	font-weight: 700;
	color: #2c96d3;
}
.recruit_int_title span{
	display: block;
	width: -fit-fit-content;
	width: fit-content;
	background: #fff;
}
.recruit_int_title small{
	display: block;
	font-family: 'EB Garamond', serif;
	font-size: 1.6rem;
	line-height: 1.4;
	color: #ea5226;
}
.recruit_int_status{
	margin-top: 22px;
	font-size: 1.4rem;
}
.recruit_int_name{
	font-weight: 700;
}
.recruit_int_img{
	width: 48%;
}
.recruit_int_img img{
	border-radius: 10px;
}
.recruit_int_txt{
	margin-top: 22px;
}
@media screen and (max-width: 780px) {
	.recruit_int_header{
		flex-direction: column;
	}
	.recruit_int_title_wrap{
		order: 2;

		margin-top: -120px;
		width: 100%;
	}
	.recruit_int_img{
		order: 1;

		width: 100%;
		max-width: 450px;
		margin: 0 0 0 auto;
	}
}
@media screen and (max-width: 580px) {
	.recruit_int_title_wrap{
		margin-top: 16px;
	}
	.recruit_int_title{
		font-size: 2.0rem;
	}
	.recruit_int_title span{
		display: inline;
	}
	.recruit_int_title small{
		margin-bottom: 4px;
		font-size: 1.4rem;
	}
	.recruit_int_status,
	.recruit_int_name{
		text-align: right;
	}
}


/*------------------------------------------------------------------------
教育方針 / education
--------------------------------------------------------------------------*/
/*- 教育システム --------*/
.education_system__fig{
	width: 700px;
	max-width: 100%;
	margin: 2em auto 0;
}
.education_system__fig img{
	filter: drop-shadow(2px 2px 3px rgba(0,0,0,.15));
}
/*- 研修フロー --------*/
.education_flow{
	width: 800px;
	max-width: 100%;
	margin: 0 auto;
}
.education_flow_inner{
	display: flex;
	flex-wrap: wrap;


	padding: 20px 5%;
	background: #EAF4FB;
	border-radius: 20px;
	box-shadow: 2px 2px 4px rgba(0,0,0,.15);
}
.education_flow_title{
	margin-top: 0;
	margin-bottom: 0;
	width: 30%;
	color: #05328d;
}
.education_flow_title small{
	display: block;
	font-size: 1.5rem;
	color: #2C96D3;
	font-weight: 400;
}
.education_flow_txt{
	width: 65%;
}

.education_flow_arrow{
	width: 50px;
	margin: 10px auto 6px;
}

@media screen and (max-width: 580px) {
	.education_flow_inner{
		display: block;
	}
	.education_flow_title{
		margin-bottom: .5em;
		width: 100%;
	}
	.education_flow_title small{
		display: inline-block;
		margin-left: .5em;
	}
	.education_flow_txt{
		width: 100%;
	}
}

/*- 教育の種類 --------*/
.education_list{
	margin-top: 80px;
}
.education_list li{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.education_list li + li{
	margin-top: 48px;
}
	.education_txt{
		width: 65%;
	}
	.education_txt_1col{
		width: 100%;
	}
		.education_txt .content_sub_title{
			margin-top: 0;
		}
	.education_img{
		width: 30%;
	}
	.education_img img{
		border-radius: 8px;
	}
@media screen and (max-width: 580px) {
	.education_list li{
		display: block;
	}
	.education_list li + li{
		margin-top: 56px;
	}
		.education_txt{
			width: 100%;
		}

		.education_img{
			width: 100%;
			margin-top: 1em;
		}
}

/*------------------------------------------------------------------------
お問い合わせ / contact
--------------------------------------------------------------------------*/
.contact_box{
	width: 700px;
}
.contact_tel a{
	margin: 32px 0;
	padding-left: 55px;
	line-height: 1;
	font-size: 4.0rem;
	font-weight: 700;
	background: url(../img/common/ico_tel.png) center left no-repeat;
	background-size: 40px;
}
.contact_tel_time span{
	display: inline-block;
	padding: 0 1em;
	margin-right: 2em;
	color: #fff;
	background: #05328d;
}

.contact_form__table{
	margin-top: 60px;
	width: 100%;
}
#mfp_confirm_table{
	margin-top: 40px;
	width: 100%;
}
.contact_form__table th,
.contact_form__table td,
#mfp_confirm_table th,
#mfp_confirm_table td{
	display: block;
	width: 100%;
}
.contact_form__table th,
#mfp_confirm_table th{
	padding-bottom: 1em;
	line-height: 2em;
	color: #2c96d3;
	font-weight: 700;
}
.contact_form__table td,
#mfp_confirm_table td{
	padding-bottom: 2em;
}

.contact_form__col{
	display: flex;
	flex-wrap: wrap;
}
.contact_form__col li + li{
	margin-left: 2em;
}

@media screen and (max-width: 580px) {
	.contact_form__col{
		display: block;
	}
	.contact_form__col li + li{
		margin-left: 0;
		margin-top: 1em;
	}
}
/*------------------------------------------------------------------------
プライバシーポリシー/ privacy
--------------------------------------------------------------------------*/
.privacy_box{
	width: 800px;
	max-width: 90%;
	margin: 0 auto;
}
.privacy_title{
	margin: 80px 0 1em;
	font-size: 2.2rem;
	font-weight: 700;
	color: #05328d;
}
.privacy_sign{
	margin-top: 80px;
}
.privacy_sign p + p{
	margin-top: 1em;
}

@media screen and (max-width: 580px) {
	.privacy_title{
		margin: 60px 0 1em;
		font-size: 2.0rem;
	}
	.privacy_sign{
		margin-top: 60px;
	}
}

/*------------------------------------------------------------------------
おしらせ/ info
--------------------------------------------------------------------------*/
.info_post_box{
	width: 800px;
	max-width: 90%;
	margin: 0 auto;
}

.info_post_date{
	font-size: 1.4rem;
}
.post_title_single{
	margin-bottom: 60px;
	font-size: 3.4rem;
	font-weight: 700;
	color: #05328d;
}

/* 見出し */
.info_post_content h2{ /* h2 */
	position: relative;

	margin: 60px 0 40px;
	padding-left: 1em;
	font-weight: 700;
	font-size: 3.0rem;
	color: #05328d;
}
.info_post_content h2::before,
.info_post_content h2::after{
	display: block;
	content: "";
	position: absolute;
	left: 0;

	width: 4px;
	height: calc( 50% - 7px );
}
.info_post_content h2::before{
	top: 7px;
	background: #05328d;
}
.info_post_content h2::after{
	bottom: 7px;
	background: #2c96d3;
}

.info_post_content h3{
	margin: 40px 0 1em;
	color: #2c96d3;
	font-weight: 700;
	font-size: 2.6rem;
}
.info_post_content h4{
	margin: 32px 0 1em;
	color: #666;
	font-weight: 700;
	font-size: 2.2rem;
}
.info_post_content h5{
	margin: 24px 0 .5em;
	color: #05328d;
	font-weight: 700;
	font-size: 1.8rem;
}

@media only screen and (max-width: 580px){
	.info_post_content h2{ /* h2 */
		font-size: 2.8rem;
	}
	.info_post_content h3{
		font-size: 2.4rem;
	}
	.info_post_content h4{
		font-size: 2.0rem;
	}
}

/* テキスト */
.info_post_content > p + p{
	margin-top: 1em;
}

/* リンク */
.info_post_content a{
	color: #2c96d3;
	text-decoration: underline dotted 1px #2c96d3;
}
@media (hover: hover) and (pointer: fine){
	.info_post_content a:hover {
		color: #333;
		background: #f4f58e;
		text-decoration: none;
	}
}

/* リスト */
.info_post_content li{
  position: relative;
  line-height: 2;
}

.info_post_content ul{ /* ● リスト */
  margin: 1em 0;
}
  .info_post_content ul > li{
    list-style: disc outside;
    margin-left: 1.5em;
  }
  .info_post_content ul > li::marker{
    color: #ea5226;
  }
  .info_post_content ul > li + li{
    margin-top: .5em;
  }

.info_post_content ol{ /* 数字リスト */
  margin: 2em 0;
}
  .info_post_content ol > li{
    list-style: decimal outside;
    margin-left: 2.5em;
  }
  .info_post_content ol > li::marker{
    color: #2c96d3;
    font-weight: 900;
  }
  .info_post_content ol > li + li{
    margin-top: .5em;
  }
/*-- テーブル ----------*/
.wp-block-table{
  margin: 1.5em 0;
}
.wp-block-table table th,
.wp-block-table table td{
  padding: 1em .8em;
  line-height: 1.6;
  border-color: #ccc;
}
.wp-block-table table th{
  background: #eaf4fb;
}
.wp-block-table table thead{
	background: #eaf4fb;
	border-bottom: 2px solid #ccc;
}
.wp-block-table table tfoot{
	border-top: 2px solid #ccc;
  background: #e6e6e6;
}

/*-- 引用 ----------*/
.wp-block-quote{
  margin: 1.5em 0;
  padding: 1em 0 1em 2em;
  border-left: 4px solid #666;
}
  .wp-block-quote p + p{
    margin-top: 1em;
  }
  .wp-block-quote cite{
    display: block;

    margin-top: 2em;
    font-size: 13px;
  }

/*-- 画像 ----------*/
.info_post_content > .wp-block-image,/* 画像ブロック */
.info_post_content .wp-block-gallery{ /* ギャラリー */
  margin: 1.5em 0;
}
  .info_post_content .wp-block-image img{
    object-fit:cover;

    border-radius: 6px;
  }

  .wp-block-gallery{
    margin: 1.5em 0;
  }

/*-- 埋め込み ----------*/
.wp-block-embed{
  margin: 3em 0;
}
.wp-embedded-content{ /* ページ埋め込み */
  width: 100%;
}
.twitter-tweet{ /* twitter　中央揃え */
  margin-left: auto;
  margin-right: auto;
}
.wp-block-embed-youtube .wp-block-embed__wrapper{ /* youtube 100% */
		position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
}
.wp-block-embed-youtube .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% ;
    height: 100% ;
}

/* キャプション */
.wp-element-caption{
	margin: .5em 0;
	font-size: 1.3rem;
	line-height: 1.5;
	text-align: center;
	color: #333;
}

/* PageNavi -------*/
.wp-pagenavi {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;

	width: 1000px;
	max-width: 90%;
	margin: 120px auto 0;
}
.wp-pagenavi a,
.wp-pagenavi span{
	display: block;
	margin: 0 6px;
	padding: 8px 1em;
	font-size: 1.4rem;
	background: #fff;
	border: 1px solid #ccc;
  border-radius: 2px;
}
.wp-pagenavi a:hover{
	color: #fff;
	background: #2c96d3;
}
.wp-pagenavi span.current{
	color: #fff;
	background: #05328d;
}
@media only screen and (max-width: 580px) {
	.wp-pagenavi {
		margin: 80px auto 0;
	}
	.wp-pagenavi a ,
	.wp-pagenavi span.pages,
	.wp-pagenavi span.extend,
	.wp-pagenavi a:hover,
	.wp-pagenavi span.current {
		margin-right:10px;
		margin-bottom:16px;
	}
}


.info_all_post{
	margin: 120px auto 0;
	width: 300px;
	max-width: 90%;
}
.info_all_post a{
	display: block;
	width: 100%;
	padding: 1.5em 1em;
	line-height: 1.4;
	text-align: center;
	border: 1px solid #333;
	border-radius: 4em;
}
@media (hover: hover) and (pointer: fine){
	.info_all_post a:hover {
		background: #d5eaf6;
	}
}