@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Sawarabi+Gothic');
@import url('https://fonts.googleapis.com/earlyaccess/notosansjp.css');
@import url('https://fonts.googleapis.com/css?family=Josefin+Sans:400,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap');


/***------------------------------------------
*
*　リセット
*
------------------------------------------***/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small,
strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label,
legend, 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;
    font-weight: normal;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
body {
    line-height: 1
}
article, aside, details, figcaption, figure, footer, header, hgroup,
menu, nav, section {
    display: block;
}
ul, ol {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
    content: none
}
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
input, select {
    vertical-align: middle;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}


/***------------------------------------------
*
*　基本設定
*
------------------------------------------***/
html {
	font-size: 62.5%; /* 10px */
}
body {
	color: #333;
	/*font-family: 'Noto Sans JP', sans-serif;*/
	font-family: 'BIZ UDPGothic', sans-serif;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: .1em;
	text-align: center;
}
@media screen and (max-width: 768px) {
	body {
		font-size: 1.4rem;
		line-height: 1.6;
		letter-spacing: .1em;
	}
}
img {
    max-width: 100%;
    width /***/: auto;
    height: auto;
    vertical-align: bottom;
}
p {
	text-shadow: 1px 1px 1px rgba(255,255,255,0.3);
}
.txtL { text-align: left; }
.txtC { text-align: center; }
.txtR { text-align: right; }
.marker { background: linear-gradient(transparent 50%, #f9eb21 90%); }
a {
    color: #503d32;
	text-decoration: none;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}
a:hover {
	text-decoration: none;
}
a.u-line {
	text-decoration: underline;
}
@media screen and (max-width: 1280px) {
	.wrap {
		padding: 0 1.6rem 0;
	}
}
@media screen and (max-width: 768px) {
	.spNone {
		display: none;
	}
	.pc-item {
        display: none !important;
	}
	.sp-item {
		display: block !important; 
	}
}
@media screen and (min-width: 769px) {
	.pcNone {
		display: none;
	}
	.sp-item {
		display: none; !important; 
	}
	.pc-item {
		display: block !important; 
	}
	
}


/***------------------------------------------
*
*　ヘッダー
*
------------------------------------------***/
header {}
.header-container {
	display: flex;
	flex-flow: column-reverse;
	justify-content: center;
	text-align: center;
}
.header-container .pre-head {
	background-color: #00a69a;
	font-family: fot-rodin-pron, sans-serif;
	color: #fff;
	font-weight: 600;
	font-style: normal;
	text-align: center;
}

/* --------------------------------------- *

	デザイン実績

 * --------------------------------------- */
.work-area {
	padding: 24px 12px;
	background-color: #00a69a;
}
.work-area .work-area__list {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}
.work-area .work-area__list li {
	margin: 0 12px;
}
.work-area .work-area__list li img {
	width: 100%;
}

/* --------------------------------------- *

	各エリア共通

 * --------------------------------------- */
section {
	position: relative;
	margin: 0 auto;
	padding: 32px 0;
}
section .sec {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 1024px;
	text-align: left;
}
.wrap {
	padding-left: 2.8rem;
	padding-right: 2.8rem;
}
h2 {
	position: relative;
	margin-bottom: 24px;
	font-size: 240%;
	font-family: "Zen Maru Gothic", serif;
	/*font-family: fot-rodin-pron, sans-serif;*/
	font-weight: 700;
	font-style: normal;
	line-height: 1.4;
	text-align: center;
}
h2 span {
	font-size: 140%;
	font-weight: 900;
}
h2 span.alpha {
	font-family: "Josefin Sans";
	font-size: 200%;
	font-weight: 900;
}
h3 {
	font-family: "Zen Maru Gothic", serif;
	font-size: 160%;
	font-weight: 700;
}
h3 span.alpha {
	font-family: "Josefin Sans";
	font-size: 120%;
	font-weight: 900;
}
.alpha {
	font-family: "Josefin Sans";
	font-size: 120%;
	font-weight: 900;
}
@media screen and (max-width: 768px) {
	h2 {
		font-size: 180%;
	}
	h3 {
		font-size: 125%;
	}
}

/* 区切り */
.separator1 {
	position: relative;
	margin-top: -24px;
	margin-bottom: -150px;
	z-index: 1;
}
.separator1 img {
	width: 30%;
}

/* --------------------------------------- *
	お悩み：worry
 * --------------------------------------- */
.worry-area {
	position: relative;
	background-color: #e3e3e3;
}
.worry-area h2 {
	color: #00a69a;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
              -1px 1px 0 #fff, 1px -1px 0 #Fff,
              0px 1px 0 #fff,  0 -1px 0 #fff,
              -1px 0 0 #fff, 1px 0 0 #fff;
}
.worry-area h2 span {
	display: inline-block;
	transform: rotate(-7deg);
}
.worry-area ul.worry-area__list {
	position: relative;
	padding: 32px;
	background-color: #fff;
	border-radius: 10px 50px/50px 10px;
}
@media screen and (min-width: 769px) {
	.worry-area ul.worry-area__list::before {
		position: absolute;
		content: "";
		background: url("../images/ill_sec1-1.png") no-repeat center center/contain;
		bottom: -10%;
		right: 0;
		width: calc(378px / 1.4);
		min-height: 267px;
		z-index: 1;
	}
}
.worry-area ul.worry-area__list li {
	position: relative;
	margin: 12px 0;
	padding: 3px 0;
	padding-left: 40px;
	border-bottom: 3px dotted #000;
}
.worry-area ul.worry-area__list li::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	margin: 4px 0;
	width: 25px;
	min-height: 25px;
	background-image: url("../images/icon_check.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
}
@media screen and (max-width: 769px) {
	.worry-area ul.worry-area__list li::before {
		width: 20px;
		min-height: 20px;
	}
}
/* --------------------------------------- *
	お任せください：solution
 * --------------------------------------- */
.solution-area {
	position: relative;
	z-index: 2;
}
.solution-area h2 {
	margin-bottom: 40px;
	color: #00a69a;
	line-height: 1;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
              -1px 1px 0 #fff, 1px -1px 0 #Fff,
              0px 1px 0 #fff,  0 -1px 0 #fff,
              -1px 0 0 #fff, 1px 0 0 #fff;
}
.solution-area h2 span {}


/* --------------------------------------- *
	ベネフィット：benefit
 * --------------------------------------- */
.benefit-area {
	background-color: #00a69a;
}
.benefit-area h2 {
	margin-bottom: 40px;
	color: #fff;
}
.benefit-area h2 span {}
.benefit-area ol.benefit-area__list {
	list-style-type: none;
}
.benefit-area ol.benefit-area__list li {
	position: relative;
	margin-bottom: 12px;
	background-color: #fff;
	border: 2px solid #000;
	background-color: #fff;
}
.benefit-area ol.benefit-area__list li h3 {
	position: relative;
	text-align: center;
}
.benefit-area ol.benefit-area__list li h3:before,
.benefit-area ol.benefit-area__list li h3:after {
	position: absolute;
	content: '';
}
.benefit-area ol.benefit-area__list li h3:before {
	top: -40px;
	left: calc(50% - 40px);
	width: 80px;
	height: 80px;
	border: 2px solid #000;
	border-radius: 50%;
	background-color: #fff;
}
.benefit-area ol.benefit-area__list li h3:after {
	top: 4px;
	left: 4px;
	width: calc(100% - 8px);
	height: 100%;
	border: 2px dashed #000;
	border-bottom: none;
	background-color: #fff;
}
.benefit-area ol.benefit-area__list li h3 i {
	position: absolute;
	top: -40px;
	left: calc(50% - 40px);
	width: 80px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	font-style: normal;
	z-index: 2;
}
.benefit-area ol.benefit-area__list li h3 span {
	position: relative;
	display: block;
	padding: 3.2rem 1.6rem 1.6rem;
	z-index: 1;
}
.benefit-area ol.benefit-area__list li h3 span:before,
.benefit-area ol.benefit-area__list li h3 span:after {
	position: absolute;
	content: '';
}
.benefit-area ol.benefit-area__list li h3 span:before {
	top: -34px;
	left: calc(50% - 34px);
	width: 68px;
	height: 40px;
	border: 2px dashed #000;
	border-radius: 50vw 50vw 0 0;
}
.benefit-area ol.benefit-area__list li h3 span:after {
	position: absolute;
	top: 4px;
	left: calc(50% - 32px);
	width: 64px;
	height: 10px;
	background-color: #fff;
}
.benefit-area ol.benefit-area__list li .benefit-txt {
	margin: 0 auto 4px;
	padding: 0 12px 12px;
	width: calc(100% - 8px);
	height: 100%;
	border: 2px dashed #000;
}
.benefit-area ol.benefit-area__list li .benefit-txt p {
	margin: 24px 32px 60px;
}

/* --------------------------------------- *
	料金：price
 * --------------------------------------- */
.price-area {}
.price-area h2 {}
.price-area h2 span {}
.price-area ol.price-area__list {
	display: flex;
	justify-content: space-between;
	list-style-type: none;
}
.price-area ol.price-area__list li {
	position: relative;
	padding: 12px;
	width: calc((100% - 32px) / 2);
	background-color: #fff;
	box-shadow: 0px 0px 5px 2px rgba(198, 198, 198, 0.8);
}
@media screen and (max-width: 768px) {
	.price-area ol.price-area__list {
		flex-direction: column;
	}
	.price-area ol.price-area__list li {
		width: 100%;
	}
	.price-area ol.price-area__list li:first-child {
		margin-bottom: 32px;
	}
}
.price-area ol.price-area__list li h3 {
	text-align: center;
}
.price-area ol.price-area__list li .price-area__txt {}
.price-area ol.price-area__list li .price-area__item {
	font-size: 160%;
	text-align: center;
}
.price-area ol.price-area__list li .price-area__item .alpha {
	font-size: 240%;
}
/*カラー*/
.price-area ol.price-area__list li.plan_1 {
	border: 12px solid #f77c5b;
}
.price-area ol.price-area__list li.plan_1 .price-area__item .alpha {
	color: #f77c5b;
}
.price-area ol.price-area__list li.plan_2 {
	border: 12px solid #00a69a;
}
.price-area ol.price-area__list li.plan_2 .price-area__item .alpha {
	color: #00a69a;
}

/* --------------------------------------- *
	フロー：flow
 * --------------------------------------- */
.flow-area {
	background-color: #00a69a;
}
.flow-area h2 {
	color: #fff;
}
.flow-area h2 span {}
.flow-area__step {
    --size: 3rem;
    --spacing: 0.5rem;
}
.flow-area h3 {
	color: #fff;
	line-height: 1.2;
}
.flow-area h3 span {
	display: inline-block;
	padding-right: 1.2rem;
	color: #f9eb21;
}
.flow-area .flow-area__item {
    position: relative;
    display: flex;
    gap: 1rem;
}
.flow-area .flow-area__item:before {
    --size: 3rem;
    content: "";
    position: relative;
    z-index: 1;
    flex: 0 0 var(--size);
    height: var(--size);
    border-radius: 50%;
    background-color: #f77c5b;
}
.flow-area .flow-area__item:not(:last-child):after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    transform: translateX(1.5rem);
    width: 2px;
    height: 100%;
    background-color: #f77c5b;
}
.flow-area .flow-area__item:not(:last-child):after {
    top: calc(var(--size) + var(--spacing));
    transform: translateX(calc(var(--size) / 2));
    height: calc(100% - var(--size) - calc(var(--spacing) * 2));
}
.flow-area .flow-area__item .flow-area__content {
	width: 100%;
}
.flow-area .flow-area__item .flow-area__txt {
	display: flex;
	justify-content: space-between;
	margin: 12px 0;
	width: 100%;
}
/*.flow-area .flow-area__item .flow-area__txt .img {
	width: 100px;
	height: 100px;
}*/
.flow-area .flow-area__item .flow-area__txt .txt {
	padding: 12px;
	width: 100%;
	/*width: calc(100% - 110px);*/
	background-color: #fff;
}

/* --------------------------------------- *
	プロフィール：profile
 * --------------------------------------- */
.profile-area {
	background: url(../images/bg.png) fixed;
}
.profile-area h2 {
}
.profile-area .hello {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
.profile-area .hello .character {}
.profile-area .hello .world {
	padding: 2rem;
	text-align: left;
}
.profile-area .hello .world p {
		margin-bottom: 1.6rem;
}
@media screen and (max-width: 768px) {
	.profile-area .hello {
		flex-direction: column;
	}
	.profile-area .hello .world {
		padding: 2rem 0
	}
	.profile-area .hello .character {
		margin: 0 auto;
		text-align: center;
	}
	.profile-area .hello .character img {
		width: 50%;
	}
}


/* --------------------------------------- *
	ごめんなさい：sorry
 * --------------------------------------- */
.sorry-area {}
.sorry-area h2 {}
.sorry-area h2 span {}
.sorry-area ol.sorry-area__list {
	display: flex;
	justify-content: space-between;
	list-style-type: none;
}
.sorry-area ol.sorry-area__list li {
	position: relative;
	padding: 12px;
	width: calc((100% - 32px) / 3);
	background-color: #fff;
	border: 2px solid #000;
}
.sorry-area ol.sorry-area__list li h3 {
	margin-bottom: 12px;
	font-size: 120%;
	text-align: center;
	line-height: 1.6;
}


/* --------------------------------------- *
	追伸：ps
 * --------------------------------------- */
.ps-area {}
.ps-area h2 {}
.ps-area h2 span {}


/* --------------------------------------- *
	フォーム：form
 * --------------------------------------- */
.form-area {}
.form-area h2 {}
.form-area h2 span {}


/***------------------------------------------
*
*　フッター
*
------------------------------------------***/
footer {
	text-align: left;
}
footer .footer-container {
	position: relative;
	padding: 24px;
	background-color: #00a69a;
	width: 100%;
}
footer .footer-container p.copy {
	font-size: 65%;
	color: #fff;
	text-align: center;
}
@media screen and (max-width: 768px) {
	footer .footer-container p.copy {
		margin-bottom: 6rem;
	}
}


/* ----------------------------------------
 *   SNS
 * ---------------------------------------- */
/*
@media screen and (min-width: 1281px) {
	.sns-btn-pc {
		position: fixed;
		right: 0;
		top: 50%;
		z-index: 999;
	}
	.sns-btn-pc li a {
		display: block;
		padding: 10px 10px 10px 20px;
		background-color: #fff;
		border-top-left-radius: 50%;
		border-bottom-left-radius: 50%;
	}
	.sns-btn-pc li a:hover {
		background-color: #009fe8;
	}
	.sns-btn-pc img {
		width: 40px;
	}
	.sns-btn-sp {
		display: none;
	}
}
@media screen and (max-width: 1280px) {
	.sns-btn-pc {
		display: none;
	}
	.sns-btn-sp {
		margin-top: 30px;
	}
	.sns-btn-sp img {
		width: 40px;
	}
}
*/
@media screen and (min-width: 769px) {
	.fix-menu {
		position: fixed;
		top: 50%;
		right: 1%;
		height: 6rem;
		z-index: 999;
	}
	.fix-menu ul {
		display: flex;
		justify-content: space-around;
		background-color: #fe6673;
		border-radius: 50%;
	}
	.fix-menu ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 1rem 0;
		width: 12rem;
		height: 12rem;
		text-align: center;
	}
	.fix-menu ul li a span {
		display: block;
		color: #fff;
		font-weight: bold;
	}
}
@media screen and (max-width: 768px) {
	.fix-menu {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		height: 6rem;
		z-index: 999;
	}
	.fix-menu ul {
		display: flex;
		justify-content: space-around;
		background-color: #fe6673;
	}
	.fix-menu ul li {
		flex: 1;
		border-top: .2rem solid #fff;
		border-right: .2rem solid #fff;
	}
	.fix-menu ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 1rem 0;
		height: 6rem;
		text-align: center;
	}
	.fix-menu ul li a span {
		display: block;
		color: #fff;
		font-weight: bold;
	}
}




/* ----------------------------------------
 *   pageTop
 * ---------------------------------------- */
#pageTop a {
	display: block;
	position: fixed;
	z-index: 9999;
	/*top: 90%;*/
	bottom: -60px;
	right: 10px;
}
#pageTop a span{
    /*描画位置*/
	position: absolute;
	left: -20px;
	top: 0;
    /*テキストの形状*/
	color: #000;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 矢印の描写 */
#pageTop a:before {
    content: "";
    /*描画位置*/
    position: absolute;
    top: 0;
    right: -6px;
    /*矢印の形状*/
    width: 1px;
    height: 20px;
    background: #000;
    transform: skewX(31deg);
}

#pageTop a:after{
	content:"";
    /*描画位置*/
	position: absolute;
	top: 0;
	right:0;
    /*矢印の形状*/
	width:1px;
	height: 70px;
	background: #000;
}



/*アコーディオン全体*/
#section4 .sec .faq-accordion {
	margin: 0;
	padding: 0;
}
#section4 .sec .faq-accordion li {
	margin-bottom: 24px;
}
#section4 .sec .faq-accordion li .faq-sec {
	border: 1px solid #000;
}
#section4 .sec .faq-accordion li .title {
	display: flex;
	align-items: center;
    position: relative;
	padding-right: 40px;
    cursor: pointer;
    font-weight: normal;
    transition: all .5s ease;
}
#section4 .sec .faq-accordion li .title span {
	display: inline-block;
	margin-right: 24px;
	padding: 24px;
	background-color: #000;
	color: #fff;
	text-align: center;
}
/*アイコンの＋と×*/
#section4 .sec .faq-accordion li .title::before,
#section4 .sec .faq-accordion li .title::after{
    position: absolute;
    content:'';
    width: 20px;
    height: 2px;
    background-color: #333;
	transition: all .5s ease;
}
#section4 .sec .faq-accordion li .title::before {
    top: 48%;
    right: 20px;
    transform: rotate(0deg);
}
#section4 .sec .faq-accordion li .title::after {    
    top: 48%;
    right: 20px;
    transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
#section4 .sec .faq-accordion li .title.close::before {
	transform: rotate(45deg);
}
#section4 .sec .faq-accordion li .title.close::after {
  	transform: rotate(-45deg);
}
#section4 .sec .faq-accordion li .answer-box {
	display: none;/*はじめは非表示*/
}
#section4 .sec .faq-accordion li .answer-box .faq-answer {
    position: relative;
	margin: 24px;
	padding: 12px;
	background-color: #f1f1f1;
}
#section4 .sec .faq-accordion li .answer-box .faq-answer p {
	margin-bottom: 24px;
}
#section4 .sec .faq-accordion li .answer-box .faq-answer p:last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 980px) {
	#section4 .sec .faq-area {
		flex-direction: column;
	}
	#section4 .sec .faq-nav {
		display: flex;
		white-space: normal;
	}
	#section4 .sec .faq-contents {
		margin-left: 0;
		width: 100%;
	}
}








/* --------------------------------------- *

	contents

 * --------------------------------------- */
#contents {
	margin: 15rem auto 10rem;
}
@media screen and (max-width: 1280px) {
	#contents {
		margin: 8rem auto 10rem;
	}
}




/* ----------------------------------------
 *   プライバシーポリシー
 * ---------------------------------------- */
#contents .privacy {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 1260px;
	text-align: left;
}
#contents .privacy h2 {
	position: relative;
	margin-bottom: 24px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	line-height: 1.4;
	text-shadow: 1px 1px 1px rgba(255,255,255,1);
}
#contents .privacy h3 {
	position: relative;
	margin-top: 24px;
	margin-bottom: 12px;
	padding-bottom: 3px;
	border-bottom: 1px dotted #ccc;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	line-height: 1.4;
	text-shadow: 1px 1px 1px rgba(255,255,255,1);
}
#contents .privacy p {
	margin-top: 12px;
	margin-bottom: 12px;
	text-align: left;
}
#contents .privacy ol {
	margin: 24px 40px;
}
#contents .privacy dl {
	margin: 24px 0;
}
#contents .privacy dl dt {
	font-weight: 700;
}
#contents .privacy dl dd:nth-child(2) {
	margin-bottom: 12px;
}
#contents .privacy p.cont {
	padding-left: 12px;
	border-left: 3px solid #009fe8;
}