@charset "utf-8";
/* CSS Document */
@media screen and (min-width: 768px) {
}
body {
	font-size: 16px;
	overflow: hidden;
}
body.fixed {
	position: fixed;
	width: 100%;
}
button {
	cursor: pointer;
}
img {
	width: 100%;
	height: auto;
}
.f-en {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
.wp-block-heading,
.title h2,
.secBlog .blogList li .bottom .btn,
.secBlog .blogList li .texts .date,
.bottomLink li a,
.text_en,
.date .text,
h3,h4,p,li,
a,.f-go {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}
.text_jp,
h1,h1 a, h2,
.f-h {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
header .text_jp {
  font-family: "Noto Sans JP", sans-serif;	
}

.bold {
	font-weight: bold;
}
.block {
	display: block;
}
.justify {
	text-align: justify;
	text-align-last: justify;
}
.headerNav > li > a,
.fs-16 {
	font-size: 16px;
}
.fs-22 {
	font-size: 22px;
}
.fs-24 {
	font-size: 24px;
}
.fs-32 {
	font-size: 32px;
}
.fs-40 {
	font-size: 40px;
}
@media screen and (max-width: 767px) {
	.headerNav > li > a,
	.fs-16 {
		font-size: 3.8vw;
	}
	.fs-22 {
		font-size: 4.0vw;
	}
	.fs-24 {
		font-size: 4.3vw;
	}
	.fs-32 {
		font-size: 5.3vw;
	}
	.fs-40 {
		font-size: 40px;
	}
}
@media screen and (min-width: 1400px) {
	.only_sp1400 {
		display: none;
	}
}
.box1280 {
	width: 92vw;
	max-width: 1280px;
	margin: 0 auto;
}
.home .box1280 {
	width: 92vw;
	max-width: 1160px;
	margin: 0 auto;
}
.box1920 {
	width: 92vw;
	max-width: 1920px;
	margin: 0 auto;
}

.box1400 {
	width: 92vw;
	max-width: 1400px;
	margin: 0 auto;
}
.home .box1400 {
	width: 92vw;
	max-width: 1160px;
	margin: 0 auto;
}
.align-C {
	text-align: center;
}
@media screen and (min-width: 1561px) {
	.only_sp1560 {
		display: none;
	}
}
@media screen and (max-width: 1560px) {
	.only_pc1561 {
		display: none;
	}
}
@media screen and (min-width: 1055px) {
	.only_sp1054 {
		display: none;
	}
}
@media screen and (max-width: 1054px) {
	.only_pc1055 {
		display: none;
	}
}
@media screen and (min-width: 900px) {
	.only_sp900 {
		display: none;
	}
}
@media screen and (min-width: 768px) {
	.only_sp767 {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	main {
		padding-bottom: 0;
	}
	.only_pc768 {
		display: none;
	}
}
@media screen and (min-width: 1025px) {
	.only_sp1024 {
		display: none;
	}
}
.wrap {
	position: relative;
}


@media screen and (min-width: 768px) {
	.spBtn {
		display: none;
	}
	.wrap {
		padding-top: 120px;
	}
	.page_sub.wrap {
		padding-top: 0;
	}
	header {
		position: absolute;
		left: 0;
		top: 0;
		display: block;
		width: 100%;
		height: auto;
		transition: 0.3s all ease;
		z-index: 999;
	}
	.scrolled header {
		position: fixed;
		top: 0;
		padding: 0;
	}

	header .headerIn {
		width: 100%;
		margin: 0 auto;
		position: relative;
		height: 120px;
	}
	header .headerIn .header_title {
		background-color: #FFF;
		width: 350px;
		height: 120px;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 2;
	}
	header .headerIn .header_title h1 {
		position: absolute;
		left: 60px;
		top: 50%;
		transform: translateX(42px) translateY(-50%);
		width: 198px;
	}
	header .headerIn .header_title h1,
	header .headerIn .header_title h1 a
	{
		font-size: 32px;
		font-weight: bold;
	}
	header .headerIn .header_title h1 .kana {
		transform: scaleX(80%);
		letter-spacing: -0.2em;
	}
	header .headerIn .header_title h1 .block {
		line-height: 1.3;
		text-align: justify;
		text-align-last: justify;
	}
	header .headerIn .headerNav {
		position: absolute;
		right: 0;
		top: 0;
		width: 100%;
		height: 120px;
	}
	.page_sub header .headerIn .headerNav {
		background: linear-gradient(180deg,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 0.6) 80%,
			rgba(255, 255, 255, 0) 100%
		);
	}
	header .headerIn .headerNav nav .arrowNav
	{
		display: table;
		position: absolute;
		top: 50%;
		right: 50%;
		transform: translateX(50%) translateY(-50%);
	}
	header .headerIn .headerNav nav .arrowNav li {
		font-size: 16px;
		display: table-cell;
		min-width: 7em;
	}	header .headerIn .headerNav nav .arrowNav li a {
	}
	header .headerIn .headerNav nav .arrowNav li a span {
		display: block;
		text-align: center;
		line-height: 1.3;
	}
	header .headerIn .headerNav nav .arrowNav li a span.text_jp {
		  font-family: "Noto Sans JP", sans-serif;
		  font-optical-sizing: auto;
		  font-weight: bold;
		  color:#000019;		
	}
	header .headerIn .headerNav nav .arrowNav li a span.text_en {
		  font-family: "Noto Sans JP", sans-serif;
		  font-optical-sizing: auto;
		  font-weight: bold;
		color: #5a5a6e;	}
	header .headerIn .headerNav nav .redNav {
		position: absolute;		right: 0;
		top: 0;
		display: table;
	}	
	header .headerIn .headerNav nav .redNav li {
		display: table-cell;
	}
	header .headerIn .headerNav nav .redNav li a {
		display: block;
		font-size: 14px;
		font-weight: bold;
		letter-spacing: 0.1em;
		color: #FFF;
		line-height: 50px;
		height: 50px;
		width: 140px;
		text-align: center;
		background-color: #db3400;
		position: relative;
	}
	header .headerIn .headerNav nav .redNav li a::before {
		content: "";
		display: table-cell;
		width: 1px;
		height: 20px;
		background-color: #FFF;
		opacity: 0.3;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	header .headerIn .headerNav nav .redNav li:nth-last-child(1) a::before {
		display: none;
	}
	@media screen and (max-width:1401px) {
		header .headerIn .headerNav nav .arrowNav {
			display: table;
			position: absolute;
			top: auto;
			bottom: 23px;
			right: 0;
			transform: translateX(0) translateY(0);
		}
		header .headerIn .header_title {
			
		}
		header .headerIn .header_title h1 {
			position: static;
			display: table-cell !important;
			vertical-align: middle;
			transform: translateX(0) translateY(0);
			width: auto;
			height: 120px;
			padding: 0 20px;
		}		
		header .headerIn .header_title h1 a {
			display: inline-block;
		}
		header .headerIn .header_title {
			background-color: #FFF;
			width: auto;
			height: 120px;
			position: absolute;
			left: 0;
			top: 0;
			z-index: 2;
		}
		
		
	}
}
@media screen and (max-width:767px) {
	.spBtn {
		display: table-cell;
		width: 12vw;
		height: 12vw;
		background-color: #000;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 999;
	}
	.spBtn .btn {
		display: table-cell;
		width: 8vw;
		height: 5vw;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translateX(-50%) translateY(-50%);
		cursor: pointer;
	}
	.spBtn .btn .border {
		width: 100%;
		height: 0.6vw;
		top: 50%;
		right: 0;
		transform: translateY(-50%) rotate(0);
		background-color: #FFF;
		position: absolute;
		transition: 0.3s all ease;
	}
	.spBtn .btn .border:nth-child(1) {
		top: 0;
		transform: translateY(-50%) rotate(0);
	}
	.spBtn .btn .border:nth-child(2) {
	}
	.spBtn .btn .border:nth-child(3) {
		top: 5vw;
		transform: translateY(-50%) rotate(0);
	}
	.open .spBtn .btn .border:nth-child(1) {
		top: 50%;
		transform: translateY(-50%) rotate(405deg);
	}
	.open .spBtn .btn .border:nth-child(2) {
		width: 0;
	}
	.open .spBtn .btn .border:nth-child(3) {
		top: 50%;
		transform: translateY(-50%) rotate(-405deg);
	}
	
	.wrap {
		padding-top: 120px;
	}
	
	header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 900;
		height: 90px;
		width: 100%;
	}
	header .headerIn .header_title {
		position: absolute;
		top: 50%;
		left: 4vw;
		transform: translateY(-50%);
		z-index: 101;
		transition: 0.3s all ease;
	}
	header.hide .headerIn .header_title {
		position: absolute;
		top: -100%;
	}
	header .headerIn .header_title h1,
	header .headerIn .header_title h1 a {
		font-size: 32px;
		line-height: 1.18;
		letter-spacing: 0.05em;
	}
	.headerNav {
		position: fixed;
		top: 0;
		display: block;
		width: 100%;
		height: 100vh;
		background: left top / 50px auto url("../img/bgp_white.jpg") repeat;
		z-index: 100;
		padding-top: 140px;
	}
	
	
	.headerNav nav {
		padding: 0 4% 10vh;
		overflow-y: scroll;
		height: 100%;
	}
	.headerNav .arrowNav li {
		border-bottom: 1px solid #cdcdcd;
	}
	.headerNav .arrowNav li .text_en {
		font-size: 0.6em;
		
	}
	.headerNav .arrowNav li .text_en::before {
		content: " - ";
	}
	.headerNav .arrowNav li a {
		display: block;
		font-size: 32px;
		position: relative;
		line-height: 3em;
	}
	.headerNav .arrowNav li a::after {
		content: "";
		display: table-cell;
		width: 24px;
		height: 18px;
		background: center center / 24px auto url("../img/nav_arrow.png") no-repeat;
		position: absolute;
		right: 21px;
		top: 50%;
		transform: translateY(-50%);
	}
	header .headerNav {
		right: -100%;
	}
	header.open .headerNav {
		right: 0;
	}
	.headerNav .redNav {
		font-size: 0;
		padding-top: 6vw;
	}
	.headerNav .redNav li {
		display: inline-block;
		width: 32%;
		margin-right: 2%;
	}
	.headerNav .redNav li a {
		display: block;
		text-align: center;
		font-size: 3.4vw;
		font-weight: bold;
		background-color: #000;
		color: #FFF;
		line-height: 9vw;
		height: 9vw;
		border-radius: 2vw;
	}
	.headerNav .redNav li:nth-last-child(1) {
		margin-right: 0;
	}
}
@media screen and (min-width:768px) and (max-width:1560px) {
	.scrolled header .headerIn .header_title {
		display: none;
	}
	
}
@media screen and (max-width:767px) {
	.wrap {
		padding-top: 12vw;
	}

	header {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 900;
		height: 12vw;
		width: 100%;
	}
	.scrolled header {
		background-color: #FFF;
	}
	header .headerIn .header_title {
		position: absolute;
		top: 6vw;
		left: 4vw;
		transform: translateY(-50%);
		z-index: 101;
		width: 33vw;
	}

	header .headerIn .header_title h1,
	header .headerIn .header_title h1 a {
		font-size: 4.0vw;
		line-height: 1.2;
		letter-spacing: 0.05em;
	}
	header .headerIn .header_title h1 .block {
		font-weight: bold;
		line-height: 1.2;
		text-align: justify;
		text-align-last: justify;
	}
	.headerNav {
		position: fixed;
		top: 0;
		display: block;
		width: 100%;
		height: 100vh;
		background: left top / 6.67vw auto url("../img/bgp_white.jpg") repeat;
		z-index: 100;
		padding-top: 18.67vw;
	}
	.headerNav nav {
		padding: 0 4% 10vh;
		overflow-y: scroll;
		height: 100%;
	}

	.headerNav .arrowNav li {
		border-bottom: 1px solid #cdcdcd;
	}

	.headerNav .arrowNav li a {
		display: block;
		font-size: 4.27vw;
		position: relative;
		line-height: 3em;
	}

	.headerNav .arrowNav li a::after {
		content: "";
		display: table-cell;
		width: 3.8vw;
		height: 3.8vw;
		background: center center / 100% auto url("../img/icn_linkarrow.png") no-repeat;
		position: absolute;
		right: 2.8vw;
		top: 50%;
		transform: translateY(-50%);
	}

	header .headerNav {
		right: -100%;
		transition: 0.3s all ease;
	}

	header.open .headerNav {
		right: 0;
	}

	.snsNav {
		display: none;
	}
	
}

.sec_fv {
	position: relative;
}
.sec_fv .bg_square {
	display: table-cell;
	position: absolute;
	right: 0;
	top: -120px;
	width: calc(50vw + 390px);
	height: 1020px;
	background-color: #f8f8f8;
	z-index: 1;
}
.sec_fv::before {
	content: "";
	display: table-cell;
	background: center / 100% auto url("../img/fv_img_01.jpg") no-repeat;
	width: 900px;
	height: 962px;
	position: absolute;
	top: -120px;
	left: 50%;
	transform: translateX(-100%);
	z-index: 2;
}
.sec_fv .secIn {
	height: 1070px;
	width: 92%;
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
	z-index: 3;
}
.sec_fv .secIn::before {
	content: "";
	display: table-cell;
	background: center / 100% auto url("../img/fv_img_02.jpg") no-repeat;
	width: 570px;
	height: 780px;
	position: absolute;
	bottom: 0;
	right: -135px;
}
.sec_fv .secIn h2 {
	position: absolute;
	left: 0;
	top: 527px;
}
.sec_fv .secIn h2 .inline {
	display: inline-block;
}
.sec_fv .secIn h2 .inline:nth-child(1) {
	margin-bottom: 35px;
}
.sec_fv .secIn h2 .block {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
	
	display: block;
	background-color: #000000;
	font-size: 74px;
	line-height: 1.0;
	vertical-align: middle;
	color: #FFF;
	padding: 0 0 0.2em;
}
.sec_fv {
	margin-bottom: 26px;	
}
.sec_fv .scrollArea {
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: #FFF;
	display: table-cell;
	width: 60px;
	height: 100%;
	z-index: 4;
}
.sec_fv .scrollArea .rotate {
	position: absolute;
	display: block;
	transform: rotate(90deg) translateY(-50%);
	transform-origin: 100% 0;
	right: 50%;
	bottom: 85px;
	width: 190px;
	color: #5a5a6e;
}
.sec_fv .scrollArea .rotate .text {
	font-size: 16px;
	font-weight: 600;
	color: #5a5a6e;
}
.sec_fv .scrollArea .rotate .bar {
	display: table-cell;
	width: 80px;
	height: 12px;
	background-color: #999caf;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.sec_fv .scrollArea .rotate .bar .dot {
	display: table-cell;
	width: 12px;
	height: 12px;
	background-color: #000019;
	position: absolute;
	left: 0;
	top: 0;
	animation-name: scrollBarAnime;
	animation-duration: 2.0s;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}

@keyframes scrollBarAnime {
	0% {
		left: 0;
		opacity: 0.0;
	}
	10% {
		left: 0;
		opacity: 1.0;
	}
	80% {
		left: 68px;
		opacity: 1.0;
	}
	100% {
		left: 68px;
		opacity: 0.0;
	}
}

.sec_top01 {
	position: relative;
	margin-bottom: 120px;
}
.sec_top01::before {
	content: "";
	display: table-cell;
	background: center / 100% auto url("../img/sec_top01_img.jpg") no-repeat;
	width: 900px;
	height: 480px;
	position: absolute;
	right: calc(50vw + 60px);
	top: 0;
}
.sec_top01 .secIn {
	width: 90%;
	max-width: 1280px;
	margin: 0 auto;
	height: 480px;
	position: relative;
	display: table;
	padding-left: 723px;
}
.sec_top01 .secIn .textBox {
	display: table-cell;
	vertical-align: middle;
}
.sec_top01 h3 {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 1em;
}
.sec_top01 p {
	font-size: 20px;
	line-height: 2.2;
	margin-bottom: 1.5em;
}
.sec_top01 .btnArea {
	text-align: right;
}
.sec_top01 .btnArea .btn {
	display: inline-block;
}
.sec_top01 .btnArea .btn a {
	font-size: 18px;
	display: block;
	padding-right: 54px;
	position: relative;
	line-height: 1.2;
}
.sec_top01 .btnArea .btn a::after {
	content: "";
	display: table-cell;
	background: center / 100% auto url("../img/icn_linkarrow.png") no-repeat;
	width: 13px;
	height: 13px;
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
}

.secHead {
	margin-bottom: 40px;
}
.secHead h3 {
	position: relative;
}
.secHead h3 .deco {
	position: absolute;
	width: 40%;
	height: 38px;
	top: 0;
	right: 0;
}
.secLink01 .secHead h3 .deco {
	width: 35%;
}
@media screen and (max-width: 1400px) {
	.secLink01 .secHead h3 .deco {
		width: calc(100% - 350px);
	}
	.sec_fv .secIn {
	  width: 80%;
	  margin: 0 auto;
	}
	.sec_fv::before {
	  top: -120px;
	  left: 0;
	  transform: translateX(0);
	  z-index: 2;
	}	

	.sec_fv .secIn::before {
	  right: auto;
		left: 70%;
	}	
	.sec_top01 .secIn {
	  width: 90%;
	  max-width: 1280px;
	  margin: 0 auto;
	  height: 480px;
	  position: relative;
	  display: table;
	  padding-left: 40vw;
	}	
	.sec_top01::before {
	  content: "";
	  display: table-cell;
	  background: right center / auto 100% url("../img/sec_top01_img.jpg") no-repeat;
	  width: 35vw;
	  height: 480px;
	  position: absolute;
	  right: auto;
		left: 0;
	  top: 0;
	}	
	
}
@media screen and (max-width: 1210px) {
	.secLink01 .secHead h3 .deco {
		width: calc(100% - 350px);
	}
	.sec_fv .scrollArea {
		display: none;
	}	
	.sec_fv .secIn {
	  width: 90%;
	  margin: 0 auto;
	}
	.sec_fv .secIn h2 {
	  position: absolute;
	  left: 0;
	  top: 46vw;
	}
	.sec_fv .secIn h2 .block {
	  font-size: 6.5vw;
	  padding: 0 0 0.2em;
	}
	.sec_fv .secIn {
	  height: 80vw;
	}
	.sec_fv::before {
	  content: "";
	  display: table-cell;
	  background: center / 100% auto url("../img/fv_img_01.jpg") no-repeat;
	  width: 80vw;
	  height: 85.5vw;
	  position: absolute;
	  top: -120px;
	  left: 0;
	  transform: translateX(0);
	  z-index: 2;
	}
	.sec_fv .secIn::before {
	  width: 30vw;
	  height: 41vw;
	  position: absolute;
	  bottom: 0;
	  right: -5vw;
		left: auto;
	}
	.sec_fv .bg_square {
	  width: 80vw;
	  height: calc(75vw + 120px);
	  background-color: #f8f8f8;
	  z-index: 1;
	}
	.sec_fv .secIn h2 .inline:nth-child(1) {
	  margin-bottom: 4vw;
	}	
	
}
@media screen and (max-width: 767px) {
	.secHead h3 .deco {
	  width: 41.3vw;
	  height: 7vw;
	}	
  .sec_top01 .secIn {
    height: auto;
    position: relative;
    display: table;
    padding-left: 0;
  }	
  .sec_fv::before {
    top: -12vw;
  }	
	.sec_fv {
	  margin-bottom: 9vw;
	}
	.sec_top01 h3 {
	  font-size: 5vw;
	}	
	.sec_top01 p {
	  font-size: 3.4vw;
	}	
  .sec_fv .bg_square {
    height: 87vw;
  }
 .sec_top01::before {
	 width: 80vw;
	 height: 30vw;
	 background: center center / 100% auto url("../img/sec_top01_img.jpg") no-repeat;
	 bottom: 0;
	 left: 0;
	 top: auto;
  }
	.sec_top01 {
	  margin-bottom: 9vw;
		padding-bottom: 40vw;
	}

}

.secHead h3 .deco .border {
	display: table-cell;
	width: calc(100% - 20px);
	height: 1px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background-color: #333;
}
.secHead h3 .deco .square {
	display: table-cell;
	width: 6px;
	height: 6px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateX(-50%) translateY(-50%) rotate(45deg);
	background-color: #333;
}
.secHead .text_jp {
	font-size: 35px;
	display: block;
	line-height: 1.0;
	margin-bottom: 0.5em;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}
.secHead .text_en {
	font-size: 14px;
	display: block;
	line-height: 1.0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}
.newsList {
	display: table;
	width: 100%;
}
.newsList li {
	display: table-row;
}
.newsList li .info {
	display: table-cell;
	width: 220px;
	padding: 28px 0;
	border-bottom: 1px solid #dddddd;
	word-break: keep-all;
vertical-align: middle;
}
.page_sub .newsList li .info {
	font-size: 0;
	position: relative;
}
@media screen and (min-width: 768px) {
	.newsList li .info .tagNew {
		display: inline-block;
		margin-right: 12px;
	}
	.page_sub .newsList li .info .tagNew {
		display: inline-block;
		margin-right: 12px;
	}
	.page_sub .newsList li .info .tagNew.empty {
		font-size: 12px;
		width: 3.0em;
	}
}
@media screen and (max-width: 767px) {
	.newsList li .info .tagNew {
		display: none;
	}
	.newsList li .info .tagNew.new {
		display: inline-block;
	}
}

.newsList li .info .tagNew .text {
	display: block;
	font-size: 12px;
	color: #FFF;
	background-color: #db3400;
	line-height: 1.8;
	padding:0 0.4em;
	border-radius: 8px;
}
.newsList li .info .date {
	display: inline-block;
	margin-right: 20px;
}
.page_sub .newsList li .info .date {
	margin-right: 12px;
}
.newsList li .info .date .text {
	font-size: 14px;
	font-weight: bold;
	line-height: 24px;
	color: #788087;
	font-family: "Noto Sans JP", sans-serif;
}

.newsList li .info .tag {
	display: inline-block;
	border-radius: 12px;
	background-color: #f8f8f8;
}
.newsList li .info .tag .text {
	font-size: 14px;
	font-weight: bold;
	color: #000;
	height: 24px;
	min-width: 80px;
	line-height: 22px;
	display: block;
	text-align: center;
	padding: 0 0.5em;
}
.newsList li .texts {
	display: table-cell;
	padding: 28px 0;
	border-bottom: 1px solid #dddddd;
}
.newsList li .texts .text a {
	display: block;
	line-height: 1.6;
	color: #3d3d3d;
	font-size: 16px;
	position: relative;
	padding-right: 65px;
display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.newsList li {
	position: relative;
}
.newsList li::after {
	content: "";
	display: table-cell;
	width: 13px;
	height: 13px;
	background: center center / 100% auto url("../img/icn_linkarrow.png") no-repeat;
	position: absolute;
	top: 50%;
	right: 28px;
	transform: translateY(-50%);
}
.secNews .bottomLink,
.secBlog .bottomLink
{
	display: block;
	text-align: right;
}
.secNews .bottomLink .btn,
.secBlog .bottomLink .btn
{
	display: inline-block;
}
.secNews .bottomLink .btn a,
.secBlog .bottomLink .btn a,
.secLink .bottomLink .btn a

{
	display: block;
	font-size: 18px;
	padding-right: 50px;
	position: relative;
}
.secNews .bottomLink .btn a::after,
.secBlog .bottomLink .btn a::after,
.secLink .bottomLink .btn a::after
{
	content: "";
	display: table-cell;
	width: 13px;
	height: 13px;
	background: center center / 100% auto url("../img/icn_linkarrow.png") no-repeat;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
}
.secNews .bottomLink {
	position: absolute;
	left: 0;
	top: 143px;
}

@media screen and (max-width:767px) {
	.secNews {
	  padding: 10vw 0 8vw;
	  border-top-left-radius: 5.7vw;
	  border-bottom-left-radius: 5.7vw;
	}	
	.secHead .text_jp {
	  font-size: 7vw;
	}
	.secHead .text_en {
	  font-size: 2.6vw;
	}
	.newsList,
	.newsList li
	{
	  display: block;
	}	
	.newsList li .info {
	  display: block;
	  width: 100%;
	  padding: 4vw 0;
	  border-bottom: none;
	}	
	.newsList li .texts {
	  display: block;
	  padding: 0 0 4vw;
	  border-bottom: 1px solid #dddddd;
	}	
	.newsList li .info .tagNew.new {
		display: inline-block;
		margin-right: 2.9vw;
		line-height: 5vw;
	}	
	
	.newsList li .info .tagNew .text {
	  display: block;
	  font-size: 2.9vw;
	  border-radius: 1.3vw;
	}
	.newsList li .info .date {
	  display: inline-block;
	  margin-right: 2.9vw;
	}	
	.newsList li .info .date .text {
	  font-size: 4.3vw;
	  line-height: 5vw;
	}	
	.newsList li .info .tag .text {
	  font-size: 3.8vw;
	  height: 5vw;
	  width: 20vw;
	  line-height: 5vw;
	  border-radius: 2.5vw;
	}	
	.newsList li .texts .text a {
	  font-size: 4.3vw;
		padding-right: 10vw;
	}	
	.newsList li{
		position: relative;
	}
	.newsList li::after {
		width: 2.8vw;
		height: 2.8vw;
	  right: 2.7vw;
		top: calc(50% - 5vw);
	}
	.secNews .bottomLink .btn a, .secBlog .bottomLink .btn a, .secLink .bottomLink .btn a {
		font-size: 4.3vw;
		padding-right: 13vw;
	}
	.secNews .bottomLink,
	.secLink .bottomLink {
	  padding-top: 6vw;
	}
}


.secBlog {
	padding:120px 0 0;
	position: relative;
}
.secBlog::before {
	content: "";
	display: table-cell;
	width: calc(50vw - 183px);
	height: 100%;
	background: left top / 50px auto url("../img/bgp_gray02.jpg") repeat;
	position: absolute;
	left: 0;
	top: 0;
}
.secBlog .secIn {
	padding-bottom: 60px;
}
.secBlog .blogList {
	font-size: 0;
}
.secBlog .blogList li {
	display: inline-block;
	width: 32%;
	margin-right: 2%;
	margin-bottom: 65px;
	vertical-align: top;
	padding-bottom: 45px;
	border-bottom: 1px solid #ddd;	
	position: relative;
}
.secBlog .blogList li:nth-child(3n) {
	margin-right: 0;
}

@media screen and (min-width:1560px) {
	.secBlog .blogList li {
		display: inline-block;
		width: 30%;
		margin-right: 5%;
	}
	.secBlog .blogList li:nth-child(3n) {
		margin-right: 0;
	}
}
@media screen and (max-width:1559px) {
	.secBlog .blogList li {
		display: inline-block;
		width: 30%;
		margin-right: 5%;
	}
	.secBlog .blogList li:nth-child(3n) {
		margin-right: 0;
	}
}
@media screen and (max-width:767px) {
	.secBlog .secIn {
		padding-bottom: 6vw;
	}
	
}

.secBlog .blogList li a {
	display: block;
}
.secBlog .blogList li a .img {
	display: block;
	position: relative;
	width: 100%;
	overflow: hidden;
	margin-bottom: 18px;
}
.secBlog .blogList li a .img::before {
	content: "";
	display: block;
	padding-top: 56%;
}
.secBlog .blogList li a .img img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.secBlog .blogList li .texts {
	display: block;
}
.secBlog .blogList li .texts > span {
	display: block;
}
.secBlog .blogList li .texts > span.block {
	margin-bottom: 0.8em;
}
.secBlog .blogList li .texts > span.block .newPost {
	display: none;
}
.secBlog .blogList li.newPost .texts > span.block .newPost{
	display: inline-block;
	  font-size: 12px;
	  color: #FFF;
	  background-color: #db3400;
	  line-height: 1.8;
	  padding: 0 0.4em;
	  border-radius: 8px;
	margin-right: 12px;
}
.secBlog .blogList li .texts .date {
	font-size: 14px;
	color: #5a5a6e;
	line-height: 1.4
}
.secBlog .blogList li .texts .title {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 2em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;	
}
.secBlog .blogList li .texts .desc {
	font-size: 16px;
	line-height: 1.5;
	margin-bottom: 1em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;	
}
.secBlog .blogList li .bottom {
	display: block;
	position: absolute;
	right: 0;
	bottom: 30px;
}
.secBlog .blogList li .bottom .btn {
	display: inline-block;
}
.secBlog .blogList li .bottom .btn .btnIn {
	display: block;
	padding-right: 50px;
	font-size: 18px;
	position: relative;
}
.secBlog .blogList li .bottom .btn .btnIn::before {
	content: "";
	display: table-cell;
	width: 13px;
	height: 13px;
	background: center center / 100% auto url("../img/icn_linkarrow.png") no-repeat;
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
}
.secNews {
	padding-top: 80px;
	margin-bottom: 160px;
}
.secNews .secIn {
	padding-left: 384px;
	padding-right: 58px;
	position: relative;
}
.secNews .secIn .secHead {
	position: absolute;
	left: 0;
	top: 0;
}
@media screen and (max-width:1400px) {
	.secNews .secIn {
	  padding-left: 30vw;
	  padding-right: 0;
	}	
}
@media screen and (max-width:1054px){
  .secBlog .blogList li,
  .secBlog .blogList li:nth-child(3n)	{
    width: 47.5%;
    margin-right: 5%;
  }	
  .secBlog .blogList li:nth-child(2n)	{
    margin-right: 0;
  }	
	.secNews .secIn {
		padding-left: 0;
		padding-right: 0;
	}	
	.secNews .secIn .secHead {
	  position: static;
	}	
	.secNews .bottomLink {
	  position: static;
	}	
	.newsList {
		margin-bottom: 50px;
	}
}
@media screen and (max-width:767px) {
  .secBlog .blogList li,
  .secBlog .blogList li:nth-child(3n)	{
    width: 100%;
    margin-right: 0;
  }	
	.secBlog .blogList li .texts .date {
	  font-size: 4.3vw;
	}	
	.secBlog .blogList li .texts .title {
	  font-size: 4.3vw;
	}	
	.secBlog .blogList li .texts .desc {
	  font-size: 3.8vw;
	}	
	.secBlog .blogList li .bottom .btn .btnIn {
	  padding-right: 6vw;
	  font-size: 3.8vw;
	}	
	.secBlog {
		padding-top: 9vw;
	  position: relative;
	}	
	.secBlog::before {
	  width: 35vw;
	}	
	.secNews {
	  padding-top: 9vw;
	  margin-bottom: 9vw;
	}
	.newsList li .info .tag {
	  border-radius: 1vw;
	}
  .newsList {
    margin-bottom: 6vw;
  }	
	.secBlog .blogList li .texts {
		margin-bottom: 4vw;
	}	
	.secBlog .blogList li .bottom .btn .btnIn::before {
	  content: "";
	  display: table-cell;
	  width: 2.8vw;
	  height: 2.8vw;
	  background: center center / 100% auto url("../img/icn_linkarrow.png") no-repeat;
	  position: absolute;
	  right: 0;
	  top: 50%;
	  transform: translateY(-50%);
	}	
	.secNews .bottomLink .btn a::after, .secBlog .bottomLink .btn a::after, .secLink .bottomLink .btn a::after {
	  width: 2.8vw;
	  height: 2.8vw;
	  right: 3vw;
	}	
	
	
}
.secLink {
	font-size: 16px;
	margin-bottom: 50px;
}
.secLink .secIn {
	position: relative;
}
.secLink .secIn::before {
	content: "";
	display: table-cell;
	width: calc(50vw + 700px);
	height: 100%;
	background-color: #f8f8f8;
	position: absolute;
	right: 0;
	top: 0;
}
.secLink .secIn::after {
	content: "";
	display: table-cell;
	width: 800px;
	height: 530px;
	background: left top / 100% auto url("../img/sec_link_img.jpg") no-repeat;
	position: absolute;
	left: 50%;
	top: -40px;
	transform: translateX(0);
}
.secLink .box {
	padding-top: 120px;
	padding-bottom: 200px;
	width: 550px;
	position: relative;
}
.secLink .box .secCont {
	margin-bottom: 2.0em;
}
.secLink .box .secCont p {
	font-size: 16px;
	line-height: 1.75;
}
.secLink .box .bottomLink {
	text-align: right;
}
.secLink .box .bottomLink .btn {
	display: inline-block;
}
.secLink .box .bottomLink .btn a {
	display: block;
	
}
@media screen and (max-width:1400px) {
	.secLink .box {
	  width: 100%;
	  position: relative;
	}
	.secLink .secIn {
	  position: relative;
		padding-right: 40VW;
	}	
	.secLink .secIn::after {
		width: 36VW;
	  left: 65%;
	  top: -40px;
	  transform: translateX(0);
		background: center top / auto 100% url("../img/sec_link_img.jpg") no-repeat;
	}	
}
@media screen and (max-width:767px) {
	.secLink .secIn {
		padding-right: 0;
	}	
	.secLink .box {
	  padding-top: 11vw;
	  padding-bottom: 51vw;
	}
	.secLink .box .secCont p {
	  font-size: 3.4vw;
	}
	.secLink .box .secCont {
	  margin-bottom: 0;
	}
	.secLink .secIn::before {
	  width: 70vw;
	  height: 70%;
		right: auto;
		left: -4vw;
	}
  .secLink .secIn::after {
    width: 70VW;
    left: auto;
	  right: -4vw;
	  height: 45vw;
    top: auto;
	  bottom: 0;
    transform: translateX(0);
    background: center center / 100% auto url("../img/sec_link_img.jpg") no-repeat;
  }	
	.secNews .bottomLink .btn a, .secBlog .bottomLink .btn a, .secLink .bottomLink .btn a {
	  display: block;
	  font-size: 4.2vw;
	  padding-right: 11vw;
	  position: relative;
	}	

}
footer {
	background-color: #000019;
	padding: 40px 0 0;
}
footer .footerIn {
	width: 90%;
	max-width: 1800px;
	margin: 0 auto;
	display: table;
	padding-bottom: 40px;
}
footer .footerIn .logo {
	font-size: 32px;
	color: #FFF;
	display: table-cell;
	width: 220px;
}
footer .footerIn .logo .block:nth-last-child(1) {
	text-align: justify;
	text-align-last: justify;
	padding-top: 0.2em;
}
footer .footerIn .logo .kana {
	letter-spacing: -0.2em;
}
footer .footerIn .logo h2,
footer .footerIn .logo h2 a
{
	font-size: inherit;
	line-height: 1.2;
	color: #FFF;
	letter-spacing: 0.05em;
}
footer .footerIn .privacy {
	display: table-cell;
	width: calc(100% - 210px);
	vertical-align: middle;
	text-align: right;
}
footer .footerIn .privacy a {
	font-size: 16px;
	color: #FFF;
}
footer .copy_area {
	background-color: #FFF;
	padding: 25px 0;
}
footer .copy_area p {
	width: 92%;
	max-width: 1800px;
	margin: 0 auto;
	text-align: right;
	font-family: eb-garamond, serif;
	font-weight: 400;
	
}

.gotop {
	position: fixed;
	bottom: 20px;
	display: table-cell;
	width: 70px;
	height: 70px;
	border-radius: 20px;
	background-color: #000;
	cursor: pointer;
	transition: 0.3s all ease;
}
.gotop {
	right: -110px;
}
.scrolled .gotop {
	right: 20px;
}
.scrolled.end .gotop {
	bottom: 290px;
}

.gotop:hover {
	opacity: 0.8;
}
.gotop::before {
	content: "";
	display: table-cell;
	width: 30px;
	height: 34px;
	background: center center / 100% auto url("../img/icn_gotop.png") repeat;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
}
@media screen and (max-width: 767px) {
	.gotop {
		right: 2vw;
		bottom: 2.6vw;
		width: 13vw;
		height: 13vw;
		border-radius: 2.6vw;
	}
	.gotop::before {
		width: 5.3vw;
		height: 6vw;
	}
	.gotop {
		right: -30vw;
	}
	.scrolled .gotop {
	  right: 2vw;
	}	
	.scrolled.end .gotop {
		right: 2vw;
		bottom: 2.6vw;
	}
	
	footer {
		padding: 6.6vw 0 0;
	}
	footer .footerIn {
	  padding-bottom: 6.6vw;
		width: 33vw;
	}	
	
	footer .footerIn .logo {
		font-size: 5.3vw;
		display: inline-block;
		width: 100%;
		text-align: center;
	}
	footer .footerIn .logo h2 {
		text-align: center;
	}
	footer .footerIn .snsList {
		display: block;
		text-align: center;
	}
	footer .footerIn .privacy {
		display: none;
	}
	footer .footerIn .privacy a {
		font-size: 16px;
		color: #FFF;
	}
	footer .copy_area {
	  padding: 3vw 0;
	}
	footer .copy_area p {
		text-align: center;
		font-size: 2.6vw;
	}	
}
.page_sub .subHead {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	height: 400px;
	position: relative;
}
.page_sub .subHead::before {
	content: "";
	display: table-cell;
	position: absolute;
	width: calc(390px + 50vw);
	height: 480px;
	top: 0;
	right: 0;
	background-color: #f8f8f8;
}
.page_sub .subHead .subHeadIn {
	position: absolute;
	left: 60px;
	top: 0;
	width: calc(100% - 60px);
	background: left top / auto 100% url("../img/single_head.jpg") no-repeat;
	height: 400px;
}
.page_sub .subHead .subHeadIn h2 {
	position: absolute;
	top: 60%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 1340px;
	display: block;
}
.page_sub .subHead .subHeadIn h2 {
	font-size: 46px;
	letter-spacing: 0.15em;
	font-weight: normal;
	color: #FFF;
	line-height: 1.0;
}
@media screen and (max-width: 1200px) {
	.page_sub .subHead .subHeadIn h2 {
		width: 90vw;
		display: block;
	}
}
@media screen and (max-width: 767px) {
	.page_sub .subHead .subHeadIn h2 {
		font-size: 7vw;
	}
}
.page_sub .subHead .subHeadIn h2 > span {
	display: block;
}
.page_sub .subHead .subHeadIn h2 > span.text_en {
	font-size: 0.7em;
	padding-top: 0.6em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
	padding-left: 0.2em;
}
@media screen and (max-width: 1800px) {
	.page_sub .subHead .subHeadIn {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		background: center top / auto 100% url("../img/single_head.jpg") no-repeat;
		height: 400px;
	}
}
@media screen and (max-width: 767px) {
	.page_sub .subHead {
		width: 100%;
		max-width: 1920px;
		margin: 0 auto;
		height: auto;
		position: relative;
	}
	.page_sub .subHead .subHeadIn {
		position: static;
		left: 0;
		top: 0;
		width: 100%;
		background: center top / auto 100% url("../img/single_head.jpg") no-repeat;
		height: 42vw;
	}
	.page_sub .subHead::before {
		display: none;
	}	
	
}
.page_sub .subHead .subHeadIn h2 {
}
.page_sub .subHead .subHeadIn h2 .text_jp {
}
.page_sub .subHead .subHeadIn h2 .text_en {
}
.breadCrumbs {
	padding: 20px 0;
	width: 92%;
	max-width: 1340px;
	margin: 0 auto;
}
.breadCrumbs ul {
	font-size: 0;
}
.breadCrumbs ul li {
	display: inline-block;
	position: relative;
	vertical-align: top;
}
.breadCrumbs ul li::after {
	content: ">";
	padding: 0 0.6em;
}
.breadCrumbs ul li:nth-last-child(1)::after {
	display: none;
}
.breadCrumbs ul li a,
.breadCrumbs ul li span,
.breadCrumbs ul li::after
{
	font-size: 16px;
	line-height: 38px;
}

.contWrap {
	width: 92%;
	max-width: 1160px;
	margin: 0 auto;
	padding: 80px 0;
}
.contWrap .box {
	margin-bottom: 80px;
}
.max840 {
	max-width: 840px;
	margin: 0 auto;
}
.custom-image-wrapper {
	
}
.privacy .contWrap .box {
	margin-bottom: 40px;
}
@media screen and (max-width:767px) {
	.privacy .contWrap .box {
		margin-bottom: 9vw;
	}
}
.contWrap .blogLeft h2 {
	font-size: 35px;
	line-height: 1.7;
	font-weight: bold;
	margin-bottom: 0.8em;
}
.contWrap .blogLeft h3,
.contWrap .box h3 {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 1em;
}
.privacy .contWrap .box h3 {
	margin-bottom: 0.6em;
}
.contWrap .blogLeft a,
.contWrap .blogLeft p,
.contWrap .box p {
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: 1.5em;
}
.blogLeft p a {
	color: #b5934d;
	text-decoration: underline;
}
.contWrap .blogLeft a {
	margin-bottom: 0;
	margin: 0 0.2em;
}
.contWrap .box p:nth-last-child(1) {
	margin-bottom: 0;
}
.contWrap .box.hasRightImg {
	display: table;
}
.contWrap .box.hasRightImg .left {
	display: table-cell;
	vertical-align: top;
}
.contWrap .box.hasRightImg .rightImg {
	display: table-cell;
	vertical-align: top;
	width: 500px;
	padding-left: 70px;
}
.imgBox,
.wp-block-image
{
	margin-bottom: 30px;
}
.wp-block-image {
	display: block;
}
.wp-block-image img {
	width: 100%;
	height: auto;
}
.decoLine {
	margin-bottom: 80px;
}
.decoLine .decoLineIn {
	width: 313px;
	height: 9px;
	margin: 0 auto;
	position: relative;
}
.decoLine .decoLineIn .line {
	display: table-cell;
	width: 260px;
	height: 1px;
	background-color: #333;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.decoLine .decoLineIn .square {
	display: table-cell;
	width: 6px;
	height: 6px;
	background-color: #333;
	position: absolute;
	top: 50%;
	transform-origin: 50%;
}
.decoLine .decoLineIn .square.left {
	left: 0;
	transform: translateY(-50%) rotate(45deg);
}
.decoLine .decoLineIn .square.right {
	right: 0;
	transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width:1200px){
	.contWrap .box.hasRightImg .rightImg {
	  width: 48%;
	  padding-left: 70px;
	}	
}

@media screen and (max-width:767px){
	.page_sub .subHead .subHeadIn {
	  height: 42vw;
	}	
	.contWrap .blogLeft h2 {
	  font-size: 5.2vw;
	}
	.breadCrumbs {
		display: none;
	}
	.page_sub .subHead {
	  border-radius: 5.3vw;
	  margin-bottom: 0;
	}	
	.contWrap {
	  padding: 11vw 0 0;
	}
	.contWrap .blogLeft p,
	.contWrap .blogLeft a,
	.contWrap .box p {
	  font-size: 3.8vw;
	}	
	.decoLine .decoLineIn {
	  width: 41.6vw;
	  height: 9px;
	}	
	.decoLine .decoLineIn .line {
	  width: 34.6vw;
	}
	.decoLine {
	  margin-bottom: 7.7vw;
	}
	.contWrap .box {
	  margin-bottom: 7.7vw;
	}
	.imgBox {
	  margin-bottom: 7.7vw;
	}
	.contWrap .blogLeft h3,
	.contWrap .box h3 {
	  font-size: 5.8vw;
	  margin-bottom: 1em;
	}
	.contWrap .box.hasRightImg {
	  display: block;
	}	
	.contWrap .box.hasRightImg .left {
	  display: block;
	  vertical-align: top;
	}	
	.contWrap .box.hasRightImg .rightImg {
	  display: block;
	  vertical-align: top;
	  width: 100%;
	  padding-left: 0;
		padding-top: 7.7vw;
	}
}
.contWrap.blogWrap {
	width: 92%;
	max-width: 1340px;
	margin: 0 auto;
	display: table;
	padding-bottom: 65px;
	padding-top: 94px;
}
.blogWrap .blogLeft {
	display: table-cell;
	width: 840px;
	vertical-align: top;
}
.blogWrap .blogRight {
	display: table-cell;
	width: 320px;
	padding-left: 60px;
	vertical-align: top;
}
.blogsList {
	margin-bottom: 80px;
}
.blogsList li {
	border-bottom: 1px solid #ddd;
}
.contWrap .blogLeft .blogsList li a {
	display: block;
	padding: 29px 98px 29px 0;
	font-size: 0;
}
.blogsList li a::after {
	content: "";
	
}
.blogsList li .imgBox {
	display: inline-block;
	width: 30%;
	vertical-align: top;
	margin-bottom: 0;
}
.blogsList li .imgBox .imgBoxIn {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}
.blogsList li .imgBox .imgBoxIn::before {
	content: "";
	display: block;
	padding-top: 56%;
}
.blogsList li .imgBox .imgBoxIn img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.blogsList li .info {
	display: inline-block;
	width: 70%;
	vertical-align: top;
	padding-left: 40px;
	box-sizing: border-box;
}
.blogsList li .info > span {
	display: block;
}
.blogsList li .info > span.block {
	margin-bottom: 10px;
}
.blogsList li .info .date {
	font-size: 16px;
	color: #788087;
	margin-bottom: 1em;
}
.blogsList li .info .block .date {
	font-size: 16px;
	color: #788087;
	margin-bottom: 0;
}
.category .blogsList li .tagNew.new {
	display: inline-block;
}
.category .blogsList li .tagNew.new.empaty {
	display: none;
}
.category .blogsList li .tagNew.new .text {
  display: block;
  font-size: 12px;
  color: #FFF;
  background-color: #db3400;
  line-height: 1.8;
  padding: 0 0.5em;
  border-radius: 8px;
  margin-right: 12px;
}
.blogsList li .info .title {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.56;
	color: #3d3d3d;
	margin-bottom: 0.6em;
	
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;	
}
.blogsList li .info .excerpt {
	font-size: 16px;
	line-height: 1.56;
	
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;	
	
}
.blogsList li a {
	position: relative;
}
.blogsList li a::after {
  content: "";
  display: table-cell;
  width: 20px;
  height: 20px;
  background: center center / 100% auto url("../img/icn_linkarrow.png") no-repeat;
  position: absolute;
  top: 50%;
  right: 28px;
  transform: translateY(-50%);
}
.blogWrap .blogRight {
	display: table-cell;
	width: 320px;
	padding-left: 60px;
	vertical-align: top;
}
.blogWrap .blogRight dl {
	font-size: 0;
	margin-bottom: 40px;
}
.blogWrap .blogRight dl dt {
	text-align: center;
	font-size: 16px;
	letter-spacing: 0.05em;
	color: #FFF;
	line-height: 3.0;
	display: block;
	background-color: #3d3d3d;
}
.blogWrap .blogRight dl dd {
	border-bottom: 1px solid #ddd;
}
.blogWrap .blogRight dl dd a {
	display: block;
	padding: 20px 1em;
	line-height: 1.5;
}
.blogWrap .blogRight dl.catList dd a,
.blogWrap .blogRight dl.yearList dd a {
	display: block;
	padding: 20px 1em;
}
.blogWrap .blogRight dl dd a .imgBox {
	display: inline-block;
	width: 90px;
	vertical-align: top;
	margin: 0;
	border-radius: 10px;
	overflow: hidden;
}
.blogWrap .blogRight dl dd a .imgBox .imgBoxIn {
	position: relative;
	display: block;
}
.blogWrap .blogRight dl dd a .imgBox .imgBoxIn::before {
	content: "";
	display: block;
	padding-top: 56%;
}
.blogWrap .blogRight dl dd a .imgBox .imgBoxIn img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.blogWrap .blogRight dl dd a .title {
	display: inline-block;
	width: 150px;
	padding-left: 20px;
	vertical-align: middle;
	
}
.blogWrap .blogRight dl dd a .title .text {
	font-size: 16px;
	line-height: 1.5;
	display: block;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;	
}
.blogWrap .blogRight dl dd.postCatList a .title {
	width: 100%;
	padding: 0 1em;
}
.blogWrap .pagenation {
	padding-bottom: 90px;	
}
.blogWrap .pagenation ul {
	font-size: 0;
	text-align: center;
}
.blogWrap .pagenation ul li {
	display: inline-block;
}
.blogWrap .pagenation ul li a,
.blogWrap .pagenation ul li span
{
	display: block;
	width: 30px;
	text-align: center;
	height: 30px;
	line-height: 30px;
	font-size: 16px;
	color: #3d3d3d;
	margin: 0 10px;
}
.blogWrap .pagenation ul li.present span {
	background-color: #b5934d;
	color: #FFF;
}
.contactLinkArea {
	background-color: #f2f5f9;
	padding: 60px 20px;
	margin-top: 90px;
	margin-bottom: 70px;
}
.contWrap .blogLeft .contactLinkArea .headText {
	font-size: 35px;
	margin-bottom: 1em;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
}
.contactLinkArea .bottomText {
	font-size: 22px;
	text-align: center;
	line-height: 1.3;
}
.contactLinkArea .linkBtn {
	text-align: center;
	margin-bottom: 30px;
}
.contactLinkArea .linkBtn .btn {
	display: inline-block;
}
.contactLinkArea .linkBtn .btn a {
	display: block;
	background-color: #db3400;
	font-size: 22px;
	color: #FFF;
	line-height: 70px;
	height: 70px;
	padding: 0 33px;
}
.contactLinkArea .linkBtn .btn a span {
	padding-right: 2.2em;
	background: right center / 0.8em auto url("../img/icn_linkarrow_white.png") no-repeat;
}


@media screen and (max-width:1054px) {
	.blogWrap {
	  display: block;
	  padding-bottom: 120px;
	}	
	.blogWrap .blogLeft {
	  display: block;
	  width: 100%;
		padding-bottom: 90px;
	}	
	.blogWrap .blogRight {
	  display: block;
	  width: 100%;
	  padding-left: 0;
	}
	.blogWrap .blogRight dl dd a {
		font-size: 16px;
	}	
	.blogWrap .blogRight dl dd a .title {
	  display: inline-block;
	  width: calc(100% - 110px);
	  padding-left: 20px;
	  vertical-align: middle;
	}	
}
@media screen and (max-width: 767px) {
	.contWrap.blogWrap {
		padding-bottom: 9vw;
		padding-top: 6vw;
	}
	.contactLinkArea {
	  padding: 6vw 4vw 4vw;
	  margin-top: 9vw;
	  margin-bottom: 9vw;
	}	
	.contWrap .blogLeft .contactLinkArea .headText {
	  font-size: 5vw;
	}	
	.contactLinkArea .linkBtn .btn a {
	  font-size: 4vw;
	  line-height: 16vw;
	  height: 16vw;
	  padding: 0 6vw;
	}	
	
	.blogsList li a {
	  padding: 7.3vw 0 4vw;
	}	
	.blogsList li .imgBox {
	  display: block;
	  width: 100%;
		margin-bottom: 3.3vw;
	}	
	.blogsList li .info {
	  display: block;
	  width: 100%;
	  padding-left: 0;
		margin-bottom: 4vw;
	}	
	.blogsList li .info .date {
	  font-size: 4.3vw;
		margin-bottom: 0.5em;
	}	
	.blogsList li .info .title {
	  font-size: 4.3vw;
	}	
	.blogsList li .info .excerpt {
	  font-size: 3.8vw;
	}	
	.blogsList li a::after {
		display: none;
	}
	.blogsList {
	  margin-bottom: 9vw;
	}	
	.blogWrap .pagenation {
	  padding-bottom: 9vw;
	}
	.blogWrap .pagenation ul li a, .blogWrap .pagenation ul li span {
	  width: 5vw;
	  text-align: center;
	  height: 5vw;
	  line-height: 5vw;
	  font-size: 3.8vw;
	  margin: 0 2vw;
	}	
	.blogWrap .blogRight dl dt {
	  font-size: 4.3vw;
	}	
	.blogWrap .blogRight dl dd a {
		font-size: 3.8vw;
	  padding: 4vw 1.5em;
	}
	.blogWrap .blogRight dl dd a .imgBox {
	  width: 30%;
	  border-radius: 1.3vw;
	}	
	.blogWrap .blogRight dl dd a .title {
		width: 65%;
		padding-left: 5%;
	}	
	.blogWrap .blogRight dl dd a .title .text {
	  font-size: 4.3vw;
	}
	.category .contWrap .blogLeft .blogsList li a {
	  display: block;
	  padding: 4vw 0 3vw;
	  font-size: 0;
	}	
  .blogWrap .blogLeft {
    padding-bottom: 9vw;
  }
	.blogWrap .blogRight dl dd.postCatList a .title {
	  width: 100%;
	  padding: 0;
	}	
	
}
.page_sub .singleHead {
	border-bottom: 4px solid #000019;
	padding-bottom: 34px;
	margin-bottom: 45px;
}
.page_sub .singleHead .info {
}
.page_sub .singleHead .info ul {
	font-size: 0;
	text-align: left;
}
.page_sub .singleHead .info ul li {
	display: inline-block;
	vertical-align: middle;
	margin-right: 11px;
}
.page_sub .singleHead .info ul li .text {
	display: block;
	line-height: 28px;
	height: 28px;
}
.page_sub .singleHead .info ul li.newTag .text {
	font-size: 16px;
	color: #FFF;
	background-color: #db3400;
	padding: 0 0.8em;
	border-radius: 12px;
}
.page_sub .singleHead .info ul li.date {
	float: right;
	margin-right: 0;
}
.page_sub .singleHead .info ul li.date .text {
	font-size: 14px;
	color: #5a5a6e;
}
.page_sub .singleHead .info ul li.catTag .text {
	font-size: 16px;
	font-weight: bold;
	padding: 0 1em;
	color: #000019;
	background-color: #f8f8f8;
}
.page_sub .singleHead .title h3 {
	font-size: 24px;
	line-height: 1.5;
}
.page_404 p {
	margin-bottom: 1em;
	line-height: 1.6;
}
.page_404 {
	padding: 60px 0;
}
.page_404 p a {
	text-decoration: underline;
	color: rgba(58,76,156,1.00);
	font-size: 16px;
}
.contWrap.contact p
{
	font-size: 16px;
	line-height: 2.0;
	margin-bottom: 2em;
}
.contWrap.contact .box.steps {
	text-align: center;
	margin-bottom: 65px;
}
.contWrap.contact .box.steps ul {
	font-size: 0;
	position: relative;
}
.contWrap.contact .box.steps ul::before {
	content: "";
	width: 66%;
	max-width: 580px;
	height: 4px;
	background: left center / auto 100% url("../img/steps_bg_dot.png") repeat-x;
	position: absolute;
	left: 50%;
	top: 50px;
	transform: translateX(-50%) translateY(-50%);
}
.contWrap.contact .box.steps ul li {
	display: inline-block;
	vertical-align: top;
	position: relative;
	width: 33.3%;
	max-width: 290px;
	text-align: center;
	padding-top: 116px;
}
.contWrap.contact .box.steps ul li:nth-last-child(1) {
	margin-right: 0;
}
.contWrap.contact .box.steps ul li .circle {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.contWrap.contact .box.steps ul li .circle .text {
	font-family: yu-gothic-pr6n, sans-serif;
	font-weight: 400;
	color: #FFF;
	vertical-align: middle;
	display: table-cell;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background-color: #adb5c9;
}
.contWrap.contact .box.steps ul li.current .circle .text {
	background-color: #000019;
}
.contWrap.contact .box.steps ul li .circle .text .step {
	font-size: 16px;
	display: block;
	text-align: center;
}
.contWrap.contact .box.steps ul li .circle .text .num {
	font-size: 30px;
	padding-top: 0.2em;
	display: block;
	text-align: center;
}
.contWrap.contact .box.steps ul li .bottomText {
	display: block;
	text-align: center;
	font-size: 16px;
	line-height: 1.5;
}
.contWrap.contact .wpcf7-form ul {
	display: table;
	width: 100%;
}
.contWrap.contact .wpcf7-form ul li.row {
	display: table-row;
	font-size: 16px;
	line-height: 1.3;
	position: relative;
}
.contWrap.contact .wpcf7-form ul li.row.bg_white {
	background-color: #FFF;
}
.contWrap.contact .wpcf7-form ul li.row .labelCel {
	display: table-cell;
	width: 310px;
	padding: 30px 0 30px 50px;
	position: relative;
	vertical-align: middle;
}
.contWrap.contact .wpcf7-form ul li.row .inputCel {
	display: table-cell;
	padding: 20px;
	vertical-align: middle;
}
.contWrap.contact .wpcf7-form ul li.row .labelCel::after {
	position: absolute;
	display: table-cell;
	content: "任意";
	line-height: 1.4em;
	height: 1.4em;
	padding: 0 0.3em;
	background-color: #000019;
	color: #FFF;
	border-radius: 6px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 15px;
}
.contWrap.contact .wpcf7-form ul li.row.hissu .labelCel::after {
	position: absolute;
	display: table-cell;
	content: "必須";
	line-height: 1.4em;
	height: 1.4em;
	padding: 0 0.3em;
	background-color: #d6127c;
	color: #FFF;
	border-radius: 6px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 15px;
}
.contWrap.contact .wpcf7-form ul li.row .inputCel input[type="text"],
.contWrap.contact .wpcf7-form ul li.row .inputCel input[type="tel"],
.contWrap.contact .wpcf7-form ul li.row .inputCel input[type="email"],
.contWrap.contact .wpcf7-form ul li.row .inputCel textarea
{
	width: 100%;
	border: 1px solid #b7b7b7;
	border-radius: 6px;
	padding: 17px 19px;
	font-size: 16px;
	line-height: 1.3;
}
.contWrap.contact .wpcf7-form ul li.row .inputCel textarea {
	height: 130px;
}
.contWrap.contact .wpcf7-form ul li .wpcf7-list-item {
	display: block;
	margin-bottom: 1.0em;
	margin-left: 0;
}
.contWrap.contact .wpcf7-form ul li .wpcf7-list-item label {
	padding-left: 20px;
	position: relative;
	cursor: pointer;
}
.contWrap.contact .wpcf7-form ul li .wpcf7-list-item label::before {
	content: "";
	display: table-cell;
	width: 16px;
	height: 16px;
	border: 1px solid #333;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.contWrap.contact .wpcf7-form ul li .wpcf7-list-item.checked label::before {
	background-color: rgba(47,70,209,1.00);
}
.contWrap.contact .wpcf7-form ul li .wpcf7-not-valid-tip {
	display: block;
	font-size: 14px;
	padding-top: 0.5em;
}
.contWrap.contact .submitArea {
	padding-top: 40px;
}
.contWrap.contact .submitArea p {
	text-align: center;
}
.contWrap.contact .submitArea .btn {
	text-align: center;
	display: inline-block;
	position: relative;
}
.contWrap.contact .submitArea .btn.prev {
	margin-right: 20px;
}
.contWrap.contact .submitArea .btn .wpcf7-spinner {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%) translateY(-120%);
	margin: 0;
}
.homeBtn {
	text-align: center;
	padding-bottom: 30px;
}
.homeBtn p {
	display: inline-block;
}
.homeBtn p .home a {
	font-size: 16px;
	letter-spacing: 0.1em;
	color: #FFF;
	background-color: #db3400;
	display: block;
	line-height: 3em;
	height: 3em;
	padding: 0 78px;
	cursor: pointer;
}
.contWrap.contact .submitArea p .btn input {
	font-size: 16px;
	letter-spacing: 0.1em;
	color: #FFF;
	background-color: #db3400;
	display: block;
	line-height: 3em;
	height: 3em;
	padding: 0 78px;
	cursor: pointer;
}
.contWrap.contact .submitArea p .btn.prev input {
	font-size: 16px;
	
	letter-spacing: 0.1em;
	color: #db3400;
	background-color: transparent;
	border: 1px solid #db3400;
	display: block;
	line-height: 3em;
	height: 3em;
	padding: 0 78px;
	cursor: pointer;
}
.contWrap.contact .submitArea p .btn input:hover {
	opacity: 0.8;
}
.contWrap .box p.fs-22 {
  font-size: 22px;
  line-height: 1.75;
  margin-bottom: 1.5em;
}
.contact-thanks .contWrap .box h3 {
  font-size: 32px;
  line-height: 1.5;
  margin-bottom: 0.5em;
}

.contact-thanks .wp-block-buttons {
	padding-top: 40px;
}
@media screen and (max-width: 1054px) {
	.contWrap.contact .wpcf7-form ul {
	  display: block;
	}	
	.contWrap.contact .wpcf7-form ul li.row {
	  display: block;
	}
	.contWrap.contact .wpcf7-form ul li.row .labelCel {
	  display: block;
	  width: 100%;
	  padding: 25px 20px 20px;
	}
	.contWrap.contact .wpcf7-form ul li.row .inputCel {
	  display: block;
	  padding: 0 20px 20px;
	}
	.contWrap.contact .wpcf7-form ul li.row .labelCel::after {
	  right: 20px;
	}
	.contWrap.contact .wpcf7-form ul li.row.hissu .labelCel::after {
	  right: 20px;
	}
}
@media screen and (max-width: 767px) {
	.page_sub .singleHead .info ul {
	}
	.page_sub .singleHead .info ul li {
		display: inline-block;
		vertical-align: middle;
		margin-right: 2vw;
	}
	.page_sub .singleHead .info ul li .text {
		display: block;
		line-height: 3.4vw;
		height: 3.4vw;
	}
	.page_sub .singleHead .info ul li.newTag .text {
		font-size: 2.2vw;
		border-radius: 1vw;
	}
	.page_sub .singleHead .info ul li.date .text {
		font-size: 3vw;
		color: #5a5a6e;
	}
	.page_sub .singleHead .info ul li.catTag .text {
		font-size: 2.2vw;
		font-weight: bold;
		padding: 0 1em;
		color: #000019;
		background-color: #f8f8f8;
	}
	.page_sub .singleHead {
	  padding-bottom: 6vw;
	  margin-bottom: 6vw;
	}	
	.contWrap.contact .box.steps {
		margin-bottom: 7.3vw;
	}
	.contWrap.contact .box.steps ul li .circle .text {
	  width: 16vw;
	  height: 16vw;
		border-radius: 8vw;
	}	
	.contWrap.contact .box.steps ul li .circle .text .step {
	  font-size: 3vw;
	}
	.contWrap.contact .box.steps ul li .circle .text .num {
	  font-size: 5.3vw;
	}
	.contWrap.contact .box.steps ul li {
	  padding-top: 18vw;
	}	
	.contWrap.contact .box.steps ul li .bottomText {
	  font-size: 3.2vw;
	}
	.contact-thanks .contWrap .box h3 {
	  font-size: 3.7vw;
	}
	.contact-thanks .contWrap.contact .box p.fs-22 {
	  font-size: 3.7vw;
	}	
	.contWrap.contact p {
	  font-size: 3.7vw;
	}
	.contWrap.contact .wpcf7-form ul li.row {
	  font-size: 3.7vw;
	}	
	.contWrap.contact .wpcf7-form ul li.row .labelCel {
		padding: 4vw 4vw 3.2vw;
	}
	.contWrap.contact .wpcf7-form ul li.row .inputCel {
		display: block;
		padding: 0 4vw 3.2vw;
	}	
	.contWrap.contact .wpcf7-form ul li.row .labelCel::after {
	  font-size: 3vw;
		right: 4vw;
	}	
	.contWrap.contact .wpcf7-form ul li.row.hissu .labelCel::after {
	  right: 4vw;
	  font-size: 3vw;
	}
	.wpcf7-radio {
		padding-top: 4vw;
		display: block;
	}
	.contWrap.contact .submitArea p .btn input {
	  font-size: 3.7vw;
	  padding: 0;
		display: block;
		width: 100%;
	}	
	.contWrap.contact .submitArea .btn {
	  text-align: center;
	  display: block;
	  position: relative;
		width: 90%;
		margin: 0 auto;
	}
	.contWrap.contact .box.steps ul::before {
		top: 8vw;
	}
	
	
}
.contWrap .box {
	display: block;
}

.contWrap .box.profileHead {
	display: table;
}
.contWrap .profileHead .left {
	display: table-cell;
	width: 470px;
}
.contWrap .profileHead .right {
	display: table-cell;
	vertical-align: middle;
	padding-left: 60px;
}
.contWrap .profileHead .right .rightIn {
	display: inline-block;
	vertical-align: middle;
}
.contWrap ul {
	margin-bottom: 40px !important;
}
.contWrap.blogWrap ul.singleTags {
	margin-bottom: 0 !important;
}
.contWrap ul li {
	font-size: 16px;
	line-height: 1.75;
}
ul.f-h li {
	font-family: fot-tsukuaoldmin-pr6n, sans-serif;
	font-weight: 300;
}
.contWrap .box.lrBox {
	display: table;
}
.contWrap .box.lrBox > div {
	display: table-cell;
	vertical-align: top;
	width: 50%;
}
.contWrap .box.lrBox .left {
	padding-right: 2.5%;
}
.contWrap .box.lrBox .right {
	padding-left: 2.5%;
}
.dotList li {
	font-size: 16px;
	line-height: 1.75;
	padding-left: 1.2em;
	position: relative;
}
.dotList li::before {
	content: "・";
	font-size: 16px;
	line-height: 1.75;
	position: absolute;
	left: 0;
	top: 0;
}
.contWrap h3 {
	display: block !important;
}
.contWrap.profile {
	padding-bottom: 110px;
}

@media screen and (max-width: 1054px) {
	.contWrap .profileHead .left {
		display: table-cell;
		width: 40%;
	}
}
@media screen and (max-width: 767px) {
	.contWrap .box.profileHead {
		display: block;
	}
	.contWrap .profileHead .left {
		display: block;
		width: 100%;
	}
	.contWrap .profileHead .right {
		display: block;
		vertical-align: middle;
		padding-left: 0;
	}
	.contWrap .profileHead .right .rightIn {
		display: block;
		vertical-align: middle;
	}
	.contWrap ul li {
	  font-size: 3.8vw;
	}
	.contWrap .box ul {
	  margin-bottom: 4vw !important;
	}
	.contWrap .box.lrBox {
		display: block;
	}
	.contWrap .box.lrBox > div {
		display: block;
		vertical-align: top;
		width: 100%;
	}
	.contWrap .box.lrBox .left {
		padding-right: 0;
		margin-bottom: 9vw;
	}
	.contWrap .box.lrBox .right {
		padding-left: 0;
	}

	.dotList li::before {
	  font-size: 3.8vw;
	}
	.contWrap.profile {
	  padding-bottom: 9vw;
	}	
}
.contWrap.books {
	
}
.contWrap.books .bookSingle {
	display: table;
	border-bottom: 1px solid #ddd;
	margin-bottom: 40px;
}
.contWrap.books .bookSingle:nth-last-child(1) {
	border-bottom: none;
}
.contWrap.books .bookSingle .left {
	display: table-cell;
	vertical-align: top;
	width: 320px;
	padding-bottom: 60px;
}
.contWrap.books .bookSingle .right {
	display: table-cell;
	vertical-align: top;
	padding-left: 60px;
	padding-bottom: 60px;
}
.contWrap.books .bookSingle .left ul {
	margin-bottom: 20px;
}
.contWrap.books .bookSingle .left li {
	line-height: 1.56;
}
.contWrap.books .bookSingle .left .shopBtn {
}
.contWrap.books .bookSingle .left .shopBtn .btn {
}
.contWrap.books .bookSingle .left .shopBtn .btn a {
	display: block;
	line-height: 60px;
	height: 60px;
	background-color: #ffce12;
	border-radius: 30px;
	position: relative;
}
.contWrap.books .bookSingle .left .shopBtn .btn a::after {
	content: "";
	display: table-cell;
	width: 21px;
	height: 23px;
	background: center center / 21px auto url("../img/book_icn_fingar.png") no-repeat;
	position: absolute;
	right: 32px;
	bottom: -6px;
}
.contWrap.books .bookSingle .left .shopBtn .btn a .text {
	display: block;
	font-size: 22px;
	font-weight: bold;
	word-break: keep-all;
	line-height: 1.0;
	min-height: 20px;
	padding-right: 38px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	background: right center / auto 20px url("../img/book_icn_link.png") no-repeat;
}
.contWrap.books .bookSingle .date {
	font-size: 16px;
	color: #788087;
	margin-bottom: 1.5em;
	font-family: eb-garamond, serif;
	font-weight: 400;
}
.contWrap.books .bookSingle .title {
	font-size: 24px;
	line-height: 1.58;
	margin-bottom: 15px;
}
.contWrap.books .bookSingle p {
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: 2.0em;
}
.contWrap.books .bookInfo .label::after {
	content: "：";
}
.contWrap .box p > * {
  line-height: inherit;
}
@media screen and (max-width: 767px) {
	.contWrap.books .bookSingle {
	  display: block;
	  margin-bottom: 7vw;
	}	
	.contWrap.books .bookSingle .left {
	  display: block;
	  width: 100%;
	  padding-bottom: 60px;
	}
	.contWrap.books .bookSingle .right {
	  display: block;
		width: 100%;
	  padding-left: 0;
	  padding-bottom: 0;
	}
	.contWrap.books .bookSingle .date {
	  font-size: 4.3vw;
		margin-bottom: 0.5em;
	}
	.contWrap.books .bookSingle .title {
	  font-size: 4.3vw;
	  line-height: 1.58;
	  margin-bottom: 0.5em;
		padding-bottom: 0.5em;
		border-bottom: 1px solid #ddd;
	}
	.contWrap.books .bookSingle p {
	  font-size: 4.3vw;
	  margin-bottom: 0.5em;
	}
	.contWrap.books .imgBox {
		text-align: center;
	}
	.contWrap.books .imgBox img {
		width: 90%;
		height: auto;
	}
	.contWrap.books .bookSingle .left .shopBtn .btn a .text {
	  font-size: 4.3vw;
	  min-height: 3.8vw;
	  padding-right: 6.8vw;
	  background: right center / auto 3.8vw url("../img/book_icn_link.png") no-repeat;
	}	
	.contWrap.books .bookSingle .left .shopBtn .btn a {
	  line-height: 16vw;
	  height: 16vw;
	  border-radius: 8vw;
	}	
	.contWrap.books .bookSingle .left .shopBtn .btn a::after {
	  width: 5.3vw;
	  height: 6.2vw;
	  background: center center / 5.3vw auto url("../img/book_icn_fingar.png") no-repeat;
	  right: 9.3vw;
	  bottom: -2.5vw;
	}	
	.contWrap.books .bookInfo .label::after {
		display: none;
	}
	.contWrap.books .bookSingle .bookInfo li .label {
		display: block;
		padding: 0.5em 1em;
	}	
	.contWrap.books .bookSingle .bookInfo li .text {
		display: block;
		padding: 0.8em 1em;
		background-color: #FFF;
	}	
  .contWrap.books .bookSingle .bookCont p {
    font-size: 3.8vw;
    margin-bottom: 2.0em;
  }	
}
.page_single .bottomLink {
	text-align: center;
}
.page_single .bottomLink .btn {
	display: inline-block;
}
.page_single .bottomLink .btn a {
	display: block;
	background-color: #b5c0cb;
	text-align: center;
	line-height: 70px;
	height: 70px;
	color: #000019;
	font-size: 22px;
	font-weight: bold;
	min-width: 380px;
}
@media screen and (max-width: 767px) {
	.page_single .bottomLink .btn a {
		line-height: 11vw;
		height: 11vw;
		color: #000019;
		font-size: 4vw;
		font-weight: bold;
		width: 80vw;
		min-width: auto;
	}
	.contactLinkArea .linkBtn {
	  margin-bottom: 4vw;
	}	
}

.single .wp-block-image {
	position: relative;
	overflow: hidden;
}
.single .wp-block-image::after {
	content: "";
	display: block;
	padding-top: 66%;
}
.single .wp-block-image img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.secContact {
	background-color: #f2f5f9;
	padding: 78px 0 84px;
}
.secContact .secIn {
	background-color: #FFF;
	display: table;
}
.secContact .secIn > div {
	display: table-cell;
	vertical-align: middle;
}
.secContact .secIn > div.secHead {
	padding-left: 108px;
}
.secContact .secIn > div.contactR01 {
}
.secContact .secIn > div.contactR01 p {
	text-align: center;
}
.secContact .secIn > div.contactR01 p.telNum,
.secContact .secIn > div.contactR01 p.telNum a
{
	font-size: 40px;
	font-weight: bold;
}
.secContact .secIn > div.contactR01 p.time {
	font-size: 22px;
	line-height: 1.8;
	text-align: center;
}
.secContact .secIn > div.contactR02 {
	padding: 85px 80px 85px 20px;
}
.secContact .secIn > div.contactR02 .btn {
}
.secContact .secIn > div.contactR02 .btn a {
	display: block;
	font-size: 22px;
	line-height: 70px;
	height: 70px;
	font-weight: bold;
	text-align: center;
	color: #FFF;
	background-color: #db3400;
	padding-right: 30px;
	position: relative;
}
.secContact .secIn > div.contactR02 .btn a::after {
	content: "";
	display: table-cell;
	width: 13px;
	height: 13px;
	background: center / 100% auto url("../img/icn_linkarrow_white.png") no-repeat;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
}
@media screen and (max-width: 1400px) {
	.secContact .secIn > div.secHead {
	  padding-left: 30px;
	}
	.secContact .secIn > div.contactR02 {
		padding-right: 30px;
	}
	
}
@media screen and (max-width: 1100px) {
	.secContact .secIn {
	  display: block;
		padding: 60px 40px;
		text-align: center;
	}
  .secContact .secIn > div.secHead {
    padding-left: 0;
	  display: block;
  }	
	.secContact .secIn > div.contactR01 {
		display: inline-block;
		margin-right: 50px;
	}	
	.secContact .secIn > div.contactR02 {
		display: inline-block;
		padding: 0;
	}
	.secContact .secIn > div.contactR02 .btn a {
	  padding-right: 60px;
	  position: relative;
		padding-left: 30px;
	}	
}
@media screen and (max-width: 880px) {
  .secContact .secIn > div.contactR01 {
    display: block;
    margin-right: 0;
	  margin-bottom: 15px;
  }	
}
@media screen and (max-width: 767px) {
	.secContact {
	  background-color: #f2f5f9;
	  padding: 6vw 0;
	}
  .secContact .secIn {
    display: block;
    padding: 6vw 4vw;
    text-align: center;
  }
	.secHead {
	  margin-bottom: 6vw;
	}
	.secContact .secIn > div.contactR01 p.telNum, .secContact .secIn > div.contactR01 p.telNum a {
	  font-size: 7vw;
	}	
	.secContact .secIn > div.contactR01 p.time {
	  font-size: 4vw;
	}	
  .secContact .secIn > div.contactR01 {
    display: block;
    margin-right: 0;
    margin-bottom: 4vw;
  }
  .secContact .secIn > div.contactR02 .btn a {
		padding-right: 11vw;
		padding-left: 5vw;
		display: block;
		font-size: 3.8vw;
		line-height: 14vw;
		height: 14vw;
	}	
	.secContact .secIn > div.contactR02 .btn a::after {
	  width: 2.8vw;
	  height: 2.8vw;
	  right: 4vw;
	}	
}
.company table {
	width: 100%;
	max-width: 880px;
	margin: 0 auto;
}
.company table tr td:nth-child(1){
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	width: 11em;
	padding: 0.8em 1em;
	border: none;
}
.company table tr td:nth-child(2){
	font-size: 16px;
	line-height: 1.5;
	width: calc(100% - 11em);
	padding: 0.8em 1em;
	border: none;
}
.company table tr:nth-child(2n) td {
	background-color: #f8f8f8;
}
@media screen and (max-width: 767px) {
	.company table ,
	.company table tbody ,
	.company table tr,
	.company table tr td
	{
		display: block;
	}
	.company table tr td:nth-child(1){
		font-size: 3.4vw;
		font-weight: bold;
		line-height: 1.5;
		width: 100%;
		padding: 0.8em 1em;
		border: none;
		background-color: #2B2B2B;
		color: #FFF;
	}
	.company table tr td:nth-child(2){
		font-size: 3.4vw;
		line-height: 1.5;
		width:100%;
		padding: 0.8em 1em;
		border: none;
		background-color: transparent;
	}
	.company table tr:nth-child(2n) td {
		background-color: none;
	}
	
}
