/*
Theme Name: conexioLP
Author: conexio Co.,Ltd.
Author URI: https://conexio-official.com/
Description: 株式会社conexioのオリジナルLPテーマです。
Version: 2022.10
*/

@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: 1.4;
}
img {
  vertical-align: bottom;
}

header > div {
	justify-content: space-between;
}
header .headerRight > div {
	justify-content: flex-end;
}
header .tel a {
  color: #000;
  display: block;
  font-size: 1.4em;
  font-weight: bold;
}
header .tel a::before {
	font-family: "Font Awesome 6 Free";
	content: "\f095";
	font-weight: 900;
  margin-right: .25em;
}
header .tel .telComment {
  font-size: .8em;
}
header .tel > div {
  align-content: center;
}
header .tel > div > * {
  margin: 0 !important;
}
header .contactLink a {
  color: #fff;
  display: block;
  font-size: 1.3em;
  font-weight: bold;
}
header .contactLink a::before {
	font-family: "Font Awesome 6 Free";
	content: "\f0e0";
	font-weight: 400;
	color: #fff;
  margin-right: .25em;
}

.movBlk {
	display: flex;
	justify-content: center;
}
.movBlk > * {
	width: 80%;
}

.btnBlk a {
	background: #199C51;
	color: #fff;
	font-weight: bold;
	font-size: 1.2em;
	padding: 1em 1.5em;
	border-radius: .5em;
}

.policyBlk .elementor-widget-container {
	height: 40vh;
	overflow-y: scroll;
	border: 1px solid #999;
	padding: 1em;
}

.tableBlk table,
.formBlk table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 2%;
}
.tableBlk table th,
.tableBlk table td,
.formBlk table th,
.formBlk table td {
	border-bottom: 1px solid #ccc;
	padding: .75em 1em;
}
.tableBlk table th,
.formBlk table th {
	background: #eeee;
}
.formBlk table input,
.formBlk table textarea {
	padding: .5em;
	font-size: 1rem;
	border: 1px solid #999;
	box-sizing: border-box;
	width: 100%;
}
.formBlk table textarea {
	min-height: 15vh;
	resize: vertical;
}
.formBlk > div {
	text-align: center;
}
.formBlk input[type="submit"] {
	background: black;
	color: #fff;
	font-weight: bold;
	font-size: 1.2em;
	padding: 1em 1.5em;
	border-radius: .5em;
	border: none;
}

.h2Blk::after {
		background: black;
	content: "";
	display: block;
	width: 20%;
	height: .1em;
	margin: 0 auto;
}

.mangaPlate {
	position: relative;
}
.mangaPlate .mangaTitle > div,
.mangaPlate .mangaTitle > div h2 {
	display: inline-block;
}
.mangaPlate .mangaTitle > div {
	position: absolute;
	top: -4em;
	left: -2em;
}
.mangaPlate .mangaTitle > div::before,
.mangaPlate .mangaTitle > div::after {
	content: "";
	display: block;
	position: absolute;
}

.stepH2 > .elementor-widget-container {
	position: relative;
}
.stepH2 > .elementor-widget-container::before {
	content: "";
	display: block;
	position: absolute;
	border-top: 1.5em solid #006351;
	border-left: 1em solid transparent;
	border-right: 1em solid transparent;
	bottom: -1.5em;
	left: calc(50% - 1em);
}
.stepFlow .point {
	background: #199C51;
	color: #fff;
	border-radius: 50%;
}
.stepFlow .point strong {
	display: block;
	font-size: 2.5em;
}

.quest p,
.answer p {
	color: #fff;
	border-radius: 50%;
	line-height: 2em;
}
.quest p {
	background: #D96C00;
}
.answer p {
	background: #86A4D4;
}


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

	header > div > div:first-child,
	header > div > div:first-child {
		width: 40%;
	}
	header > div > div:last-child,
	header > div > div:last-child {
		width: 25%;
	}

	.fullPicBlkTop .elementor-widget-image img,
	.fullPicBlk .elementor-widget-image img {
		display: block;
		object-fit: cover;
	}
	.fullPicBlkTop .elementor-widget-image img {
		width: 100%;
		height: 60vw;
	}

	.movBlk > * {
		width: 95%;
	}

	.stepBlk .stepPic .elementor-widget-container {
		margin-top: 0 !important;
	}

	.stepBlk .stepText > div {
		justify-content: center;
		padding-bottom: 5% !important;
	}

	.mangaPlate .mangaTitle > div,
	.mangaPlate .mangaTitle > div h2 {
		display: block;
	}
	.mangaPlate .mangaTitle > div {
		position: static;
	}
	.mangaPlate .mangaTitle > div h2 {
		font-size: 5vw !important;
	}

	.stepFlow > div {
		display: block !important;
	}
	.stepFlow > div > div:nth-child(1) {
		float: left;
		width: 4em;
	}
	.stepFlow > div > div:nth-child(2),
	.stepFlow > div > div:nth-child(3) {
		float: right;
		width: calc(100% - 4em);
		text-align: left !important;
		justify-content: flex-start !important;
	}
	.stepFlow > div > div:nth-child(2) br {
		display: none;
	}
	.stepFlow > div > div:nth-child(2) p {
		display: inline;
	}

	.questBox > div > div:first-child,
	.answerBox > div > div:first-child {
		width: 3em;
	}
	.questBox > div > div:last-child,
	.answerBox > div > div:last-child {
		width: calc(100% - 3em);
	}

}