@charset "UTF-8";
/* CSS Document */

/* ---------- keyvisual ---------- */

#content-keyvisual{
	background: #41bcd5 url(../images/top/bg_keyvisual.png) no-repeat bottom center;
	background-size: 100% 42px;
	position: relative;
	overflow: hidden;
	margin-top: 60px;
	background-color: #FAFAFA;
}
#content-keyvisual .keyvisual{
position:relative;
width:100%;
height:30%;
}
#content-keyvisual .keyvisual.sp{
display:none;
}
#content-keyvisual .keyvisual li{
position:absolute;
width:100%;
}
#content-keyvisual figure img{
width:100%;
height:auto;
vertical-align:bottom;
}
#content-keyvisual h1{
	color: #fff;
	font-size: 300%;
	font-weight: bold;
	line-height: 1.2;
	padding-top: 60px;
	padding-right: 30px;
	padding-bottom: 100px;
	padding-left: 30px;
}
.slide-in {
	overflow: hidden;
	display: inline-block;
	background: linear-gradient(90deg, #4158d0, #C850C0 30%, #FFCC70);
	background: -webkit-linear-gradient(0deg, #f588f7, #C850C0 30%, #ffae70);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;	
	
}
#content-keyvisual h1 br{
display:none;
}
#content-keyvisual .ballon{
position:absolute;
bottom:0;
left:66%;
}
#content-keyvisual .free{
position:absolute;
bottom:35%;
left:50%;
margin-left:-370px;
width:120px;
height:auto;
}
#content-keyvisual .free img{
width:100%;
height:auto;
}

@media (min-width: 751px) {
a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
}
}

/* ---------- appeal ---------- */

#content-appeal{
padding:20px 0 40px;
}
#content-appeal div{
width:800px;
margin:0 auto;
text-align:left;
padding-right:400px;
background:#fff url(../images/top/pht_appeal01.jpg) no-repeat right center;
box-sizing:border-box;
}

#content-appeal div .box2{
	border: 3px solid #168DBA;/*線*/
	border-radius: 10px;/*角の丸み*/
	background-color: #F1FBFC;
	width: 100%;
	margin: 0;
	background-position: bottom;
	background-image: none;
}

#content-appeal div .box2 p{
	margin-bottom: 10px;
	font-size: 190%;
	font-weight: bold;
	text-align: center;
	margin-top: 10px;
	margin-right: 0px;
	margin-left: 10px;
	text-decoration: none;
	color: #000;
}

#content-appeal div h1,
#content-appeal div h2{
	margin-bottom: 10px;
	color: #565d5e;
	font-size: 170%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.3;
}
#content-appeal div h2{
	margin-top: 20px;
}
#content-appeal div p{
	font-size: 123%;
	line-height: 1.5;
	margin-bottom: 10px;
}
#content-appeal div p strong{
color:#fd6041;
}

/* ---------- features ---------- */

#content-features{
	background-color: #FFFFFF;
	padding-top: 45px;
	padding-right: 20px;
	padding-bottom: 45px;
	padding-left: 20px;
	margin-top: 10px;
}
#content-features ul{
	margin: 10px 0;
}

h3 {
	font-size: 2.1em;
	text-align: center;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	font-weight: 200;
	float: none;
}
	p {
	font-size: 1.3em;
	line-height: 1.4em;
	}
#content-features ul li{
width:240px;
display:inline-block;
letter-spacing:normal;
vertical-align:top;
margin:20px 30px;
}


#content-features dt{
	width: 240px;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}
#content-features dt img{
width:100%;
height:auto;
}

#content-features dd{
text-align:left;
font-size:108%;
margin-top:25px;
text-align:justify;
text-justify:inter-ideograph;
}
#content-features dd strong{
font-weight:bold;
display:block;
color:#565d5e;
font-size:108%;
text-align:center;
margin-bottom:10px;
}

/* ---------- message ---------- */

#content-message{
	height: 450px;
	position: relative;
	background-color: #E6E5E1;
	background-image: url(../images/top/pht_message02.jpg);
	background-repeat: no-repeat;
	background-position: right top;
}
#content-message div{
text-align:left;
width:40%;
position:absolute;
top:60px;
left:55%;
margin-left:-450px;
}
#content-message div h1{
margin-bottom:20px;
}
#content-message div p{
font-size:123%;
line-height:1.5;
margin-bottom:15px;
}

/* ---------- flow ---------- */

#content-flow{
	margin-top: 20px;
	padding-top: 40px;
	padding-right: 0;
	padding-bottom: 45px;
	padding-left: 0;
}
#content-flow > div{
width:780px;
margin:0 auto;
}


#content-flow h1 br{
	display: none;
}
#content-flow ul{
margin-top:40px;
}
#content-flow ul li{
background:url(../images/top/ico_arrow01.png) no-repeat center bottom;
padding-bottom:40px;
margin-bottom:20px;
position:relative;
}
#content-flow h2{
display:flex;
align-items:center;
justify-content:center;
border-radius:5px;
box-sizing:border-box;
padding-right:360px;
box-shadow:0 0 2px rgba(0,0,0,0.4);
width:780px;
height:170px;
margin-bottom:15px;
}
#content-flow h2 > span{
	display: block;
	font-size: 120%;
	font-weight: 400;
	color: #fff;
	line-height: 1.2;
}
#content-flow h2 b{
	font-size: 135%;
	color: #FFE9BB;
	font-weight: 500;
	margin-right: 0.3em;
}
#content-flow h2 i{
	font-size: 200%;
	color: #E22588;
	font-weight: 500;
	margin-right: 0.3em;
}
#content-flow h2 > span > span{
display:block;
font-size:78%;
margin-top:10px;
}
#content-flow p.appeal{
	position: absolute;
	top: 100px;
	right: -30px;
	background: #fc6868;
	color: #fff;
	width: 100px;
	height: 100px;
	border-radius: 100px;
	font-size: 123%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #FF6633;
}
#content-flow p.notice{
text-align:left;
text-indent:-1em;
padding-left:1em;
font-size:108%;
margin-bottom:10px;
}
#content-flow .flow01 h2{
	background-color: #E06E9D;
	background-image: url(../images/top/pht_flow01.jpg);
	background-repeat: no-repeat;
	background-position: right top;
}
#content-flow .flow02 h2{
	background-color: #E06E9D;
	background-image: url(../images/top/pht_flow02.jpg);
	background-repeat: no-repeat;
	background-position: right top;
}
#content-flow .flow03 h2{
	background-color: #E06E9D;
	background-image: url(../images/top/pht_flow03.jpg);
	background-repeat: no-repeat;
	background-position: right top;
}
#content-flow .copy{
	font-size: 150%;
	font-weight: 200;
	line-height: 1.3;/*margin-bottom:30px;*/
}

/* ---------- proposal ---------- */

#content-proposal{
	min-height: 760px;
	position: relative;
	background-image: url(../images/top/pht_proposal.png);
	background-repeat: no-repeat;
	background-position: 106% bottom;
}
#content-proposal > div{
	text-align: left;
	width: 58%;
	position: absolute;
	top: 100px;
	left: 51%;
	margin-left: -455px;
}
#content-proposal > div dl{
margin-top:20px;
}
#content-proposal > div li:first-child dl{
background:url(../images/top/ico_arrow02.png) no-repeat 30% bottom;
padding-bottom:60px;
}
#content-proposal > div dl dt{
font-size:123%;
font-weight:600;
background:url(../images/top/ico_yes.png) no-repeat left center;
padding:20px 0 20px 45px;
}
#content-proposal > div li:first-child dl dt{
background:url(../images/top/ico_no.png) no-repeat left center;
}
#content-proposal > div dl dd{
font-size:123%;
}
#content-proposal > div dl ul{
padding-left:1.5em;
}
#content-proposal > div dl ul li{
margin-bottom:5px;
list-style:disc;
line-height:1.4;
text-shadow:1px 1px 0 rgba(255,255,255,0.8);
}
#content-proposal .btn02{
position:absolute;
bottom:50px;
left:0;
right:0;
}

/* ---------- hope ---------- */

#content-hope{
height:437px;
background:url(../images/top/pht_hope.jpg) no-repeat left center;
background-size:cover;
display:flex;
align-items:center;
/*justify-content:center;*/
}
#content-hope > div{
width:600px;
margin:0 auto;
}
#content-hope h1{
margin-bottom:20px;
}
#content-hope .headline02{
margin-bottom:30px;
text-shadow:1px 1px 0 rgba(255,255,255,0.8);
}
#content-hope .lead{
font-size:138%;
font-weight:500;
}

/* ---------- PC ---------- */
@media(min-width:1024px){
	
}

/* ---------- iPhone / iPad ---------- */
@media(max-width:1023px){

/* ---------- keyvisual ---------- */

#content-keyvisual{
margin-top:60px;
}

/* ---------- appeal ---------- */

#content-appeal{
padding:40px;
}
#content-appeal div{
width:100%;
padding-right:45%;
background:#fff url(../images/top/pht_appeal01.jpg) no-repeat right center;
background-size:40% auto;
}
	
/* ---------- features ---------- */

#content-features ul li{
width:230px;
margin:2% 2% 6%;
}
#content-features dd{
margin-top:10px;
font-size:120%;
}

/* ---------- message ---------- */

#content-message{
background:#f6faf9 url(../images/top/pht_message.jpg) no-repeat center bottom;
background-size:contain;
height:inherit;
position:relative;
padding:40px 40px 250px;;
}
#content-message div{
text-align:left;
width:100%;
position:inherit;
top:inherit;
left:inherit;
margin-left:0;
}
#content-message div h1{
margin-bottom:20px;
}
#content-message div p{
font-size:123%;
line-height:1.5;
}

/* ---------- flow ---------- */

#content-flow > div{
width:90%;
}
#content-flow h2{
width:100%;
padding:20px 380px 20px 20px ;
}

/* ---------- proposal ---------- */

#content-proposal{
background:url(../images/top/pht_proposal.jpg) no-repeat right bottom;
background-size:40% auto;
min-height:inherit;
padding:40px;
padding-bottom:140px
}
#content-proposal > div{
width:100%;
position:inherit;
top:inherit;
left:inherit;
margin-left:0;
}
#content-proposal .btn02{
margin:60px 35% 0 0 ;
position:inherit;
bottom:inherit;
left:inherit;
right:inherit;
}
#content-proposal > div li:last-child{
padding-right:20%;
}

/* ---------- hope ---------- */

#content-hope{
background:url(../images/top/pht_hope.jpg) no-repeat 15% center;
background-size:cover;
align-items:center;
/*justify-content:flex-end;*/
text-align:right;
}
#content-hope > div{
width:90%;
}
#content-hope .headline02{
padding-left:30%;
}
#content-hope .lead{
font-size:138%;
font-weight:500;
}

}

/* ---------- w < 700 ---------- */
@media(max-width:700px){

/* ---------- keyvisual ---------- */

#content-keyvisual{
	background-size: 100% 20px;
	background-color: #F5F5F5;
	background-image: url(../images/top/bg_keyvisual.png);
	background-repeat: no-repeat;
	background-position: center bottom;
}
#content-keyvisual .keyvisual.pc{
display:none;
}
#content-keyvisual .keyvisual.sp{
display:block;
}
#content-keyvisual h1{
	font-size: 190%;
	line-height: 1.5;
	padding: 20px 20px 90px;
	text-align: left;
}
#content-keyvisual h1 br{
display:block;
}
#content-keyvisual .ballon{
left:inherit;
right:1%;
bottom:5px;
text-align:right;
width:100%;
}
#content-keyvisual .ballon img{
width:60%;
height:auto;
}
#content-keyvisual .free{
position:absolute;
bottom:32%;
left:5%;
margin-left:0;
width:30%;
height:auto;
}

/* ---------- appeal ---------- */

#content-appeal{
padding:30px 20px 20px;
padding-bottom:50%;
background:#fff url(../images/top/sp_pht_appeal01.jpg) no-repeat center bottom;
background-size:100% auto;
}
#content-appeal div{
width:100%;
padding-right:0;
background:none;
}
#content-appeal div h1,
#content-appeal div h2{
text-align:center;
letter-spacing:normal;
}
#content-appeal div h2{
margin-top:40px;
}

/* ---------- features ---------- */

#content-features{
padding:20px 20px 45px;
}
#content-features ul li{
width:100%;
display:block;
margin:20px 0;
}
#content-features dl{
display:flex;
align-items:center;
justify-content:space-between;
}
#content-features dt{
	width: 100%;
	height: auto;
	display: block;
}
#content-features dt img{
width:100%;
height:auto;
}
#content-features dd{
	width: 68%;
	line-height: 1.4;
	padding-left: 1em;
}
#content-features dd strong{
text-align:left;
margin-bottom:0;
}

/* ---------- message ---------- */

#content-message{
padding:20px 20px 160px;
}

/* ---------- proposal ---------- */

#content-proposal{
padding:20px;
padding-bottom:240px
}
#content-proposal .btn02{
margin:60px 40% 0 0;
background:none;
}
#content-proposal > div li:last-child{
padding-right:0;
}

}

/* ---------- w < 640 ---------- */
@media(max-width:640px){

/* ---------- features ---------- */

#content-features dt{
	width: 100%;
}
#content-features dd{
	width: 100%;
}

/* ---------- flow ---------- */

#content-flow h2{
padding:52% 10px 20px 10px;
height:inherit;
}
#content-flow .flow01 h2{
	background-size: contain;
	background-color: #E06E9D;
	background-image: url(../images/top/pht_flow01.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}
#content-flow .flow02 h2{
	background-size: contain;
	background-color: #E06E9D;
	background-image: url(../images/top/pht_flow02.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}
#content-flow .flow03 h2{
	background-size: contain;
	background-color: #E06E9D;
	background-image: url(../images/top/pht_flow03.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}
#content-flow p.appeal{
top:120px;
right:-10px;
width:80px;
height:80px;
border-radius:80px;
font-size:100%;
}
#content-flow .copy{
text-align:left;
}
#content-flow .copy br{
display:none;
}

/* ---------- hope ---------- */

#content-hope{
background:url(../images/top/pht_hope.jpg) no-repeat 19% bottom;
background-size:cover;
text-align:center;
height:inherit;
}
#content-hope > div{
width:100%;
padding:100px 10px 100px 80px;
box-sizing:border-box;
}
#content-hope .headline02{
padding-left:0;
text-align:left;
font-size:130%;
}
#content-hope .lead{
font-size:130%;
text-align:left;
}

}

/* ---------- w < 560 ---------- */
@media(max-width:560px){

/* ---------- message ---------- */

#content-message{
padding:20px 20px 110%;
background:#f6faf9 url(../images/top/pht_message02.jpg) no-repeat center bottom;
background-size:100% auto;
}

/* ---------- flow ---------- */

#content-flow h1 br{
display:block;
}
#content-flow h2 b{
display:block;
}

/* ---------- proposal ---------- */

#content-proposal{
background:url(../images/top/pht_proposal.jpg) no-repeat right bottom;
background-size:80% auto;
padding-bottom:100%
}
#content-proposal .btn02{
margin:0 auto;
background:none;
}
#content-proposal > div li:first-child dl{
background:url(../images/top/ico_arrow02.png) no-repeat center bottom;
padding-bottom:50px;
}
#content-proposal > div li:last-child dl{
margin-top:0;
}

}

/* ---------- w < 320 ---------- */
@media(max-width:320px){

/* ---------- keyvisual ---------- */

#content-keyvisual h1{
padding-bottom:70px;
}

/* ---------- appeal ---------- */

#content-appeal div h1,
#content-appeal div h2{
font-size:140%;
line-height:1.4;
}
#content-appeal div h2{
margin-top:20px;
}

/* ---------- message ---------- */

#content-message div h1{
letter-spacing:normal;
}
#content-message div h1 br{
display:none;
}

/* ---------- flow ---------- */

#content-flow h1{
letter-spacing:normal;
}
#content-flow p.appeal{
top:90px;
}

}
