.text-left { text-align: left; }
.text-center { text-align: center; }
.m-auto { margin: 0 auto; }
.px-10 { padding: 0 10px; }

.container { max-width: 1000px; width: 94%; margin: 0 auto; }
.container h2 { background: none; margin: 0; color: #fff; text-align: center; padding: 6px 0; }

.blue-panel { max-width: 900px; margin: 0 auto; font-weight: bold; }
.blue-panel .ttl { background: #008CE6; color: #fff; border-top-left-radius: 5px; border-top-right-radius: 5px; }
.blue-panel .ttl h2 { position: relative; font-size: 33px; font-weight: 600; letter-spacing: 3px; }
.blue-panel .ttl span { font-size: 32px; font-weight: bold; /*margin-top: 12px; display: block; */}
.blue-panel .ttl + div { border: 2px solid #008CE6; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; padding: 15px 30px; font-size: 20px; }
.blue-panel .ttl + div .pink{ color: #E85377; font-size: 52px; }
.blue-panel p.note { padding: 15px 10px 0; font-size: 16px; font-weight: normal; }

.container section h3 { font-size: 30px; border-bottom: 2px solid #007C36; margin: 100px 0 30px; font-weight: bold; }

.family-trust{ margin-bottom: 150px; }
.family-trust h3{ border-bottom: none; font-size: 48px; margin-bottom: 80px !important; margin-top: 100px; }
.family-trust h3 span{ color: #008CE6; }
.family-trust > div{ display: flex; justify-content: space-between; }
.family-trust > div > div { position: relative; width: calc(33.3333% - 20px); }
.family-trust > div > div > div{ border: 1px solid #333; border-radius: 50%; overflow: hidden; font-size: 16px; height: 313px; font-weight: bold; }
.family-trust > div > div > div img{ position: absolute; top: -35px; left: 50%; transform: translateX(-50%); }
.family-trust > div > div > div div.tl{ background: #008CE6; color: #fff; font-size: 32px; margin-top: 115px; padding: 5px; }
.family-trust > div > div > div div:last-child{ font-size: 21px; margin-top: 10px; }
.family-trust > div.ftnote{ justify-content: center; margin-top: 30px; font-size: 16px; }
/* 1024px以下 */
@media screen and (max-width:1024px) {
	.family-trust > div > div > div{ height: 220px; }
	.family-trust > div > div > div img{ height: 100px; }
	.family-trust > div > div > div div.tl{ font-size: 24px; margin-top: 70px; }
	.family-trust > div > div > div div:last-child{ font-size: 15px; margin-top: 10px; }
}

.initial-consultation .pink-ribbon{ position: relative; background: #E85377; color: #fff; font-size: 34px; font-weight: bold; padding: 15px; margin-bottom: 40px; }
.initial-consultation .pink-ribbon:before{ content: ''; width: 0; border-style: solid; border-width: 42px 0 40px 64px; border-color: transparent transparent transparent #ffffff; position: absolute; left: 0; top: 0; border-left: 25px solid #fff; }
.initial-consultation .pink-ribbon:after{ content: ''; width: 0; border-style: solid; border-width: 42px 0 40px 64px; border-color: transparent transparent transparent #ffffff; position: absolute; right: -1px; top: 0; border-left: 25px solid #fff; transform: rotate(180deg); }
.initial-consultation .blue-panel .ttl{ border-top-left-radius: 20px; border-top-right-radius: 20px; padding: 25px 10px 20px; }
.initial-consultation .blue-panel .ttl + div{ border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; font-size: 17px; padding: 25px 15px; }
.initial-consultation .blue-panel .ttl + div > p{ line-height: 1.8; }
.initial-consultation .blue-panel .ttl h2{ font-size: 30px; letter-spacing: 0; }
.initial-consultation .blue-panel .ttl span{ font-size: 38px; color: #FFFF00; }
.initial-consultation .cbox{ display: flex; justify-content: space-between; position: relative; }
.initial-consultation .cbox .blue-panel{ flex-basis: 45%; margin: 0; }
.initial-consultation .cbox:before{ content: ''; width: 41px; height: 40px; background: url('../img/plus-icon.png'); position: absolute; left: 50%; top: 50%; transform: translate(-50%); }
.initial-consultation .b-txt{ background: #008CE6; color: #fff; border-radius: 8px; font-size: 16px; margin: 15px 0; padding: 6px; }
.initial-consultation .price{  }
.initial-consultation .price div{ color: #E85377; text-align: left; margin: 20px 26px 5px; font-size: 70px; font-weight: bold; display: flex; align-items: flex-end; line-height: 1; justify-content: center; }
.initial-consultation .price div span{ font-size: 38px; position: relative; top: -8px; }
.initial-consultation .price div span i{ font-size: 20px; position: relative; top: -20px; left: -2px; }
.initial-consultation .price > p { font-size: 22px; font-weight: normal; }
.initial-consultation .cnote { text-align: left; padding-left: 50px; margin-top: 20px; font-size: 15px; }
.initial-consultation .cnote li{ position: relative; padding-left: 16px; }
.initial-consultation .cnote li:before{ content: '※'; position: absolute; left: 0; }
/* 1024px以下 */
@media screen and (max-width:1024px) {
	.initial-consultation .pink-ribbon{ font-size: 24px; padding: 20px 0; }
	.initial-consultation .blue-panel .ttl h2{ font-size: 24px; }
	.initial-consultation .blue-panel .ttl span{ font-size: 32px; }
	.initial-consultation .price div{ font-size: 50px; }
	.initial-consultation .price div span{ font-size: 28px; position: relative; top: -8px; }
}

.application-flow a { color: #FFF; }
.application-flow li { display: flex; border: 1px solid #007C36; margin-bottom: 50px; min-height: 120px; position: relative }
.application-flow li:not(:last-child):after { content: ''; width: 32px; height: 25px; background-image: url('../img/tri.png'); background-size: cover; display: block; position: absolute; bottom: -40px; left: 50%; transform: translateX(-50%); }
.application-flow li > div { box-sizing: border-box; }
.application-flow li > div:first-child { flex-basis: 230px; padding: 20px; background-color: #007C36; color: #fff; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.application-flow li > div:first-child div { font-size: 22px; font-weight: bold; }
.application-flow li > div:first-child a { font-size: 18px; background: #008CE6; font-weight: bold; display: block; width: 132px; border-radius: 4px; margin-top: 5px; padding: 3px 5px; }
.application-flow li > div:last-child { flex-basis: calc(100% - 230px); padding: 18px 28px; letter-spacing: 1px; }
.application-flow li > div p { margin: 0; text-align: left; font-size: 18px; }
.application-flow li > div p.pink{ background: #E85377; color: #fff; border-radius: 10px; padding: 10px 30px; margin-bottom: 10px; font-weight: bold; }
.application-flow li > div p.pink + p{ padding-left: 30px; }

.qa > dl{ text-align: left; }
.qa > dl h5{ position: relative; cursor: pointer; background: #EEEEEE url(../img/ico_q.png) no-repeat 10px 15px; padding: 14px 40px 10px 60px; background-size: 30px; font-size: 23px; margin-top: 15px; font-weight: bold; border-radius: 8px; color: #4976df; }
.qa > dl dd { background: url(../img/ico_a.png) no-repeat 10px 20px; background-size: 30px; font-size: 20px; line-height: 1.8; }
.qa > dl .accordion__content.is-open { padding: 20px 20px 20px 60px; }
.qa > dl dd p span{ font-weight: bold; }

.partners .intro-who{ display: flex; margin-top: 50px; margin-bottom: 100px; }
.partners .intro-who > div{ flex-basis: 49%; line-height: 2; font-size: 20px; }
.partners .intro-who > div:first-child{ }
.partners .intro-who > div:last-child{ text-align: left; }
.partners ul{ text-align: left; font-size: 16px; }
.partners ul li{ display: flex; background-color: #eeeeee; padding: 12px 40px; margin-bottom: 15px; }
.partners ul li div:first-child{ flex-basis: 250px; }
.partners ul li div:last-child{ flex-basis: calc(100% - 250px); }

/*IE fix*/
@media all and (-ms-high-contrast:none), (-ms-high-contrast:active) { }
.pc { display: block; }
.sp { display: none; }
.pc-view { display: block; }
.pc-view-table { display: table }
.pc-view-inline { display: inline-block }
.sp-view { display: none !important; }
.sp-view-table { display: none !important; }
.sp-view-inline { display: none !important; }

@media screen and (max-width:767px) {
	* { box-sizing: border-box; }
	.pc { display: none; }
	.sp { display: block; }
	.pc-view { display: none !important; }
	.sp-view { display: block !important; }
	.pc-view-table { display: none !important }
	.sp-view-table { display: table !important }
	.pc-view-inline { display: none !important }
	.sp-view-inline { display: inline-block !important }

	.container { width: auto; }
	.container h3 { margin: 20px 0 20px }
	.container section h3 { font-size: 26px }

	.blue-panel { margin: 0 15px; }
	.blue-panel .ttl h2 { font-size: 22px; }
	.blue-panel .ttl span { font-size: 22px }
	.blue-panel .ttl h2:before { width: 98%; }
	.blue-panel .ttl + p { font-size: 14px }
	.blue-panel .ttl + div{ font-size: 16px }
	.blue-panel .ttl + div .pink{ font-size: 22px }

	.family-trust{ padding: 0 10px; margin-bottom: 50px }
	.family-trust h3{ font-size: 24px; margin: 20px 0 60px; }
	.family-trust > div{ flex-direction: column; align-items: center; }
	.family-trust > div > div{ width: 313px; }
	.family-trust > div > div > div{ height: 313px; }
	.family-trust > div > div > div img{ height: 150px; }
	.family-trust > div > div > div div.tl{ font-size: 24px; margin-top: 130px; }
	.family-trust > div > div > div div:last-child{ font-size: 18px; margin-top: 10px; }
	.family-trust > div > div:not(:last-child){ margin-bottom: 40px }
	.family-trust > div > div:last-child{ margin-top: 20px }

	.initial-consultation .pink-ribbon{ font-size: 20px; padding: 9px 30px; margin: 0 10px 40px; line-height: 1.4; }
	.initial-consultation .pink-ribbon:before{ left: -1px; }
	.initial-consultation .cbox{ flex-direction: column; padding: 0 10px }
	.initial-consultation .cnote{ padding-left: 20px; padding-right: 10px }
	.initial-consultation .blue-panel .ttl + div > p{ text-align: left }

	.initial-consultation .cbox .blue-panel:not(:last-child){ margin-bottom: 70px; position: relative; }
	.initial-consultation .cbox:before{ top: 45.7%; }
	.initial-consultation .blue-panel .ttl h2{ font-size: 24px; position: relative; top: -5px; }
	.initial-consultation .blue-panel .ttl span{ font-size: 32px }
	.initial-consultation .b-txt{ margin: 10px 0px 0; font-size: 14px }
	.initial-consultation .price div{ font-size: 45px; }
	.initial-consultation .price div span{ font-size: 28px; }
	.initial-consultation .price div span i{ font-size: 16px; top: -14px; }
	.initial-consultation .price > p{ font-size: 18px }
	.initial-consultation .cbox:before{ display: none; }
	.initial-consultation .cbox .blue-panel:not(:last-child):before{content: ''; width: 41px; height: 40px; background: url('../img/plus-icon.png'); position: absolute; left: 50%; bottom: -56px; transform: translate(-50%); }

	.qa > dl { padding: 0 10px; }
	.qa > dl h5{ font-size: 16px; }
	.qa > dl dd { font-size: 16px }

	.partners h3{ padding: 0 10px; font-size: 20px }
	.partners .intro-who{ flex-direction: column; padding: 0 10px; margin-top: 50px; margin-bottom: 50px; }
	.partners ul li{ flex-direction: column; padding: 11px 0 8px 10px; }
	.partners ul li div:first-child, .partners ul li div:last-child{ flex-basis: unset; }
	.partners .intro-who > div{ font-size: 16px }
	.partners .intro-who > div:last-child{ margin-top: 20px }
	.partners ul{ padding: 0 10px }

	.application-flow ul { padding: 0 10px }
	.application-flow li > div p.pink + p { padding-left: 0 }
	.application-flow li { flex-direction: column; position: relative; }
	.application-flow li:not(:last-child):after { content: ''; width: 32px; height: 25px; background-image: url('../img/tri.png'); background-size: cover; display: block; position: absolute; bottom: -40px; left: 50%; transform: translateX(-50%); }
	.application-flow li > div:first-child { flex-basis: unset; flex-direction: row; padding: 12px }
	.application-flow li > div p { font-size: 16px }
	.application-flow li > div:first-child div { font-size: 20px }
	.application-flow li > div:first-child a { margin-top: 0; margin-left: 20px; font-size: 18px }
	.application-flow li > div p.pink{ padding: 10px; font-size: 14px }
}

@media screen and (max-width:375px) {
	.blue-panel .ttl h2 { font-size: 18px }
	.blue-panel .ttl span { font-size: 18px }
	.blue-panel .ttl h2:before { width: 95%; }
}