@charset "utf-8";

/* ---------------------------------------------------------------
	Reset
--------------------------------------------------------------- */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
address, del, em, img,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
body {
    line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
nav ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
input, select {
    vertical-align:middle;
}

/* add to
---------------------------------------------------------- */
html{
	-webkit-text-size-adjust: 100%;
	box-sizing: border-box;
}
*, *:before, *:after{
	box-sizing: inherit;
}
main{
	display: block;
}
img {
	border-style: none;
}
button, input, select, textarea {
	font-family: inherit;
	font-weight: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}



/* ---------------------------------------------------------------
	Base
--------------------------------------------------------------- */
body {
	color: #3d3128;
	font-size: 16px;
	font-weight: normal;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, arial, sans-serif;
	line-height: 1.5;
	word-break: normal;
	overflow-wrap: break-word;
	word-wrap: break-word;
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	text-align: left;
}

a {
	color: #333;
	text-decoration: underline;
}

strong{
	font-weight: bold;
}
em{
	font-style: italic;
}
del{
	font-style: line-through;
}

sup, sub {
	line-height: 1.35;
	font-size: 10px;
}
sup {
	vertical-align: super;
}
sub {
	vertical-align: sub;
}

img{
	max-width: 100%;
	height: auto !important;
	display: block;
	margin: auto;
}

table{
	max-width: 100%;
}

/* PCのみ */
@media all and (min-width: 751px) {
	body{
		min-width: 960px;
	}
	.inner{
		width: 960px;
		margin: auto;
	}
	
	a,
	a img{
		-webkit-transition: 0.3s;
		-moz-transition: 0.3s;
		-o-transition: 0.3s;
		-ms-transition: 0.3s;
		transition: 0.3s;
	}
	a:hover{
		text-decoration: none;
	}
	a:hover img{
		opacity: 0.7;
		filter: alpha(opacity=70);
		-ms-filter: "alpha( opacity=70 )";
	}
	.sp_only{
		display: none !important;
	}
}
/* SPのみ */
@media all and (max-width: 750px) {
	body{
		width: 100%;
		min-width: 320px;
	}
	.inner{
		width: 100%;
	}
	.pc_only{
		display: none !important;
	}
}



/* ---------------------------------------------------------------
	Head
--------------------------------------------------------------- */

/* header-notice
---------------------------------------------------------- */
.header-notice{
	background: #545142;
	height: 30px;
	display: flex;
	align-items: center;
	padding-left: .5em;
}
.header-notice__unit a{
	color: #d89797;
	font-size: 14px;
}
/* SPのみ */
@media all and (max-width: 750px) {
	.header-notice{
		height: calc(46vw / 750 * 100);
	}
	.header-notice__unit a{
		font-size: calc(20vw / 750 * 100);
	}
}

/* header
---------------------------------------------------------- */
header img{
	width: 180px;
}
/* PCのみ */
@media all and (min-width: 751px) {
	header{
		padding: 14px 0 53px;
	}
}
/* SPのみ */
@media all and (max-width: 750px) {
	header{
		height: calc(112vw / 750 * 100);
		display: flex;
		align-items: center;
	}
	header img{
		width: calc(242vw / 750 * 100);
	}
}


/* ---------------------------------------------------------------
	Content
--------------------------------------------------------------- */
:root{
	--color-primary: #e5577a;
}
.center{
	text-align: center;
}
.img{
	width: 570px;
	margin: 4% auto;
}
.txt{
	line-height: 1.5625;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
.font_s{
	margin-top: 1em;
	font-size: 13px;
	line-height: 1.384;
}
.mincho{
	font-family: "Times New Roman", "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
.bold{
	font-weight: bold;
}
.red{
	color: #ff0002;
}
.pink{
	color: var(--color-primary);
}
.bg_yellow{
	background:linear-gradient(transparent 60%, #fafd02 60%);
	mix-blend-mode: multiply;
}
.bg_white{
	background: #fff;
	border-radius: 10px;
	padding: 0 0.25em;
}
h2{
	margin: 3.3em 0 1.7em;
	border: 2px solid #df4870;
	border-left: 0;
	border-right: 0;
	background: #f8e5e8;
	padding: 0.3em 0.5em;
	font-size: 30px;
	font-weight: bold;
	font-feature-settings: "palt";
	line-height: 1.3;
	position: relative;
	letter-spacing: 0.05em;
}
h2::before,
h2::after{
	content: "";
	display: block;
	background: #f8e5e8;
	height: 8px;
	width: 100%;
	position: absolute;
	left: 0;
}
h2::before{
	top: -10px;
}
h2::after{
	bottom: -10px;
}
/* SPのみ */
@media all and (max-width: 750px) {
	.img{
		width: calc(690vw / 750 * 100);
		margin: 5.5% auto;
	}
	.txt{
		width: 90%;
		margin: auto;
		line-height: 1.923;
	}
	.font_s{
		width: 90%;
		margin: auto;
		font-size: 11px;
	}
	h2{
		margin: 2.7em 0 1.8em;
		border-width: calc(2vw / 750 * 100);
		padding: 0.8em 1em;
		font-size: calc(34vw / 750 * 100);
		line-height: 1.47;
	}
	.sec01 h2{
		padding: 0.5em 1em;
	}
	h2::before,
	h2::after{
		height: calc(11vw / 750 * 100);
	}
	h2::before{
		top: calc(-13vw / 750 * 100);
	}
	h2::after{
		bottom: calc(-13vw / 750 * 100);
	}
}

.ul_pink{
	margin: 1.5em 0 2em 1.9em;
}
.ul_pink li{
	color: var(--color-primary);
	font-size: 20px;
	font-weight: bold;
	list-style: none;
	vertical-align: middle;
	margin: 0.5em 0 0.5em 1.1em;
}
.ul_pink li::before{
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--color-primary);
	margin: -0.2em 0.4em 0 -1em;
	vertical-align: middle;
}
/* SPのみ */
@media all and (max-width: 750px) {
	.ul_pink{
		margin: 2em 0 2em 1.5em;
	}
	.ul_pink li{
		font-size: 18px;
		margin: 0.3em 0 0.3em 1.1em;
	}
	.ul_pink li::before{
		width: calc(16vw / 750 * 100);
		height: calc(16vw / 750 * 100);
		margin: -0.2em 0.4em 0 -1em;
	}
}

.focus{
	background: url("img/bg_focus_pc.jpg") no-repeat;
	background-size: cover;
	width: 750px;
	height: 115px;
	margin: 5% auto 3%;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: bold;
}
/* SPのみ */
@media all and (max-width: 750px) {
	.focus{
		background-image: url("img/bg_focus_sp.jpg");
		width: calc(689vw / 750 * 100);
		height: calc(234vw / 750 * 100);
		margin: 7% auto 8%;
		font-size: calc(28vw / 750 * 100);
	}
}



/* fv
---------------------------------------------------------- */
.fv_txt{
	background: url("img/bg_fv_txt_pc.png") no-repeat;
	background-size: cover;
	width: 100%;
	min-height: 100px;
	color: #fff;
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.25;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fv_main{
	position: relative;
}
.fv_main ol{
	list-style: none;
	font-size: 13px;
	padding-left: 2em;
	position: absolute;
	left: 2em;
	bottom: 2.5%;
}
.fv_main ol li{
	text-indent: -2em;
}
/* PCのみ */
@media all and (min-width: 751px) {
	.fv_main{
		margin-top: 27px;
	}
}
/* SPのみ */
@media all and (max-width: 750px) {
	.fv_txt{
		background-image: url("img/bg_fv_txt_sp.png");
		min-height: calc(167vw / 750 * 100);
		font-size: calc(40vw / 750 * 100);
	}
	.fv_main ol{
		font-size: calc(15vw / 750 * 100);
		width: 68%;
		bottom: 1.5%;
	}
}


/* sec01
---------------------------------------------------------- */
.sec01_img01{
	width: 312px;
}
/* SPのみ */
@media all and (max-width: 750px) {
	.sec01_img01{
		width: calc(484vw / 750 * 100);
	}
}


/* sec02
---------------------------------------------------------- */
.sec02 h2 > span{
	display: block;
	position: relative;
	width: 100%;
}
.sec02 h2 > span::after{
	content: "";
	display: block;
	background: url("img/sec02_tit_ikenami.png") no-repeat;
	background-size: contain;
	width: 162px;
	height: 203px;
	position: absolute;
	right: 3%;
	bottom: -19px;
	z-index: 2;
}
.sec02_quotation{
	background: #e0efee;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 750px;
	margin: 6% auto;
	padding: 1.8em 0;
	position: relative;
}
.sec02_quotation::before,
.sec02_quotation::after{
	content: "";
	display: block;
	background: url("img/icon_quotation_start.png") no-repeat;
	background-size: contain;
	width: 37px;
	height: 31px;
	position: absolute;
}
.sec02_quotation::before{
	left: 4%;
	top: -8%;
}
.sec02_quotation::after{
	background-image: url("img/icon_quotation_end.png");
	right: 4%;
	bottom: -8%;
}
.sec02_quotation p{
	font-size: 20px;
	font-weight: bold;
}
/* SPのみ */
@media all and (max-width: 750px) {
	.sec02 h2 > span::after{
		width: calc(205vw / 750 * 100);
		height: calc(257vw / 750 * 100);
		right: -3%;
		bottom: calc(-40vw / 750 * 100);
	}
	.sec02_quotation{
		width: calc(690vw / 750 * 100);
		margin: 11% auto 6%;
	}
	.sec02_quotation::before,
	.sec02_quotation::after{
		width: calc(37vw / 750 * 100);
		height: calc(31vw / 750 * 100);
	}
	.sec02_quotation p{
		font-size: calc(25vw / 750 * 100);
	}
}


/* sec05
---------------------------------------------------------- */
/*sec05_process*/
.sec05_process{
	margin: 4% 0;
	list-style: none;
}
.sec05_process li{
	border: 2px solid #df4870;
	border-radius: 10px;
}
.sec05_process li dt{
	background: var(--color-primary);
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 23px;
	padding: 0.3em;
	border-radius: 6px 6px 0 0;
}
.sec05_process li dd{
	padding: 5% 4% 10%;
}
.sec05_process li dd img{
	margin-bottom: 1.5em;
}
/* PCのみ */
@media all and (min-width: 751px) {
	.sec05_process{
		display: flex;
		justify-content: space-between;
	}
	.sec05_process li{
		width: 470px;
	}
}
/* SPのみ */
@media all and (max-width: 750px) {
	.sec05_process{
		width: calc(690vw / 750 * 100);
		margin: auto;
	}
	.sec05_process li{
		margin: 7% auto;
		border-radius: calc(10vw / 750 * 100);
	}
	.sec05_process li:first-child{
		margin-top: 5.5%;
	}
	.sec05_process li dt{
		text-align: left;
		font-size: calc(30vw / 750 * 100);
		padding: 1em;
		border-radius: calc(6vw / 750 * 100) calc(6vw / 750 * 100) 0 0;
	}
	.sec05_process li dd{
		padding-bottom: 8%;
	}
	.sec05_process li dd .txt{
		width: 100%;
	}
	.sec05_process li:last-child img{
		width: calc(480vw / 750 * 100);
	}
}

/*sec05_case*/
.sec05_case{
	margin-top: 5.5%;
	background: #fff2f2;
	border-radius: 15px;
	padding: 5% 0 6%;
	text-align: center;
}
.sec05_case h3{
	color: var(--color-primary);
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-bottom: 1em;
}
.sec05_case ul{
	list-style: none;
	margin: 5% auto 0;
}
.sec05_case ul li{
	background: #fff;
	border-radius: 15px;
	width: 48.5%;
	position: relative;
	padding: 2% 0 4%;
	font-size: 17.5px;
}
.sec05_case ul li .sec05_case_num{
	background: var(--color-primary);
	border-radius: 50%;
	width: 68px;
	height: 68px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -5%;
	left: -3%;
}
.sec05_case ul li figcaption span span{
	font-size: 21.6px;
}
.sec05_case ul li img{
	margin-top: 2.5%;
	width: 375px;
}
.sec05_case ul li:last-child img{
	width: 418px;
}
/* PCのみ */
@media all and (min-width: 751px) {
	.sec05_case ul{
		display: flex;
		justify-content: space-between;
		width: 94.5%;
	}
}
/* SPのみ */
@media all and (max-width: 750px) {
	.sec05_case{
		margin: 10% auto 0;
		border-radius: calc(15vw / 750 * 100);
		padding: 8% 0 2%;
		width: calc(690vw / 750 * 100);
	}
	.sec05_case h3{
		font-size: calc(40vw / 750 * 100);
		margin-bottom: 0.8em;
	}
	.sec05_case ul{
		margin: 8% auto 0;
	}
	.sec05_case ul li{
		border-radius: calc(15vw / 750 * 100);
		width: calc(614vw / 750 * 100);
		padding: 4% 0 7%;
		font-size: calc(24vw / 750 * 100);
		margin: 7% auto;
	}
	.sec05_case ul li .sec05_case_num{
		width: calc(94vw / 750 * 100);
		height: calc(94vw / 750 * 100);
		font-size: calc(22vw / 750 * 100);
		top: -3%;
	}
	.sec05_case ul li figcaption span span{
		font-size: calc(30vw / 750 * 100);
	}
	.sec05_case ul li img{
		margin-top: 2.5%;
		width: calc(508vw / 750 * 100);
	}
	.sec05_case ul li:last-child img{
		width: calc(525vw / 750 * 100);
	}
}


/* sec06
---------------------------------------------------------- */
.sec06_voice{
	margin-top: 10%;
	background: url("img/sec06_voice_bg.png");
	padding: 6% 0 9%;
}
.sec06_voice h3{
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 2em;
}
.sec06_voice h3 span.bg_white{
	font-size: 40px;
}
.sec06_voice ul{
	list-style: none;
	width: 95%;
	margin: auto;
}
.sec06_voice ul li{
	background: #fff;
	border-radius: 15px;
	padding-bottom: 5%;
}
.sec06_voice ul li dt::before{
	content: "";
	display: inline-block;
	background: url("img/sec06_voice_icon01.png") no-repeat;
	background-size: contain;
	width: 95px;
	height: 95px;
	position: absolute;
	left: 5%;
	top: 8%;
}
.sec06_voice ul li:last-child dt::before{
	background-image: url("img/sec06_voice_icon02.png");
}
.sec06_voice ul li dt{
	background: var(--color-primary);
	color: #fff;
	border-radius: 15px 15px 0 0;
	padding: 1em 1em 1em 30%;
	position: relative;
}
.sec06_voice ul li dt p{
	display: block;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.275;
	margin-bottom: 0.5em;
}
.sec06_voice ul li dd img{
	margin: 6% auto 7%;
}
.sec06_voice ul li dd .sec06_voice_txt{
	width: 89%;
	margin: auto;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	/*罫線*/
	background-color: #fff;
	background-image: linear-gradient(0deg, #d89797 1px, transparent 1px);
	background-size: 100% 1.875em; /* 行の高さ */
	line-height: 1.875em; /* 文字の高さ */
}
/* PCのみ */
@media all and (min-width: 751px) {
	.sec06_voice ul{
		display: flex;
		justify-content: space-between;
	}
	.sec06_voice ul li{
		width: 442px;
	}
	.sec06_voice ul li dd img{
		width: 295px;
	}
}
/* SPのみ */
@media all and (max-width: 750px) {
	.sec06_voice{
		margin-top: 13%;
		padding: 11% 0 5%;
	}
	.sec06_voice h3{
		font-size: calc(34vw / 750 * 100);
		margin-bottom: 1.5em;
	}
	.sec06_voice h3 span.bg_white{
		font-size: calc(45vw / 750 * 100);
	}
	.sec06_voice ul{
		width: calc(690vw / 750 * 100);
	}
	.sec06_voice ul li{
		border-radius: calc(15vw / 750 * 100);
		padding-bottom: 10%;
		margin: 8% auto;
	}
	.sec06_voice ul li dt::before{
		width: calc(149vw / 750 * 100);
		height: calc(149vw / 750 * 100);
		left: 5%;
		top: 12%;
	}
	.sec06_voice ul li dt{
		border-radius: calc(15vw / 750 * 100) calc(15vw / 750 * 100) 0 0;
		padding: 1em 1em 1em 30%;
	}
	.sec06_voice ul li dt p{
		font-size: calc(34vw / 750 * 100);
	}
	.sec06_voice ul li dt div{
		font-size: calc(24vw / 750 * 100);
	}
	.sec06_voice ul li dd img{
		margin: 8% auto;
		width: calc(462vw / 750 * 100);
	}
}


/* sec07
---------------------------------------------------------- */
.sec07_attention{
	margin: 1em 0;
	display: inline-block;
	background: #f8e5e8;
	border-radius: 10px;
	padding: 0 1em;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.07em;
}
.sec07_attention span{
	font-size: 45px;
	letter-spacing: -0.1em;
	margin-right: 0.15em;
}
.sec07_txt{
	font-size: 20px;
	text-align: center;
}
/* SPのみ */
@media all and (max-width: 750px) {
	.sec07_attention{
		margin: 1em auto;
		display: block;
		width: calc(690vw / 750 * 100);
		border-radius: calc(10vw / 750 * 100);
		padding: 0.5em;
		font-size: calc(34vw / 750 * 100);
		text-align: center;
	}
	.sec07_attention span{
		font-size: calc(50vw / 750 * 100);
	}
	.sec07_txt{
		font-size: calc(30vw / 750 * 100);
		line-height: 1.66;
	}
}
/*sec07_last*/
.sec07_last{
	margin-top: 7%;
	background: #e0efee;
	border-radius: 15px;
}
.sec07_last h3{
	background: url("img/sec07_last_tit_bg.png");
	border-radius: 15px 15px 0 0;
	line-height: 1.3;
	text-align: center;
	font-size: 23px;
	font-weight: bold;
	letter-spacing: 0.05em;
	color: #fff;
	padding: 1em;
}
.sec07_last_cont{
	padding: 4% 4% 6%;
}
.sec07_last_cont_img{
	width: 478px;
	margin: 5% auto;
}
.sec07_last_cont_txt{
	font-weight: bold;
	font-size: 18px;
}
/* SPのみ */
@media all and (max-width: 750px) {
	.sec07_last{
		width: calc(690vw / 750 * 100);
		margin: 8% auto 0;
		border-radius: calc(15vw / 750 * 100);
	}
	.sec07_last h3{
		border-radius: calc(15vw / 750 * 100) calc(15vw / 750 * 100) 0 0;
		line-height: 1.3;
		font-size: calc(34vw / 750 * 100);
		padding: 1em;
	}
	.sec07_last_cont{
		padding: 5% 6% 14%;
	}
	.sec07_last_cont .txt{
		width: 100%;
	}
	.sec07_last_cont_img{
		width: calc(627vw / 750 * 100);
		margin: 5% auto;
	}
	.sec07_last_cont_txt{
		font-size: calc(26vw / 750 * 100);
		line-height: 1.9;
		margin-top: 10%;
	}
}
/*cta*/
.cta{
	margin-top: 6%;
	list-style: none;
	text-align: center;
}
.cta_tel_txt{
	font-size: 23px;
	font-weight: bold;
	margin-bottom: 1%;
}
.cta a{
	display: block;
	width: 430px;
}
.cta a img{
	box-shadow: 5px 5px 10px rgba(0,0,0,.3);
	border-radius: 50px;
}
.cta_info{
	margin-top: 2%;
}
.cta_info_txt01{
	font-weight: bold;
}
.cta_info_txt02{
	font-size: 13px;
}
/* PCのみ */
@media all and (min-width: 751px) {
	.cta{
		display: flex;
		justify-content: space-around;
		align-items: end;
	}
}
/* SPのみ */
@media all and (max-width: 750px) {
	.cta{
		margin-top: 10%;
	}
	.cta_tel_txt{
		font-size: calc(35vw / 750 * 100);
		margin-bottom: 2%;
	}
	.cta a{
		width: calc(603vw / 750 * 100);
	}
	.cta a img{
		box-shadow: calc(5vw / 750 * 100) calc(5vw / 750 * 100) calc(10vw / 750 * 100) rgba(0,0,0,.3);
		border-radius: calc(70vw / 750 * 100);
	}
	.cta_info{
		margin: 2% auto 5%;
		text-align: left;
		width: 90%;
	}
	.cta_info_txt01{
		font-size: calc(21vw / 750 * 100);
		line-height: 1.57;
	}
	.cta_info_txt02{
		display: inline-block;
		font-size: calc(15vw / 750 * 100);
		line-height: 1.3;
	}
}

.cta-number__inner{
	display: flex;
	align-items: center;
	justify-content: center;
}
.cta-number__icon{
	display: inline-block;
	width: 90px;
	height: 50px;
}
.svg{
	width: 100%;
	height: 100%;
}
.cta-number__text{
	color: var(--color-primary);
	font-weight: bold;
	font-size: 40px;
}



/* ---------------------------------------------------------------
	Footer
--------------------------------------------------------------- */
.footer {
	text-align: center;
	background: var(--color-primary);
}
.footer__inner {
	padding: 80px 0 50px;
	background: #fff;
}
.footer__license-item{
	font-size: 12px;
	letter-spacing: 0.02em;
}
.footer__information {
	margin-top: 1.5%;
	list-style: none;
	font-size: 13.6px;
	display: flex;
	justify-content: center;
}
.footer__information li::before{
	content: "";
	display: inline-block;
	background: url("img/icon_arrow_right.png") no-repeat;
	background-size: contain;
	width: 11px;
	height: 18px;
	vertical-align: baseline;
	margin-right: 0.3em;
}
.footer__information li{
	margin: 0 0.8em;
	display: flex;
	align-items: center;
}
.footer__copyright {
	padding: 40px 0;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	letter-spacing: 0.01em;
}
@media all and (max-width: 400px) {
	.footer__information {
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-left: 1%;
		margin-right: 1%;
	}
	.footer__information li{
		margin: 0.5em 0.8em;
	}
}


