@charset "utf-8";
/***************************************************************************************************
	page_contact.css
***************************************************************************************************/
/*
*/
#page_contact {
  width:640px;
  margin: auto;
  padding: clamp(100px, 18lvh, 200px) 0 0 0;
}
#pagetop ~ div {
	opacity:0;
	pointer-events: none;
}
/*
*/
#page_contact .blk_1 {
  width:100%;
}
#page_contact .blk_1 h2 {
  font-size:60px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  font-family: "Montserrat", sans-serif;
  text-align: center;
}
#page_contact .blk_1 p {
  font-size: 14px;
  line-height: 1.75;
  text-align: center;
  padding:20px 0 0 0;
}
#page_contact .blk_1 p span {
  display: inline-block;
}
/*
*/
#page_contact .blk_2 {
  padding:60px 0 0 0;
}
/*
*/
#page_contact .blk_form {
  width: 100%;
}
#page_contact .blk_form * {
	font-size: 14px;
  line-height: 1.75;
}
/*
*/
#page_contact .formbody_part {
	position: absolute;
	width:100%;
	opacity:0;
	pointer-events: none;
}
#page_contact .formbody_part.show {
	position:absolute;
	opacity:1;
	pointer-events: auto;
	transition:opacity .6s ease-out .6s;
}
#page_contact .formbody_part.hide {
	position:relative;
	opacity:0;
	pointer-events: none;
	transition:opacity .6s ease-out 0s;
}
#page_contact .formbody_part.pos_r {
	position:relative;
}
#page_contact .formbody_part.pos_a {
	position:absolute;
}
/*
*/
#page_contact .blk_input .blk_fm {
	display: table;
  width:100%;
  margin-bottom: 30px;
}
#page_contact .blk_input .blk_fm_tit {
  display: table-cell;
	width:200px;
  text-align: left;
  vertical-align: middle;
}
#page_contact .blk_input .fm_content .blk_fm_tit,
#page_contact .blk_input .fm_type .blk_fm_tit {
  vertical-align: top;
}
#page_contact .blk_input .blk_fm_tit p {
	line-height: 1;
	white-space: nowrap;
  background-color: #ffffff;
}
#page_contact .blk_input .blk_fm_tit p span {
	display: inline-block;
	font-size: 11px;
	line-height: 1;
  margin-left: 10px;
  padding:2px 7px 5px 7px;
  background-color: #000000;
  color:#ffffff;
}
#page_contact .blk_input .blk_fm_ipt input[type="text"] {
	background-color: #F1F1F1;
	width:100%;
	padding: 5px 10px;
	border:2px solid transparent;
}
#page_contact .blk_input .blk_fm_ipt input[type="text"].alert_show {
	background-color: #ffaaaa;
}
#page_contact .blk_input .blk_fm_ipt input[type="text"]:focus {
	border-color:#333333;
}
/*  */
#page_contact .blk_input .fm_content textarea {
  background-color: #F1F1F1;
	width:100%;
	height: 260px;
	padding: 5px 10px;
	border:2px solid transparent;
	resize: vertical;
}
#page_contact .blk_input .blk_fm_ipt textarea.alert_show {
	background-color: #ffaaaa;
}
#page_contact .blk_input .blk_fm_ipt textarea:focus {
	border-color:#333333;
}
/*  */
#page_contact .blk_input .fm_type label {
  display: block;
  line-height: 1;
  margin-bottom: 10px;
  cursor: pointer;
}
#page_contact .blk_input .fm_type label span {
  display:block;
  padding:0 0 0 28px;
}
#page_contact .blk_input .fm_type label span::before {
	position: absolute;
	display: block;
	content: '';
	width: 20px;
	height: 20px;
	left:0;
	top:50%;
  translate:0 -50%;
	background-color: #F1F1F1;
}
#page_contact .blk_input .fm_type label span::after {
	position: absolute;
	display: block;
	content: '';
	width: 13px;
	height: 7px;
	left:9px;
	top:calc(50% + 1px);
  translate:0 -50%;
  border-left: 2px solid #000000;
  border-bottom: 2px solid #000000;
  transform-origin: 0 100%;
  rotate: -45deg;
  opacity:0;
  transition:opacity .1s ease-out 0s;
}
#page_contact .blk_input .fm_type label input:checked ~ span::after {
  opacity:1;
}
#page_contact .blk_input .fm_type label input {
  display: none;
}
/*  */
#page_contact .blk_input .blk_fm_ipt_alert .alert {
	line-height: 1.5;
	color:#ff0000;
	display: none;
}
#page_contact .blk_input .blk_fm_ipt_alert.alert_show {
	display: block;
}
#page_contact .blk_input .blk_fm_ipt_alert.alert_show.a_1_show .alert.a_1 {
	display: block;
}
#page_contact .blk_input .blk_fm_ipt_alert.alert_show.a_2_show .alert.a_2 {
	display: block;
}
/*  */
#page_contact .blk_input .blk_pp {
  padding:20px 0 0 0;
}
#page_contact .blk_input .blk_pp > section {
  border-top: 1px solid #000000;
  padding:35px 0 0 0;
  text-align: center;
}
#page_contact .blk_input .blk_pp > section h3 {
  font-weight: 700;
  padding:0 0 15px 0;
}
#page_contact .blk_input .blk_pp > section p span {
  display: inline-block;
}
#page_contact .blk_input .blk_pp > section > section {
  margin-top: 20px;
  text-align: left;
  height: 140px;
  overflow: auto;
  background-color: #F1F1F1;
  padding:10px 40px 40px 40px;
}
#page_contact .blk_input .blk_pp > section > section * {
  font-size: 12px;
  line-height: 2;
}
#page_contact .blk_input .blk_pp > section > section .tit {
  text-align: center;
  font-weight: 700;
}
#page_contact .blk_input .blk_pp > section > section p {
  padding:10px 0 0 0;
}
#page_contact .blk_input .blk_pp > section > section dl {
  list-style: none;
  padding:10px 0 0 0;
}
#page_contact .blk_input .blk_pp > section > section dl > div {
  padding:10px 0 0 0;
}
#page_contact .blk_input .blk_pp > section > section ul {
  list-style: none;
  padding:5px 0;
}
#page_contact .blk_input .blk_consent {
  padding:20px 0 0 0;
  text-align: center;
}
#page_contact .blk_input .blk_consent label {
  display: inline-block;
  line-height: 1;
  padding:0 0 0 28px;
  cursor: pointer;
}
#page_contact .blk_input .blk_consent label::before {
	position: absolute;
	display: block;
	content: '';
	width: 20px;
	height: 20px;
	left:0;
	top:50%;
  translate:0 -50%;
	background-color: #F1F1F1;
}
#page_contact .blk_input .blk_consent label::after {
	position: absolute;
	display: block;
	content: '';
	width: 13px;
	height: 7px;
	left:9px;
	top:calc(50% + 1px);
  translate:0 -50%;
  border-left: 2px solid #000000;
  border-bottom: 2px solid #000000;
  transform-origin: 0 100%;
  rotate: -45deg;
  opacity:0;
  transition:opacity .1s ease-out 0s;
}
#page_contact  .blk_input #pp_cb:checked ~ .blk_consent label::after {
 opacity:1;
}
#page_contact .blk_input #pp_cb  {
  display:none;
}
/*  */
#page_contact .blk_input .blk_input_btn {
	padding:40px 0 120px 0;
  text-align: center;
  opacity: .2;
  pointer-events: none;
  transition:opacity .2s ease-out 0s;
  cursor: pointer;
}
#page_contact  .blk_input #pp_cb:checked ~ .blk_input_btn {
 opacity:1;
 pointer-events: auto;
}
/*
*/
#page_contact .psty_btn_1 {
	display: inline-block;
	border:1px solid #000000;
	border-radius: 20px;
	width:180px;
	height: 34px;
	font-size: 14px;
	line-height: 34px;
	font-weight: 600;
	box-sizing: content-box;
  text-align: center;
	transition:
  background-color .2s ease-out 0s,
  color .2s ease-out 0s;
  cursor: pointer;
}
#page_contact .psty_btn_1.nm_hover {
	background-color: #000000;
	color:#ffffff;
}
/*
*/
#page_contact .blk_confirm {
  width:100%;
}
#page_contact .blk_confirm > p:nth-of-type(1) {
  padding:0 0 40px 0;
  text-align: center;
}
#page_contact .blk_confirm > p:nth-of-type(1) span {
  display: inline-block;
}
#page_contact .blk_confirm table {
	display:block;
	text-align: left;
}
#page_contact .blk_confirm table tbody {
	display:block;
}
#page_contact .blk_confirm table tbody tr {
	display:block;
	border-bottom:1px solid #dddddd;
  margin-bottom: 30px;
}
#page_contact .blk_confirm table tbody tr th {
	display:block;
	line-height: 1;
	white-space: nowrap;
}
#page_contact .blk_confirm table tbody tr th span {
  padding:0 0 0 15px;
}
#page_contact .blk_confirm table tbody tr th span::before {
  position: absolute;
  content:'';
  display: block;
  left:0;
  top:calc(50% + 1px);
  translate:0 -50%;
  width:8px;
  height:8px;
  background-color: #000000;
}
#page_contact .blk_confirm table tbody tr td {
	display:block;
	padding:5px 0 10px 0;
  word-break: break-all;
}
#page_contact .blk_confirm table tbody tr td pre {
	display:block;
	width:100%;
	white-space: pre-wrap;
	word-break: break-all;
}
/*  */
#page_contact .blk_confirm .blk_confirm_btn {
	padding:60px 0 120px 0;
	width:100%;
	text-align: center;
	font-size: 0;
  vertical-align: top;
}
#page_contact .blk_confirm .blk_confirm_btn .btn_return {
  width:100px;
  margin: auto 10px;
}
#page_contact .blk_confirm .blk_confirm_btn .btn_submit {
  margin: auto 10px;
}
/*
*/
#page_contact .blk_submit {
	padding:0 0 160px 0;
}
#page_contact .blk_submit > p:nth-of-type(1) {
	width:100%;
	padding:80px 0 0 0;
	line-height: 1.75;
	white-space: nowrap;
  text-align: center;
}
#page_contact .blk_submit .loader {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  background: transparent; 
  margin: 30px auto 0 auto;
  border: solid 2px #eeeeee;
  border-top: solid 2px #000000;
  border-radius: 100%;
  animation:blk_submit_kf_1 1s linear 0s infinite normal both;
}
@keyframes blk_submit_kf_1 {
  0% { rotate:0deg;}
  100% { rotate:360deg;}
}
/*
*/
#page_contact .blk_complate {
	padding:0 0 100px 0;
}
#page_contact .blk_complate > p:nth-of-type(1) {
	padding:60px 0 0 0;
  text-align: center;
	font-weight: 700;
	font-size: 16px;
}
#page_contact .blk_complate > p:nth-of-type(2) {
	padding:20px 0 0 0;
	line-height: 2;
  text-align: center;
}
#page_contact .blk_complate .blk_complate_btn {
	padding:60px 0 0 0;
  text-align: center;
}
/*
*/
#page_contact .blk_error {
	padding:0 0 100px 0;
}
#page_contact .blk_error > p:nth-of-type(1) {
	padding:60px 0 0 0;
  text-align: center;
	font-weight: 700;
	font-size: 16px;
  color:#ff0000;
}
#page_contact .blk_error > p:nth-of-type(2) {
	padding:20px 0 0 0;
	line-height: 2;
  text-align: center;
}
#page_contact .blk_error .blk_error_btn {
	padding:60px 0 0 0;
  text-align: center;
}
/***************************************************************************************************
  responsive
***************************************************************************************************/
@media screen and (width <= 1000px) {
/*
*/
#page_contact {
	width:min(100%, 600px);
  padding: 125px 4% 0 4%;
}
/*
*/
#page_contact .blk_1 h2 {
  font-size:40px;
}
#page_contact .blk_1 p {
  font-size: 12px;
  padding:15px 0 0 0;
}
#page_contact .blk_1 p br {
  display: none;
}
/*
*/
#page_contact .blk_2 {
  padding:40px 0 0 0;
}
/*
*/
#page_contact .blk_form * {
	font-size: 12px;
}
/*
*/
#page_contact .blk_input .blk_fm {
	display: block;
  margin-bottom: 20px;
}
#page_contact .blk_input .blk_fm_tit {
  display: block;
	width:auto;
  text-align: left;
  padding: 0 0 7px 0;
}
#page_contact .blk_input .blk_fm_tit p span {
  transform-origin: 0 50%;
  scale:.8;
}
#page_contact .blk_input .blk_fm_ipt input[type="text"] {
  font-size: 14px;
}
/*  */
#page_contact .blk_input .fm_content textarea {
  font-size: 14px;
}
/*  */
#page_contact .blk_input .fm_type {
  margin-bottom: 30px;
}
#page_contact .blk_input .fm_type label {
  display: block;
  line-height: 1;
  margin-bottom: 10px;
  cursor: pointer;
}
#page_contact .blk_input .fm_type label span {
  display:block;
  padding:0 0 0 26px;
}
#page_contact .blk_input .fm_type label span::before {
	width: 18px;
	height: 18px;
}
#page_contact .blk_input .fm_type label span::after {
	width: 11px;
	height: 5px;
	left:8px;
}
/*  */
#page_contact .blk_input .blk_pp {
  padding:10px 0 0 0;
}
#page_contact .blk_input .blk_pp > section {
  padding:25px 0 0 0;
}
#page_contact .blk_input .blk_pp > section h3 {
  padding:0 0 15px 0;
}
#page_contact .blk_input .blk_pp > section > section {
  padding:10px 30px 30px 30px;
}
#page_contact .blk_input .blk_pp > section > section * {
  font-size: 11px;
}
#page_contact .blk_input .blk_pp > section > section p {
  padding:7px 0 0 0;
}
#page_contact .blk_input .blk_pp > section > section dl {
  padding:7px 0 0 0;
}
#page_contact .blk_input .blk_pp > section > section dl > div {
  padding:7px 0 0 0;
}
#page_contact .blk_input .blk_pp > section > section ul {
  padding:4px 0;
}
#page_contact .blk_input .blk_consent {
  padding:20px 0 0 0;
  text-align: center;
}
#page_contact .blk_input .blk_consent label {
  display: inline-block;
  line-height: 1;
  padding:0 0 0 26px;
  cursor: pointer;
}
#page_contact .blk_input .blk_consent label::before {
	width: 18px;
	height: 18px;
}
#page_contact .blk_input .blk_consent label::after {
	width: 11px;
	height: 5px;
	left:8px;
}
/*  */
#page_contact .blk_input .blk_input_btn {
	padding:30px 0 100px 0;
}
/*
*/
#page_contact .blk_confirm > p:nth-of-type(1) {
  padding:0 0 30px 0;
}
#page_contact .blk_confirm table tbody tr {
  margin-bottom: 25px;
}
#page_contact .blk_confirm table tbody tr th {
	display:block;
	line-height: 1;
	white-space: nowrap;
}
#page_contact .blk_confirm table tbody tr th span {
  padding:0 0 0 13px;
}
#page_contact .blk_confirm table tbody tr th span::before {
  width:7px;
  height:7px;
}
#page_contact .blk_confirm table tbody tr td {
	padding:5px 0 10px 0;
  font-size: 14px;
}
/*  */
#page_contact .blk_confirm .blk_confirm_btn {
	padding:30px 0 100px 0;
}
#page_contact .blk_confirm .blk_confirm_btn .btn_return {
  width:80px;
  margin: auto 7px;
}
#page_contact .blk_confirm .blk_confirm_btn .btn_submit {
  margin: auto 7px;
}
/*
*/
#page_contact .blk_submit {
	padding:0 0 100px 0;
}
#page_contact .blk_submit > p:nth-of-type(1) {
	padding:60px 0 0 0;
}
#page_contact .blk_submit .loader {
  width: 50px;
  height: 50px;
}
/*
*/
#page_contact .blk_complate {
	padding:0 0 100px 0;
}
#page_contact .blk_complate > p:nth-of-type(1) {
	padding:30px 0 0 0;
	font-size: 14px;
}
#page_contact .blk_complate > p:nth-of-type(2) {
	padding:20px 0 0 0;
}
#page_contact .blk_complate .blk_complate_btn {
	padding:40px 0 0 0;
}
/*
*/
#page_contact .blk_error {
	padding:0 0 100px 0;
}
#page_contact .blk_error > p:nth-of-type(1) {
	padding:30px 0 0 0;
	font-size: 14px;
}
#page_contact .blk_error > p:nth-of-type(2) {
	padding:20px 0 0 0;
}
#page_contact .blk_error .blk_error_btn {
	padding:40px 0 0 0;;
}
/*  */
}
