@charset "UTF-8";

/* ヘッダー */
header {
	width: 100%;
	margin: 0 auto;
	padding-top: 130px;
}
header .inner {
	margin: 0 auto;
}
header .logo{
	margin: 0 auto;
	text-align: center;
}


@media print, screen and (max-width: 768px) {
header .logo img {
	max-width: 60vw;
}
}

@media print, screen and (max-width: 420px) {

}

/*sec-what*/
#sec-what {
	max-width: 1090px;
	margin-left: auto;
	margin-right: auto;
	margin-top: -50px;
	margin-bottom: 100px;
}
.bg_white-1 {
	background: url("../img/bg_white_tie1.png") no-repeat center center #fff;
	background-size: contain;
	margin: 0 auto;
	border-radius: 21% 26% 27% 18% / 54% 49% 45% 34% ;
	padding-top: 50px;
	padding-bottom: 50px;
	
}
.h2_what {
	position: relative;
	height: 50px;
}
.h2_what img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
 	 -webkit- transform: translateY(-50%) translateX(-50%);
	margin: auto;
}
.h2_what::after {
  position: absolute;
  content: '';
  display: block;
  width: 100%;/*幅*/
  height: 160px;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background: url(../img/title_pic01.png) no-repeat 85%;
  background-size: contain;
	top: 0%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
 	 -webkit- transform: translateY(-50%) translateX(-50%);
	margin: auto;
}


@media print, screen and (max-width: 768px) {
#sec-what {
	margin-top: 50px;
}
.bg_white-1 {
	background: #fff;
	border-radius: 26% 61% 40% 50% / 11% 4% 2% 10%;
	padding-top: 20px;
	padding-bottom: 50px;
	
}
.h2_what {
	height: 210px;
}
.h2_what img {
	position: static;
	top:auto;
	left: auto;
	transform: none;
	margin: 0 auto;
}
.h2_what::after {
  display: none;/**/
}

.h2_what::before {
  content: '';
  display: block;
  width: 100%;/*幅*/
  height: 150px;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background: url(../img/title_pic01.png) no-repeat center;
  background-size: contain;
	margin: 0 auto;
}
	
}

/*sec-happy*/
#sec-happy {
	max-width: 1090px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 60px;
}
.bg_white-2 {
	background: url("../img/bg_white_tie2.png") no-repeat center center #fff;
	background-size: contain;
	border-radius: 39% 42% 35% 49% / 42% 41% 53% 52% ;
	padding-top: 50px;
	padding-bottom: 100px;
	
}
.h2_happy {
	position: relative;
	height: 100px;
}
.h2_happy img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
 	 -webkit- transform: translateY(-50%) translateX(-50%);
	margin: auto;
}
.h2_happy::before {
  position: absolute;
  content: '';
  display: block;
  width: 100%;/*幅*/
  height: 160px;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background: url(../img/title_pic02.png) no-repeat 10%;
  background-size: contain;
	top: 10%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
 	 -webkit- transform: translateY(-50%) translateX(-50%);
	margin: auto;
}

@media print, screen and (max-width: 768px) {
#sec-happy {
}
.bg_white-2 {
	background: #fff;
	border-radius: 50% 40% 40% 50% / 5% 2% 4% 6%;
	padding-top: 10px;
    padding-bottom: 50px;
}
.h2_happy {
	height: 260px;
}
.h2_happy img {
	position: static;
	top:auto;
	left: auto;
	transform: none;
	margin: 0 auto;
}


.h2_happy::before {
  position: static;
	top:auto;
	left: auto;
	transform: none;
  content: '';
  display: block;
  width: 100%;/*幅*/
  height: 150px;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background: url(../img/title_pic02.png) no-repeat center;
  background-size: contain;
	margin: 0 auto;
}
}

/*sec-service*/
#sec-service {
	max-width: 1090px;
	margin-left: auto;
	margin-right: auto;
}
.bg_white-3 {
	background: url("../img/bg_white_tie3.png") repeat-y center top #fff;
	background-size: contain;
	border-radius: 46% 28% 25% 30% / 30% 40% 34% 60% ;
	padding-top: 50px;
	padding-bottom: 150px;
	
}
#sec-service p {
	text-align: left;
}
.service_box {
	width: 85%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}
.service_box h3 {
	position: relative;
	height: 150px;
}
.service_box h3.subtitle_01 img {
	position: absolute;
	top: 0;
	left: 0;
}
.service_box h3.subtitle_01::after {
  position: absolute;
	top: 0;
	right: 0;
 content: '';
  display: block;
  width: 100%;/*幅*/
  height: 160px;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background: url(../img/service_pic01.png) no-repeat right;
  background-size: contain;
}

.service_box h3.subtitle_02 img {
	position: absolute;
	top: 0;
	right: 0;
}
.service_box h3.subtitle_02::before {
  position: absolute;
	top: 0;
	left: 0;
  content: '';
  display: block;
  width: 100%;/*幅*/
  height: 160px;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background: url(../img/service_pic02.png) no-repeat left;
  background-size: contain;
}
.service_box h3.subtitle_03 img {
	position: absolute;
	top: 0;
	left: 0;
}
.service_box h3.subtitle_03::after {
  position: absolute;
	top: 0;
	right: 0;
 content: '';
  display: block;
  width: 100%;/*幅*/
  height: 160px;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background: url(../img/service_pic03.png) no-repeat right;
  background-size: contain;
}
.service_text {
	width: 80%;
}
@media print, screen and (max-width: 768px){
.bg_white-3 {
	background: #fff;
	border-radius:60% 19% 15% 20% / 5% 0% 1% 3%;
	padding-top: 50px;
	padding-bottom: 100px;
	
}	

.service_box h3 {
	height: 287px;
}
.service_box h3.subtitle_01 img {
	position: static;
	top:auto;
	left: auto;
	transform: none;
	margin: -20px auto 0 auto;

}
.service_box h3.subtitle_01::after {
  display: none;/**/
}

.service_box h3.subtitle_01::before {
  content: '';
  display: block;
  width: 100%;/*幅*/
  height: 150px;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background: url(../img/service_pic01.png) no-repeat center;
  background-size: contain;
	margin: 0 auto;
}

.service_box h3.subtitle_02 img {
	position: static;
	top:auto;
	left: auto;
	transform: none;
	margin: -20px auto 0 auto;
}
.service_box h3.subtitle_02::before {
  position: static;
	top:auto;
	left: auto;
	transform: none;
  content: '';
  display: block;
  width: 100%;/*幅*/
  height: 150px;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background: url(../img/service_pic02.png) no-repeat center;
  background-size: contain;
	margin: 0 auto;
}
	
.service_box h3.subtitle_03 img {
	position: static;
	top:auto;
	left: auto;
	transform: none;
	margin: -20px auto 0 auto;
}
.service_box h3.subtitle_03::after {
  display: none;/**/
}

.service_box h3.subtitle_03::before {
  content: '';
  display: block;
  width: 100%;/*幅*/
  height: 150px;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background: url(../img/service_pic03.png) no-repeat center;
  background-size: contain;
	margin: 0 auto;
}
.service_text {
	width: 100%;
}	
}
@media print, screen and (max-width: 540px){

.service_box h3 {
	height: 240px;
}
	}
/*sec-trouble*/
#sec-trouble {
	max-width: 1090px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 100px;
}
.bg_white-4 {
	background: url("../img/bg_white_tie4.png") no-repeat center center #fff;
	background-size: contain;

	border-radius: 30% 25% 40% 39% / 37% 43% 46% 44% ;
	padding-top: 80px;
	padding-bottom: 150px;
	
}
.trouble_flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.trouble_flex .trouble_contents {
	width: 45%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
	text-align: center;
}

@media print, screen and (max-width: 768px){
.bg_white-4 {
	background: #fff;
	border-radius: 20% 15% 34% 42% / 6% 8% 11% 15%;
	padding-top: 40px;
	padding-bottom: 100px;
	
}	
	

.trouble_flex .trouble_contents {
	width: 48%;
}
.trouble_flex .trouble_contents p {
	font-size: 2.8vw;
	text-align: center;
}
}

/*sec-form*/
#sec-form {
    flex: 1;
	max-width: 1090px;
	margin-left: auto;
	margin-right: auto;
}

#sec-form dl {
	margin-top: 20px;
	margin-bottom: 100px;
	text-align: left;
	font-size: 2.0rem;
    font-weight: 700;
	color: #003670;
	margin-bottom: 50px;
}

#sec-form dl dt span {
	margin-left: 10px;
	padding: 5px 15px;
	background: #003670;
	border-radius: 20px;
	font-size: 1.8rem;
	line-height: 3.0;
	color: #fff;
}
#sec-form dl dd {
	font-size: 2.0rem;
	margin-bottom: 20px;
}
#sec-form dl dd input {
	font-size: 2.0rem;
	width: 100%;
	height: 50px;
	border:  none;
	border-radius: 30px;
}
/*#sec-form dl dd .checkbox input {
	font-size: 2.0rem;
	border: none!important;
	border-radius: 20px;
}*/
#sec-form dl dd input[type=checkbox] {
  transform: scale(1.5);
	outline: none;
	width: 20px;
	height: 20px;
	margin-right: 10px;
}
#sec-form dl dd textarea {
	font-size: 2.0rem;
	width: 100%!important;
	height: 300px!important;
	border:  none;
	border-radius: 30px;
	padding: 5px 20px;
-moz-box-sizing: border-box;
    box-sizing: border-box;
}
#sec-form .mfp_buttons {
	text-align: center;
}
#sec-form .mfp_buttons button {
	display: inline-block;
	padding: 10px 200px;
	background: #003670;
	border:1px solid #003670;
	border-radius: 50px;
	font-size: 1.9rem;
	color: #fff;
	transition-duration: 0.6s;
}

#sec-form .mfp_buttons button:hover {
	background: #fff;
	border:1px solid #003670;
	color: #003670;

}
#sec-form .button {
	text-align: center;
}
#sec-form .button a {
	display: inline-block;
	padding: 10px 200px;
	background: #003670;
	border:1px solid #003670;
	border-radius: 50px;
	font-size: 1.9rem;
	color: #fff;
	transition-duration: 0.6s;
}

#sec-form .button a:hover {
	background: #fff;
	border:1px solid #003670;
	color: #003670;
	font-size: 1.9rem;
	color: #003670;

}

.h2_complete {
	text-align: center;
	margin-top: 100px;
	margin-bottom: 60px;
	font-size: 5.0rem;
	font-weight: 900;
	color: #003670;

}
@media print, screen and (max-width: 768px){
#sec-form .mfp_buttons button {
	display: inline-block;
	padding: 10px 100px;
	background: #003670;
	border:1px solid #003670;
	border-radius: 50px;
}
#sec-form .button a {
	display: inline-block;
	padding: 10px 50px;
	background: #003670;
	border:1px solid #003670;
	border-radius: 50px;
	font-size: 3.0vw;
	color: #fff;
}
.h2_complete {
	margin-bottom: 10px;
}
	
}