

/*----------------------------------------------------------------------------
   common
------------------------------------------------------------------------------*/

/* section_ttl */
.section_ttl  {
  width: 100%;
  padding: 40px;
  background-color: var(--cl_main);
  box-sizing: border-box;
}
.section_ttl h2,
.section_ttl p {
  color: #fff;
}

.section_ttl h2::after {
  background: #fff;
}

.contact {
  /* width: calc(100% - 100px); */
  margin: 0 auto;
  padding: clamp(40px, 7%, 100px) 2.5vw;
}


/*----------------------------------------------------------------------------
   フォームレイアウト
------------------------------------------------------------------------------*/
#mailform-layout .item {
  display: flex;
  flex-wrap: wrap;
  font-size: clamp(14px, 1.8vw, 16px);
}

#mailform-layout .item .name {
  width:28%;
  padding:13px;
  box-sizing: border-box;
}

#mailform-layout .item .name span {
  display: inline-block;
}

@media screen and (max-width: 770px) {
	#mailform-layout .item .name {
		width: 100%;
	}
}

#mailform-layout .item .answer {
	width: 72%;
  padding:13px;
	box-sizing: border-box;
}

@media screen and (max-width: 770px) {
	#mailform-layout .item .answer {
		width: 100%;
	}
}

#mailform-layout .required {
}

#mailform-layout ul {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.mailform-alart {
	background-color: #e3fff2;
	border: 1px solid #bae4d1;
	box-sizing: border-box;
	border-radius: 6px;
  padding: 13px;
	margin-bottom: 30px;
  font-size: clamp(12px, 1.8vw, 15px);
	text-align: center;
}

.mailform-alart.error {
	background-color: #ffffff;
	border: 2px solid #ff5353;
	color: #ff5353;
	font-weight: bold;
}

.mailform-setup-alart {
	background-color: #ffffff;
	border: 1px solid #ff5353;
	box-sizing: border-box;
	border-radius: 6px;
  padding: 13px;
	margin-bottom: 30px;
  font-size: clamp(12px, 1.8vw, 15px);
	text-align: center;
	color: #ff5353;
}

.mailform-setup-alart strong {
	display: block;
	text-align: center;
	margin-bottom: 10px;
	font-size: 20px;
}

.mailform-setup-alart p {
	margin: 0;
	padding: 0;
}

.mailform-box {
	background-color: #e0e0e0;
	padding: 20px;
	margin-top: 40px;
	margin-bottom: 20px;
	box-sizing: border-box;
	border-radius: 5px;
}

.mailform-box .title {
	font-size: 22px;
	display: block;
	padding-bottom: 20px;
	color: #ff6b6b;
	background-image: url("../image/inquiry/icon-mailplus.png");
	background-repeat: no-repeat;
	background-position: left 2px top 0;
	padding-left: 60px;
}

.mailform-box p {
	margin: 0 !important;
	padding: 0 !important;
}

.sentok {
	font-size: 28px;
	text-align: center;
	color: #ff6b6b;
  margin-bottom: 16px;
}

.add {
	border: 1px solid #ccc;
	background: #fff;
	border-radius: 3px;
	width: 200px;
	height: 36px;
	margin-top: 5px;
}

.s_name {
	display: block;
	margin-bottom: 10px;
}

.button-limit {
	display: none !important;
}

/* input - text */

input[type=text] {
	border: 1px solid #cccccc;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 3px;
}

@media screen and (max-width: 770px) {
	input[type=text] {
		width: 100%;
	}
}

/* input - tel */

input[type=tel] {
	border: 1px solid #cccccc;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 3px;
	width: 250px;
}

@media screen and (max-width: 770px) {
	input[type=tel] {
		width: 100%;
	}
}

/* input - email */

input[type=email] {
	border: 1px solid #cccccc;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 3px;
	width: 100%;
}

/* input - radio */

input[type=radio] {
	position: absolute;
  opacity: 0;
  z-index: -1; 
}
input[type=radio]+label {
	display:block;
	cursor:pointer;
	margin-top:0.25em;
	margin-bottom:0.25em;
	font-family:inherit;
}

input[type=radio]+label:before {
	width:1.25em;
	height:1.25em;
	display:inline-block;
	content:"";
	border-radius:1.25em;
	vertical-align:middle;
	border:2px solid #c8c8c8;
	background-color:#fff;
	margin:-2px 5px 0 0;
	-webkit-transition:border-color ease-in-out .15s, background-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	-o-transition:border-color ease-in-out .15s, background-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	transition:border-color ease-in-out .15s, background-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
}

input[type=radio]:hover+label:before {
	border-color:#c8c8c8;
	background-color:#c8c8c8;
	box-shadow:inset 0 0 0 0.25em #fff;
}

input[type=radio]:checked+label:before {
	border-color:#76a315;
	background-color:#76a315;
	box-shadow:inset 0 0 0 0.25em #fff;
}

.radio-group label {
	margin-right:1.5em;
}

.radio-group li {
	float: left;
}

/* input - checkbox */
.chk-group {
	position: relative;
	bottom: -5px !important;
	display: block;
}

.chk-group li {
	display: inline-block;
	padding-right: 20px;
}

.chk-group li label {
  display: block;
  position: relative;
  padding-left: 30px;
  padding-bottom: 5px;
  cursor: pointer;
  font-size: 18px;
}
.chk-group li label input {
  position: absolute;
  z-index: -1;
  opacity: 0;
  padding:0.25em 1em;
  margin-right: 1em;
  box-sizing:border-box;
	background-color:#76a315;
  border-radius:6px;
  color:#fff;
	font-weight:normal;
}
.indicator {
  position: absolute;
  top: 2px;
  left: 0;
  height: 20px;
  width: 20px;
  background: #e6e6e6;
  border-radius: 2px;
}
.chk-group li label:hover input ~ .indicator,
.chk-group li label input:focus ~ .indicator {
  background: #ccc;
}
.chk-group li label input:checked ~ .indicator {
  background: #76a315;
}
.chk-group li label:hover input:not([disabled]):checked ~ .indicator,
.chk-group li label input:checked:focus ~ .indicator {
  background: #76a315;
}
.chk-group li label input:disabled ~ .indicator {
  background: #e6e6e6;
  opacity: 0.6;
  pointer-events: none;
}
.indicator:after {
  content: '';
  position: absolute;
  display: none;
}
.chk-group li label input:checked ~ .indicator:after {
  display: block;
}
.chk-group li .checkbox .indicator:after {
  left: 8px;
  top: 4px;
  width: 3px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.chk-group li .checkbox input:disabled ~ .indicator:after {
  border-color: #7b7b7b;
}

/* item - age */

#mailform-layout ul.age {
}

#mailform-layout ul.age li {
	float: left;
	width: 100px;
	margin-right: 5px;
}
#mailform-layout ul.age li input {
	width: 70px;
	border: 1px solid #cccccc;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 3px;
	margin-right: 5px;
}

#mailform-layout ul.age li:nth-of-type(1) {
	width: 120px
}

#mailform-layout ul.age li:nth-of-type(1) input {
	width: 90px;
}

/* item - postcode */

#mailform-layout .postcode {
	display: block;
	padding-bottom: 10px;
}

#mailform-layout .postcode input {
	border: 1px solid #cccccc;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 3px;
	margin-right: 5px;
}

#mailform-layout .postcode input:nth-of-type(1) {
	width: 60px;
}
#mailform-layout .postcode input:nth-of-type(2) {
	width: 80px;
}

#mailform-layout .postcode+input {
	width: 100%;
}

/* textarea */

#mailform-layout textarea {
	width: 100%;
	border: 1px solid #cccccc;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 3px;
}

/* submit-button */

.submit-button {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 480px;
	margin:40px auto 0;
}

.submit-button button {
  background: #1f2c5c;
  border-radius: 100px;
  padding: 15px 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  max-width: 330px;
  position: relative;
  margin: 0 auto;
  transition: all .3s;
  color:#fff;
  font-size: clamp(14px, 1.8vw, 16px);
  font-weight: normal;
}

.submit-button button.pageback {
  background: #fff;
  border: 2px solid #666;
  border-radius: 100px;
  padding: 15px 50px;
  max-width: 330px;
  position: relative;
  transition: all .3s;
  font-size: clamp(14px, 1.8vw, 16px);
  color:#666;
  margin: 0 auto;
}

.submit-button button:hover {
  opacity: 0.9;
}

.submit-button button.pageback:hover {
  background: #ccc;
}

@media screen and (max-width:530px) {	
  .submit-button {
    flex-wrap: wrap;
  }
  .submit-button button {
    width: 480px;
  }
  .submit-button button.pageback {
    order: 2;
    margin-top: 20px;
  }
}

/* Design Template
 simple - 下線のみのシンプルなレイアウト
 table - テーブルタグで作成したようなレイアウト
 portable - タブレットスタイルでポップなレイアウト
*/

/* design - simple */
#mailform-layout.simple .item {
	margin-bottom: 15px;
	border-bottom: 1px dotted #cccccc;
}


/* design - table */

#mailform-layout.table .item {
	border: 1px solid #F5F8ED;
	margin-top: -1px;
}

#mailform-layout.table .item .name {
  background-color: #e4edd0;
	border-right: 1px solid #F5F8ED;
}
#mailform-layout.table .item .name span {
}

#mailform-layout.table .item .answer {
  background-color: #fff;
}

@media screen and (max-width: 770px) {
	#mailform-layout.table .item .name {
		width: 100%;
	  border-right: none;
	}
}

#mailform-layout.table .input-title {
  width: calc(100% - 60px);
}

#mailform-layout.table .ic-required {
  float: right;
  width: 50px;
  padding: 0.25em 0;
  box-sizing: border-box;
	background-color: #76a315;
  border-radius: 6px;
  font-size: clamp(12px, 1.8vw, 14px);
  color: #fff;
	font-weight: normal;
  text-align: center;
  white-space: nowrap;
}


/* design - portable */

#mailform-layout.portable .item {
	position: relative;
	margin-bottom: 10px;
}

#mailform-layout.portable .item .name {
	position: absolute;
	left: 0;
	width: 250px;
	height: 100%;
	background-color: #d2e7ff;
	border-radius: 5px;
	color: #333333;
	font-weight: bold;
	box-sizing: border-box;
	padding: 15px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: left;
}

#mailform-layout.portable .item .answer {
	padding: 15px;
	width: calc(100% - 260px);
	margin-left: 260px;
	box-sizing: border-box;
	border: 1px solid #eeeeee;
	border-radius: 5px;
	background-color: #ffffff;
}

#mailform-layout.portable .required {
	top: 50%;
  right: 10px;
  transform: translateY(-50%);
	background-color: #ffffff;
	box-sizing: border-box;
	color: #ff4545;
	border: 1px solid #ff4545;
}