@charset "UTF-8";
/* CSS 初期化 */

@media (max-width:600px) {
	
	/* ====== common ======= */
	html, body{
		font-size: 14px;
		min-width: 100%;
	}

	.ddf_sp{
		display: block;
	}
	.ddf_pc{
		display: none;
	}
	.left,.right{
		float: none;
	}
	.ddf_cw {
		width: 100%;
		min-width: 100%;
		text-align: center;
	}

	#ddf_gn .ddf_cw {
		padding: 0;
	}
	/* ============ mail */
	#ddf_to_mail {
		width: 100%;
		height: 50px;
		bottom: 0;
	}

	#ddf_to_mail a {
		padding: 5px;
		height: calc(100% - 10px);
	}

	#ddf_to_mail a span {
		width: 100%;
		text-align: center;
		font-size: 1.0rem;
		top: 50%;
	}

	#ddf_to_mail a img {
		top: 50%;
		height: 1.6em;
		left: calc(50% - 10em);
	}
	
	/* ============ nav ============= */
	/* ======= opend */
	.bl_sp_menu--opened .ddh_header {
		position: fixed;
	}
	#bl_menu_sp.bl_pc--hidden {
	  display: block !important;
	}
	
	#bl_menu_sp li p span {
		margin: 0;
		padding: 0;
		position: absolute;
		/*! right: 5px; */
		display: block;
		background: #1c2c58;
		width: 25px;
		height: 4px;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	#bl_menu_sp li p span:nth-child(1) {
		top: 10px;
		-webkit-transition: top .2s linear, -webkit-transform .2s linear;
		transition: top .2s linear, -webkit-transform .2s linear;
		transition: top .2s linear, transform .2s linear;
		transition: top .2s linear, transform .2s linear, -webkit-transform .2s linear;
	}
	#bl_menu_sp li p span:nth-child(2) {
		top: 19px;
		opacity: 1;
		-webkit-transition: top .2s linear, -webkit-transform .2s linear;
		transition: top .2s linear, -webkit-transform .2s linear;
		transition: top .2s linear, transform .2s linear;
		transition: top .2s linear, transform .2s linear, -webkit-transform .2s linear;
	}
	#bl_menu_sp li p span:nth-child(3) {
		top: 28px;
		-webkit-transition: top .2s linear, -webkit-transform .2s linear;
		transition: top .2s linear, -webkit-transform .2s linear;
		transition: top .2s linear, transform .2s linear;
		transition: top .2s linear, transform .2s linear, -webkit-transform .2s linear;
	}
	#bl_menu_sp li p span:last-child {
		background: none;
		height: 10px;
		display: inline-block;
		margin: 0 auto;
		position: absolute;
		text-align: center;
		color: #222222;
		top: 70%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	
	.bl_sp_menu--opened header #bl_menu_sp li p span:nth-child(1) {
		top: 16px;
		left: 12px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.bl_sp_menu--opened header #bl_menu_sp li p span:nth-child(2) {
		opacity: 0;
	}
	.bl_sp_menu--opened header #bl_menu_sp li p span:nth-child(3) {
		top: 16px;
		left: 12px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.bl_sp_menu--opened #ddf_gn {
		top: 0;
		opacity: 1;
		/* display: block; */
		border: none;
		height: calc(100% + 20px);
	}


	#ddf_gn {
		top: -100%;
		overflow-y: auto;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		/* max-height: 100%; */
		height: 100%;
		width: 100%;
		padding: 90px 0 0;
		background-color: #ffffff;
		-webkit-overflow-scrolling: touch;
		position: fixed;
		top: -100%;
		-webkit-transition: top 0.4s ease-out, opacity 0.4s ease-out;
		transition: top 0.4s ease-out, opacity 0.4s ease-out;
		left: 0;
		/* border-top: 1px solid #cccccc; */
		/* position: relative; */
		z-index: 10000;
		/* display: none; */
	}
	
	#ddf_gn:before{
		display: none;
	}

	div#container {}

	.ddf_header {
		padding: 0;
		width: 100%;
		height: 70px;
		position: fixed;
		z-index: 10010;
		top: 0;
		background: #f5f6f5;
	}

	.ddf_head_logo {
		width: 140px;
		height: 100%;
		float: none;
	}
	.ddf_head_logo a{
		width: 141px;
		overflow: hidden;
		left: 10px;
		top: 50%;
		-webkit-transform: translate(0%, -50%);
		transform: translate(0%, -50%);
		position: absolute;
	}
	.ddf_head_logo a img{
		width: 280px;
	}

	.ddf_tel_wrap {
		float: none;
		margin: 0;
		height: 100%;
		width: calc(100% - 140px);

		right: 0;
		top: 0;
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
		position: absolute;
	}

	.ddf_mail {
		display: none;
	}

	.ddf_tel_ar {
		display: none;
	}

	.ddf_tel_info {
		/* display: none; */
		float: none;
		float: none;
		width: 175px;
		height: 100%;
		/* display: inline-block; */
		position: absolute;
		right: 50px;
	}

	#ddf_head_h1 {
		display: none;
	}


	.ddf_tel_info .label {
		margin: 0;
		width: 100%;
		/* text-align: left; */
		position: absolute;
		left: 52%;
		top: 63%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		letter-spacing: 0.01em;
	}

	.ddf_tel_info .label .label_1,
	.ddf_tel_info .label .label_2 {
		padding: 0;
		color: #1a274e;
		background: none;
		float: none;
		border: none;
		font-size: 7.5px;
		line-height: 1;
		letter-spacing: 0.01em;
	}

	.ddf_tel_info .label .label_2 .label_2_time {
		padding: 0;
		font-size: 12px;
		margin: 0 0 0 5px;
	}

	.telnumber {
		width: 100%;
		position: absolute;
		left: 50%;
		top: 40%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		/* text-align: center; */
		/* padding: 5px; */
	}
	.telnumber .label_1 {
		font-size: 16px;
	}
	.telnumber .label_2 {
		font-size: 20px;
		/* position: absolute; */
		padding: 0;
		letter-spacing: 0.1em;
	}

	#ddf_gn_set01 {}

	#ddf_gn_set02 {
		position: static;
		right: auto;
		top: auto;
		width: 100%;
		text-align: left;
		overflow: hidden;
		margin: 20px 0 0;
	}

	#ddf_gn_set01 > li {
		width: 100%!important;
		float: none;
		border-bottom: 1px solid #cccccc;
		background: #1B274E;
		color: #ffffff;
	}

	#ddf_gn_set01 > li > a {
	}

	#ddf_gn_set01 > li > a > span:before{
		content: "";
		margin: 0;
		padding: 0;
		/* top: calc(50% - 10px * 1.41421356 / 2); */
		top: calc(50% - 8px);
		left: calc(100% + 1em);
		position: absolute;
		border: 1px 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);
	}

	#ddf_gn_set01 > li:nth-child(3) span:before,
	#ddf_gn_set01 > li:nth-child(4) span:before,
	#ddf_gn_set01 > li:nth-child(5) span:before,
	#ddf_gn_set01 > li:nth-child(6) span:before,
	#ddf_gn_set01 > li:nth-child(7) span:before{
		border-color: #1B274E;
	}

	#ddf_gn_set01 > li:hover > a > span:before{
		top: calc(50%);
		transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
		-o-transform: rotate(-135deg);
		-ms-transform: rotate(-135deg);
	}

	#ddf_gn_set01 > li > .ddf_gn_inner1 {
		/* position: relative; */
		top: auto;
		/* opacity: 1.0; */
		/* visibility: visible; */
		transition:  .5s all;
	}

	#ddf_gn_set01 li#ddf_gn_01 > .ddf_gn_inner1 > .ddf_gn_li,
	#ddf_gn_set01 li#ddf_gn_02 > .ddf_gn_inner1 > .ddf_gn_li {
		float: none;
		width: 100%;
		border-top: 1px solid #cccccc;
		position: relative;
	}

	#ddf_gn_set01 > li > a span {
		color: #ffffff;
		/* position: relative; */
		/* top: 50%; */
		width: auto;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	#ddf_gn_set01 > li:nth-child(3), #ddf_gn_set01 > li:nth-child(4), #ddf_gn_set01 > li:nth-child(5), #ddf_gn_set01 > li:nth-child(6), #ddf_gn_set01 > li:nth-child(7) {
		font-size: 1.3rem;
		background: #ffffff;
		color: #1B274E;
	}
	#ddf_gn_set01 > li:nth-child(3) span,
	#ddf_gn_set01 > li:nth-child(4) span,
	#ddf_gn_set01 > li:nth-child(5) span,
	#ddf_gn_set01 > li:nth-child(6) span,
	#ddf_gn_set01 > li:nth-child(7) span{
		color: #1B274E;
	}

	#ddf_gn_set01 > li.is-open > ul, #ddf_gn_set01 > li:hover > ul {
		position: relative;
	}

	#ddf_gn_set01 > li > .ddf_gn_inner1 > .ddf_gn_li > a {
		border: none;
		font-size: 1.3rem;
		padding: 0;
		height: 50px;
	}

	#ddf_gn_set01 > li > .ddf_gn_inner1 > .ddf_gn_li:hover > a {}

	#ddf_gn_set01 > li > .ddf_gn_inner1 > .ddf_gn_li:hover > .ddf_gn_inner2, #ddf_gn_set01 > li > .ddf_gn_inner1 > .ddf_gn_li.is-open > .ddf_gn_inner2 {
		position: relative;
		overflow: hidden;
		top: auto;
	}

	#ddf_gn_set01 > li > .ddf_gn_inner1 > .ddf_gn_li > .ddf_gn_inner2 {
		border: none;
	}

	#ddf_gn_set01 > li > .ddf_gn_inner1 > .ddf_gn_li > .ddf_gn_inner2 > li {
		float: left;
		width: calc((100% - 3px) / 2);
		border: 1px solid #cccccc;
		border-bottom: none;
	}

	#ddf_gn_set01 > li > .ddf_gn_inner1 > .ddf_gn_li > .ddf_gn_inner2 > li:nth-child(2n-1) {
		border-right: none;
	}

	#ddf_gn_set01 > li > .ddf_gn_inner1 > .ddf_gn_li > .ddf_gn_inner2 > li > a {}

	#ddf_gn_set01 > li > .ddf_gn_inner1 > .ddf_gn_li > .ddf_gn_inner2 > li > a:before {
		display: none;
	}

	#ddf_gn_set01 > li > .ddf_gn_inner1 > .ddf_gn_li > a:before {
		display: none;
	}

	#ddf_gn_set01 > li > .ddf_gn_inner1 > .ddf_gn_li > a > span {
		width: auto;
		word-break: keep-all;
	}
	#ddf_gn_set01 > li > .ddf_gn_inner1 > .ddf_gn_li > a > span:before{
		content: "";
		margin: 0;
		padding: 0;
		/* top: calc(50% - 10px * 1.41421356 / 2); */
		top: calc(50% - 8px);
		left: calc(100% + 1em);
		position: absolute;
		border: 1px 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);
	}

	#ddf_gn_set01 > li:nth-child(3):hover span,
	#ddf_gn_set01 > li:nth-child(4):hover span,
	#ddf_gn_set01 > li:nth-child(5):hover span,
	#ddf_gn_set01 > li:nth-child(6):hover span,
	#ddf_gn_set01 > li:nth-child(7):hover span{
		color: #1B264E;
	}

	#ddf_gn_set02 > li {
		width: 50%;
		float: left;
		display: block;
		font-size: 1.0rem;
		text-align: center;
	}
	#ddf_gn_set02 > li:after{
		display: none;
	}
	#ddf_gn_set02 > li > a{
		display: block;
		height: 50px;
		position: relative;
	}
	#ddf_gn_set02 > li > a > span{
		position: absolute;
		left: 50%;
		top: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		color: #1B264E;
	}
	#ddf_gn_set01 > li >a:before {
		display: none;
	}

	/* ============ main ============= */
	#main {
	    padding-top: 70px;
	}
	
	main, section {}
	
	.section_wrap {
		padding: 40px 20px;
	}
	
	#mv .section_wrap {
	    height: auto;
	}


	/* ============ common ============= */

	.hgroup {margin-bottom: 25px;}

	.hgroup_wrap {}

	.hgroup_wrap h1 {
		margin-bottom: 40px;
		font-size: 1.2rem;
		
	}

	.hgroup_wrap h1 span {
		padding: 5px 2px;
		border-bottom-width: 2px;
		color: #00153e;
	}

	.content_box {
		margin: 10px 0 25px;
	}

	.content_box .h2 {
		font-size: 1.4rem;
		line-height: 1.6;
		letter-spacing: 0.12rem;
	}

	.content_box .h2 > span {
		margin-top: 20px;
		font-size: 1.2rem;
		font-weight: 600;
		line-height: 1.8;
		display: block;
	}

	.content_box .h2 > span > span {font-size: 1.2rem;}

	.content_box .h2 > span > span > sup {
		font-size: 0.2rem;
	}

	.content_box .text {
		margin-top: 20px;
		text-align: left;
	}

	.hgroup p, .hgroup span, .content_box p, .content_box span {
		font-size: 1.1rem;
	}

	.content_btn.red {}

	.content_btn.red a {
		font-size: 1.4rem;
		height: 1em;
		border-bottom-width: 5px;
		padding: 15px 50px;
	}

	.content_btn.red a:after {
		top: 39%;
	}
	.service_box {
		width: 100%;
	}

	.service_p {}

	.service_box {
		float: none;
		height: auto;
		margin: 0 0 30px;
	}

	.service_box > a {
		overflow: hidden;
		padding: 0 0 20px;
		display: block;
	}

	.service_box img {}

	.service_box h3 {
		text-align: left;
		font-size: 1.4rem;
	}

	.service_box p {
		text-align: left;
		line-height: 1.4;
	}

	#footer {}

	#footer_tel {}

	#footer_tel .section_wrap {
		padding: 0;
	}

	.service_box:last-child {
		margin-bottom: 0;
	}

	.content_box {}

	.footer_tel_box {
		width: 100%;
	}

	.footer_tel_p {
		padding: 30px 0;
		font-size: 1.2rem;
	}

	.footer_tel_p > div {
		margin-top: 10px;
	}

	.footer_tel_set {}

	.tel_set {}

	.footer_tel_set .tel_set1 {
		font-size: 0.9rem;
		padding: 2px 5px;
		border-width: 1px;
	}

	.footer_tel_set .tel_set2 {
		margin-left: 2px;
	}

	.footer_tel_set .tel_set2_1 {
		font-size: 2.2rem;
		line-height: 1.0;
		font-weight: 300;
	}

	.footer_tel_set .tel_set2_2 {
		font-size: 3.0rem;
		letter-spacing: 0;
		margin-left: 2px;
		line-height: 1rem;
		font-weight: 300;
	}

	.footer_pick_box {
		width: auto!important;
		height: auto!important;
		float: none;
		margin-bottom: 8px;
		padding: 20px 10px;
	}

	#footer > #footer_pick .section_wrap {
		padding: 40px 20px;
	}

	.footer_pick_box h2 {
		font-size: 1.8rem;
		line-height: 1.6;
	}

	.footer_pick_box h2 span {
		font-size: 1.8rem;
	}

	.footer_pick_box h2 span > sup {
		/* display: none; */
	}

	.footer_pick_box p {
		font-size: 0.8rem;
		padding: 0 10px;
		line-height: 1.6;
		/* position: static; */
	}
	.footer_pick_box:nth-child(4) p{
		position: static;
	}



	.footer_pick_box:nth-child(1) img{
		margin: -40px 0 -20px;
	}
	.footer_pick_box:nth-child(2) img{
		margin: -20px 0 -30px;
	}

	.footer_pick_box:nth-child(4) h2, .footer_pick_box:nth-child(5) h2 {
		position: static;
		transform: none;
		text-align: center;
	}

	.footer_pick_box:nth-child(4) img, .footer_pick_box:nth-child(5) img {
		position: static;
		transform: none;
	}

	.footer_pick_box:nth-child(5) p {
		position: static;
		width: auto;
		transform: none;
	}

	.footer_content_p {
		text-align: left;
		margin-bottom: 20px;
	}

	.footer_service_flow {}

	.flow_box {
		margin: 0 auto 50px;
		padding: 70px 0 20px;
		height: auto;
		width: 300px;
		background: #1B274E;
	}

	.flow_box span {
		width: 160px;
		color: #fff;
		position: absolute;
		top: 60%;
		left: 70%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	.flow_box:before {
		width: 0;
		height: 0;
		border: 100px solid transparent;
		border-top: 50px solid #ccc;
		left: 0;
		top: 100%;
		border: 150px solid transparent;
		border-top: 40px solid #1B274E;
		right: auto;
		left: 0;
		top: 100%;
		background: none;
	}

	.flow_box:after {
		content: "";
		width: 65px;
		height: 60px;
		position: absolute;
		top: 55%;
		left: 20%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		background: url(/assets/images/ddf_flow_iconlist_sp.png) no-repeat left top;
	}

	.flow_box:nth-child(1)::after {

	}

	.flow_box:nth-child(2)::after {
		background-position: 0 -60px;
		height: 26px;
	}

	.flow_box:nth-child(3)::after {
		background-position: 0 -86px;
		height: 49px;
	}

	.flow_box:nth-child(4)::after {
		background-position: 0 -135px;
		height: 38px;
	}

	.flow_box:nth-child(5)::after {
		background-position: 0 -173px;
		height: 55px;
	}

	.footer_content_p.cus_p {
		margin-bottom: 20px;
		padding: 5px 10px;
		width: auto;
		text-align: left;
	}

	.footer_content_p.cus_p span {
		font-size: 1.2rem;
		line-height: 1.8rem;
		display: block;
	}

	.footer_cus {
		margin-top: 0;
	}

	.cus_box {
		margin-bottom: 25px;
	}

	.cus_box h1 {
		text-align: left;
	}

	.cus_box h1:before {
		border-width: 7px;
		margin-right: 5px;
	}

	.cus_box p {
		text-align: left;
		line-height: 1.4;
	}

	.footer_content_p.spe_p1 {
		margin-bottom: 20px;
		padding: 5px 10px;
		width: auto;
		text-align: left;
	}

	.footer_content_p.spe_p1 span {
		font-size: 1.2rem;
		line-height: 1.8rem;
		display: block;
	}

	.footer_table.spe_table {
		display: none;
	}

	.footer_logo {
		width: 100%;
		max-width: 320px;
	}

	#footer_comp .content_box > p {
		margin: 10px;
	}

	#footer_gr .section_wrap {
		padding: 35px 0 25px;
	}

	#footer_gr .content_box {}

	.service.list {}

	.service.list > li {
		display: block;
		margin-bottom: 20px;
	}

	.service.list > li > a {
		text-align: left;
		width: 200px;
		margin: 0 auto;
	}

	.service.list > li > a img {
		margin: 0 auto;
		/* text-align: left; */
		display: inline-block;
	}

	#ddf_footer_idf .section_wrap a {}

	#ddf_footer_idf .section_wrap p {}

	#ddf_footer_cr {}

	#ddf_footer_cr .section_wrap p {}

}


	
@media (max-width:321px) {

	html, body {
		font-size: 12px;
	}

	.section_wrap {
		padding: 30px 10px;
	}
	
	.ddf_header {height: 60px;}
	#main {padding-top: 60px;}
	.ddf_head_logo {width: 110px;}
	.ddf_head_logo a img {width: 220px;}
	.ddf_head_logo a {width: 100px;}
	.ddf_tel_wrap {width: calc(100% - 110px);}
	.telnumber .label_2 {font-size: 1.2rem;}
	.telnumber .label_1 {font-size: 1.2rem;}
	.telnumber {
	left: 53%;
	text-align: left;
	}
	.ddf_tel_info {width: 160px;}
	.ddf_tel_info .label .label_2 .label_2_time {font-size: 0.8rem;}
	.ddf_tel_info .label .label_1, .ddf_tel_info .label .label_2 {font-size: 0.6rem;}
	
	a.tel_set2 {}

	.footer_tel_set .tel_set2_2 {
		font-size: 2.3rem;
	}

	.footer_tel_set .tel_set2_1 {
		font-size: 1.6rem;
	}

	.footer_tel_set .tel_set1 {
		font-size: 0.6rem;
	}

	.footer_tel_p {
		font-size: 1.0rem;
	}

	.footer_pick_box img {
		width: 90%;
		height: auto;
	}

	.footer_pick_box h2 {
		font-size: 1.6rem;
	}

}