@charset "utf-8";

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

#freeContentsArea {
	background-color: #fff;
	color: #231815;
}

sup {
	vertical-align: top;
	font-size:small;
	}
/*---------------------------------------------------------------

 commonKeyvisual

--------------------------------------------------------------- */


/* ------ caption ------ */
figcaption {
	position: absolute;
  bottom: 0;
  right: 0;
  padding: 10px;
  color: #fff;
  font-size: 10px;
  line-height: 1;
  text-align: right;
  text-shadow:0px 0px 1px #000, 
							0 0 5px #000,
							0 0 6px #000,
							0 0 7px #000,
							0 0 8px #000,
							0 0 9px #000,
							0 0 10px #000;
  z-index: 5;
}

figcaption.cap_b {
	position: absolute;
  bottom: -30px;
  right: 0;
  padding: 10px;
  color: #000;
  font-size: 10px;
  line-height: 1;
  text-align: right;
  text-shadow: none;
  z-index: 5;
}

.mvCap {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 10px;
  color: #fff;
  font-size: 10px;
  line-height: 1;
  text-align: right;
  text-shadow:0px 0px 1px #000, 
							0 0 5px #000,
							0 0 6px #000,
							0 0 7px #000,
							0 0 8px #000,
							0 0 9px #000,
							0 0 10px #000;
  z-index: 5;
}

/* ------ inner ------ */
.inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}
@media only screen and (max-width:768px) {
	.inner {
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 10px;
	}
}

/* ------ section ------ */
section {
	padding: 80px 0;
}
.section_text {
	font-size: 18px;
	line-height: 2;
	letter-spacing: normal;
	margin-top: 30px;
	text-align: center;
}
.cap {
	font-size: 10px;
	margin-top: 8px;
}
.cap.right {
	text-align: right;
	margin-right: 20px;
}
.qa_area {
	border: 4px solid #33cd93;
  border-image: linear-gradient(to right, #33cd93 0%, #1394e8 100%);
  border-image-slice: 1;
	padding: 20px 10px;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.qa_title {
	position: relative;
  text-align: left;
	line-height: 1.8;
  font-size: 32px;
	padding-left: 120px;
}
.qa_title.question::before{
	content: attr(data-title);
	position: absolute;
	display: inline-block;
	left: 0;
	display: inline-block;
	text-align: center;
	min-width: 90px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: sans-serif;
  background: #b8d44e;
  color: #fff;
  border-radius: 5px;
  margin-right: 20px;
	margin-left: 10px;
}
.qa_title.answer::before{
	content: attr(data-title);
	position: absolute;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	display: inline-block;
	text-align: center;
	min-width: 90px;
	height: 50px;
	font-family: sans-serif;
  background: #0b318f;
  color: #fff;
  border-radius: 5px;
  margin-right: 20px;
	margin-left: 10px;
}
.qa_title.answer {
	color: #0b318f;
	border-top: 1px solid #000;
	padding-top: 26px;
	margin-top: 26px;
}

@media only screen and (max-width:768px) {
	section {
		padding: 40px 0;
	}
	.section_text {
		font-size: 18px;
		line-height: 2;
		letter-spacing: normal;
		margin-top: 30px;
		text-align: center;
	}
	.qa_title {
		position: relative;
		text-align: left;
		line-height: 1.6;
		font-size: 18px;
		padding-left: 70px;
	}
	.qa_title.question::before{
		min-width: 60px;
		height: 30px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 5px;
		margin-right: 10px;
		margin-left: 0;
	}
	.qa_title.answer::before{
		min-width: 60px;
		height: 30px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 5px;
		margin-right: 10px;
		margin-left: 0;
	}
	.qa_title.answer {
		color: #0b318f;
		border-top: 1px solid #000;
		padding-top: 18px;
		margin-top: 10px;
	}

}

/*---------------------------------------------------------------

 mainVisual

--------------------------------------------------------------- */
.mainVisual {
	display: table;
	height: 499px;
	width: 100%;
	color: #fff;
	background: url(../images/zeh/kv.jpg) no-repeat center center / cover;
	position: relative;
}
.mainVisual .cell {
	position: absolute;
	top: 170px;
	color: #000;
}
.mainVisual .title {
	font-size: 36px;
	letter-spacing: 0.25em;
}
.mainVisual .title span {
	font-size: 130px;
	line-height: 1;
}
.mainVisual .en {
	font-size: 24px;
	letter-spacing: 0.3em;
	margin-top: 10px;
}
@media only screen and (max-width:768px) {
	.mainVisual {
		height: 350px;
		background: url(../images/zeh/kv_sp.jpg) no-repeat center center / cover;
		position: relative;
	}
	.mainVisual .cell {
		top: 6px;
	}
	.mainVisual .title {
		font-size: 20px;
		line-height: 1;
		letter-spacing: 0.25em;
		text-shadow: 2px 3px 3px rgba(255, 255, 255, 0.8);
	}
	.mainVisual .title span {
		font-size: 60px;
		line-height: 1;
		text-shadow: 2px 3px 3px rgba(255, 255, 255, 0.8);
	}
	.mainVisual .en {
		font-size: 16px;
		line-height: 1;
		letter-spacing: 0.3em;
		margin-top: 0px;
		text-shadow: 2px 3px 3px rgba(255, 255, 255, 0.8);
	}
}

/*---------------------------------------------------------------
q_01
--------------------------------------------------------------- */
.q_01 {
	/*background-image: url(../images/zeh/bg01.png);*/
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
}
.q_01 .figure_mt {
	margin-top: 60px;
}
@media only screen and (max-width:768px) {
	.q_01 {
		padding-top: 20px;
	}
	.q_01 .section_text {
		font-size: 16px;
		line-height: 1.6;
		margin-top: 20px;
		text-align: justify;
	}
	.q_01 .cap {
		font-size: 10px;
		line-height: 1.6;
		margin-top: 6px;
	}
	.q_01 .figure_mt {
		margin-top: 30px;
	}
}

/* -------------------------------------------------
q_02
---------------------------------------------------*/
.q_02 .figure_mt {
	margin-top: 60px;
}
.q_02_title {
	line-height: 1.8;
  font-size: 38px;
	color: #0b318f;
	padding: 60px 10px 20px;
	text-align: center;
}
.q_02 .flex_box {
  display: flex;
	flex-wrap: wrap;
  justify-content: space-between;
	margin-top: 40px;
}
.q_02 .figure04 .cap {
	margin-top: 6px;
	text-align: right;
	font-size: 10px;
	margin-right: 100px;
}
.q_02 .flex_item {
  width: 30%;
}
.q_02 .flex_item:nth-child(n + 4) {
	margin-top: 20px;
}
.q_02 .flex_item_title {
  font-size: 18px;
  color: #000;
  margin-top: 14px;
	text-align: center;
  letter-spacing: 0.1em;
}
.q_02 .flex_item_title span {
	padding: 4px 10px;
	font-size: 20px;
	background: rgb(23,111,148);
	background: radial-gradient(#2c9eda,#176f94);
  color: #fff;
  border-radius: 4px;
  margin-right: 10px;
}
.q_02 .flex_item_text {
  font-size: 16px;
  letter-spacing: 0.05em;
  text-align: justify;
  margin-top: 16px;
}
.q_02 .flex_item_text small {
	font-size: 12px;
  }
.q_02 .cap {
	margin-top: 30px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:768px) {
	.q_02 .figure_mt {
		margin-top: 30px;
	}
	.q_02_title {
		line-height: 1.8;
		font-size: 22px;
		color: #0b318f;
		padding: 30px 0 20px;
		text-align: center;
	}
	.q_02 .flex_box {
		margin-top: 30px;
	}
	.q_02 .section_text {
		text-align: justify;
	}
	
	.q_02 .figure04 .cap {
		margin-top: 6px;
		text-align: right;
		font-size: 10px;
		margin-right: 20px;
	}
	
	.q_02 .flex_item {
		width: 100%;
		margin-top: 30px;
	}
	.q_02 .flex_item_title {
		font-size: 18px;
		margin-top: 14px;
	}
	.q_02 .flex_item_text {
		font-size: 16px;
		margin-top: 10px;
	}
	.q_02 .cap {
		margin-top: 20px;
	}
}
/* ----------------------------------------------------
q_03
------------------------------------------------------*/
/*.q_03 {
	background-color: #f5f4f4;
}*/
.q_03 .figure_mt {
	margin-top: 30px;
}
.q_03 .figure_mt02 {
	margin-top: 30px;
}
.q_03_box {
	margin-top: 80px;
	margin-bottom: 20px;
	background-color: #fff;
	padding: 50px 80px;
	outline: 2px solid #0b318f;
	outline-offset: -8px;
}
.q_03_box_title {
	line-height: 1.8;
  font-size: 38px;
	color: #0b318f;
	padding: 60px 10px 20px;
	text-align: center;
}
.q_03_box_title span {
	line-height: 1.8;
  font-size: 38px;
	background-color: #0b318f;
	color: #fff;
	padding: 10px 20px;
	text-align: center;
}
.q_03_inflex {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.q_03_inflex .img_box {
	width: 42%;
}
.q_03_inflex .text_box {
	width: 52%;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.08em;
}
.q_03_box_title02 {
	position: relative;
	margin: 60px auto 30px;
	text-align: center;
}
.q_03_box_title02::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 1px;
	background: #000;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.q_03_box_title02 span {
	display: inline-block;
	position: relative;
	padding: 0 20px;
	font-size: 26px;
	letter-spacing: 0.1em;
	text-align: center;
	background-color: #fff;
}
.q_03 .cap._right {
	text-align: right;
}
@media only screen and (max-width:768px) {
	.q_03 .figure_mt {
		margin-top: 30px;
	}
	.q_03 .figure_mt02 {
		margin-top: 30px;
	}
	.q_03_box {
		margin-top: 40px;
		margin-bottom: 20px;
		padding: 20px 20px;
	}
	.q_03_box_title {
		line-height: 2;
		font-size: 18px;
		padding: 20px 0;
	}
	.q_03_box_title span {
		line-height: 2;
		font-size: 20px;
		padding: 10px 10px;
	}
	.q_03_inflex {
		display: block;
	}
	.q_03_inflex .img_box {
		width: 100%;
	}
	.q_03_inflex .text_box {
		width: 100%;
		margin-top: 20px;
		font-size: 16px;
		line-height: 1.6;
		letter-spacing: 0.05em;
	}
	.q_03_box_title02 {
		margin: 30px auto 30px;
	}
	.q_03_box_title02 span {
		padding: 0 10px;
		font-size: 16px;
	}
}
/* ----------------------------------------------------
q_04
------------------------------------------------------*/
.q_04 .figure_mt {
	margin-top: 40px;
}
.box_title {
	font-size: 32px;
	color: #fff;
	padding: 4px 10px;
	letter-spacing: 0.1em;
	text-align: center;
	background-color: #0b318f;
}
/* ---------- q_04_box01 ---------------- */
.q_04_box01 {
	position: relative;
	margin-top: 40px;
	background-color: #f5f4f4;
	padding: 30px;
}
.q_04_box01 .box_title span {
	font-family: sans-serif;
	color: #faee00;
}
.q_04_box01 .sub_title {
	font-size: 28px;
	letter-spacing: 0.08em;
	margin-top: 20px;
}
.q_04_box01 .sub_title span {
	display: inline-block;
	font-family: sans-serif;
	padding: 6px 10px;
	margin: 0 14px;
	letter-spacing: 0.2em;
	color: #a4000d;
	background-color: #fff;
	font-weight: bold;
	border: 4px solid #a4000d;
}
.q_04_box01 .in_flex {
	display: flex;
	flex-direction: row-reverse;
}
.q_04_box01 .img_box {
	width: 48%;
}
.q_04_box01 .text_box {
	width: 48%;
	font-size: 20px;
	line-height: 1.6;
}

/* ---------- q_04_box01-2 ---------------- */
.q_04_box01-2 {
	position: relative;
	margin-top: 40px;
	background-color: #f5f4f4;
	padding: 30px;
}
.q_04_box01-2 .box_title span {
	font-family: sans-serif;
	color: #faee00;
}
.q_04_box01-2 .figure_mt {
	margin-top: 40px;
	margin-bottom: 20px;
}
.q_04_box01-2 .sub_title {
	font-size: 28px;
	letter-spacing: 0.08em;
	margin-top: 20px;
}

/* ---------- q_04_box02 ---------------- */
.q_04_box02 .border {
	border-top: 3px #000 dotted;
	margin: 40px 0;
}
.q_04_box02 {
	position: relative;
	margin-top: 50px;
	background-color: #f5f4f4;
	padding: 30px;
}
.q_04_box02 .box_title span {
	font-family: sans-serif;
	color: #faee00;
}
.q_04_box02 .sub_title {
	font-size: 28px;
	letter-spacing: 0.08em;
	text-align: center;
	margin-top: 20px;
	background-color: #fff;
	padding: 10px;
	font-family: sans-serif;
	font-weight: bold;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.q_04_box02 .sub_title span {
	color: #0b318f;
}
.q_04_box02 .text {
	font-size: 26px;
	margin: 30px 0 10px;
}
.q_04_box02 .text02 {
	font-size: 18px;
	margin-top: 20px;
}
.q_04_box02 .figure_width {
	max-width: 940px;
	margin: 40px auto;
}

/* ---------- q_04_box03 ---------------- */

.q_04_box03 {
	position: relative;
	margin-top: 80px;
	background-color: #f5f4f4;
	border: 4px solid #0b318f;
	outline: 4px solid #fff;
	outline-offset: -10px;
	padding: 30px;
}

.icon_topic {
	position: absolute;
	width: 100px;
	left: -40px;
	top: -40px;
}
.box_text {
	font-size: 28px;
	padding: 10px;
	text-align: center;
}
.q_04 .in_flex {
	margin-top: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.q_04 .title_box {
	width: 59%;
	font-size: 62px;
	flex-grow: 1;
}
.q_04 .title_box span {
	font-size: 150px;
	display: inline-block;
	padding: 0px 10px ;
	vertical-align: middle;
	margin-bottom: 30px;
	line-height: 1;
	color: #a4000d;
	font-family: 'EB Garamond', serif;
}
.q_04_box03 .text_box {
		width: 40%;
		font-size: 11px;
		line-height: 1.3;
}
@media only screen and (max-width:768px) {
	.q_04 .figure_mt {
		margin-top: 20px;
	}
	.box_title {
		font-size: 22px;
		padding: 4px 10px;
	}
	/* ---------- q_04_box01 ---------------- */
	.q_04_box01 {
		position: relative;
		margin-top: 40px;
		padding: 30px 10px;
	}
	.q_04_box01 .sub_title {
		font-size: 20px;
		letter-spacing: 0.08em;
		margin-top: 20px;
	}
	.q_04_box01 .sub_title span {
		padding: 3px 6px;
		margin: 0 10px;
		letter-spacing: 0.1em;
	}
	.q_04_box01 .in_flex {
		display: block;
	}
	.q_04_box01 .img_box {
		width: 100%;
	}
	.q_04_box01 .text_box {
		width: 100%;
		font-size: 18px;
		margin-top: 20px;
	}

	/* ---------- q_04_box01-2 ---------------- */
/* .q_04_box01-2 {
	position: relative;
	margin-top: 40px;
	padding: 30px 10px;
}
.q_04_box01-2 .box_title span {
	font-family: sans-serif;
	color: #faee00;
}
.q_04_box01-2 .figure_mt {
	margin-top: 40px;
	margin-bottom: 20px;
}
.q_04_box01-2 .sub_title {
	font-size: 28px;
	letter-spacing: 0.08em;
	margin-top: 20px;
}

.q_04_box01-2 .text_box {
	width: 36%;
	order: 1;
	font-size: 20px;
	line-height: 1.6;
} */

.q_04_box01-2 {
	position: relative;
	margin-top: 40px;
	padding: 30px 10px;
}
.q_04_box01-2 .sub_title {
	font-size: 20px;
	letter-spacing: 0.08em;
	margin-top: 20px;
}
.q_04_box01-2 .sub_title span {
	padding: 3px 6px;
	margin: 0 10px;
	letter-spacing: 0.1em;
}
.in_flex_title {
	font-size: 36px;
	text-align: center;
}
.in_flex_title span {
	font-size: 90px;
	color: #a4000d;
	line-height: 1;
}
.q_04_box01-2 .in_flex_img {
	width: 100%;
	margin-top: 20px;
}
.q_04_box01-2 .text_box {
	width: 100%;
	font-size: 18px;
	margin-top: 10px;
}
	
	/* ---------- q_04_box02 ---------------- */
	.q_04_box02 .border {
		border-top: 3px #000 dotted;
		margin: 20px 0;
	}
	.q_04_box02 {
		margin-top: 30px;
		padding: 30px 10px;
	}
	.q_04_box02 .sub_title {
		font-size: 20px;
		letter-spacing: 0.08em;
		text-align: center;
		margin-top: 20px;
		padding: 10px;
	}
	
		/* ---------- q_04_box03 ---------------- */
	.q_04_box03 {
		margin-top: 40px;
		padding: 30px 10px;
	}
	.icon_topic {
		position: absolute;
		width: 60px;
		left: -14px;
		top: -20px;
	}
	.q_04_box03 .box_text {
		font-size: 26px;
		padding: 10px;
		text-align: center;
	}
	.q_04_box03 .box_title {
		font-size: 18px;
	}
	.q_04 .in_flex {
		margin-top: 20px;
		display: block;
	}
	.q_04 .title_box {
		width: 100%;
		font-size: 32px;
		text-align: center;
		flex-grow: 1;
	}
	.q_04 .title_box span {
		font-size: 80px;
		padding: 0px 10px ;
		vertical-align: middle;
		margin-bottom: 30px;
	}
	.q_04_box03 .text_box {
			width: 100%;
			font-size: 11px;
			line-height: 1.3;
	}
}

/* ----------------------------------------------------
q_05
------------------------------------------------------*/
.q_05 {
	/*background-color: #f5f4f4;*/
	padding-bottom: 140px;
}
.q_05_title {
    line-height: 1.8;
    font-size: 38px;
	font-weight: 600;
    padding: 60px 10px 20px;
    text-align: center;
}
.q_05_title span.line_yellow,
.q_05_text span.line_yellow {
	background: linear-gradient(transparent 60%, #FFF000 30%);
}
.q_05_title span.txt_green {
	color: #00A069;
}
.q_05_text {
    font-size: 22px;
	font-weight: 600;
    line-height: 2;
    letter-spacing: normal;
    margin-top: 30px;
    text-align: center;
}
.q_05_box {
	margin-top: 40px;
	background-color: #fff;
	padding: 50px 40px;
	outline: 2px solid #0b318f;
	outline-offset: -8px;
}
.q_05 .cap {
	text-align: right;
}
.q_05 .figure_mt {
	margin-top: 30px;
}
.bottom_text {
	font-size: 30px;
	color: #000;
	letter-spacing: 0.1em;
	line-height: 1.8;
	text-align: center;
	margin-top: 60px;
}
.bottom_text span {
	font-family: sans-serif;
	font-weight: bold;
	color: #0b318f;
	background-color: #faee00;
	padding: 6px 10px;
	text-indent: .1em;
}
.bottom_img {
	text-align: center;
	margin-top: 40px;
}
@media only screen and (max-width:768px) {
	.q_05 {
		padding-bottom: 80px;
	}
	.q_05_title {
		line-height: 1.8;
		font-size: 17px;
		text-align: center;
	}
	.q_05_text {
		line-height: 1.8;
    	font-size: 16px;
    	padding: 30px 0 20px;
    	text-align: center;
	}
	.q_05 .section_text {
		text-align: justify;
	}
	.q_05_box {
		margin-top: 20px;
		padding: 30px 20px;
	}
	.q_05 .figure_mt {
		margin-top: 20px;
	}
	.bottom_text {
		font-size: 20px;
		margin-top: 30px;
	}
	.bottom_img {
		margin-top: 20px;
	}
	
}

/*---------------------------------------------------------------

 endCaps

--------------------------------------------------------------- */
.endCaps {
	max-width: 1200px;
	margin: 90px auto 140px;
	padding: 0 15px;
	font-size: 12px;
	line-height: 1.5;
}
@media only screen and (max-width:768px) {
	.endCaps  {
		margin: 20px auto 50px;
		font-size: 9px;
	}
}



/*---------------------------------------------------------------

 zehBnr

--------------------------------------------------------------- */
.zehBnr {
	max-width: 800px;
	margin: 0 auto 50px;
	padding: 40px 15px;
	background-color: #fff;
}
.zehBnr .inFlex {
	max-width: 660px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.zehBnr .inBox:nth-child(1) {
	width: 23%;
}
.zehBnr .inBox:nth-child(2) {
	width: 77%;
}
.zehBnr .inBox .ttl01 {
	text-align: center;
	font-size: 46px;
	color: #a3856a;
	letter-spacing: 2px;
}
.zehBnr .inBox .ttl02 {
	font-size: 14px;
	text-align: center;
	letter-spacing: 2px;
}
.zehBnr .inBox .ttl03 {
	margin-top: 10px;
	font-size: 18px;
	text-align: center;
	letter-spacing: 2px;
}
.zehBnr .center {
	max-width: 460px;
	margin: 0 auto;
	padding: 20px 0 10px;
}
.zehBnr .capText {
	max-width: 660px;
	margin: 0 auto;
	font-size: 10px;
}

@media only screen and (max-width:768px) {
	.zehBnr {
		padding: 20px 15px;
		margin-bottom: 0;
	}
	.zehBnr .inFlex {
		flex-wrap: wrap;
	}
	.zehBnr .inBox:nth-child(1),
	.zehBnr .inBox:nth-child(2) {
		width: 100%;
	}
	.zehBnr .inBox + .inBox {
		margin-top: 10px;
	}
	.zehBnr .inBox .ttl01 {
		font-size: 24px;
	}
	.zehBnr .inBox .ttl02 {
		font-size: 12px;
	}
	.zehBnr .inBox .ttl03 {
		font-size: 16px;
	}
	.zehBnr .inBox figure {
		max-width: 200px;
		margin: 0 auto;
	}
}