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

/*
60.コラム・お知らせ＿一覧
61.コラム・お知らせ＿カテゴリ一覧
62.コラム・お知らせ＿個別
80.プライバシーポリシー
*/

/*70.会社紹介*/
/*PC*/
@media only screen and (min-width: 1025px) {
	/*コンテンツ*/
	#com_01 {
		position: relative;
		width: 100%;
		height: auto;
		margin: 100px auto 100px auto;
		background: #fff;
	}
	
	#com_02 {
		position: relative;
		width: 100%;
		height: auto;
		padding: 100px 0 90px 0;
		background: #F5F7F7;
	}
	
	#com_01 .ptn01,
	#com_02 .ptn01 {
		position: relative;
		width: 1280px;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	#com_01 .ptn01::before,
	#com_02 .ptn01::before {
		content: "";
		z-index: 0;
		position: absolute;
		bottom: 0;
		width: 1000%;;
		background: #DFE8EA;
	}
	
	#com_01 .ptn01::before {
		right: 400px;
		height: 450px;
	}
	
	#com_02 .ptn01::before {
		left: 400px;
		height: 350px;
	}
	
	#com_01 .ptn01 .title,
	#com_02 .ptn01 .title {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 66px auto;
	}
	
	#com_01 .ptn01 .title p,
	#com_02 .ptn01 .title p {
		font-size: 36px;
		font-weight: 600;
		letter-spacing: 2px;
		line-height: 36px;
		text-align: center;
	}
	
	#com_01 .ptn01 .con,
	#com_02 .ptn01 .con {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
		width: 100%;
		height: auto;
		box-sizing: border-box;
	}
	
	#com_01 .ptn01 .con {
		flex-direction: row-reverse;
		padding: 0 0 0 100px;
	}
	
	#com_02 .ptn01 .con {
		flex-direction: row;
		padding: 0 100px 0 0;
	}
	
	#com_01 .ptn01 .con .img,
	#com_02 .ptn01 .con .img {
		position: relative;
		width: 600px;
		height: auto;
	}
	
	#com_01 .ptn01 .con .img {
		right: -60px;
	}
	
	#com_02 .ptn01 .con .img {
		left: -60px;
	}
	
	#com_01 .ptn01 .con .img img,
	#com_02 .ptn01 .con .img img {
		display: block;
		position: relative;
		width: 100%;
		height: 400px;
		object-fit: cover;
	}
	
	#com_01 .ptn01 .con .text,
	#com_02 .ptn01 .con .text {
		position: relative;
		width: 540px;
		height: auto;
		padding: 15px 0 70px 0;
	}
	
	#com_01 .ptn01 .con .text h2,
	#com_02 .ptn01 .con .text h2 {
		position: relative;
		padding: 5px 0 5px 35px;
		font-size: 32px;
		font-weight: 700;
		letter-spacing: 2px;
		line-height: 32px;
		text-align: left;
	}
	
	#com_01 .ptn01 .con .text h2::before,
	#com_02 .ptn01 .con .text h2::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%) translateX(0);
		width: 10px;
		height: 100%;
		background: #00A2CF;
		border-radius: 1px;
	}
	
	#com_01 .ptn01 .con .text h3,
	#com_02 .ptn01 .con .text h3 {
		margin: 80px auto 40px auto;
		font-size: 28px;
		font-weight: 600;
		letter-spacing: 1px;
		line-height: 38px;
		text-align: left;
	}
	
	#com_01 .ptn02 {
		position: relative;
		width: 730px;
		height: auto;
		margin: 90px auto 90px auto;
	}
	
	.com_h2 {
		font-size: 32px;
		font-weight: 700;
		letter-spacing: 2px;
		line-height: 32px;
		text-align: center;
	}
	
	#com_01 .ptn02 .text {
		position: relative;
		width: 100%;
		height: auto;
		margin: 40px auto 0 auto;
	}
	
	#com_01 .ptn02 p:nth-of-type(2) {
		margin: 25px auto 25px auto;
	}
	
	#com_01 .ptn02 p:nth-of-type(4) {
		margin-top: 30px;
		text-align: right;
	}
	
	#com_01 .ptn03,
	#com_02 .ptn03 {
		position: relative;
		width: 900px;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	#com_02 .ptn03 {
		margin-top: 90px;
	}
	
	#com_01 .ptn03 table,
	#com_02 .ptn03 table {
		position: relative;
		width: 100%;
		height: auto;
		margin: 45px auto 0 auto;
		border-collapse: collapse;
	}
	
	#com_01 .ptn03 table tr th,
	#com_02 .ptn03 table tr th {
		position: relative;
		width: 250px;
		height: auto;
		padding: 22px 0 22px 40px;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 1px;
		line-height: 18px;
		text-align: left;
		color: #fff;
		background: #6A878E;
		border-top: solid 1px #fff;
		border-bottom: solid 1px #fff;
		box-sizing: border-box;
	}
	
	#com_01 .ptn03 table tr td,
	#com_02 .ptn03 table tr td {
		position: relative;
		width: 650px;
		height: auto;
		padding: 20px 0 20px 40px;
		font-size: 18px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 28px;
		text-align: left;
		color: #02011C;
		background: #fff;
		border: solid 1px #AFC4C9;
		box-sizing: border-box;
	}
	
	#com_01 .ptn03 table tr td a,
	#com_02 .ptn03 table tr td a {
		position: relative;
		color: #02011C;
	}
	
	#com_01 .ptn03 table tr td a::before,
	#com_02 .ptn03 table tr td a::before {
		content: "";
		position: absolute;
		bottom: -2px;
		left: 0;
		width: 100%;
		height: 1px;
		background: rgba(2,1,28,0.00);
		transition: 0.2s;
	}
	
	#com_01 .ptn03 table tr td a:hover::before,
	#com_02 .ptn03 table tr td a:hover::before {
		background: #02011C;
	}
	
}

/*SMP*/
@media only screen and (max-width: 1024px) {
	/*コンテンツ*/
	#com_01 {
		position: relative;
		width: 100%;
		height: auto;
		margin: 50px auto 50px auto;
		background: #fff;
	}
	
	#com_02 {
		position: relative;
		width: 100%;
		height: auto;
		padding: 50px 0 45px 0;
		background: #F5F7F7;
	}
	
	#com_01 .ptn01,
	#com_02 .ptn01 {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	#com_01 .ptn01::before,
	#com_02 .ptn01::before {
		content: "";
		z-index: 0;
		position: absolute;
		bottom: 0;
		width: 100%;;
		background: #DFE8EA;
	}
	
	#com_01 .ptn01::before {
		left: 0;
		height: 490px;
	}
	
	#com_02 .ptn01::before {
		left: 0;
		height: 420px;
	}
	
	#com_01 .ptn01 .title,
	#com_02 .ptn01 .title {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 30px auto;
	}
	
	#com_01 .ptn01 .title p,
	#com_02 .ptn01 .title p {
		font-size: 23px;
		font-weight: 600;
		letter-spacing: 1px;
		line-height: 30px;
		text-align: center;
	}
	
	#com_01 .ptn01 .con,
	#com_02 .ptn01 .con {
		position: relative;
		width: 320px;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	#com_01 .ptn01 .con .img,
	#com_02 .ptn01 .con .img {
		position: relative;
		width: 300px;
		height: auto;
		margin: 0 auto 0 0;
	}
	
	#com_01 .ptn01 .con .img img,
	#com_02 .ptn01 .con .img img {
		display: block;
		position: relative;
		width: 100%;
		height: 200px;
		object-fit: cover;
	}
	
	#com_01 .ptn01 .con .text,
	#com_02 .ptn01 .con .text {
		position: relative;
		width: 100%;
		height: auto;
		padding: 30px 0 45px 0;
	}
	
	#com_01 .ptn01 .con .text h2,
	#com_02 .ptn01 .con .text h2 {
		position: relative;
		padding: 2px 0 2px 19px;
		font-size: 21px;
		font-weight: 700;
		letter-spacing: 1px;
		line-height: 21px;
		text-align: left;
	}
	
	#com_01 .ptn01 .con .text h2::before,
	#com_02 .ptn01 .con .text h2::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%) translateX(0);
		width: 6.5px;
		height: 100%;
		background: #00A2CF;
		border-radius: 1px;
	}
	
	#com_01 .ptn01 .con .text h3,
	#com_02 .ptn01 .con .text h3 {
		margin: 20px auto 25px auto;
		font-size: 19px;
		font-weight: 600;
		letter-spacing: 1px;
		line-height: 27px;
		text-align: left;
	}
	
	#com_01 .ptn02 {
		position: relative;
		width: 350px;
		height: auto;
		margin: 45px auto 45px auto;
	}
	
	.com_h2 {
		font-size: 21px;
		font-weight: 700;
		letter-spacing: 1px;
		line-height: 21px;
		text-align: center;
	}
	
	#com_01 .ptn02 .text {
		position: relative;
		width: 100%;
		height: auto;
		margin: 30px auto 0 auto;
	}
	
	#com_01 .ptn02 p:nth-of-type(2) {
		margin: 15px auto 15px auto;
	}
	
	#com_01 .ptn02 p:nth-of-type(4) {
		margin-top: 20px;
		text-align: right;
	}
	
	#com_01 .ptn03,
	#com_02 .ptn03 {
		position: relative;
		width: 350px;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	#com_02 .ptn03 {
		margin-top: 45px;
	}
	
	#com_01 .ptn03 table,
	#com_02 .ptn03 table {
		position: relative;
		width: 100%;
		height: auto;
		margin: 30px auto 0 auto;
		border-collapse: collapse;
	}
	
	#com_01 .ptn03 table tr th,
	#com_02 .ptn03 table tr th {
		display: block;
		position: relative;
		width: 100%;
		height: auto;
		padding: 12px 0 12px 20px;
		font-size: 17px;
		font-weight: 600;
		letter-spacing: 1px;
		line-height: 17px;
		text-align: left;
		color: #fff;
		background: #6A878E;
		border: solid 1px #6A878E;
		box-sizing: border-box;
	}
	
	#com_01 .ptn03 table tr td,
	#com_02 .ptn03 table tr td {
		display: block;
		position: relative;
		width: 100%;
		height: auto;
		padding: 15px 0 15px 20px;
		font-size: 15px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 22px;
		text-align: left;
		color: #02011C;
		background: #fff;
		border: solid 1px #AFC4C9;
		box-sizing: border-box;
	}
	
	#com_01 .ptn03 table tr td a,
	#com_02 .ptn03 table tr td a {
		position: relative;
		color: #02011C;
	}
	
	#com_01 .ptn03 table tr td a::before,
	#com_02 .ptn03 table tr td a::before {
		content: "";
		position: absolute;
		bottom: -1.5px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #02011C;
		transition: 0.2s;
	}	

}

/*
60.コラム・お知らせ＿一覧
61.コラム・お知らせ＿カテゴリ一覧
*/
/*PC*/
@media only screen and (min-width: 1025px) {
	/*メインビジュアル*/
	#info_mv {
		position: relative;
		width: 100%;
		height: auto;
		padding: 90px 0 90px 0;
	}
	
	#info_mv h1 {
		font-size: 36px;
		font-weight: 500;
		letter-spacing: 3px;
		line-height: 36px;
		text-align: center;
		color: #444444;
	}
	
	#info_mv h1 font {
		display: block;
		position: relative;
		margin: 15px auto 0 auto;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 2px;
		line-height: 18px;
		color: #89C7E8;
	}
	
	/*カテゴリー一覧*/
	#info_cat {
		position: relative;
		width: 100%;
		height: auto;
		padding: 0 0 0 0;
		margin: 0 auto 0 auto;
	}
	
	#info_cat .con {
		position: relative;
		width: 1020px;
		height: auto;
		padding: 40px 60px 15px 60px;
		margin: 0 auto 0 auto;
		border-radius: 30px;
		background: #F0F6F8;
		box-sizing: border-box;
	}
	
	#info_cat ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	#info_cat ul li {
		list-style: none;
		display: block;
		position: relative;
		margin: 0 40px 25px 0;
		padding: 0 0 0 25px;
		box-sizing: border-box;
	}
	
	#info_cat ul li:nth-of-type(5) {
		margin-right: 0;
	}
	
	#info_cat ul li a {
		position: relative;
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 16px;
		text-align: left;
		color: #5C5C5C;
		transition: 0.2s;
	}
	
	#info_cat ul li::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%) translateX(0);
		width: 16px;
		height: 16px;
		background-image: url(/wp-content/themes/cf_originaltheme/images/post/category.png);
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-position: center;
	}
	
	#info_cat ul li a.info_current {
		color: #48AADD;
	}
	
	#info_cat ul li a.info_current::after {
		background: #48AADD;
	}
	
	#info_cat ul li a::after {
		content: "";
		position: absolute;
		bottom: -1px;
		left: 0;
		width: 100%;
		height: 1px;
		background: rgba(0,0,0,0.00);
		transition: 0.2s;
	}
	
	#info_cat ul li a:hover {
		color: #48AADD;
	}
	
	#info_cat ul li a:hover::after {
		background: #48AADD;
	}
	
	/*記事一覧*/
	#info_loop {
		position: relative;
		width: 970px;
		height: auto;
		padding: 60px 0 90px 0;
		margin: 0 auto 0 auto;
	}
	
	#info_loop .title {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 30px auto;
	}
	
	#info_loop .title h3 {
		font-size: 26px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 26px;
		text-align: left;
		color: #5C5C5C;
	}
	
	#info_loop .title h3 font {
		color: #48AADD;
	}
	
	#info_loop .loop {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	#info_loop .loop a {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 40px auto;
	}
	
	#info_loop .loop a .img {
		position: relative;
		width: 90px;
		height: 90px;
		overflow: hidden;
	}
	
	#info_loop .loop a .img img {
		display: block;
		position: relative;
		width: 100%;
		height: 90px;
		object-fit: cover;
		object-position: center;
		border-radius: 10px;
		transition: 0.4s;
	}
	
	#info_loop .loop a:hover .img img {
		border-radius: 50%;
	}
	
	#info_loop .loop a .text {
		position: relative;
		width: 840px;
		height: auto;
		box-sizing: border-box;
	}
	
	#info_loop .loop a .text time {
		display: table;
		position: relative;
		margin: 0 auto 0 0;
		font-size: 16px;
		font-family: "Montserrat", sans-serif;
		font-weight: 400;
		letter-spacing: 1px;
		line-height: 16px;
		text-align: left;
		color: #919191;
	}
	
	#info_loop .loop a .text font {
		position: absolute;
		top: -1px;
		left: 120px;
		font-size: 16px;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 16px;
		text-align: left;
		color: #48AADD;
	}
	
	#info_loop .loop a .text p {
		display: inline;
		position: relative;
		margin: 17px 0 0 0;
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 16px;
		text-align: left;
		color: #5C5C5C;
	}
	
	#info_loop .loop a .text p span {
		position: relative;
	}
	
	#info_loop .loop a .text p span::after {
		content: "";
		position: absolute;
		bottom: -3px;
		left: 0;
		width: 100%;
		height: 1px;
		background: rgba(0,0,0,0.00);
		transition: 0.4s;
	}
	
	#info_loop .loop a:hover .text p span::after {
		background: #5C5C5C;
	}
	
	/*ページネーション*/
	.pagination {
		display: table;
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 0 auto;
		text-align: center;
	}
		
	.pagination ul {
		display: inline-block;
		width: auto;
		height: auto;
		margin: 0 auto;
	}
		
	.pagination ul li {
		list-style: none;
		float: left;
	}
	
	.pagination ul li a {
		display: block;
		position: relative;
		width: auto;
		height: auto;
		margin: 0 20px 0 20px;
		font-size: 26px;
		font-family: "Montserrat", sans-serif;
		font-weight: 600;
		line-height: 26px;
		text-align: center;
		color: #C7C7C7;
		transition: 0.3s;
	}
	
	.pagination ul li a:hover {
		color: #48AADD;
		text-decoration: underline;
	}

	.pagination span {
		display: block;
		position: relative;
		width: auto;
		height: auto;
		margin: 0 20px 0 20px;
		font-size: 26px;
		font-family: "Montserrat", sans-serif;
		font-weight: 600;
		line-height: 26px;
		text-align: center;
		color: #48AADD;
		transition: 0.3s;
	}
		
	.pagination span.current {
		color: #48AADD;
		text-decoration: underline;
	}
	
	.pagination .prev {
		display: none;
	}
	
	.pagination .next {
		display: none;
	}
}

/*SMP*/
@media only screen and (max-width: 1024px) {
	/*メインビジュアル*/
	#info_mv {
		position: relative;
		width: 100%;
		height: auto;
		padding: 80px 0 60px 0;
	}
	
	#info_mv h1 {
		font-size: 23px;
		font-weight: 500;
		letter-spacing: 2px;
		line-height: 23px;
		text-align: center;
		color: #444444;
	}
	
	#info_mv h1 font {
		display: block;
		position: relative;
		margin: 8px auto 0 auto;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 1px;
		line-height: 14px;
		color: #89C7E8;
	}
	
	/*カテゴリー一覧*/
	#info_cat {
		position: relative;
		width: 100%;
		height: auto;
		padding: 45px 0 35px 0;
		margin: 0 auto 0 auto;
		background: #F0F6F8;
	}
	
	#info_cat .con {
		position: relative;
		width: 350px;
		height: auto;
		margin: 0 auto 0 auto;
		border-radius: 0px;
		box-sizing: border-box;
	}
	
	#info_cat ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	#info_cat ul li {
		list-style: none;
		display: block;
		position: relative;
		margin: 0 20px 10px 0;
		padding: 0 0 0 18px;
		box-sizing: border-box;
	}
	
	#info_cat ul li:nth-of-type(4),
	#info_cat ul li:nth-of-type(6) {
		margin-right: 0;
	}
	
	#info_cat ul li a {
		position: relative;
		font-size: 15px;
		font-weight: 500;
		letter-spacing: 0.5px;
		line-height: 15px;
		text-align: left;
		color: #5C5C5C;
	}
	
	#info_cat ul li::after {
		content: "";
		position: absolute;
		top: 58%;
		left: 0;
		transform: translateY(-50%) translateX(0);
		width: 13px;
		height: 13px;
		background-image: url(/wp-content/themes/cf_originaltheme/images/post/category.png);
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-position: center;
	}
	
	#info_cat ul li a.info_current {
		color: #48AADD;
	}
	
	#info_cat ul li a.info_current::after {
		background: #48AADD;
	}
	
	#info_cat ul li a::after {
		content: "";
		position: absolute;
		bottom: -1px;
		left: 0;
		width: 100%;
		height: 1px;
		background: rgba(72,170,221,0.00);
		transition: 0.2s;
	}
	
	/*記事一覧*/
	#info_loop {
		position: relative;
		width: 350px;
		height: auto;
		padding: 45px 0 60px 0;
		margin: 0 auto 0 auto;
	}
	
	#info_loop .title {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 20px auto;
	}
	
	#info_loop .title h3 {
		font-size: 18px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 18px;
		text-align: left;
		color: #5C5C5C;
	}
	
	#info_loop .title h3 font {
		color: #48AADD;
	}
	
	#info_loop .loop {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	#info_loop .loop a {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 30px auto;
	}
	
	#info_loop .loop a .img {
		position: relative;
		width: 75px;
		height: 75px;
		overflow: hidden;
	}
	
	#info_loop .loop a .img img {
		display: block;
		position: relative;
		width: 100%;
		height: 75px;
		object-fit: cover;
		object-position: center;
		border-radius: 5px;
	}
	
	#info_loop .loop a .text {
		position: relative;
		width: 260px;
		height: auto;
		box-sizing: border-box;
	}
	
	#info_loop .loop a .text time {
		display: table;
		position: relative;
		margin: 0 auto 0 0;
		font-size: 13px;
		font-family: "Montserrat", sans-serif;
		font-weight: 400;
		letter-spacing: 1px;
		line-height: 13px;
		text-align: left;
		color: #919191;
	}
	
	#info_loop .loop a .text font {
		position: absolute;
		top: -1px;
		left: 85px;
		font-size: 13px;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		letter-spacing: 0.5px;
		line-height: 13px;
		text-align: left;
		color: #48AADD;
	}
	
	#info_loop .loop a .text p {
		position: relative;
		margin: 10px 0 0 0;
		font-size: 15px;
		font-weight: 500;
		letter-spacing: 0.5px;
		line-height: 22px;
		text-align: left;
		color: #5C5C5C;
	}
	
	/*ページネーション*/
	.pagination {
		display: table;
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 0 auto;
		text-align: center;
	}
		
	.pagination ul {
		display: inline-block;
		width: auto;
		height: auto;
		margin: 0 auto;
	}
		
	.pagination ul li {
		list-style: none;
		float: left;
	}
	
	.pagination ul li a {
		display: block;
		position: relative;
		width: auto;
		height: auto;
		margin: 0 20px 0 20px;
		font-size: 18px;
		font-family: "Montserrat", sans-serif;
		font-weight: 600;
		line-height: 18px;
		text-align: center;
		color: #C7C7C7;
	}

	.pagination span {
		display: block;
		position: relative;
		width: auto;
		height: auto;
		margin: 0 20px 0 20px;
		font-size: 18px;
		font-family: "Montserrat", sans-serif;
		font-weight: 600;
		line-height: 18px;
		text-align: center;
		color: #48AADD;
		transition: 0.3s;
	}
		
	.pagination span.current {
		color: #48AADD;
		text-decoration: underline;
	}
	
	.pagination .prev {
		display: none;
	}
	
	.pagination .next {
		display: none;
	}

}

/*62.コラム・お知らせ＿個別*/
/*PC*/
@media only screen and (min-width: 1025px) {
	/*記事個別*/
	#info_post {
		position: relative;
		width: 100%;
		height: auto;
		padding: 0 0 90px 0;
	}
	
	#info_post .title {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
		position: relative;
		width: 980px;
		height: auto;
		margin: 60px auto 90px auto;
	}
	
	#info_post .title .text {
		position: relative;
		width: 640px;
		height: auto;
	}
	
	#info_post .title .text .cat {
		display: flex;
		flex-wrap: wrap;
		position: relative;
		width: 100%;
		height: auto;
	}
	
	#info_post .title .text h1 {
		margin-bottom: 28px;
		font-size: 30px;
		font-weight: 500;
		letter-spacing: 2px;
		line-height: 40px;
		text-align: left;
		color: #5C5C5C;
	}
	
	#info_post .title .text time {
		position: relative;
		font-size: 16px;
		font-weight: 400;
		font-family: "Montserrat", sans-serif;
		letter-spacing: 1px;
		line-height: 16px;
		text-align: left;
		color: #919191;
	}
	
	#info_post .title .text .cat font {
		display: block;
		position: absolute;
		bottom: 3px;
		left: 120px;
		font-size: 16px;
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 16px;
		text-align: left;
		color: #48AADD;
	}
	
	#info_post .title .img {
		position: relative;
		width: 250px;
		height: 170px;
		border-radius: 20px;
		overflow: hidden;
	}
	
	#info_post .title .img img {
		display: block;
		position: relative;
		width: 100%;
		height: 170px;
		object-fit: cover;
		object-position: center;
	}
	
	#info_post .post {
		position: relative;
		width: 980px;
		height: auto;
		margin: 0 auto 90px auto;
	}
	
	#info_post .post p {
		font-size: 16px;
		font-weight: 400;
		letter-spacing: 1px;
		line-height: 26px;
		text-align: left;
		color: #5C5C5C;
	}
	
	#info_post .post div.h2_top {
		margin-top: 50px;
	}
	
	#info_post .post div.h2_bottom {
		margin-bottom: 30px;
	}
	
	#info_post .post h2 {
		display: inline;
		position: relative;
		padding-bottom: 6px;
		margin: 30px 0 30px 0;
		font-size: 23px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 50px;
		text-align: left;
		color: #5C5C5C;
		border-bottom: dashed 1px #48AADD;
	}
	
	#info_post .post h3,
	#info_post .post h4 {
		display: table;
		position: relative;
		margin: 30px 0 25px 0;
		font-size: 18px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 26px;
		text-align: left;
		color: #48AADD;
	}
	
	#info_post .post img {
		display: block;
		position: relative;
		margin: 25px auto 25px 0;
		width: auto;
		height: auto;
		object-fit: cover;
		object-position: center;
	}
	
	#info_post .post iframe {
		display: block;
		position: relative;
		width: 600px;
		height: 340px;
		margin: 25px auto 25px 0;
	}
	
	/*前後記事*/
	.post_nav {
		position: relative;
		width: 1200px;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	.post_nav::before {
		content: "";
		z-index: -1;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		width: 100%;
		height: 100%;
		border-radius: 40px;
		background: #F0F6F8;
	}
	
	.post_nav .btn {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		width: 120px;
		height: auto;
		padding: 56px 0 0 0;
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 16px;
		text-align: center;
		color: #343434;
		transition: 0.4s;
	}
	
	.post_nav .btn font {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateY(0) translateX(-50%);
		width: 40px;
		height: 40px;
		border-radius: 100px;
		background: #48AADD;
		border: solid 1px #48AADD;
		box-sizing: border-box;
		transition: 0.4s;
	}
	
	.post_nav .btn font::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		width: 15px;
		height: 15px;
		background-image: url(/wp-content/themes/cf_originaltheme/images/post/dot_white.png);
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-position: center;
		transition: 0.4s;
	}
	
	.post_nav .btn:hover {
		color: #48AADD;
	}
	
	.post_nav .btn:hover font {
		background: #fff;
		border: solid 1px #48AADD;
	}
	
	.post_nav .btn:hover font::before {
		background-image: url(/wp-content/themes/cf_originaltheme/images/post/dot_blue.png);
	}
	
	.post_nav .con {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		position: relative;
		width: 1060px;
		height: auto;
		margin: 0 auto 0 auto;
		padding: 70px 0 70px 0;
	}
	
	.post_nav .con a {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		position: relative;
		width: 420px;
		height: auto;
	}
	
	.post_nav .con a .img {
		position: relative;
		width: 105px;
		height: 105px;
		border-radius: 10px;
		overflow: hidden;
	}
	
	.post_nav .con a .img img {
		display: block;
		position: relative;
		width: 100%;
		height: 105px;
		object-fit: cover;
		object-position: center;
		border-radius: 0;
		transition: 0.4s;
	}
	
	.post_nav .con a .text {
		position: relative;
		width: 280px;
		height: auto;
	}
	
	.post_nav .con a .text h4 {
		position: relative;
		margin-bottom: 14px;
		font-size: 18px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 18px;
		color: #48AADD;
	}
	
	.post_nav .con a .text h4 img {
		position: absolute;
		top: 53%;
		transform: translateY(-50%) translateX(0);
		width: 12px;
		height: auto;
	}
	
	.post_nav .con a .text p {
		position: relative;
	}
	
	.post_nav .con a .text p span {
		display: inline;
  padding-bottom: 1px;
  border-bottom: 1px solid transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  transition: border-color 0.4s ease;
	}
	
	.post_nav .con a:hover .text p span {
		border-bottom-color: currentColor;
	}
	
	.post_nav .con a.prevpost {
		flex-direction: row;
	}
	
	.post_nav .con a.prevpost .text h4 {
		padding-left: 30px;
		text-align: left;
	}
	
	.post_nav .con a.prevpost .text h4 img {
		left: 0;
	}
	
	.post_nav .con a.nextpost {
		position: absolute;
		top: 50%;
		transform: translateY(-50%) translateX(0);
		right: 0;
		flex-direction: row-reverse;
	}
	
	.post_nav .con a.nextpost .text h4 {
		padding-right: 30px;
		text-align: right;
	}
	
	.post_nav .con a.nextpost .text h4 img {
		right: 0;
	}
	
	.post_nav .con a:hover .img img {
		border-radius: 50%;
	}
}

/*SMP*/
@media only screen and (max-width: 1024px) {
	/*記事個別*/
	#info_post {
		position: relative;
		width: 100%;
		height: auto;
		padding: 45px 0 60px 0;
	}
	
	#info_post .title {
		position: relative;
		width: 320px;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	#info_post .title .text {
		position: relative;
		width: 100%;
		height: auto;
	}
	
	#info_post .title .text h1 {
		margin-bottom: 15px;
		font-size: 20px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 28px;
		text-align: left;
		color: #5C5C5C;
	}
	
	#info_post .title .text .cat {
		display: flex;
		flex-wrap: wrap;
		position: relative;
		width: 100%;
		height: auto;
	}
	
	#info_post .title .text time {
		position: relative;
		font-size: 15px;
		font-weight: 400;
		font-family: "Montserrat", sans-serif;
		letter-spacing: 1px;
		line-height: 15px;
		text-align: left;
		color: #919191;
	}
	
	#info_post .title .text .cat font {
		display: block;
		position: absolute;
		bottom: 3px;
		left: 95px;
		font-size: 15px;
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 15px;
		text-align: left;
		color: #48AADD;
	}
	
	#info_post .title .img {
		position: relative;
		width: 180px;
		height: 120px;
		margin: 25px auto 0 auto;
		border-radius: 10px;
		overflow: hidden;
	}
	
	#info_post .title .img img {
		display: block;
		position: relative;
		width: 100%;
		height: 120px;
		object-fit: cover;
		object-position: center;
	}
	
	#info_post .post {
		position: relative;
		width: 320px;
		height: auto;
		margin: 45px auto 40px auto;
	}
	
	#info_post .post p {
		font-size: 15px;
		font-weight: 400;
		letter-spacing: 1px;
		line-height: 20px;
		text-align: left;
		color: #5C5C5C;
	}
	
	#info_post .post div.h2_top {
		margin-top: 20px;
	}
	
	#info_post .post div.h2_bottom {
		margin-bottom: 20px;
	}
	
	#info_post .post h2 {
		display: inline;
		position: relative;
		padding-bottom: 3px;
		margin: 20px 0 20px 0;
		font-size: 17px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 32px;
		text-align: left;
		color: #5C5C5C;
		border-bottom: dashed 1px #48AADD;
	}
	
	#info_post .post h3,
	#info_post .post h4 {
		display: table;
		position: relative;
		margin: 20px 0 20px 0;
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 24px;
		text-align: left;
		color: #48AADD;
	}
	
	#info_post .post img {
		display: block;
		position: relative;
		margin: 20px auto 20px 0;
		width: auto;
		height: auto;
		object-fit: cover;
		object-position: center;
	}
	
	#info_post .post iframe {
		display: block;
		position: relative;
		width: 100%;
		height: 200px;
		margin: 20px auto 20px 0;
	}
	
	/*前後記事*/
	.post_nav {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 0 auto;
		padding: 0 0 0 0;
	}
	
	.post_nav .btn {
		display: block;
		position: relative;
		width: 150px;
		height: auto;
		padding-left: 65px;
		margin: 35px auto 0 auto;
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 16px;
		text-align: right;
		color: #343434;
		box-sizing: border-box;
	}
	
	.post_nav .btn font {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%) translateX(0);
		width: 50px;
		height: 50px;
		border-radius: 100px;
		background: #48AADD;
		border: solid 1px #48AADD;
		box-sizing: border-box;
	}
	
	.post_nav .btn font::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		width: 18px;
		height: 18px;
		background-image: url(/wp-content/themes/cf_originaltheme/images/post/dot_white.png);
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-position: center;
	}
	
	.post_nav .con {
		position: relative;
		width: 330px;
		height: auto;
		padding: 45px 0 15px 0;
		margin: 0 auto 0 auto;
	}
	
	.post_nav .con::before {
		content: "";
		position: absolute;
		top: 0;
		left: -100%;
		width: 1000%;
		height: 100%;
		background: #F0F6F8;
	}
	
	.post_nav .con a {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto 30px auto;
	}
	
	.post_nav .con a .img {
		position: relative;
		width: 74px;
		height: 74px;
		border-radius: 5px;
		overflow: hidden;
	}
	
	.post_nav .con a .img img {
		display: block;
		position: relative;
		width: 100%;
		height: 74px;
		object-fit: cover;
		object-position: center;
	}
	
	.post_nav .con a .text {
		position: relative;
		width: 220px;
		height: auto;
	}
	
	.post_nav .con a .text h4 {
		position: relative;
		margin-bottom: 8px;
		font-size: 15px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 15px;
		color: #48AADD;
	}
	
	.post_nav .con a .text h4 img {
		position: absolute;
		top: 52%;
		transform: translateY(-50%) translateX(0);
		width: 11px;
		height: auto;
	}
	
	.post_nav .con a.prevpost {
		flex-direction: row;
	}
	
	.post_nav .con a.prevpost .text h4 {
		padding-left: 22px;
		text-align: left;
	}
	
	.post_nav .con a.prevpost .text h4 img {
		left: 0;
	}
	
	.post_nav .con a.nextpost .text h4 {
		text-align: left;
	}
	
	.post_nav .con a.nextpost .text h4 img {
		left: 72px;
	}
}

/*80.プライバシーポリシー*/
/*PC*/
@media only screen and (min-width: 1025px) {
	/*メインビジュアル*/
	#pri_mv {
		position: relative;
		width: 100%;
		height: auto;
		padding: 90px 0 90px 0;
	}
	
	#pri_mv h1 {
		font-size: 36px;
		font-weight: 500;
		letter-spacing: 3px;
		line-height: 36px;
		text-align: center;
		color: #444444;
	}
	
	#pri_mv h1 font {
		display: block;
		position: relative;
		margin: 15px auto 0 auto;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 2px;
		line-height: 18px;
		color: #89C7E8;
	}
	
	/*コンテンツ*/
	#pri {
		position: relative;
		width: 940px;
		height: auto;
		padding: 0 0 0 0;
		margin: 0 auto 90px auto;
	}
	
	#pri .text {
		position: relative;
		width: 100%;
		height: auto;
	}
	
	#pri .text p:nth-of-type(1) {
		margin-bottom: 30px;
	}
	
	#pri .ptn {
		position: relative;
		width: 100%;
		height: auto;
		margin: 40px auto 0 auto;
	}
	
	#pri .ptn h2 {
		margin-bottom: 20px;
		font-size: 20px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 20px;
		color: #48AADD;
	}
	
	#pri .ptn p {
		line-height: 26px;
		color: #5C5C5C;
	}
	
	#pri .ptn p a {
		color: #5C5C5C;
	}
	
	#pri .ptn:last-of-type p:nth-of-type(2) {
		margin-top: 40px;
		text-align: right;
	}
	
}

/*SMP*/
@media only screen and (max-width: 1024px) {
	/*メインビジュアル*/
	#pri_mv {
		position: relative;
		width: 100%;
		height: auto;
		padding: 80px 0 60px 0;
	}
	
	#pri_mv h1 {
		font-size: 23px;
		font-weight: 500;
		letter-spacing: 2px;
		line-height: 23px;
		text-align: center;
		color: #444444;
	}
	
	#pri_mv h1 font {
		display: block;
		position: relative;
		margin: 8px auto 0 auto;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 1px;
		line-height: 14px;
		color: #89C7E8;
	}
	
	/*コンテンツ*/
	#pri {
		position: relative;
		width: 320px;
		height: auto;
		padding: 0 0 0 0;
		margin: 0 auto 60px auto;
	}
	
	#pri .text {
		position: relative;
		width: 100%;
		height: auto;
	}
	
	#pri .text p:nth-of-type(1) {
		margin-bottom: 25px;
	}
	
	#pri .ptn {
		position: relative;
		width: 100%;
		height: auto;
		margin: 30px auto 0 auto;
	}
	
	#pri .ptn h2 {
		margin-bottom: 15px;
		font-size: 17px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 17px;
		color: #48AADD;
	}
	
	#pri .ptn p {
		color: #5C5C5C;
	}
	
	#pri .ptn p a {
		color: #5C5C5C;
	}
	
	#pri .ptn:last-of-type p:nth-of-type(2) {
		margin-top: 30px;
		text-align: right;
	}
	

}