/* Global Styling */



#hero-section {
    background: url('img/hero-img.webp') center center / cover no-repeat;
}




/* セクションのスタイル */



h2, h3{
	font-family: "Shippori Mincho B1";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 800;
	line-height: 160%; /* 44.8px */
	letter-spacing: 0.1rem;
}



/*送信完了
-------------------------*/
#complete .center{
	justify-content: center;
	display: flex;
	margin-top: 60px;
}



/* 共通のFlexboxスタイル */
/* セクション1 form
-----------------------------------------------*/

.form-section{
	
}

.form-text{
	padding: 0 20.6%;
}

/* step-tab
-------------------------*/
.tab-container{
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 20px;
	align-self: stretch;
	border-bottom: 2px solid #000;
	justify-content: center;
  	margin:70px 0 60px;
}
.tab{
	font-weight: 700;
	color: #000;
	text-align: center;
	
	display: flex;
	padding: 10px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	width: 220px;
	background: #F5F5F5;
}
.tab.active{
	color: #FFF;
	background: #3B3333;
}


/*form*
-------------------------*/
.detail_wrap.formpage_wrap{
	padding: 0 20.6%;
}
.form-wrap {
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-self: stretch;
}
.detail_section {
    width: 95%;
    margin: auto;
    /*! padding: 40px 0 70px; */
    min-height: calc(100svh - 546px);
}
.progressbar {
  display: flex;
  flex-wrap: wrap;
  max-width: 800px;
  margin: 30px auto;
  font-size: 1.25rem;
}
.progressbar .item {
    position: relative;
    width: 33%;
    text-align: center;
    align-items: center;
    justify-content: center;
    padding: 13px 0;
    line-height: 1.5;
    background: #F5F5F5;
    color: #999999;
}
.progressbar .item:first-child {
    border-radius: 9px 0 0 9px;
}
.progressbar .item:last-child {
    border-radius: 0 9px 9px 0;
}
.progressbar .item:not(:last-child)::before,
.progressbar .item:not(:last-child)::after {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 100%;
    content: '';
    border: 31px solid transparent;
    border-left: 23px solid #F5F5F5;
    margin: auto;
}
.progressbar .item:not(:last-child)::before {
    margin-left: 1px;
    border-left-color: #FFF;
}



/*policy
-------------------------------------*/
#policy .head {
    padding: 0 0 3rem;
}
.policy-wrap  {
    padding: 0 1rem 15rem;
}
.policy-wrap p {
    font-size: 1.2rem;
    padding: 0 1.6rem;  
}
.policy-wrap .text {
    margin-bottom: 3rem;
}
.policy-wrap .policy-list li {
    margin-bottom: 4rem;
}
.policy-wrap .title {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    padding: 0 1.5rem;
    position: relative;
    background: #c3d7cb;
    z-index: -1;
}



@media screen and (max-width: 767px) {
		.progressbar .item {
			font-size: 11px;
			line-height: 1.4;
			padding: 10px 0;
		}
		.progressbar .item:not(:last-child)::before,
		.progressbar .item:not(:last-child)::after {
			border-width: 25px;
			border-left-width: 12px;
		}
	}

	.progressbar .item.active {
		z-index: 1;
		background: #2980B9;
		color: #FFF;
	}
	.progressbar .item.active:not(:last-child)::after {
		border-left-color: #2980B9;
	}
	.progressbar .item.active:not(:last-child)::before {
		border-left: none;
	}

	.form-dl_wrap label {
	  display: flex;
	  justify-content: center;
	  gap: 12px;
	  align-items: center;
	}

	.form-dl_wrap dt {
		width: 260px;
		align-items: center;
		gap: 10px;
		flex-shrink: 0;
	}
	.form-dl_wrap dt p{
		display: flex;
		justify-content: flex-start;
		gap:10px;
	}

	.form-dl_wrap {
		flex-direction: row;
		align-items: center;
		gap:20px;

	}
	.full_dt {
		width: 100%;
	}
	.form-dl_wrap dd {
		width: 100%;
	}
	.form_btn_wrap {
		margin-top: 80px;
	}
	.form_btn_wrap dd p {
	  display: flex;
	  width: 100%;
	}
	.form_btn_wrap input {
		display: flex;
		width: 186px;
		height: 70px;
		padding: 10px 20px;
		justify-content: center;
		align-items: center;
		gap: 10px;
		background: #414141;
		font-size: 1rem;
		color: #fff;
		border: none;
	}
	input[type="text"] {
		width: 100%!important; 
		box-sizing: border-box; 
	}
	.form-wrap select {
		border: 1px solid #000;
		background: #FFF;
		display: flex;
		padding: 10px;
		justify-content: flex-end;
		align-items: center;
		gap: 10px;
		width: 80px;
	}
	.form-wrap .custom-select {
	}
	.select-arrow .wpcf7-form-control-wrap:after {
		content: "\025bc";
		position: absolute;
		color: #8cbd9e;
		right: 6px;
		top: 50%;
		transform: translateY(-50%);
	}
	.wpcf7-list-item {
		display: flex!important;
		margin: 0!important;
		align-items: center;
		gap: 8px;
	}
	.return {
		background: #8b8b8b;
	}
	.wpcf7-submit {
		background: #2980B9;
	}

	.wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required {
		display: flex;
		flex-wrap: wrap;
		gap:12px;
	}

	.wpcf7-form-control.wpcf7-radio {
	  display: flex;
	  flex-direction: row;
	  gap: 12px;
	}

	.form-dl_wrap input, .form-dl_wrap textarea {
		border: 1px solid #000;
		background: #FFF;
		display: flex;
		padding: 10px;
		align-items: center;
		gap: 10px;
	}
	.form_btn_wrap p {
		display: flex;
		gap: 16px;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}
	dd p {
	  display: flex;
	  gap: 20px;
	}

	.wpcf7-spinner {
		display: none;
	}
	.required {
		background: #A7476A;
		padding: 0 8px;
		color: #fff;
		font-size: 0.75rem;
		display: flex;
		flex-shrink: 0;
		align-items: center;
		height: 25px;
	}
	.modalArea {
		display: none;
		position: fixed;
		z-index: 10;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.modalBg {
		width: 100%;
		height: 100%;
		background-color: rgba(30,30,30,0.9);
	}
	.modalWrapper {
		position: absolute;
		top: 50%;
		left: 50%;
		transform:translate(-50%,-50%);
		width: 90%;
		max-width: 1000px;
		padding: 10px 30px;
		background-color: #fff;
		height: 70svh;
		overflow: auto;
	}
	.customModalWrapper {
	  width: 70%;
	  max-width: 450px;
	  padding: 55px 15px 15px;
	  height: auto;
	}
	.closeModal {
		position: absolute;
		top: 0.5rem;
		right: 1.5rem;
		cursor: pointer;
		font-size: 40px;
		font-weight: normal;
	} 
	/* 以下ボタンスタイル */
	.modalopen-btn, .accept_btn p {
		font-size: 1.8rem;
	}
	.modalopen-btn button {
		padding: 10px  16px;
		background-color: #d42e69;
		border-radius: 7px;
		cursor: pointer;
		color: #fff;
		gap: 10px;
	}
	.modalopen-btn button:after {
		content: '';
		width: 11px;
		height: 11px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
		line-height: 1.5;
	}


/* 20241019
--------------------------*/
.nen-tuki {
  flex-direction: row;
	gap:20px;
}

.form-wrap select{
	width: 156px;
}

select[name="birth-month"],
select[name="birth-day"]{
	width: 100px;
}

.form-dl_wrap dd {
  width: auto;
}

.wpcf7-spinner::before{
	display: none!important;
}

.form_btn_wrap {
  margin-top: 80px;
  position: relative;
  justify-content: center;
  flex-direction: row;
}
.form_btn_wrap p {
  display: flex;
  width: 186px;
  height: 0;
  padding: 10px 20px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: #414141;
  font-size: 1rem;
  color: #fff;
  border: none;
	position: relative;
}

.svg-form1 {
  height: auto;
  width: auto;
  position: absolute;
  right: 10%;
	top: 0px;
}

.form_btn_wrap input{
	padding: 0;
	line-height: 70px;
}
.form_btn_wrap input{
	background: #414141;
}
.form_btn_wrap input:hover {
  background: #a1a1a1;
  cursor: pointer;
}



/*  20241103
--------------------------*/
.wpcf7 input[type="text"],
.wpcf7 input[type="url"], 
.wpcf7 input[type="email"], 
.wpcf7 input[type="tel"],
textarea.wpcf7-form-control.wpcf7-textarea{
	width: 504px!important;
}


/*レスポンシブ
===========================================*/
@media screen and (max-width: 1060px) {
	
	.form-dl_wrap{
		flex-direction: column;
		align-items: self-start;
	}
	
	.form-wrap select{
		width: 256px;
	}
	
	select[name="birth-month"],
	select[name="birth-day"]{
		width: 100px;
	}
	.nen-tuki {
	  flex-direction: row;
	  justify-content: center;
	  gap: 20px;
	}
	
	.detail_wrap.formpage_wrap {
	  padding: 0 6.15%;
	}
	
	.wpcf7-form-control.wpcf7-textarea {
	  width: 100%;
	  height: auto;
	}
	
	.tab-container{
		gap:8px;
	}
	.tab{
		gap: 10px;
  		width: 109px;
	}
	.form-text {
    	padding: 0 6.15%;
  	}
	
	.tab {
    	gap: 10px;
  	}
	
	 .tab-container{
    	gap: 8px;
  	}
	
		/*  20241103
	--------------------------*/
	.wpcf7 input[type="text"],
	.wpcf7 input[type="url"], 
	.wpcf7 input[type="email"], 
	.wpcf7 input[type="tel"],
	textarea.wpcf7-form-control.wpcf7-textarea{
		width: 100%!important;
	}
	



}/*@media screen and (max-width: 768px) */