@charset "utf-8";

/* -----------------------
style.css：コンテンツ制御
-----------------------　*/

/* #fv
----------------------------------- */

#fv {
	position: relative;
	background: url("../img/bg_fv_pc.jpg") no-repeat 0 100% / cover;
	width: 100%;

	overflow: hidden;
	padding: 60px 0 0 0;
}

#fv .inner,
#fv .inner h1 {
	width: 100%;
}

#fv .inner picture,
#fv .inner img {
	max-inline-size: 100%;
	image-rendering: crisp-edges;
  image-rendering: -webkit-optimize-contrast;
}

#fv .inner img {
	margin: 0 0 -7px 0;
}

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

	#fv {
		background: url("../img/bg_fv_sp.jpg") no-repeat 0 100% / cover;
		padding: 0;
	}
	#fv .inner {
		width: 100%;
		margin: inherit;
	}

	#fv .inner img {
		margin: 0 0 -6px 0;
	}

}

/* #arrow
----------------------------------- */
#arrow {
	background: url("../img/bg_arrow_pc.jpg") no-repeat 50% 60% / cover;
}

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

	#arrow {
		background: url("../img/bg_arrow_sp.jpg") no-repeat 0 0 / cover;
	}

}

/* #worries
----------------------------------- */

#worries {
	width: 100%;
	margin: 0 0 70px 0;
	padding: 0 0 10px 0;
}

#worries .ttl {
	color: #fff;
	font-size: 2.8em;
}

#worries .ttl .second {
	display: inline-block;
	background: #fff;
	margin: 0 5px;
	padding: 0 3px 0 5px;

	line-height: 1.4;
	color: #3D4AB2;
}

#worries .tabs-container {
	display: none;
}

#worries .arrow {
  width: fit-content;
	background: url("../img/img_arrow.svg") no-repeat 50% 100% / contain;
  margin: 0 auto;
	padding: 50px 150px;

	font-size: 1.3em;
}

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

	#worries {
		margin: 0;
		padding: 20px 20px 40px 20px;
	}
	#worries .ttl {
		color: #fff;
		font-size: 1.4em;
	}
	#worries .ttl .first {
		font-size: 1.6em;
	}
	#worries .ttl .second {
		margin: 0 0 20px 0;
		font-size: 1.9em;
	}

	#worries .tabs-container {
		display: block;

		width: 100%;
		margin: 0;
	}

	#worries .tab-content dl {
		display: flex;
		align-items: flex-start;
		gap: 20px;
		margin: 0 0 20px 0;
	}

	#worries .tab-content dl dt {
		width: 35%;
	}

	#worries .tab-content dl dd {
		width: 65%;

		font-size: .9em;
	}

}


/* #escalate
----------------------------------- */

#escalate {
	width: 100%;
	margin: 440px 0 0 0;
	padding: 0 0 10px 0;
}

#escalate .tabs-container {
	display: none;
}

#escalate .tabs-container {
	display: none;
}

#escalate .content_box ul {
	width: 100%;
	margin: 0 0 20px 0;
	border-radius: 6px;
}
#escalate .content_box ul:last-child {
	margin: 0;
}
#escalate .content_box .sareta01,
#escalate .content_box .sareta02,
#escalate .content_box .shita01 {
	padding: 50px;
}
#escalate .content_box .shita02 {
	padding: 31px 50px;
}

@media screen and (max-width: 1440px) {
	#escalate {
	    margin: 240px 0 0 0;
	}
}

/* sp_other */
@media screen and (max-width: 768px), screen and (max-width: 1024px)  {
	#escalate {
		display: none;
	}
	#solution .sub_ttl {
		padding: 0;
		font-size: 1.2em;
	}
	#solution .case_list {
		display: block;
		padding: 0;
	}
	#solution .case_list .solution_case {
		width: 100%;
		margin: 0 0 20px 0;
	}
	#solution .case_list .solution_case h3 {
		line-height: 1.3;
	}
	#solution .case_list .solution_case._case02 h3 {
		padding: 10px 20px 10px 90px;
	}
	#solution .case_list .solution_case._case01 h3::before{
		top: -15px;
	}
	#solution .case_list .solution_case._case02 h3::before {
		top: inherit;
		bottom: 0;
	}
	#solution .case_list .solution_case._case03 h3::before{
		top: -6px;
	}
	#solution .caution {
		margin: 0 0 30px 0;

		text-align: left;
		font-size: .7em;
	}
	#solution .case_list {
		display: block;
	}

}

/* #warning
----------------------------------- */

#warning {
	background: url("../img/bg_warning_pc.jpg") no-repeat 0 0 / cover;
	padding: 140px 0 60px 0;
}

#warning .ttl_warning {
	width: 1100px;
	margin: 0 auto;

	text-align: center;
}

#warning .ttl_warning._icon {
	position: relative;
}

#warning .ttl_warning._icon::before {
	position: absolute;
	left: 44%;
	top: -105px;

	content: "";
	width: 100px;
	height: 100px;
	background: url("../img/icon_warning.svg") no-repeat 0 0 / contain;
}

#warning .yellow {
	display: block;

	width: fit-content;
	background: #FFEE1F;

	margin: 0 auto 5px auto;
	padding: 0 0 0 10px;

	line-height: 1.4;
	font-size: 1.4em;
	font-weight: 1000;
}

#warning .yellow span {
	font-size: 1.4em;
}

#warning .crime_box {
	width: 1100px;

	background: #fff;
	margin: 40px auto;
	padding: 30px;
	border-radius: 10px;
}

#warning .crime_box dl {
	display: flex;
	padding: 0 0 20px 0;
	margin: 0 0 20px 0;
	border-bottom: 1px dotted #707070;
}

#warning .crime_box dl:last-child {
	border-bottom: none;
	margin: 0;
	padding: 0;
}

#warning .crime_box dt {
	width: 70%;
	font-weight: 600;
}

#warning .crime_box dd {
	width: 30%;

	text-align: right;
	font-weight: 600;
	color: #D00000;
}

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

	#warning {
		padding: 100px 0 30px 0;
		background: url("../img/bg_warning_pc.jpg") no-repeat 33% 0 / cover;
	}

	#warning .ttl_warning._icon {
		font-size: 1.4em;
	}

	#warning .ttl_warning._icon::before {
		left: 42%;
		top: -65px;
		width: 60px;
		height: 60px;
	}

	#warning .ttl_warning {
		width: 90%;
		margin: 0 auto;
	}

	#warning .yellow {
		font-size: 1em;
	}

	#warning .crime_box {
		width: 90%;
		margin: 20px auto;
		padding: 20px;
	}

	#warning .crime_box dl {
		display: block;
		padding: 0 0 10px 0;
		margin: 0 0 10px 0;
	}

	#warning .crime_box dt {
		width: 100%;
		text-align: center;
		font-size: .8em;
	}

	#warning .crime_box dd {
		width: 100%;
		text-align: center;
	}

}

/* #speed
----------------------------------- */

#speed {
	background: #FFFBED;
	padding: 40px 0;
}

#speed .speed_box {
	width: 900px;
	background: #fff;
	margin: 40px auto;
	padding: 30px;
	box-shadow: 0 3px 3px 3px rgb(165 136 33 / 10%);
	border-radius: 10px;
}

#speed .speed_box h2 {
	width: fit-content;
	margin: -55px auto 20px auto;
	padding: 0 10px;
	background: #B90000;

	font-size: 2.4em;
	color: #fff;
}

#speed .speed_box h2 span {
	color: #FFEE1E;
}

#speed .speed_box .speed_txt {
	text-align: center;
	font-weight: 600;
}

#speed .speed_box .speed_txt p {
	margin: 0 0 20px 0;
}

#speed .speed_box .speed_txt .red {
	color: #B90000;
	font-size: 1.2em;
}

#speed .speed_box .speed_txt .purple {
	color: #7D01D9;
	font-size: 1.2em;
}

#speed .speed_box .speed_txt .big_txt {
	font-size: 1.4em;
}

#speed .speed_box .speed_txt .orange {
	width: fit-content;
	background: #FFDBB2;

	margin: 0 auto;
	padding: 0 0 0 10px;

	line-height: 1.6;
	font-size: 1.4em;
}

#speed .speed_box .img_box {
	margin: 40px auto 0 auto;
}


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

	#speed {
		background: #FFFBED;
		padding: 40px 0 20px 0;
	}

	#speed .speed_box h2 {
		padding: 5px 10px;
		line-height: 1.2;
		text-align: center;
		font-size: 1.2em;
	}

	#speed .speed_box {
		width: 90%;
		margin: 20px auto;
		padding: 20px;
	}

	#speed .speed_box .speed_txt {
		font-size: .9em;
	}

	#speed .speed_box .speed_txt .orange {
		padding: 5px 10px;
		line-height: 1.2;
	}

	#speed .speed_box .img_box {
		margin: 20px 0 0 0;
		padding: 0;
	}

}


/* #caution
----------------------------------- */

#caution {
	background: #FFEFF6 url("../img/bg_caution_pc.png") no-repeat 50% 0 / cover;
}

#caution.sec {
	padding: 60px 0 20px 0;
}

#caution h2 {
	display: block;

	width: fit-content;
	background: #B90000;

	margin: 0 auto 40px auto;
	padding: 0 10px;
	transform: rotate(-10deg);

	line-height: 1.4;
	font-size: 2.4em;
	font-weight: 1000;
	color: #fff;
}

#caution .inner {
	text-align: center;
	font-size: 1.2em;
	padding: 0;
}

#caution .inner .critical {
	font-size: 1.4em;
}

#caution .inner .reason {
	font-weight: 600;
	font-size: 1.2em;
	margin: 0;
}

#caution .inner .brown {
	display: block;

	width: fit-content;
	background: #340100;

	margin: 0 auto 5px auto;
	padding: 0 0 0 10px;

	line-height: 1.4;
	font-size: 1.4em;
	font-weight: 1000;
	color: #fff;
}

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

	#caution {
		background: #FFEFF6 url("../img/bg_caution_pc.png") no-repeat 0 0 / contain;
	}

	#caution h2 {
		font-size: 2em;
	}

	#caution .inner {
		padding: 0 20px;
		font-size: .9em;
	}

	#caution .inner small {
		display: block;
		margin: 20px 0 0 0;

		line-height: 1.4;
		text-align: left;
	}

	#caution .inner .img_box {
		margin: 0 0 20px 0;
		padding: 0;
	}

}

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

	#caution .inner small {
		text-align: center;
	}

}

/* #available
----------------------------------- */

#available {
	position: relative;

	width: 100%;
	background: url("../img/bg_available.jpg") no-repeat 0 0 / cover;
	padding: 40px 0 150px 0;
}

#available h2 {
	width: fit-content;
	margin: 20px auto;
}

#available::after {
	position: absolute;
	left: 50%;
	bottom: -60px;
  transform: translate(-50%);

	content: "";
	background: url("../img/img_available_window.svg") no-repeat 0 0 / contain;
	width: 760px;
  height: 215px;
}

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

	#available {
		padding: 1px 0 80px 0;
		background: url("../img/bg_available.jpg") no-repeat 68% 0 / cover;
	}

	#available::after {
		bottom: -30px;
		width: 345px;
		height: 88px;
	}

	#available h2 {
		width: 75%;
		margin: 20px auto;
		text-align: center;
	}

}


/* #works
----------------------------------- */

#works .tab-button {
	height: 80px;
	padding: 0 5px;

	line-height: 1.2;
}

#works .tab-button.active {
	height: 90px;
}

#works .tab-button.tabs01 {
	background: #B90000;
}

#works .tab-button.tabs02 {
	background: #7192FF;
}

#works .tab-button.tabs01 span,
#works .tab-button.tabs02 span {
	background: #fff;
	font-size: .6em;
	padding: 0 5px;
}

#works .tab-button.tabs01 span {
	color: #B90000;
}
#works .tab-button.tabs02 span {
	color: #7192FF;
}

#works .tab-content {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

#works .tab-content.tabs01 {
	background: #fff;
	border-top: 4px solid #B90000;
}
#works .tab-content.tabs02 {
	background: #fff;
	border-top: 4px solid #7192FF;
}


#works .voice {
	display: flex;
	gap: 30px;

	margin: 0 0 30px 0;
	padding: 0 0 30px 0;
	border-bottom: 1px solid #ccc;
}

#works .voice:last-child {
	border: none;
	margin: 0;
	padding: 0;
}

#works .voice .left {
	width: 30%;
}

#works .voice .left li {
	text-align: center;
}

#works .voice .left li:last-child {
	margin: 10px 0 0 0;
}

#works .voice .right {
	width: 70%;
}

#works .voice .right .icon {
	display: inline-block;
	background: #222;
	margin: 0 5px 0 0;
	padding: 5px 10px;
	border-radius: 6px;

	color: #fff;
}

#works .voice .right .cost {
	display: flex;
	gap: 20px;
	margin: 20px 0;
}

#works .voice .right .cost dt,
#works .voice .right .cost dd {
  display: table-cell;
  vertical-align: middle;
  padding: 15px;
}

#works .voice .right .cost .cost_dl {
  width: 70%;
}

#works .voice .right .cost .schedule_dl {
  width: 30%;
}

#works .voice .right .cost .cost_dl,
#works .voice .right .cost .schedule_dl {
  display: table;
  border-collapse: collapse;
}

#works .voice .right .cost .cost_dl dt {
	width: 30%;
}

#works .voice .right .cost .cost_dl dd {
	width: 70%;
}

#works .voice .right .cost dl dt {
	background: #B70000;
	border-radius: 10px 0 0 10px;

	text-align: center;
  font-weight: bold;
	color: #fff;
}

#works .voice .right .cost dl dd {
  flex-direction: column;

	background: #FFE5E5;
	border-radius: 0 10px 10px 0;
	color: #222;
}

#works .voice .right .cost dl.collection_amount {
	width: 100%;
}

#works .voice .right .cost dl.collection_amount dt {
	width: 30%;
	background: #222;
}

#works .voice .right .cost dl.collection_amount dd {
	width: 800px;
	background: #EBEBEB;
}

#works .voice .right .comment p {
	margin: 0;
}

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

	#works .voice {
		display: block;
		gap: 0;
		width: 100%;
	}

	#works .voice h3.case {
		margin: 20px 0;
		font-size: 1em;
	}

	#works .voice .left {
		width: 100%;
	}

	#works .voice .left li:first-child {
		width: 40%;
		margin: 0 auto;
	}

	#works .voice .right .cost {
		margin: 0 0 10px 0;
	}

	#works .voice .right,
	#works .voice .right .cost .cost_dl,
	#works .voice .right .cost .schedule_dl {
		width: 100%;
	}

	#works .voice .right .cost .collection_amount dt,
	#works .voice .right .cost .cost_dl dt,
	#works .voice .right .cost .schedule_dl dt {
		width: 30%;
		padding: 10px;

		font-size: .8em;
	}

	#works .voice .right .cost .collection_amount dd,
	#works .voice .right .cost .cost_dl dd,
	#works .voice .right .cost .schedule_dl dd {
		width: 70%;
		font-size: .8em;
	}

	#works .voice .right .cost dl {
		margin: 0 0 10px 0;
	}

	#works .voice .right .cost dl:last-child {
		margin: 0;
	}

	#works .voice .right .cost {
		display: block;
	}

}


/* #price
----------------------------------- */

#price {
	background: #FFFBED;
}

#price .price_box .ttl_box {
	background: #B90000;
	border-radius: 10px 10px 0 0;
	padding: 20px 0;

	text-align: center;
	color: #fff;
}

#price .price_box._04 .ttl_box {
	background: #7192FF;
}

#price .price_box .ttl_box h3 {
	font-size: 1.4em;
}

#price .price_box .ttl_box small {
	font-weight: 600;
}

#price .price_box .price_content {
	background: #fff;
	margin: 0 0 30px 0;
	padding: 20px;
	border-top: 4px solid #222;
	border-right: 1px solid #222;
	border-bottom: 1px solid #222;
	border-left: 1px solid #222;

	border-radius: 0 0 10px 10px;
}

#price .price_list {
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
	border-bottom: 1px dotted #707070;
}

#price .price_list:last-child {
	margin: 0;
	padding: 0;
	border: none;
}

#price .price_list p {
	margin: 0 0 20px 0;
	line-height: 1.4;
	font-size: .9em;
}

#price .price_list p:last-child {
	margin: 0;
}

#price .price_list dl {
	display: flex;
	margin: 0 0 20px 0;
}

#price .price_list dl:last-child {
	border-bottom: none;
	margin: 0;
	padding: 0;
}

#price .price_list dt {
	width: 40%;
	font-weight: 600;
}

#price .price_list dd {
	width: 60%;

	text-align: right;
	font-weight: 600;
	color: #D00000;
}

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

	#price .price_box .ttl_box {
		padding: 10px 20px;
		font-size: .8em;
	}

	#price .price_list dl {
		display: block;
		margin: 0 0 20px 0;
	}

	#price .price_list dt,
	#price .price_list dd {
		width: 100%;
	}

	#price .price_list dt {
		margin: 0 0 20px 0;
	}

	#price .price_list dd {
		text-align: left;
		font-size: .9em;
	}

}

/* #flow
----------------------------------- */

#flow {
	counter-reset: section;
}

#flow .inner {
	background: #fff;
	margin: 0 0 30px 0;
	padding: 30px;

	border-radius: 10px;
}

#flow .inner a {
	font-weight: 600;
	color: #222;
	text-decoration: underline;
}

#flow .inner:last-child {
	margin: 0;
}

#flow .app_box dt,
#flow .app_box dd {
	display: inline-block;
	vertical-align: middle;
}

#flow .app_box dd {
	margin: 0 20px 0 10px;
	padding: 0 0 5px 0;
}

#flow .flow_box {
	width: 1100px;
	margin: 0 auto;
	padding: 30px;
}

#flow .flow_box .txt_content p:last-child {
	margin: 0;
}

#flow ._pink {
	position: relative;
	background: #FAEFEF;
}

#flow ._pink_arrow::after {
	content: "";
  position: absolute;
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 30px;
  border-style: solid;
  border-color: #FAEFEF transparent transparent transparent;
}

#flow ._white_arrow::before {
	content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-width: 30px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}

#flow .flow_box h3 {
	position: relative;
	margin: 0 0 30px 0;
	padding: 0 0 0 50px;

	font-size: 1.4em;
}

#flow .flow_box h3::before {
	position: absolute;
	top: -3px;
	left: 0;

  display: flex;
	align-items: center;
	justify-content: center;

  counter-increment: section;
  content: counter(section) "";
  background: linear-gradient(-60deg, #222, #464646);
  width: 40px;
  height: 40px;
  border-radius: 30px;

  margin: 0 20px 0 0;
  padding: 10px;

  text-align: center;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.4em;
  color: #fff;
}

#flow .flow_box p {
	margin: 0 0 20px 0;
}
#flow .flow_box .btn_box {
	display: flex;
	gap: 10px;
	margin: 0 0 20px 0;

	line-height: 1.8;
	font-size: 1em;
}

#flow .flow_box .btn_box li {
	margin: 0 0 10px 0;
}

#flow .flow_box .btn_box .btn {
	width: 300px;
	padding: 10px;
}

#flow .flow_box .caution {
	width: fit-content;
	padding: 20px;
	border: 1px dotted #222;
}


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

	#flow .inner {
		margin: 0 0 10px 0;
		padding: 15px;

		font-size: .9em;
	}
	#flow .img_box {
		padding: 0 0 20px 0;
	}
	#flow .app_box dd {
		margin: 0;
	}
	#flow .flow_box {
		width: 100%;
		margin: 0;
		padding: 40px 20px 20px 20px;
	}
	#flow .flow_box._gray {
		padding: 40px 20px;
	}
	#flow .flow_box h3 {
		margin: 0 0 25px 0;
		padding: 0 0 0 50px;

		text-align: left;
		font-size: 1.1em;
	}
	#flow .flow_box h3::before {
		top: -6px;
	}
	#flow .flow_box p {
		margin: 0 0 20px 0;
		line-height: 1.6;
	}
	#flow .flow_box .txt_content {
		margin: 0;
	}
	#flow .flow_box .ttl::before {
		width: 40px;
    height: 40px;
	}
	#flow .flow_box .btn_box {
		display: block;
		margin: 0 0 20px 0;
	}
	#flow .flow_box .btn_box li {
		margin: 0 0 20px 0;
	}
	#flow .flow_box .btn_box .btn {
		width: 100%;
	}
}


/* .faq
----------------------------------- */

#faq {
	background: #FAEFEF;
}

#faq .faq_box {
	max-width: 1100px;
	margin: 20px auto 40px auto;
}

#faq .faq_box .faq_ttl {
  position: relative;

  background: #340000;
  padding: 20px 30px;

  font-weight: bold;
  font-size: 1.1em;
  color: #fff;
}

#faq .faq_ttl,
#faq .faq_anser h4 {
	display: flex;
	align-items: center;
	position: relative;
	margin: 0;
}

#faq .faq_anser h4 {
	margin: 0 0 20px 0;

	font-weight: 700;
}

#faq .faq_ttl::before {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;

	content: "Q";
	width: 50px;
	height: 50px;
	background: linear-gradient(180deg,#FFDC7B,#C99F2C);

	border-radius: 6px;
	margin: 0 20px 0 0;

	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 1.8em;
	color: #5C3100;
}

#faq .faq_anser h4::before {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;

	content: "A";
	width: 50px;
	height: 50px;
	background: linear-gradient(180deg,#FA6BB3,#C92C7B);

	border-radius: 6px;
	margin: 0 20px 0 0;

	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 1.8em;
	color: #fff;
}

#faq .faq_box .faq_anser {
	background: #fff;
  padding: 30px 20px 20px 30px;

  line-height: 2;
	font-size: 1.1em;
}

#faq .faq_box .faq_anser p {
	margin: 0 0 20px 0;
	font-size: .9em;
}


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

	#faq {
		padding: 30px 20px;
	}
	#faq .block {
		width: 100%;
		margin: 0 0 15px 0;
	}
	#faq h2.ttl {
		padding: 0 0 10px 0;
	}
	#faq .block h3 {
		font-weight: 600;
		font-size: .9em;
	}
	#faq .faq_box {
		margin: 20px auto 30px auto;
	}
	#faq .faq_box .faq_ttl {
		padding: 15px;
		font-size: 1em;
	}
	#faq .faq_ttl::before,
	#faq .faq_anser h4::before {
		margin: 0 15px 0 0;
	}
	#faq .faq_box .faq_anser {
		padding: 15px;
	}
	#faq .faq_box .faq_anser h4 {
		line-height: 1.5;
		font-size: .9em;
	}
	#faq .faq_box .faq_anser p {
		margin: 0 0 20px 0;

		line-height: 1.5;
		font-size: .8em;
	}
	#faq .faq_box .faq_anser p:last-child {
		margin: 0;
	}

}



/* #contact
------------------------------------------------------------------------ */

#contact {
	background: url("../img/bg_contact_pc.jpg") no-repeat 0 0 / cover;
}

#contact .contact_header {
	width: 100%;
	background: url("../img/bg_contact_ttl_pc.png") no-repeat 0 0 / cover;
}

#contact .contact_header .inner {
	width: 1100px;
	margin: 0 auto;
	padding: 60px 0;

	text-align: center;
	font-weight: 600;
	font-size: 1.5em;
	color: #fff;
}

#contact .contact_header .inner p {
	margin: 0;
}

#contact .ttl {
	color: #222;
}

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

	#contact .contact_header .inner {
		width: 100%;
		padding: 40px 20px;

		font-size: 1.1em;
	}

}

.page_contact {
  padding: 0 0 60px 0;
}

.page_contact .ttl {
    padding: 70px 0;
    color: #fff;
}

.page_contact .content,
.page-template-default .content {
	margin: 60px 0;
	padding: 0;
}

/* table */
.page_contact .tbl {
	width: 1000px;
	margin: 0 auto 40px auto;
	border-collapse: collapse;
}

.page_contact .tbl p {
	margin: 0;
}

.page_contact .tbl th {
	width: 100%;
    padding: 20px 0;

    text-align: left;
    font-size: 20px;
    color: #222;
}

.page_contact .tbl td {
	width: 100%;

    font-size: 1em;
    color: #222;
}


/* input
------------------------------------ */

.page_contact select {
/*
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
  padding: 0 20px 0 0;
*/

	display: inline-block;
	background: #fff;
	padding: 15px;
	margin: 0 0 15px 0;

	border: none;
	border-radius: 10px;
	color: #222;
}


.wpcf7-list-item,
.page_contact .type01,
.page_contact ._two .mwform-radio-field,
.page_contact ._three .mwform-radio-field,
.page_contact ._six .mwform-radio-field,
.page_contact .type02,
.page_contact .type03 {
  display: inline-block;
  background: #fff;
  margin: 0 0 15px 10px;

	border: none;
  border-radius: 10px;
  color: #222;
}

.page_contact .type04 {
	width: 100%;
  padding: 15px;
	border: none;
  border-radius: 10px;
  color: #222;
}

.page_contact .radio_td label {
  display: block;
	padding: 15px;
}

.page_contact ._select label {
	padding: 0;
}

.page_contact input {
	margin: 0 10px 0 0;
}

.page_contact .wpcf7-text {
	border: none;

	margin: 0 0 15px 0;
	padding: 15px 10px;
	border-radius: 10px;

	color: #444;
}

.page_contact .type01 {
    width: 100%;
}

.page_contact ._one .type01 {
	width: 995px;
}

.page_contact ._two .wpcf7-list-item,
.page_contact ._two .type02 {
	display: inline-block;
	width: 485px;
	margin: 0 0 15px 25px;
}

.page_contact ._two .wpcf7-list-item.first {
	margin: 0 0 15px 0;
}

.page_contact ._two .mwform-radio-field {
	display: inline-block;
	width: 47%;
	margin: 0 0 15px 25px;
}

.page_contact ._three .mwform-radio-field,
.page_contact ._three .type02,
.page_contact ._three .type03,
.page_contact ._six .mwform-radio-field,
.page_contact ._six .wpcf7-list-item,
.page_contact ._six .type02 {
	display: inline-block;
	width: 30.3%;
	margin: 0 0 15px 30px;
}

.page_contact ._three .wpcf7-list-item.first,
.page_contact ._six .wpcf7-list-item:nth-child(1),
.page_contact ._six .wpcf7-list-item:nth-child(4) {
	margin: 0 0 15px 0;
}

.page_contact ._three .wpcf7-list-item,
.page_contact ._six .wpcf7-list-item {
	width: 313px;
	margin: 0 0 15px 30px;
}

.page_contact ._three .mwform-radio-field,
.page_contact ._six .mwform-radio-field {
	display: inline-block;
    width: 30%;
    margin: 0 0 15px 30px;
}

/* / input */

.page_contact .pp_caution {
  padding: 20px 0;

	text-align: center;
	font-size: 18px;
}

.page_contact .pp {
  width: 70%;
  height: 180px;

	background: #fff;
	margin: 0 auto;
	padding: 20px 20px 20px 20px;
	border-radius: 10px;

  font-size: 16px;
  color: #222;
}

.page_contact .pp .pp_inner {
    height: 140px;
	padding: 0 15px 0 0;

	overflow: auto;
    overflow-y: scroll;
    overflow-x: hidden;
}

.page_contact .pp p {
	line-height: 1.6;
	margin: 0 0 20px 0;
}

.page_contact .pp h3 {
    padding: 0 0 20px 0;

	text-align: center;
	font-size: 20px;
}

.page_contact .pp h4 {
    padding: 0 0 10px 0;
}

.page_contact .pp ul {
    margin: 20px 20px 40px 20px;
}

.page_contact .pp li {
    list-style-type: disc;
    line-height: 2;
}

.wpcf7 form .wpcf7-response-output,
.page_contact .wpcf7-response-output {
	width: 600px;
	margin: 0 auto;

	background: #fffc00;
	border: none;

	padding: 10px;

	text-align: center;
	transition: all .2s;
}

.page_contact .wpcf7-not-valid-tip {
	color: #cc0000;
	font-weight: 600;
}

.wpcf7-spinner {
	display: none;
}


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

	.page_contact {
		padding: 0 0 10px 0;
	}

	.page_contact .ttl {
		padding: 40px 0 20px 0px;
	}

	.page_contact ._right {
		font-size: .8em;
	}

	.page_contact .inner {
		padding: 0 10px;
	}

	.page_contact .tbl {
		width: 100%;
		margin: 0 auto 40px auto;
	}

	.page_contact .tbl th {
		padding: 10px 0;
		font-size: 12px;
	}

	.correspondence .flow .flow_list {
		margin: 0;
	}

	/* input */
	.page_contact .wpcf7-text,
	.page_contact .wpcf7-list-item {
		font-size: 14px;
	}

	.page_contact .wpcf7-radio {
		font-size: 14px;
		padding: 10px 0;
	}

	.page_contact .type01 {
		width: 99%;
	}

	.page_contact ._three .wpcf7-list-item.last,
	.page_contact ._three .type03 {
		width: 100%;
		margin: 0 0 15px 15px;
	}

	.page_contact ._six .wpcf7-list-item,
	.page_contact ._two .wpcf7-list-item,
	.page_contact ._two .type02 {
		width: 100%;
		margin: 0 0 15px 0;
		}

	.page_contact ._two .wpcf7-list-item.first,
	.page_contact ._three .wpcf7-list-item.first,
	.page_contact ._three .wpcf7-list-item.last {
		margin: 0 0 15px 0;
	}

	.page_contact ._three .wpcf7-list-item,
	.page_contact ._three .type02,
	.page_contact ._six .type02,
	.page_contact ._six .wpcf7-list-item:nth-child(4) {
		width: 100%;
		margin: 0 0 15px 0;
	}

	.page_contact ._six .wpcf7-list-item:nth-child(1),
	.page_contact ._six .wpcf7-list-item:nth-child(3),
	.page_contact ._six .wpcf7-list-item:nth-child(5) {
		width: 100%;
		margin: 0 0 10px 0;
	}

	/* / input */

	.page_contact .sub .tbl th,
	.page-template-default .sub .tbl th {
		text-align: left;
		width: 100%;
	}

	.page_contact .pp_caution {
		font-size: .67em;
		padding: 10px 0 20px 0;
	}

	.page_contact .pp {
		width: 90%;
		border-radius: 10px;
	}

	.page_contact .pp h3 {
		font-size: 14px;
	}

	.page_contact .pp p {
		font-size: 11px;
	}

	.pp_inner p {
		line-height: 1.4;
	}

	.wpcf7 form .wpcf7-response-output,
	.page_contact .wpcf7-response-output {
		width: 90%;
		margin: 0 auto 40px auto;
	}

	/* input_mw */

	.page_contact .radio_td._two p,
	.page-id-359 .page_contact .radio_td._three p,
	.page-id-359 .page_contact .radio_td._six p {
		margin: 0;
	}

	.page-id-359 .page_contact .type01,
	.page_contact ._two .mwform-radio-field,
	.page_contact ._three .mwform-radio-field,
	.page_contact ._six .mwform-radio-field {
		padding: 10px 15px;
		font-size: 14px;
	}

	.page_contact .mwform-radio-field {
		padding: 10px 15px;
		margin: 0 0 10px 0;
	}

	.page_contact ._one .type01 {
		width: 100%;
		margin: 0 0 10px 0;
	}

	.page_contact ._two .mwform-radio-field:nth-child(1) {
		width: 47%;
		margin: 0 0 10px 0;
	}

	.page_contact ._two .mwform-radio-field {
		width: 47%;
		margin: 0 0 0 15px;
	}

	.page_contact ._three .mwform-radio-field:nth-child(1) {
		width: 47%;
		margin: 0;
	}

	.page_contact ._three .mwform-radio-field,
	.page_contact ._six .mwform-radio-field {
		display: inline-block;
	    width: 47%;
	    margin: 0 0 15px 15px;
	}

	.radio_td._three span:nth-child(3) {
		width: 100%;
		margin: 0 0 15px 0;
	}

	.page_contact ._six .mwform-radio-field:nth-child(1),
	.page_contact ._six .mwform-radio-field:nth-child(3),
	.page_contact ._six .mwform-radio-field:nth-child(5) {
		width: 47%;
		margin: 0 0 10px 0;
	}

	.page_contact ._six .mwform-radio-field {
		width: 47%;
		margin: 0 0 10px 15px;
	}

}


/* #company
----------------------------------- */

#company {
	background: #fff;
	padding: 40px 0;
}

#company .profile {
	display: flex;
	align-items: center;
	gap: 30px;

	width: fit-content;
	margin: 0 auto 40px auto;
	padding: 0;
}

#company .profile h3 {
	margin: 0 0 20px 0;
}

#company .message {
	display: flex;
	flex-direction: column;

	background: #F0F0F0;
	width: 900px;
	margin: 0 auto 50px auto;
	padding: 20px 30px;

	border-radius: 10px;
}

#company .message p:last-child {
	margin: 0;
}

#company .info {
	display: flex;
	width: 900px;
	margin: 0 auto;
	padding: 0 0 90px 0;
}

#company .info .left,
#company .info .right {
	display: inline-block;
	vertical-align: middle;
}

#company .info .left {
	margin: 20px 20px 0 0;
	width: 450px;
	overflow: hidden;
}

#company .info .left iframe {
	width: 450px;
	height: 700px;
	margin-top: -170px;
}

#company .info .right {
	width: 520px;
  border-collapse: collapse;
}

#company .info .right tr {
  border-bottom: 1px solid #e5e5e5;
}

#company .info .right tr:last-child {
	border: none;
}

#company th {
	width: 140px;
	padding: 15px;
}

#company td {
	width: 430px;
	padding: 15px;

	font-size: 18px;
}

#company td span {
	display: block;
	font-size: 14px;
}

#company .map {
	width: 100%;
	height: 400px;
	margin: 0 0 -40px 0;
}


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

	#company .inner {
		display: inherit;
		width: 100%;
	}

	#company .profile {
		gap: 20px;
    width: 90%;
    margin: 0 auto 30px auto;
	}

	#company .profile .right {
		width: 100%;
	}

	#company .profile .right h3 {
		margin: 0 0 5px 0;
	}

	#company .profile .right p {
		line-height: 1.6;
		margin: 0;
	}

	#company .message {
		display: block;
		width: 90%;
		margin: 0 auto 30px auto;
		padding: 20px;
	}

	#company .img_box {
		margin: 0 auto 30px auto;
	}

	#company .info {
		display: block;
		width: 100%;
	}

	#company .info {
		margin: 0;
		padding: 0;
	}

	#company .info .left,
	#company .info .left iframe {
		width: 100%;
		margin: 0;
	}

	#company .info .left iframe {
		width: 100%;
		height: 620px;
		margin-top: -170px;
	}

	#company .info .right {
		width: 100%;
		padding: 0 10px;
	}

	#company th {
		width: 170px;
		font-size: 1.1em;
	}

	#company td {
		font-size: 1.1em;
	}

	#company .inner {
		padding: 0 0 40px 0;
	}

}


/* #complete
----------------------------------- */

#complete {
	padding: 0 20px;
}

#complete .txt {
  margin: 0 0 106px 0;
}

#complete a[href^="tel"] {
	color: #222;
	text-decoration: underline;
}

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

	#complete .ttl {
		padding: 30px 0;
		font-size: 1.5em;
	}

	.btn {
		width: fit-content;
		marin: 40px auto;
	}

}
