@charset "UTF-8";

/* ============ contact */
/* ====== main visual */


#set1 section#contact1 {
    margin: 0;
    padding: 0;
/*     background: url(/assets/images/about/ddf_about1_bg.png) #000b0c no-repeat right bottom; */
	background: #ffffff;
    background-size: contain;
}
/* ====== contact */

.text{
    font-size: 1.0rem;
}
.small {
    
}

#set1 section:nth-child(2n-1) {
    background: #eeeeee;
}

#contact1 .content_box .h2 {
    display: block;
    background: #0d1b38;
    line-height: 1.0;
    font-size: 1.0rem;
    padding: 12px 0;
    margin: 0 0 20px;
}

#contact1 .content_box .h2 span{
    color: #1b274e;
    font-size: 2.0rem;
    font-weight: 300;
    vertical-align: middle;
}



#contact1 .hgroup_wrap h1 span {
    color: #1b274e;
    border-bottom-color: #1b274e;
}

#contact1 .hgroup_wrap p,
#contact1 .hgroup_wrap p span {
    color: #1b274e;
}

#contact1 .hgroup_wrap p > span{
}
#contact1 .hgroup_wrap p > span > span{
    /* display: block; */
    /* font-size: 1.2rem; */
    position: relative;
}
#contact1 .hgroup_wrap p > span > span > sup{
	position: absolute;
	right: 0;
	bottom: 100%;
	font-size: 0.8rem;
}

#contact1 .content_box {
    padding: 60px 45px;
}

#contact1 .content_box .text {
    text-align: left;
}

#contact1 .content_box .text p {
    font-size: 1.145rem;
}

#contact1 .content_box .text p.point {
	margin: 10px 0 0;
	font-size: 1.0rem;
}
/* 
#contact1 .section_wrap,
#contact2 .section_wrap,
#contact3 .section_wrap,
#contact4 .section_wrap,
#contact5 .section_wrap {
    padding: 100px 0 150px;
} */


/* =================== test =================== */


.call_box {
    overflow: hidden;
    margin: 0 auto;
    width: 600px;
    text-align: center;
}
.call_box_inner {
    overflow: hidden;
    margin-bottom: 10px;
}
.tel_arrow{
    background: #1b274e;
    color: #fff;
    padding: 10px;
    float: left;
    margin-right: 30px;
    line-height: 1.5em;
    position: relative;
    text-align: left;
}
.tel_arrow > span{
    color: #fff;
}
.tel_arrow:after{
    content: "";
    height: 0;
    border-style: solid;
    border-width: 32px 0 37px 13px;
    border-color: transparent transparent transparent #1b274e;
    left: 100%;
    top: 0px;
    position: absolute;
}
.tel_number{
    float: left;
    /* display: inline-block; */
}

.tel_number > a{
    color: #1b274e;
    display: block;
    font-family: "din-condensed";
}

.tel_number > a > span{
    font-weight: bold;
    font-size: 4.37rem;
    padding-left: 5px;
    letter-spacing: 0.07em;
    line-height: 1.0;
    padding: 0;
}
#contact1 .content_box > h2{
    text-align: center;
    margin-bottom: 80px;
    margin-bottom: 25px;
}
#contact1 .content_box > h2 > span {
    font-size: 1.5rem;
    font-weight: bold;
}
#contact1 .content_box > .text > p {
    text-align: center;
    font-size: 1.1rem;
}

#contact1 .section_wrap .content_box:nth-child(2){
    margin-top: 0;
    padding-top: 0;
}

#contact1 .section_wrap .content_box:nth-child(2),
#contact1 .section_wrap .content_box:nth-child(3) {
    margin-bottom: 0;
    padding-bottom: 0;
}

#contact1 .section_wrap .content_box:nth-child(4){
    margin-top: 0;
    /* padding-top: 0; */
    padding: 0;
}







/* =================== test =================== */

.ddh_form_content_ttl h3 {
    font-size:  24px;
    font-weight:  bold;
    margin-bottom: 25px;
}

.ddh_form_content_ttl {
    text-align:  center;
    margin-bottom: 80px;
}

.ddh_form_content_ttl p {
    font-size:  16px;
}
#contact1 .ddh_form_tag1,
#contact1 .ddh_form_tag2 {
    margin-right: 10px;
    color: #fff;
    padding:  8px 0;
    border-radius: 4px;
    display: inline-block;
    letter-spacing: -0.40em;
    font-size: 22px;
    text-indent: -0.6em;
    width: 120px;
    text-align: center;
}
.ddh_form_tag1 {
    background:  #B1B1B1;
}

.ddh_form_tag2 {
    background: #0d1b38;
}

.ddh_form_content {
	display:  table;
	margin-bottom: 30px;
	position: relative;
/* 	overflow: hidden; */
	width: 100%;
	}

.ddh_form_content_inner {
	border-top: 1px solid;
	padding: 40px 0;
	margin-top: 40px;
	border-bottom: 1px solid;
	}

.ddh_form_content input,
.ddh_form_content textarea,
.ddh_form_content select {
    background:  #EFEFEF;
    border: 1px solid #999999;
    border-radius: 4px;
    font-size: 1em;
	
}

.ddh_form_content input {
    height: 44px;
    padding-left: 0px;
	width: 100%;
	margin-top: 10px;
	margin-bottom: 10px;
}
.ddh_form_content select {
    height: 44px;
    padding-left: 13px;
	width: 100%;
}
.ddh_form_content select option {
    color: #181818;
}
.ddh_form_content input:placeholder-shown,
.ddh_form_content textarea:placeholder-shown{
    color: #181818;
}
.ddh_form_length1 {
    width: 710px;
}
.ddh_form_length4 {
    width: 296px;
}

.ddh_form_length5 {
    width:  150px;
}

.ddh_form_length2 {
    width:  586px;
}

.ddh_form_length3 {
    width: 453px;
}
.ddh_form_label {
    width: auto;
    display: inline-block;
    font-size: 16px;
}
:placeholder-shown {
    font-size: 18px;
    color:  #666666;
}

.ddh_form_content textarea {
    padding: 12px 0 0 14px;
    width: 650px;
    height: 150px;
}

.ddh_form_content_inner1,.ddh_form_content_inner2 {
   /*! position: absolute; */
   /*! top: 50%; */
   /*! left: 0%; */
   /*! -webkit-transform: translate(0%, -50%); */
   /*! transform: translate(0%, -50%); */
   display: table-cell;
   top: 0;
   width: 290px;
   vertical-align: top;
   padding-top: 0.5em;
   vertical-align: middle;
}

.ddh_form_content_inner2 {
  margin-left: 303px;
  display: table-cell;
  width: calc(100% - 280px);
}
.ddh_form_address {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
  display: block;
}

#email {
  margin-bottom: 20px;
}
.ddh_form_caution_wrap {
  margin: 50px auto;
}
.ddh_form_caution_wrap ul {
  margin: 0 auto 50px;
  width: 830px;
}

.ddh_form_caution_wrap ul li{
  margin-bottom: 20px;
}

.ddh_form_caution_txtbox {
  border: 1px solid #000;
  padding: 50px 60px;
  height: 200px;
  overflow-y: scroll;
}
.ddh_form_caution_txtbox_inner {
    text-align: left;
    margin-bottom: 50px;
}
.ddh_form_check {
  margin: 30px auto 0;
}

#ddh_form_confirm .ddh_form_content {
  margin: 0;
  padding: 20px 0;
  border-bottom: 1px dashed #cccccc;
}
#ddh_form_confirm .ddh_form_address {
  margin: 30px 0 0;
}
#ddh_form_confirm .ddh_form_content_inner1,
#ddh_form_confirm .ddh_form_content_inner2 {
  padding: 0;
}

.ddh_form_contact_ttl2 {
  	text-align: center;
}
.ddh_form_contact_ttl2 .ddh_form_content_ttl {
  display: inline-block;
  margin:0 10px;
}


.ddh_btn.green {
    display:  block;
    background: #b20000;
    color: #fff;
    width: 330px;
    height: 90px;
    text-align:  center;
    margin: 60px auto 0;
    vertical-align: bottom;
    padding: 20px 0 15px;
    border-bottom: 8px solid #770002;
    font-weight:  bold;
    position:  relative;
    font-family:  "din-condensed";
    font-size: 26px;
    letter-spacing:  0.05em;
	border-radius: 15px;
}
.ddh_btn.green:hover{
	 opacity: 0.95;
     border-bottom: 8px solid #770002;
     margin: 65px auto -5px;
}


.ddh_btn.green::after {
    content: "";
    margin: 0;
    padding: 0;
    /* top: calc(50% - 10px * 1.41421356 / 2); */
    top: 44%;
    right: 20px;
    position: absolute;
    border: 3px solid #ffffff;
    border-left: none;
    border-top: none;
    height: 10px;
    width: 10px;
    transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
}

/*
button.ddh_btn.green {
  margin: 30px auto 0;
  height: 80px;
  padding: 0 50px;
  border-right: none;
  border-left: none;
  cursor: pointer;
  outline: none;
  ! appearance: none; 
  display: block;
  width: auto;
  line-height: 3.0;
  vertical-align: unset;
}
*/
@media (min-width:600px) {
	.ddh_form_contact_ttl2 {
		display: flex;
		vertical-align: middle;
		justify-content: center;
	}

	
}

/* ============ ddh */
@media (max-width:600px) {

	.ddh_form_content_wrap {
		margin-top: 20px;
		padding: 15px;
		width: auto;
	}

	.ddh_form_content_ttl {
		margin-bottom: 40px;
	}

	.ddh_form_content_ttl h3 {
		font-size: 15px;
		margin-bottom: 10px;
	}

	.ddh_form_content_ttl p {
		font-size: 13px;
		line-height: 1.6;
		letter-spacing: 0.01em;
	}

	.ddh_form_content_inner {
		padding: 20px 0;
	}

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

	.ddh_form_content_inner1, .ddh_form_content_inner2 {
		display: block;
		width: 100%;
		padding-top: 0.8em;
		text-align: left;
	}

	.ddh_form_content_inner2 {
		margin: 0;
	}

	.ddh_form_content input {
		width: calc(100% - 5px);
        display: block;
        height: 35px;
        font-size: 12px;
	}

	.ddh_form_tag1,.ddh_form_tag2 {
		font-size: 12px;
		padding: 7px 0;
		margin-right: 10px;
		width: 49px;
	}

	.ddh_form_label {
		font-size: 13px;
		font-weight: 600;
	}

	.ddh_form_content_inner2 label {
		display: inline-block;
		margin-right: 5px;
	}

	.ddh_form_content_type2 
	 input {
		display: inline-block;
		width: calc(50% - 4em);
	}

	span.ddh_form_validate {
		display: none;
	}

	span.ddh_form_address {
		font-size: 14px;
		text-align: left;
		margin-top: 30px;
	}

	input#zip1,input#zip2 {
		width: calc(50% - 2.6em);
		display: inline-block;
	}

	input#zip2 {}

	.ddh_form_content textarea {
		width: calc(100% - 20px);
		font-size: 12px;
	}

	.ddh_form_caution_wrap ul {
		width: 100%;
	}

	.ddh_form_caution_wrap ul li {
		text-align: left;
		font-size: 12px;
		line-height: 1.5;
		margin-bottom: 5px;
	}

	.ddh_form_caution_wrap {
		margin-top: 20px;
	}

	.ddh_form_caution_txtbox {
		padding: 20px 15px;
		height: 300px;
	}

	.ddh_form_caution_txtbox_inner span {
		margin: 2em 0 0.4em;
		font-size: 13px;
		line-height: 1.8em;
	}

	.ddh_form_caution_txtbox_inner span:first-child {
		margin-top: 0;
	}

	.ddh_form_caution_txtbox_inner {
		margin: 0;
	}

	.ddh_form_content_ttl button.ddh_btn.green,
	.ddh_form_content_ttl input.ddh_btn.green{
		height: 60px!important;
		width: 150px!important;
		font-size: 14px!important;
		border-radius: 11px!important;
		margin: 12px auto 0;
		padding-top: 5px!important;
		padding-bottom: 0!important;
	}

	#contact1 .content_box {
		padding: 20px 0px;
	}

	.tel_number > a > span {
		font-size: 2.6rem;
		letter-spacing: 0.01rem;
		padding-left: 1px;
	}

	.tel_number {
		display: inline-block;
		float: none;
	}

	.content_box .tel_arrow > span {
		font-size: 0.8rem;
	}

	.tel_arrow {
		padding: 5px;
		line-height: 1.2;
		margin-right: 10px;
		display: inline-block;
		float: none;
	}

	.tel_arrow:after {
		border-width: 21px 0 21px 10px;
	}

	.call_box {
		width: auto;
	}

	.call_box_inner {
		text-align: center;
	}
}
.bc_bg{
	background-color: #FFFFFF;}
	
.option_area {
    width: 98%;
    margin: 10px auto;
}
html { scroll-behavior: smooth;}
	
.option_body {
    background: #fff;
    border: #333 solid 2px;
    border-radius: 6px;
    text-align: left;
    padding: 18px 20px 16px;
    font-size: 18px;
    line-height: 1.8em;
    font-feature-settings: "palt";
    letter-spacing: 0.4px;
}
.section_wrap {
    padding: 100px 80px 90px!important;
}
	.bg-gray h1,
	.bg-gray h2,
	.bg-gray p{
		text-align: center;
	}
	.bg-gray h1{
		padding-top: 30px;
		font-size: 28px;
		margin-top: 10px;
		line-height: 1;
		font-weight: bold;
		margin: 10px 0;
	}
	.bg-gray h2{
		padding-top: 25px;
		font-size: 25px;
		margin-top: 20px;
		line-height: 1;
		font-weight: bold;
		margin-bottom: 10px;
	}
	.bg-gray h2 span{
		font-weight: 400;
		font-size: 19px;
/*
		background: -webkit-linear-gradient(transparent 75%, #6f6 60%);
		background: -o-linear-gradient(transparent 75%, #6f6 60%);
		background: linear-gradient(transparent 75%, #6f6 60%);
*/
	}
	
	.bg-gray p{
		padding-bottom: 16px;
    	margin-bottom: 16px;
		font-weight: 200;
		line-height: 2;
	}

	a.formtop {
		width: auto;
		text-align: left;
		display: block;
		margin: 8px auto;
		color: #fff;
		background-color: #b20000;
		box-shadow: 8px 6px 13px rgb(0 0 0 / 30%);
		max-width: 70%;
		padding: 2vw 0 1.7vw;
		position: relative;
		display: block;
		overflow: hidden;
		border: 4px solid #fff;
	}

	a.formtop:hover {
	  opacity: 1!important;
	}

	
	a.formtop:hover::before {
		position: absolute;
		content: '';
		display: inline-block;
		top: -180px;
		left: 0;
		width: 100px;
		height: 100%;
		background-color: #fff;
		animation: shiny-btn1 2s ease-out infinite;
	}
	@-webkit-keyframes shiny-btn1 {
		0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
		20% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
		21% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
		50% { -webkit-transform: scale(30) rotate(45deg); opacity: 0.5; }
		100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
	}
		span.chushaku{
			color: #b20000;
			font-weight: bold;
			margin-top: 10px;
		}
	
/*
	a.formtop:hover{
		opacity: 1!important;

		animation: poyopoyo 3s ease-out infinite;
	}
*/

	a.formtop h3{
		text-align: center;
		color: #fff;
		font-weight: bold;
		border: 3px solid #fff;
		width: 87%;
		margin: 0 auto 12px;
		padding: 3px;
		letter-spacing: 2px;
   		font-size: 21px;
	}

#contact1 .content_box {
    padding: 0 45px!important;
}

	
	.tel_form{
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
	}
	.tel_form img{
		width: 140px;
		height: 140px;
		margin-right: 20px;
	}
	.tel_form span#phone_number_holder_0 {
		font-weight: bold;
		font-size: 96px;
		line-height: 1;
	}
	font.short{
		font-size: 33px;
	}
	.pop_task {
		position: fixed;
		display: flex;
		top: 71%;
		right: 7%;
		width: 210px;
		height: 210px;
		background: #1A294C;
		border-radius: 50%;
		align-items: center;
		justify-content: center;
		z-index: 99;
		box-shadow: 6px 6px 13px rgb(0 0 0 / 10%);
	}

	a.circle .pop_task:hover{
		opacity: 1!important;
		box-shadow: 8px 6px 13px rgb(0 0 0 / 30%);
		transform: scale(1.05);
		z-index: 99;
		transition: .7s;
	}
	a.circle:hover{
		opacity: 1!important;
	}
	
	.form_flow {
		display: flex;
		padding: 28px 20px 0;
		align-items: center;
		justify-content: center;
	}
	.form_flow_t {
		display: flex;
		width: 140px;
		height: 50px;
		margin: 0 40px;
		font-size: 20px;
		font-weight: 600;
		border: 2px solid #b20000;
		align-items: center;
		justify-content: center;
		color: #b20000;
	}
	.form_flow_t.active {
		color: #FFF;
		background: #b20000;
	}
	.form_flow img {
		vertical-align: bottom;
		width: 30px;
	}

	@media(max-width:600px){
		.ddh_form_content select {
			width: 100%;
		}
		#contact1 .content_box {
			padding: 0 3px!important;
		}
		.bg-gray h1 {
			padding-top: 22px;
			font-size: 25px;
			margin-top: 15px;
			margin-bottom: 7px;
		}
		.bg-gray p {
			padding-bottom: 16px;
			font-size: 13px;
		}
		a.formtop{
			width: 80%;
			padding: 6px 20px 10px;
			margin: 10px auto;
			border-radius: 15px;
    		box-shadow: 0 8px 1px #750000, 0 4px 0px -5px #750000;
			border: none;
		}
		a.formtop h3 {
			border: none;
			font-weight: 500;
			border-bottom: 1px solid #fff!important;
			width: 100%;
			margin: 0 auto;
			padding: 1px;
			font-size: 13px;
		}
		a.formtop::before{
			animation: shiny-btn1 2s ease-out infinite;
		}
		font.short {
			font-size: 16px;
		}
		.tel_form span#phone_number_holder_0 {
			font-size: 7vw;
			line-height: 1.1;
			margin-top: 3vw;
		}
		.tel_form img {
			width: 60px;
			height: 60px;
			margin-right: 2vw;
		}
		.section_wrap {
			padding: 10px 20px!important;
		}
		.bg-gray h2 {
			padding-top: 26px;
			font-size: 18px;
			margin-top: 15px;
			margin-bottom: 15px;
		}
		.form_flow {
			padding: 20px 3px 0;
		}
		.form_flow_t {
			display: flex;
			width: 140px;
			height: 35px;
			margin: 0 10px;
			font-size: 15px;
		}
		.form_flow img {
			width: 40px;
		}
		.pop_task{
			width: 90px;
			height: 90px;
			top: 77%;
			left: 2%;
		}
		.pop_task p {
			font-size: 12px;
			letter-spacing: 2px;
		}
		.pop_task p font {
			font-size: 20px;
		}
		.option_body {
			font-size: 14px;
		}
		.ddh_form_caution_wrap ul {
			width: 93%!important;
			padding-left: 0!important;
		}
		a.formtop::before {
			position: absolute;
			content: '';
			display: inline-block;
			top: -180px;
			left: 0;
			width: 100px;
			height: 100%;
			background-color: #fff;
			animation: shiny-btn1 3s ease-out infinite;
		}

		
	}