@charset "UTF-8";

.prepare {
	background: #fdf0ef;
    padding: 30px;
	border-radius: 30px;
	margin: 50px 0;
}
.prepare-inr {
	background: #fff;
    padding: 30px;
	border-radius: 30px;
}
.prepare-ttl {
	font-size: 24px;
	font-weight: bold;
	color: #ec6d65;
	text-align: center;
	margin-bottom: 40px;
}
.prepare-step li {
	font-size: 20px;
}

.frame02.is-radius {
    border-radius: 30px;
    padding: 30px;
}

.frame03 {
	background: #f6f6f6;
	border-radius: 30px;
	padding: 30px;
	margin-top: 30px;
}
.frame03-grid,
.frame03-grid-s {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.frame03-grid > *:not(.col-txt) {
	background: #fff;
	border-radius: 30px;
}
.frame03-grid > *:not(.col-txt),
.frame03-grid > *:not(.col-img) {
	padding: 30px 40px 40px;
}

.frame04 {
	background: #fdf0ef;
	padding: 50px 60px 60px;
	border-radius: 50px;
	margin-top: 30px;
}
.frame04-grid {
	display: flex;
	flex-flow: row wrap;
}
.frame04-grid > * {
	position: relative;
}

.frame-sub {
	background: #fff;
	padding: 40px 60px;
	border-radius: 50px;
	margin-top: 40px;
}

.block01 .col-txt {
	padding-top: 40px;
	padding-left: 30px;
}
.block01 .col-img {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	padding: 30px 45px;
}

.speech-balloon {
	background: #f6f6f6;
	padding: 30px;
	border-radius: 20px;
	box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.25);
	position: relative;
	word-break: break-all;
}
.speech-balloon:after {
	content: "";
	width: 30px;
	height: 30px;
	background: url('/support/guide-mima-app/img_v4/icon_speech-balloon_01.png') no-repeat;
	background-size: 100% 100%;
	position: absolute;
	left: -29px;
	top: 55%; 
}

.step-wrap {
	width: 100%;
	overflow: hidden;
}
.step-col3 {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
}
.step-col3 > * {
	position: relative;
}
.step-col3 > *:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	position: absolute;
}
.step-col3:not(.continue) > *:last-child:after {
	display: none;
}

.heading-mark {
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
}
.heading-mark > * {
	padding: 0 40px;
	position: relative;
	color: #ec6d65;
	font-size: 26px;
	text-align: center;
}
.heading-mark > *:before,
.heading-mark > *:after {
	content: "";
	width: 3px;
	height: 100%;
	background: #ec6d65;
	position: absolute;
	top: 0;
	bottom: 0;
}
.heading-mark > *:before {
	left: 7px;
	transform: rotate(-25deg);
}
.heading-mark > *:after {
	right: 7px;
	transform: rotate(25deg);
}
.heading-blue {
	border-bottom: 3px dashed #00a4ac;
	padding-bottom: 10px;
	margin-bottom: 30px;
	color: #00a4ac;
}
.heading-blue .heading-blue_label {
	font-size: 26px;
}

#mimamori-app ._num {
	font-size: 22px;
	font-weight: bold;
	color: #00a4ac;
	border: 2px solid #00a4ac;
	border-radius: 10px;
	background: #dff0f1;
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 23px;
	left: 23px;
}
#mimamori-app ._title-blue {
	font-size: 20px;
	font-weight: bold;
	color: #00a4ac;
	padding: 0 20px;
}
#mimamori-app .frame-sub ._title-blue {
	padding: 0;
}

.cnv-attention {
	background: #ff6f4c;
	margin-bottom: 40px;
	padding: 20px;
}
.cnv-attention > * {
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}
.cnv-attention > * span {
	border-bottom: 3px dashed #fff;
	display: inline-block;
	padding-bottom: 10px;
}
/*
.conversion-under .btn-internet02 {
	height: 70px;
	max-width: 500px;
	border-radius: 35px;
}
.conversion-under .btn-internet02:before {
	width: 42px;
	height: 42px;
	font-size: 42px;
	top: calc(50% - 21px);
}
*/
.conversion-under .cnv-wrap .cnv-block-c-pc .cnv-body ~ .cnv-info {
    margin: 20px 0 0 0;
}

.group-btn {
	display: flex;
	justify-content: center;
	margin-top: 10px;
}
.group-btn > * {
	width: calc(50% - 10px);
}
.group-btn > * + * {
	margin-left: 20px !important;
}
.group-btn .btn-primary {
	max-width: 484px;
	height: 90px;
	border-color: #ec6d65;
	background: #ec6d65;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
    margin: auto;
    display: table;
    border-radius: 45px;
    padding: 5px 50px 5px 30px;
}
.group-btn .btn-primary:after {
	font-size: 22px;
	height: 22px;
	width: 22px;
	content: "\F01C";
	right: 20px;
}

.label01 {
    padding: 3px 10px;
    background: #ec6d65;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    display: inline-block;
    min-width: 88px;
    text-align: center;
}
.label01 .txt-num {
    font-size: 20px;
}

.triangle {
	position: relative;
	padding-bottom: 100px;
}
.triangle:after {
    content: "";
    position: absolute;
    bottom: 25px;
    left: calc(50% - 100px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 90px 0 90px;
    border-color: #ffe5e5 transparent transparent transparent;
}

.w-75p {
	width: 75% !important;
}

@media (min-width: 768px) {
	.prepare-step {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.prepare-step li + li {
		margin-left: 30px;
	}

	.anchor-list {
		margin: 0 0 50px 0;
		display: flex;
		flex-wrap: wrap;
	}
	.anchor-list li {
		width: 50%;
		border-left: 1px solid #cccccc;
		padding: 15px;
		text-align: center;
	}
	.anchor-list li + li {
		border-right: 1px solid #cccccc;
	}
	.anchor-list li .link-anchor {
		font-size: 20px;
		text-align: left;
	}
	
	.frame03-grid > .grid06 {
		width: calc((100% - 30px)/2);
	}
	.frame03-grid-s > .grid06 {
		width: calc((100% - 20px)/2);
	}
	
	.frame04-grid {
		margin-bottom: -30px;
	}
	.frame04-grid > .grid04 {
		width: calc((100% - 60px)/3);
		margin-right: 29px;
		margin-bottom: 30px;
	}
	.frame04-grid > *:nth-child(3n) {
		margin-right: 0;
	}
	
	.block01 .col-txt {
		width: 40%;
	}
	.block01 .col-img {
		width: calc(60% - 40px);
	}
	.block01 .col-img .image02 {
		width: 209px;
		margin-bottom: 0;
	}
	.block01 .col-img .caption {
		width: calc(100% - 209px);
		padding-left: 30px;
	}
	
	.step-col3 {
		width: calc(100% + 20px);
	}
	.step-col3 > * {
		width: calc((100% - 240px)/3);
		position: relative;
		margin-right: 80px;
		margin-top: 40px;
	}
	.step-col3 > *.colspan-2 {
		width: calc(80px + (100% - 240px)/3*2);
	}
	.step-col3 > *:after {
		border-width: 90px 0 90px 40px;
		border-color: transparent transparent transparent #ffe5e5;
		top: calc(50% - 90px);
		right: -60px;
	}

	.group-btn .btn-primary:hover {
		color: #fff;
		background: #ec6d65;
		border-color: #ec6d65;
		opacity: 0.7;
	}
	
	.cnv-attention {
		margin-top: -40px;
	}
	/*
	.conversion-under .btn-internet02 {
		font-size: 26px;
	}
	.conversion-under .btn-tel2 {
		font-size: 48px;
		height: 60px;
	}
	.conversion-under .btn-tel2:before {
		width: 60px;
		height: 60px;
		line-height: 60px;
		font-size: 36px;
	}
	*/
	.cnv-block-c-pc {
		display: flex;
	    flex-direction: column;
	    justify-content: space-between;
	}
}

@media (max-width: 767px) {
	.prepare {
	    padding: 20px;
		border-radius: 15px;
		margin: 40px 0 30px;
	}
	.prepare-inr {
	    padding: 15px;
		border-radius: 15px;
	}
	.prepare-ttl {
		font-size: 20px;
		margin-bottom: 15px;
	}
	.prepare-step li {
		font-size: 16px;
	}
	.prepare-step li + li {
		margin-top: 10px;
	}

	.anchor-list li + li {
		margin-top: 10px;
	}
	.anchor-list li .link-anchor {
		font-size: 16px;
	}

	.heading05 {
		margin-bottom: 20px;
	}
	
	.frame02.is-radius {
	    border-radius: 15px;
	    padding: 20px;
	}
	
	.frame03 {
		border-radius: 15px;
		margin-top: 20px;
		padding: 20px;
	}
	.frame03 .txt-strong {
		font-size: 20px;
	}
	.block01 .col-txt {
		padding: 0;
	}
	.block01 .col-img {
		padding: 15px;
		margin-top: 15px;
		border-radius: 15px;
		width: 100%;
	}
	.block01 .col-img .image02 {
		width: 110px;
		margin-bottom: 0;
	}
	.block01 .col-img .caption {
		width: calc(100% - 115px);
		padding-left: 5px;
	}
	.speech-balloon {
		padding: 10px;
		font-size: 13px;
	}
	.frame03-grid > * + * {
		margin-top: 20px;
	}
	.frame03-grid > *:not(.col-txt) {
		border-radius: 15px;
	}
	.frame03-grid > *:not(.col-txt, .col-img) {
		padding: 15px 20px 20px;
	}
	
	.step-col3 > * {
		width: 100%;
	}
	.step-col3 > * + * {
		margin-top: 60px;
	}
	.step-col3 > *:after {
		border-width: 30px 65px 0 65px;
		border-color: #ffe5e5 transparent transparent transparent;
		right: calc(50% - 65px);
		bottom: -45px;
	}
	.step-col3.continue > *:last-child {
		margin-bottom: 60px;
	}
	
	.block03 .frame03-grid-s .grid06 {
		width: calc((100% - 20px)/2);
	}
	
	.heading-mark > * {
		font-size: 20px;
		padding: 0px 30px;
	}
	.heading-mark > *:before {
		left: 10px;
	}
	.heading-mark > *:after {
		right: 10px;
	}
	
	.frame04 {
		border-radius: 25px;
		padding: 20px;
	}
	.frame03-grid > *,
	.frame04-grid > * {
		width: 100%;
	}
	.frame04-grid > * + * {
		margin-top: 30px;
	}
	.heading-blue .heading-blue_label {
		font-size: 18px;
	}
	
	#mimamori-app ._num {
		font-size: 20px;
		width: 40px;
		height: 40px;
		top: 10px;
		left: 10px;
	}
	#mimamori-app ._title-blue {
		font-size: 18px;
		padding: 0 10px;
	}
	
	.frame-sub {
		border-radius: 25px;
		padding: 20px;
	}
	
	.conversion-under .cnv-attention {
		margin: -20px -20px 20px -20px;
	}
	.conversion-under .cnv-attention > * {
		font-size: 22px;
	}
	.conversion-under .btn-tel2 {
		margin-top: 5px;
	}
	.conversion-under .cnv-info {
		margin-top: 20px;
		background: #f5f5f5;
	}
	.conversion-under .btn-internet02 {
		font-size: 18px;
		max-width: 100%;
	}

	.label01 {
	    font-size: 14px;
	    min-width: 70px;
	    padding: 3px 15px;
	}
	.label01 .txt-num {
	    font-size: 16px;
	}

	.group-btn .btn-primary {
		max-width: 200px;
		min-width: 100px;
		height: 60px;
		font-size: 14px;
		border-radius: 30px;
	    padding: 5px 28px 5px 14px;
	}
	.group-btn .btn-primary:after {
		font-size: 14px;
		height: 14px;
		width: 14px;
		right: 10px;
	}

	.triangle {
		padding-bottom: 60px;
	}
	.triangle:after {
		border-width: 30px 65px 0 65px;
	   left: calc(50% - 65px);
	   bottom: 15px;
	}
}

.main-feature .label01-list {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin-top: 25px;
}
.main-feature .label01-list > * {
	width: calc((100% - 80px)/5);
	border: 1px solid #ec6d65;
	padding: 30px 15px 20px 15px;
	position: relative;
	font-size: 18px;
}

.main-feature .label01-list > * .label01_num {
	font-size: 30px;
    line-height: 1;
	color: #ec6d65;
	display: inline-block;
	padding: 5px 15px;
	background: #fff;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,-56%);
}

.sms-grid {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
}
.sms-grid .speech-balloon {
	background: #fff;
}

.download-app {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.2);
	padding: 20px;
}
.download-app_name {
	display: flex;
	align-items: center;
}
.download-app_name img {
	width: 60px;
	margin-right: 20px;
}
.download-app_name > span {
	font-size: 22px;
	color: #ec6d65;
	font-weight: bold;
}
.download-app > a {
	display: block;
	padding: 18px;
	margin: -18px;
	border-radius: 10px;
	overflow: hidden;
}
.download-app > a:hover {
	text-decoration: none;
}
.download-app > a:hover .download-app_name > span {
	opacity: 0.7;
}

.w-87p {
    width: 87% !important;
}

@media (min-width: 768px) {
	.main-feature .label01-list > * + * {
		margin-left: 20px;
	}
	.sms-grid {
		width: 90%;
		min-width: 520px;
		margin: 30px auto 0;
	}
	.sms-grid .image02 {
		width: 209px;
		margin-bottom: 0;
	}
	.sms-grid .caption {
		width: calc(100% - 209px);
		padding-left: 30px;
	}
}

@media (max-width: 767px) {
	.main-feature .label01-list > * {
		width: calc((100% - 15px)/2);
		font-size: 16px;
		padding: 20px 10px 10px 10px;
		margin-right: 15px;
		margin-bottom: 25px;
	}
	.main-feature .label01-list > *:nth-child(even) {
		margin-right: 0;
	}
	.main-feature .label01-list > * .label01_num {
		font-size: 26px;
	}


	.sms-grid {
		margin-top: 20px;
	}
	.sms-grid .image02 {
		width: 110px;
		margin-bottom: 0;
	}
	.sms-grid .caption {
		width: calc(100% - 115px);
		padding-left: 5px;
	}

	.download-app > a {
		display: flex;
		width: 100%;
	}
	.download-app > a > * + * {
		margin-left: 20px;
	}
	.download-app_name > span {
		font-size: 20px;
	}

	.frame03-grid-s .grid06-sp {
		width: calc((100% - 20px)/2);
	}
}

.btn-cnv01 {
	padding: 10px 40px 10px 20px;
    font-size: 18px;
    border-radius: 35px;
    font-weight: bold;
    position: relative;
    display: table;
    width: auto;
    background-color: #fff;
    border: 2px #e70012 solid;
    color: #e70012;
}
.btn-cnv01:after {
    font-family: "icon";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    text-decoration: none;
    text-transform: none;
    content: "\F002";
    position: absolute;
    display: block;
    line-height: 1;
    text-align: left;
    font-size: 18px;
    width: 18px;
    height: 18px;
    right: 15px;
    top: calc(50% - 9px);
}

.d-inBlock {
  display: inline-block;
}

@media (max-width: 767px) {
	.modal-dialog {
			margin: calc(50vh - 100px) auto 20px;
	}
}