@charset "utf-8";
.main_img img{
	width: 100%;
}
#manga{
	background-image: radial-gradient(#fff0f5 20%, transparent 20%), radial-gradient(#fff0f5 20%, transparent 20%);
    background-size: 40px 40px;
    background-position: 0 0, 20px 20px;
    background-color: #fff;
}
#manga .manga{
	max-width: 800px;
    width: 90%;
    margin: auto;
	background-color: #fff;
	padding: 40px 30px 50px;
	box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.16);
	text-align: center;
	border-radius: 30px;
}
.heading {
	align-items: center;
	display: flex;
	justify-content: center;
}
.heading:before {
	margin-right: 10px;
	transform: rotate(60deg);
}
.heading:before,
.heading:after{
	background-color: #000;
	content: "";
	height: 4px;
	width: 40px;
}
.heading:after {
	margin-left: 10px;
	transform: rotate(-60deg);
}
@media screen and (max-width: 640px) {
	.heading{
		font-size: 1.5rem !important;
	}
	.heading:before,
	.heading:after{
		width: 70px;
	}
}
.marker {
	background: linear-gradient(transparent 40%, rgba(255, 244, 110, 0.6) 30%);
	display: inline;
}
#service .service01{
	color: #ff6a83;
}
#service .service02{
	color: #ff6abe;
}
#service .service03{
	color: #ec6aff;
}
#service .service04{
	color: #6a8dff;
}
#service .service05{
	color: #6ad0ff;
}
#service .service06{
	color: #71CB81;
}
#service .service07{
	color: #ffe16a;
}
#service .service08{
	color: #ffa26a;
}
#service .service09{
	color: #ff6a6a;
}
#service{
	background-color: #eff7f8;
}
#service .feature_box{
	width: 32%;
	display: flex;
	flex-direction: column;
	background-color: #fff;
	border-radius: 14px;
	padding-bottom: 30px;
}
#service .num {
	line-height: 1;
	text-align: center;
	color: #FF3258;
	position: relative;
	top: 0px;
	font-family: "Satoshi", sans-serif;
}
#service .num p{
	top: -10px;
	position: relative;
	z-index: 1;
	font-weight: bold;
	font-size: 2rem;
}
#service .num::before {
	position: relative;
	z-index: 2;
	bottom: 15px;
}
#service .num::after {
	content: "";
	display: block;
	width: 70px;
	height: 35px;
	border-radius: 35px 35px 0 0;
	background-color: #fff;
	position: absolute;
	bottom: 13px;
	left: 50%;
	transform: translate(-50%, 0%);
}
#service .feature_item_image {
	width: 100%;
    max-width: 250px;
	height: auto;
	margin: 12px auto;
	position: relative;
}
#service .feature_item_image::before {
	content: "";
	display: block;
	width: 180px;
	height: 180px;
	margin: 0 auto;
	border-radius: 50%;
	background-color: #f0f0f0;
}
#service .feature_item_image img {
	width: 63.2%;
	height: auto;
	top: 51%;
	left: 50%;
	position: absolute;
	transform: translate(-50%, -50%);
}
#service .feature_item dt {
	width: 100%;
	height: 62px;
	font-weight: 700;
	letter-spacing: 0.1em;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
}
#service .feature_item dd {
	width: 86%;
	margin: 0 auto;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
	#service .num p{
		font-size: 1.3rem;
		top: -19px;
	}
	#service .feature_li{
		display: block;
	}
	#service .feature_box{
		width: 100%;
	}
	#service .feature_item_image::before{
		width: 250px;
		height: 250px;
	}
	#service .feature_item_image img{
		width: 81.2%;
	}
	#service .feature_item dt{
		font-size: 1.7rem;
	}
	#service .num::after{
		height: 50px;
		width: 77px;
	}
}
#about{
	background: url(../img/about.jpg);
}
#about .about_box{
	background-color: #fff;
	box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.16);
	border-radius: 20px;
	padding: 60px 70px;
}
#about .left{
	margin-left: auto;
}
#about .right{
	margin-right: auto;
}
#about .about_img img{
	border-radius: 20px;
}
@media screen and (max-width: 640px) {
	#about .about_box{
		padding: 50px;
	}
	#about .about_box_Inner{
		display: block;
	}
	#about .about_read{
		width: 100%;
	}
	#about .about_img{
		width: 100%;
		margin-bottom: 20px;
	}
	#about .box1 .about_box_Inner{
		display: flex;
        flex-direction: column-reverse;
	}
}
#voice{
	background-color: #FDF7EF;
}
#voice .voice_read{
	background-color: #fff;
	padding: 50px;
	border-radius: 20px;
	position: relative;
}
#voice .voice_read:before {
	content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #fff;
}
#voice .circle {
	background-color: #fff;
	width: 250px;
	height: 250px;
	text-align: center;
	border-radius: 50%;
	position: relative;
}
#voice .circle img {
	position: absolute;
	top: 45%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#voice .age{
	position: absolute;
	bottom: 16px;
	left: 0;
	right: 0;
}
@media screen and (max-width: 1000px) {
	#voice .voice_box{
		margin: auto;
		width: 90%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#voice .voice_read{
		width: 100%;
	}
	#voice .voice_read:before{
		position: absolute;
		top: -37px;
		left: 50%;
		margin-left: -15px;
		border: 19px solid transparent;
		border-bottom: 19px solid #fff;
		margin-top: 0px;
	}
	#voice .circle{
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 640px){
	#voice .voice_box{
		width: 100%;
	}
}
#company{
	background-color: #eff7f8;
}
#company .table_information{
	width: 80%;
	margin: auto;
}
#company .table_information th {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #d8d8d8;
	padding: 15px;
	font-weight: bold;
	text-align: center;
	background-color: #f8f8f9;
	width: 30%;
}
#company .table_information td {
	padding: 15px 22px;
	border-top: solid 1px #d8d8d8;
	border-right: solid 1px #d8d8d8;
	background-color: #fff;
}
#company .table_information tr:last-child td{
	border-bottom: solid 1px #d8d8d8;
}
@media screen and (max-width: 640px) {
	#company .table_information,
	#company .map{
		width: 100%;
	}
}
#flow{
	background-image: url(../img/flow_back.png);
    background-size: cover;
	background-color: rgba(255, 255, 255, 0.6);
    background-blend-mode: lighten;
    background-repeat: no-repeat;
}
@media screen and (max-width: 640px){
	#flow{
		background: linear-gradient(180deg, rgb(255, 255, 255), rgb(255, 204, 213));
	}
}
#flow .flow .flow_item {
	display: -webkit-box;
    border-radius: 15px;
    -webkit-box-shadow: 0 3px 25px rgba(0, 0, 0, 0.06);
    box-shadow: 0 3px 25px rgba(0, 0, 0, 0.06);
    padding: 1.5rem 2rem 2.5rem;
    margin-bottom: 2rem;
	background-color: #fff;
}
#flow .flow .flow_item .flow_item__step {
    border-radius: 290486px;
    width: 6rem;
    height: 6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0.3rem;
    position: relative;
}
#flow .flow .flow_item .flow_item__step .step__txt,
#flow .flow .flow_item .flow_item__step .step__num {
    color: #fff;
    text-align: center;
    line-height: 1.3;
    display: block;
}
#flow .flow .flow_item .flow_item__step::after {
    content: '';
    display: block;
    width: 3px;
    height: 15px;
    background: url(../img/dot.svg) 0 0 no-repeat;
    position: absolute;
    bottom: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
#flow .flow .flow_item .flow_item__content {
	width: 70%;
    padding-top: 1rem;
}
#flow .flow .flow_item .flow_item__content .flow_item__ttl {
    line-height: 1.6;
    font-weight: 700;
    padding-bottom: 0.5rem;
}
#flow .num01{
	background: #FFCCD5;
}
#flow .num02{
	background: #FF99AB;
}
#flow .num03{
	background: #FF6A83;
}
#flow .num04{
	background: #FF3258;
}
#flow .flow_item__img{
	width: 13%;
	margin: auto;
}
#flow .is-family-en{
	font-size: 1.5rem;
}
@media screen and (max-width: 640px) {
	#flow .flow_item{
		display: block!important;
	}
	#flow .flow_item__content{
		width: 100%!important;
		padding-top: 0rem!important;
	}
	#flow .flow_item__step{
		width: 100%!important;
		height: 2.4rem!important;
		padding-top: 0rem!important;
	}
	#flow .flow_item__step::after{
		display: none!important;
	}
	#flow .flow_item__ttl{
		text-align: center;
	}
	#flow .flow_item__img{
		width: 40%!important;
		font-size: 1.5rem!important;
		padding-top: 20px;
	}
}
#faq .faq_one .faq_header {
    border-top: 1px solid #eaeaea;
    padding: 1.5rem 4rem 1.5rem 2rem;
	line-height: 1.5;
    position: relative;
    transition: .2s;
}
#faq .p-faq__headinner {
    padding-left: 35px;
    position: relative;
}
#faq .p-faq__headinner::before {
    position: absolute;
    left: 0;
    content: "Q";
    color: #ff6a83;
}
#faq .faq_one .faq_header .i_box {
    position: absolute;
    top: 50%;
    right: 2rem;
    width: 20px;
    height: 20px;
    margin-top: -10px;
}
#faq .faq_one .faq_header .i_box:before {
    border-top: 1px solid #000;
    width: 20px;
    height: 0;
    top: 0;
    bottom: 0;
    right: 0;
}
#faq .faq_one .faq_header .i_box:before,
#faq .faq_one .faq_header .i_box:after {
    position: absolute;
    content: "";
    margin: auto;
    box-sizing: border-box;
    vertical-align: middle;
}
#faq .faq_one .faq_header .i_box:after {
    border-left: 1px solid #000;
    width: 0;
    height: 20px;
    top: 0;
    bottom: 0;
    right: 9px;
    transition: .3s;
}
#faq .faq_one .faq_inner {
    display: none;
    padding: 1.5rem 2rem 1.5rem 2rem;
    box-sizing: border-box;
}
#faq .p-faq__bodyinner {
    display: block;
    padding-left: 35px;
    position: relative;
    line-height: 1.5;
}
#faq .p-faq__bodyinner p.p-faq__a-txt {
    text-align: left;
}
#faq .faq_one:last-child .faq_header {
    border-bottom: 1px solid #eaeaea;
}
#faq .p-faq__bodyinner::before {
    position: absolute;
    left: 0;
    content: "A";
    color: #6fd9d9;
}
#faq .faq_one:last-child .open {
    border-bottom: none;
}
#faq .faq_one:last-child .faq_inner {
    border-bottom: 1px solid #eaeaea;
}
#faq .faq_one .faq_header.open .i_box:after{
	height: 0;
}
#contact{
	background: #fff1ef;
}
#contact .tel_box {
    background-color: #fff;
    border: solid 4px #ff6a83;
    padding: 60px 0;
    border-radius: 20px;
    margin-bottom: 50px;
}
#contact .contactbox {
    padding: 0px;
    background-color: #fff;
}
#contact .tel_box .tel:before {
    background: url(../img/tel2.svg) no-repeat left;
    content: "";
    display: inline-block;
    position: relative;
    width: 22px;
    height: 36px;
    bottom: 7px;
    margin-right: 8px;
    vertical-align: middle;
}
#contact .tel a{
	font-size: 4.5rem;
	color: #000;
}
@media screen and (max-width: 640px) {
	#contact .tel_box {
        padding: 60px 30px;
    }
	#contact .contactbox{
		width: 100%;
	}
	#contact .tel a{
		font-size: 2.5rem;
	}
	#contact .day{
		font-size: 1.5rem!important;
	}
}
form {
    background-color: #fff;
    padding: 80px;
    border-radius: 20px;
    border: solid 1px #dddddd;
    box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.16);
}
footer .back-top {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 200;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}
footer .back-top .mail {
	background-color: #ff6a83;
	padding-top: 25px;
}
footer .back-top a {
	display: block;
	width: 300px;
	position: relative;
	color: #fff;
	padding: 20px;
	text-align: center;
}
footer .back-top .mail:before {
	background: url(../img/mail.svg) no-repeat left;
	content: "";
	display: inline-block;
	position: relative;
	width: 23px;
	height: 23px;
	left: 0%;
	margin-right: 8px;
	vertical-align: middle;
}
footer .back-top .tel {
	background-color: #6fd9d9;
	line-height: 1.9rem;
	font-size: 2rem;
}
footer .back-top .tel:before {
	background: url(../img/tel.svg) no-repeat left;
	content: "";
	display: inline-block;
	position: relative;
	width: 17px;
	height: 17px;
	left: 2%;
	margin-right: 8px;
	vertical-align: middle;
}
footer #footerBg .footer {
    color: #fff;
    width: 100%;
    margin: auto;
    padding: 50px;
    background-color: #404040;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    flex-flow: nowrap;
    align-items: center;
}
footer #footerBg .footer .logo {
    width: 33%;
}
footer #footerBg .footer ul li {
    overflow: hidden;
    position: relative;
    padding: 0px 0px 0px 1em;
}
footer #footerBg .footer ul li:before {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 0px;
    height: 0px;
    border: 0.4em solid transparent;
    content: "";
    border-left: 0.4em solid #fff;
}
footer #footerBg .footer a {
    color: #fff;
}
footer .copyBox {
    background: #404040;
    padding-bottom: 90px;
}
footer .copyBox #copy {
    text-align: center;
    font-size: .9rem;
    padding: 2em 0;
    color: #fff;
}
footer .copyBox #copy a {
    color: #fff;
}
@media screen and (max-width: 640px) {
	footer .footer{
		display: block!important;
	}
	footer .footerbox{
		width: 88%;
	}
	footer .back-top{
		width: 100%;
		background-color: #ff6a83;
		display: flex;
        align-items: center;
	}
	footer .back-top a{
		width: 50%;
		padding: 20px 0;
	}
	footer .back-top .mail{
		font-size: 1rem;
	}
	footer .back-top .tel{
		font-size: 1.2rem;
		line-height: 1.7rem;
	}
	footer .back-top .tel span{
		font-size: 1rem!important;
	}
	footer .copyBox #copy{
		font-size: .7rem;
	}
	.snsbox{
		width: 45%;
	}
}

#media .media_box .logo{
	border: solid 2px #a9a9a9;
	height: 80px;
	align-items: center;
	display: flex;
}
#media .media_box dd{
	text-decoration:underline;
	color: #000;
	font-size: 1.7rem;
	line-height: 2.7rem;
	position: relative;
}
#media .media_box dd:after{
	background: url(../img/link.svg) no-repeat right;
	content: "";
	display: inline-block;
	position: relative;
	width: 13px;
	height: 13px;
	left: 3%;
	margin-right: 8px;
	vertical-align: middle;
}
#media .nikkei{
	background-color: #0a3e6f;
}
#media .media_box dt img{
	width: 50%;
	margin: auto;
}
@media screen and (max-width: 640px) {
	#media .media_box{
		display: block;
	}
	#media .media_box dl{
		width: 100%;
		margin-bottom: 50px;
	}
	#media .media_box .logo{
		width: 70%;
		margin: auto;
		margin-bottom: 5px!important;
	}
	#media .media_box dd{
		font-size: 1rem;
		text-align: center;
	}
	#media .media_box dd:after{
		width: 17px;
		height: 17px;
		left: 1%;
		bottom: 3px;
	}
}

#thanks{
	background-color: #effffe;
}
#thanks main{
	padding: 13rem 0;
}
#thanks footer .copyBox{
	padding-bottom: 0px;
}
#thanks .logo1{
	width: 100%;
	max-width: 200px;
}
#thanks .logo1 a{
	color: #000;
	position: relative;
}
#thanks .logo1 .top a:after{
	position: absolute;
    top: 50%;
    right: -24%;
    transform: translateY(-50%);
    width: 0px;
    height: 0px;
    border: 0.5em solid transparent;
    content: "";
    border-left: 0.5em solid #6fd9d9;
}