@charset "utf-8";


/* common
------------------------------------------------------------*/
p {
	line-height: 24px;
	margin-bottom: 20px;
}
ol,
ul.decimal {
	padding-left: 20px;
}
ol li {
	line-height: 24px;
	list-style-type: disc;
}
ul.decimal li,
ol.decimal li {
	list-style-type: decimal;
}
pre.cord {
	display: inline-block;
	margin: 0;
	padding: 20px;
	background: #333;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #ccc;
	text-align: left;
}
.inner {
	width: 1200px;
	margin: auto;
}
.indent {
	padding-left: 1em;
	text-indent: -1em;
}
.outLink::after {
	content: "";
	width: 10px;
	height: 7px;
	background: url(../images/i_outLink.svg) no-repeat center center/contain;
	margin-left: 8px;
	display: inline-block;
	position: relative;
	top: -5px;
}
.scrEvent {
	opacity: 0;
	transform: translate(0, 10px);
	-webkit-transform: translate(0, 10px);
	transition: 1s;
}
.scrEvent.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}
.scrFadeInUp {
	opacity: 1.0;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}
.sp {
	display: none;
}
.x2 {
	margin-right: -4%;
}
.x3 {
	margin-right: -30px;
}
.x6 {
	margin-right: -24px;
}
.x2 > li,
.x3 > li,
.x6 > li {
	float: left;
}
.x2 > li {
	width: 46%;
	margin: 0 4% 30px 0;
}
.x3 > li {
	width: 270px;
	margin: 0 30px 30px 0;
}
.x6 > li {
	margin: 0 24px 15px 0;
	float: left;
}
.x2 li img,
.x3 li img {
	border: 1px solid #eee;
}
.x3.works li img {
	border: none;
}
.multi img.fr {
	margin: 0 0 30px 30px;
}
.multi img.fl {
	margin: 0 30px 30px 0;
}
.center {
	text-align: center;
}
.left {
	text-align: left!important;
}

.fs12 {
	font-size: 12px;
	font-size: 1.2rem;
}
.fs18 {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 30px;
}
.fs20 {
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 36px;
}
.fs24 {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 36px;
}
.red {
	color: #e15b5f;
}
.w12 {
	width: 12%;
}
.alignL{text-align:left;}
.alignR{text-align:right;}
.alignC{text-align:center;}


/* hx
------------------------------------------------------------*/
h1 {
	font-size: 10px;
	font-size: 1rem;
	color: #999;
	position: absolute;
	top: 5px;
}
.h2Wrap {
	color: #fff;
	background-repeat: no-repeat;
	background-position: top center;
	/*background-attachment: fixed;*/
	padding: 70px 0;
	text-align: center;
}
.h2Wrap.error {
	background-image: url(../images/h2_error.jpg);
}
.h2Wrap.works {
	background-image: url(../works_detail/images/h2.jpg);
}
.h2Wrap.service {
	background-image: url(../service/images/h2.jpg);
}
.h2Wrap.about {
	background-image: url(../about/images/h2.jpg);
}
.h2Wrap.column {
	background-image: url(../column/images/h2.jpg);
}
.h2Wrap.faq {
	background-image: url(../images/h2_faq.jpg);
}
.h2Wrap.privacy {
	background-image: url(../images/h2_privacy.jpg);
}
.h2Wrap.sitemap {
	background-image: url(../images/h2_sitemap.jpg);
}
.h2Wrap h2 {
	font-size: 36px;
	font-size: 3.6rem;
	margin-bottom: 10px;
	letter-spacing: 3px;
}
.h2Wrap p {
	margin-bottom: 0;
	letter-spacing: 2px;
}
.contents h2.ttl {
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: bold;
	padding: 20px;
	margin-bottom: 30px;
	border: 1px solid #ccc;
	border-left: 8px solid #e15b5f;
	border-radius: 5px;
	letter-spacing: 1px;
}
.contents h3 {
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
	background: #e15b5f;
	padding: 15px 20px;
	margin-bottom: 30px;
	border-radius: 3px;
}
.tagArea h3 {
	font-weight: normal;
	color: #333;
	background: none;
	padding: 0;
	margin-bottom: 10px;
}
.relatedLink h3 {
	color: #333;
	background: none;
	padding: 0 0 10px 10px;
	margin-bottom: 20px;
	border-bottom: 3px double #ea853c;
	position: relative;
}
.relatedLink h3:before {
	content: "";
	width: 18px;
	height: 8px;
	background: #ea853c;
	margin-top: -12px;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: -20px;
}
.relatedLink h3 > span {
	width: 70px;
	height: 70px;
	background: #ea853c;
	border-radius: 50%;
	display: inline-block;
	vertical-align: middle;
	margin-right: 20px;
	text-align: center;
}
.relatedLink h3 > span > img {
	width: 50px;
	height: 50px;
	margin-top: 10px;
}
h3.txt {
	color: #333;
	background: none;
	position: relative;
	padding: 0 20px;
}
h3.txt::before,
h3.txt::after {
	content: '';
	width: 30px;
	height: 100%;
	border-top: 1px solid #555;
	border-bottom: 1px solid #555;
	position: absolute;
	top: 0;
}
h3.txt::before {
	left: 0;
	border-left: 1px solid #555;
}
h3.txt::after {
	right: 0;
	border-right: 1px solid #555;
}
h3.txt span {
	font-family: 'Noto Sans', sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
	width: 120px;
	color: #e15b5f;
	background: #fff;
	padding: 8px 0;
	margin: 0 auto 20px;
	display: block;
	text-align: center;
	border-top: 2px solid #e15b5f;
	border-bottom: 2px solid #e15b5f;
	letter-spacing: 3px;
}
.privacyArea h3 {
	font-size: 18px;
	font-size: 1.8rem;
	color: #e15b5f;
	background: none;
	padding: 0;
	margin-bottom: 10px;
}
.contents h4 {
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
	padding: 6px 15px;
	margin-bottom: 20px;
	border-left: 5px solid #e15b5f;
	border-bottom: 1px dotted #ccc;
}
.contents h4 i {
	margin-right: 10px;
}
.document h4 {
	color: #10b4dc;
	padding: 0 0 15px 0;
	border-left: none;
}
.merit h4 {
	color: #ea853c;
	padding: 10px 0;
	border-left: none;
	border-top: 2px solid #ea853c;
	border-bottom: 2px solid #ea853c;
	text-align: center;
}
.demerit h4 {
	color: #4dacc6;
	padding: 10px 0;
	border-left: none;
	border-top: 2px solid #4dacc6;
	border-bottom: 2px solid #4dacc6;
	text-align: center;
}
.contents h5 {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	color: #e15b5f;
	padding-bottom: 5px;
	margin-bottom: 20px;
	border-bottom: 1px dashed #e15b5f;
}
.category li h6 {
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 15px;
	position: relative;
}
.category li h6:before {
	content: "";
	width: 20px;
	height: 10px;
	background: #ea853c;
	margin-top: -6px;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: -30px;
}
.category.x3 li h6:before {
	width: 15px;
	left: -25px;
}
.borderBox h4 {
	padding: 0 0 15px 0;
	border-left: none;
}
.borderBox h4.orange {
	color: #ea853c;
}
.borderBox h4.blue {
	color: #4dacc6;
}
.imgRight {
	float: right;
	width: 35%;
	margin-left: 20px;
}
.flowList {
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	-ms-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding-left: 0;
	width: 100%;
}
.flowList li {
	position: relative;
	list-style: none;
	margin: 0;
}
.flowList li:not(:last-child)::after {
	content: "";
	width: 20px;
	height: 20px;
	display: block;
	position: absolute;
	right: -35px;
	bottom: 50%;
	margin-bottom: -10px;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	}
.flowList li img {
	border: none;
}
.flowList.x3 li {
	width: 246px;
	float: none;
}
.mokuji dt {
	font-weight: bold;
	font-size: 1.6rem;
	margin-bottom: 10px;
}

.mokuji dd ol {
	counter-reset: decimal;
}
.mokuji dd .decimal li {
	position: relative;
	list-style: none;
}
.mokuji dd .decimal li::before {
	position: absolute;
	top: 0;
	left: -1.5rem;
	content: counter(decimal) ".";
	counter-increment: decimal;
	font-weight: bold;
}
.mokuji dd li + li {
	margin-top: 5px;
}
.mokuji dd li a {
	font-weight: bold;
	text-decoration: underline;
}
.mokuji dd li a:hover {
	text-decoration: none;
}


/* CTAエリア（スマホ）
------------------------------------------------------------*/
.spCta {
	display: none;
}


/* パンくず
------------------------------------------------------------*/
.pankuzu {
	line-height: 30px;
	margin-bottom: 10px;
}
.pankuzu li {
	font-size: 10px;
	font-size: 1rem;
	color: #999;
	display: inline-block;
}
.pankuzu li:before {
	content: ">";
	margin: 0 10px;
}
.pankuzu li:first-child:before {
	display: none;
}
.pankuzu li a {
	color: #999;
}
.pankuzu li a:hover {
	opacity: 1;
}


/* メインカラム
------------------------------------------------------------*/
.contents {
	display: table;
}
.contents #mainColumn {
	padding: 10px 50px 50px 0;
	display: table-cell;
	vertical-align: top;
}
.contents #mainColumn.w100 {
	padding: 50px 0;
}
.contents #mainColumn p a,
.contents #mainColumn table a {
	text-decoration: underline;
}
.contents #mainColumn p a:hover,
.contents #mainColumn table a:hover {
	text-decoration: none;
	opacity: 1;
}
.tagArea {
	padding: 20px 30px;
	border: 5px solid #eee;
}
.tag {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #eee;
}
.tag:last-child {
	padding: 0;
	margin: 0;
	border: none;
}
.tag li {
	margin-left: 5px;
	display: inline-block;
}
.tag li:first-child {
	margin-left: 0;
}
.tag li a {
	background:#f3efe3;
	padding: 8px 15px;
	display: block;
	border-radius: 3px;
}
.tag li a:hover {
	text-decoration: none;
}
.tag li i {
	color: #ea853c;
	margin-right: 10px;
}
ul.linkImg li a {
	display: block;
	cursor: pointer;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0),
							0 6px 10px 0 rgba(0,0,0,0.1),
							0 2px 2px 0 rgba(0,0,0,0.1);
	transition: all .3s ease-in-out;
}
ul.linkImg li a:hover {
	background: #f9f9f9;
	text-decoration: none;
	box-shadow: none;
	opacity: 1;
}
ul.linkImg li a img {
	border: none;
}
ul.modal li .frame {
	height: 210px;
	overflow: hidden;
}
ul.modal li p {
	padding: 15px;
	text-align: center;
}
.contents .btn {
	color: #fff;
	background: #333;
	padding: 10px 40px;
	display: inline-block;
	border: none;
	border-radius: 25px;
	text-decoration: none!important;
	cursor: pointer;
	transition: background-color 0.1s;
}
.contents .btn:hover {
	background-color: #e15b5f;
	text-decoration: none;
	opacity: 1;
}
.contents .btn i {
	margin-left: 10px;
}
.category li {
	background: #f9f6ed;
	padding: 20px 30px 50px;
	border-top: 3px solid #ea853c;
	position: relative;
	border-radius: 5px;
	text-align: justify;
}
.category.x3 li {
	padding: 20px 25px 40px;
}
.category li .more {
	font-size: 12px;
	font-size: 1.2rem;
	color: #ea853c;
	background: #fff;
	padding: 5px 15px 5px 20px;
	border: 1px solid #ea853c;
	border-right: none;
	display: inline-block;
	position: absolute;
	right: 0;
	bottom: 20px;
	transition-property: color,background-color;
	transition-duration: 0.1s;
}
.category li .more:hover {
	color: #fff;
	background-color: #ea853c;
	text-decoration: none;
	opacity: 1;
}
.category li .more i {
	margin-left: 10px;
}
.relatedLink {
	background: #f9f6ed;
	padding: 20px;
	margin-top: 70px;
	border-radius: 5px;
}
.relatedLink li {
	background: #fff;
	padding: 15px 20px;
	margin-top: 10px;
}
.relatedLink li:first-child {
	margin-top: 0;
}
.relatedLink li a {
	color: #fff;
	background: #ea853c;
	padding: 5px 20px;
	margin-bottom: 10px;
	display: inline-block;
	border-radius: 5px;
	transition: background-color 0.1s;
}
.relatedLink li.x2 {
	margin-right: 0;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;
}
.relatedLink li.x2 > p {
	margin-bottom: 0;
	-webkit-order: 1;
	-ms-order: 1;
	order: 1;
}
.contents #mainColumn .relatedLink li.x2 p a {
	text-decoration: none;
}
.relatedLink li a:hover {
	background-color: #333;
	text-decoration: none;
	opacity: 1;
}
.relatedLink li li {
	margin-top: 0;
	padding: 0;
}
.document > li {
	padding: 30px 50px;
	margin-top: 30px;
	border: 3px solid #4dacc6;
	position: relative;
}
.document > li:first-child {
	margin-top: 0;
}
.document > li:after {
	content: "";
	width: 20px;
	height: 20px;
	background: url(../images/i_document.png) no-repeat;
	display: block;
	position: absolute;
	top: -3px;
	right: -3px;
}
.document .icon {
	font-size: 10px;
	font-size: 1rem;
	font-weight: bold;
	line-height: 22px;
	width: 70px;
	height: 70px;
	color: #fff;
	background: #4dacc6;
	padding: 9px 0 0 2px;
	display: inline-block;
	text-align: center;
	border-radius: 50%;
	box-shadow: 0px 0px 0px 5px #fff;
	-moz-box-shadow: 0px 0px 0px 5px #fff;
	-webkit-box-shadow: 0px 0px 0px 5px #fff;
	position: absolute;
	top: -20px;
	left: -25px;
}
.document .icon span {
	font-family: 'Noto Sans', sans-serif;
	font-size: 30px;
	font-size: 3rem;
	display: block;
	letter-spacing: 2px;
}
.document li p:last-child {
	margin-bottom: 0;
}
.priceList {
	width: 100%;
	margin-bottom: 20px;
	display: table;
	table-layout: fixed;
}
.merit ol {
	min-height: 200px;
	background: url(../service/images/bg_merit.png) no-repeat center top;
	padding: 20px 0 0;
}
.demerit ol {
	min-height: 200px;
	background: url(../service/images/bg_demerit.png) no-repeat center top;
	padding: 20px 0 0;
}
.merit ol li,
.demerit ol li,
.borderBox ul li,
.bgBox ul li{
	background: url(../images/i_check.png) no-repeat left top;
	padding-left: 40px;
	margin-bottom: 20px;
	list-style-type: none;
}
.flowArea dl {
	padding: 30px 0 40px;
	border-bottom: 1px dotted #aaa;
	position: relative;
}
.flowArea dl:first-child {
	padding-top: 0;
}
.flowArea dl:after {
	content: "";
	width: 61px;
	height: 32px;
	background: url(../images/i_arrow_06.png) no-repeat;
	margin-left: -30px;
	display: block;
	position: absolute;
	left: 50%;
	bottom: -25px;
}
.flowArea dl:last-child:after {
	display: none;
}
.flowArea dl dt {
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 20px;
}
.flowArea dl dt span {
	font-family: 'Noto Sans', sans-serif;
	font-size: 30px;
	font-size: 3rem;
	font-weight: normal;
	width: 60px;
	color: #e15b5f;
	display: inline-block;
	letter-spacing: 3px;
}
.flowArea dl dd {
	padding-left: 60px;
}
.flowArea .cta {
	width: 100%;
	background: #f5f5f5;
	padding: 20px 50px;
	text-align: center;
}
.flowArea .cta li {
	display: inline-block;
	vertical-align: middle;
}
.flowArea .cta .tel {
	margin-right: 50px;
}
.flowArea .cta .tel i {
	margin-right: 5px;
}
.flowArea .cta .tel i,
.flowArea .cta .tel .link {
	font-size: 26px;
	font-size: 2.6rem;
}
.flowArea .cta .tel .link {
	font-family: 'Noto Sans', sans-serif;
	letter-spacing: 1px;
}
.flowArea .cta .tel .txt {
	font-size: 12px;
	font-size: 1.2rem;
	display: block;
	letter-spacing: 1px;
	text-align: center;
}
.flowArea .cta .btn {
	background: none;
	padding: 0;
}
.flowArea .cta .btn:hover {
	background: none;
}
.flowArea .cta .btn a {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	background: #fee260;
	line-height: 50px;
	padding: 0 50px;
	display: block;
	border-radius: 25px;
	-webkit-box-shadow: 0px 4px 0px 0px rgba(245,201,83,1);
	-moz-box-shadow: 0px 4px 0px 0px rgba(245,201,83,1);
	box-shadow: 0px 4px 0px 0px rgba(245,201,83,1);
	transition-property: box-shadow,transform;
	transition-duration: 0.1s;
}
.flowArea .cta .btn a:hover {
	text-decoration: none;
	box-shadow: 0px 2px 0px 0px rgba(245,201,83,1);
	transform: translate3d(0, 2px, 0);
	opacity: 1;
}
.flowArea .cta .btn i {
	font-size: 18px;
	font-size: 1.8rem;
	margin-right: 10px;
}
.flowArea dl.flowArea {
	margin: 40px 0 0;
    border-bottom: none;
}
.flowArea dl.flowArea dt {
	margin-bottom: 0;
}
dl.flowArea {
	padding: 20px 50px;
    background: #f5f5f5;
}
dl.flowArea dt {
	padding-bottom: 20px;
	font-size: 1.8rem;
	text-align: center;
	font-weight: bold;
	border-bottom: 1px dotted #bbbbbb;
}
dl.flowArea dd .cta {
	padding: 20px 0 0 0;
}
.comment {
	margin-bottom: 100px;
	position: relative;
}
.comment:last-child {
	margin-bottom: 0;
}
.comment li {
	background: #fff;
	padding: 15px;
	border: 1px solid #e15b5f;
	position: absolute;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0),
							0 6px 10px 0 rgba(0,0,0,0.1),
							0 2px 2px 0 rgba(0,0,0,0.1);
}
.comment .rec-menu02 li.comment01 {
	width: 500px;
	top: 364px;
	left: 17px;
}
.comment .rec-menu02 li.comment01 h5{
	text-align: left;
}
/*.comment .rec-menu02 li.comment02 {
	width: 390px;
	top: 384px;
}
.comment .rec-menu02 li.comment03 {
	width: 300px;
	top: 414px;
	right: 20px;
}*/
.comment .rec-menu03 li {
	width: 264px;
	right: 0;
}
.comment .rec-menu03 li.comment01 {
	top: 124px;
}
/*.comment .rec-menu03 li.comment02 {
	top: 265px;
}
.comment .rec-menu03 li.comment03 {
	top: 360px;
}*/
.comment li h5 {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 10px;
	text-align: center;
}
.comment li p {
	font-size: 12px;
	font-size: 1.2rem;
}
.balloon {
	font-weight: bold;
	background: #f5f5f5;
	padding: 20px 30px;
	border-radius: 5px;
	position: relative;
}
.balloon:after {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	position: absolute;
	pointer-events: none;
	border-color: rgba(245, 245, 245, 0);
	border-bottom-color: #f5f5f5;
	border-width: 20px;
	margin-left: -20px;
}
a.map {
	font-size: 12px;
	font-size: 1.2rem;
	color: #fff;
	background: #e15b5f;
	padding: 3px 10px;
	margin-left: 10px;
	text-decoration: none!important;
}
a.map:hover {
	text-decoration: none;
}
.faqArea {
	margin-bottom: 50px;
}
.faqArea li {
	padding: 30px;
	margin-bottom: 20px;
	border: 1px solid #eee;
	-webkit-box-shadow: 8px 8px 0px 0px rgba(238,238,238,1);
	-moz-box-shadow: 8px 8px 0px 0px rgba(238,238,238,1);
	box-shadow: 8px 8px 0px 0px rgba(238,238,238,1);
}
.faqArea li dt,
.faqArea li dd {
	padding-left: 40px;
	position: relative;
}
.faqArea li dt {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
}
.faqArea li dt span {
	display: none;
}
.faqArea li dd {
	line-height: 24px;
	margin-top: 20px;
}
.faqArea li dt:before,
.faqArea li dd:before {
	content: "";
	width: 25px;
	height: 26px;
	background: url(../images/i_faq.png) no-repeat left top;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.faqArea li dd:before {
	height: 21px;
	background: url(../images/i_faq.png) no-repeat left top -26px;
}
/*#worksTab {
	margin-bottom: 80px;
	display: -webkit-flex;
	display: flex;
	gap: 2px;
	position: relative;
}
#worksTab div {
	transition: all .3s ease-in-out;
}
#worksTab > div {
	width: 100%;
	cursor: pointer;
}
#worksTab > div > div {
	background: #eee;
	padding: 10px 0;
	display: block;
	text-align: center;
}
#worksTab > div.ac > div {
	color: #fff;
	background: #e15b5f;
}
#worksTab > div > div:hover {
	opacity: 0.6;
}
#worksTab > div.ac > div:hover {
	opacity: 1;
}
#worksTab ul.sub {
	display: none;
}
#worksTab .ac .sub {
	width: 100%;
	display: block;
	border-bottom: 1px solid #eee;
	position: absolute;
	top: 41px;
	left: 0;
}
#worksTab .ac .sub li {
	margin-left: 15px;
	display: inline-block;
}
#worksTab .ac .sub li:first-child {
	margin-left: 0;
}
#worksTab .ac .sub li div {
	font-size: 11px;
	font-size: 1.1rem;
	padding: 10px 0;
	display: inline-block;
}
#worksTab .ac .sub li div:before {
	content: "";
	width: 12px;
	height: 12px;
	background: url(../images/i_arrow_wt.png) no-repeat center center #333;
	margin-right: 5px;
	display: inline-block;
	border-radius: 50%;
	position: relative;
	top: 2px;
}*/
#worksList {
	margin-top: 40px;
}
.works li {
	height: 280px;
	margin: 30px;
	float: none;
}
.works li a {
	height: 100%;
	display: block;
	cursor: pointer;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0),
							0 6px 10px 0 rgba(0,0,0,0.1),
							0 2px 2px 0 rgba(0,0,0,0.1);
	transition: all .3s ease-in-out;
}
.works li a:hover {
	background: #f9f9f9;
	text-decoration: none;
	box-shadow: none;
	opacity: 1;
}
.works figcaption {
	padding: 15px;
}
.works .name {
	font-weight: bold;
	line-height: 20px;
}
.works .name span {
	font-size: 10px;
	font-size: 1rem;
	font-weight: normal;
	line-height: 14px;
	color: #002f7b;
	display: block;
}
.works .plan {
	font-size: 12px;
	font-size: 1.2rem;
	width: 100%;
	padding: 10px 20px;
	margin: 0;
	border-top: 1px solid #e5e5e5;
	position: absolute;
	left: 0;
	bottom: 0;
}
.works .plan span {
	position: relative;
}
.works .plan span::before {
	content: "";
	width:12px;
	height: 5px;
	margin-top: -3px;
	display: block;
	position: absolute;
	left: -20px;
	top: 50%;
}
.works .plan span.menu01::before,
.works .plan span.plan_order::before {
	background: #e15b5f;
}
.works .plan span.menu02::before,
.works .plan span.plan_semiorder::before {
	background: #26b6d9;
}
.works .plan span.menu03::before,
.works .plan span.plan_template::before {
	background: #ea853c;
}
.works .plan span.menu04::before,
.works .plan span.plan_other::before {
	background: #333;
}
.hide {
	display: none;
}
.category.list404 li {
	width: 32%;
	float: left;
	margin-left: 2%;
}
.category.list404 li:first-child {
	margin-left: 0;
}
.sitemap > div {
	width: 48%;
	float: left;
	border-top: 1px solid #e0e0e0;
}
.sitemap > div:first-child {
	margin-right: 4%;
}
.sitemap h3 {
	font-size: 16px;
	font-size: 1.6rem;
	color: #333;
	background: none;
	padding: 0;
	margin-bottom: 0;
	border-bottom: 1px solid #e0e0e0;
}
.sitemap h3 span,
.sitemap h3 a {
	padding: 20px 0;
	display: block;
}
.sitemap h3 span:after,
.sitemap h3 a:after {
	content: "";
	width: 12px;
	height: 12px;
	background: url(../images/i_arrow_wt.png) no-repeat center center #333;
	margin-right: 8px;
	display: block;
	float: right;
	border-radius: 50%;
	position: relative;
	top: 5px;
}
.sitemap h4 + h3 {
	margin-top: 20px;
	border-top: 1px solid #e0e0e0;
}
.sitemap h4 {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: normal;
	padding: 0;
	margin: 20px 0 10px;
	border: none;
	position: relative;
}
.sitemap h4 a:before {
	content: "";
	width: 12px;
	height: 12px;
	background: url(../images/i_arrow_wt.png) no-repeat center center #e15b5f;
	margin-right: 8px;
	display: inline-block;
	border-radius: 50%;
	position: relative;
	top: 1px;
}
.sitemap a:hover {
	text-decoration: none;
}
.sitemap ul {
	padding: 0 0 10px 20px;
}
.sitemap li {
	margin-bottom: 10px;
}
.sitemap li a {
	font-size: 12px;
	font-size: 1.2rem;
}
.sitemap li a:before {
	content: "";
	width: 4px;
	height: 7px;
	background: url(../images/i_arrow__gray.png) no-repeat;
	margin-right: 8px;
	display: inline-block;
}
.grayArea {
	background: #f5f5f5;
	padding: 20px;
}
.checkList li {
	padding: 15px 0;
	border-bottom: 1px dotted #aaa;
}
.checkList li:first-child {
	padding-top: 0;
}
.checkList li i{
	font-size: 22px;
	font-size: 2.2rem;
	margin-right: 10px;
	position: relative;
	top: 3px;
}
.borderBox {
	padding: 30px 50px;
	border: 3px solid #ddd;
}
.borderBox ul{
	padding-bottom: 20px;
	border-bottom: 1px solid #ddd;
}
.borderBox.orange {
	border: 3px solid #ea853c;
}
.borderBox.orange ul {
	background: url(../service/images/bg_merit.png) no-repeat center top;
}
.borderBox.blue {
	border: 3px solid #4dacc6;
}
.borderBox.blue ul {
	background: url(../service/images/bg_demerit.png) no-repeat center top;
}
.borderBox.dotted {
	border: 3px dotted #ddd;
}
.borderBox .decimal {
	padding-bottom: 0;
    border-bottom: none;
}
.borderBox .decimal li {
    background: none;
    padding-left: 0;
    margin-bottom: 0;
    list-style-type: decimal;
}
.attentionBox {
	position: relative;
	padding: 30px 50px;
	border: 3px dotted #e15b5f;
	background: #fff6f6;
}
.attentionBox::after {
	content: "";
	width: 20px;
	height: 20px;
	background: url(../images/i_attention.png) no-repeat;
	display: block;
	position: absolute;
	top: -3px;
	right: -3px;
}


/* table
------------------------------------------------------------*/
.priceTable,
.planTable {
	width: 100%;
	margin-bottom: 20px;
	table-layout: fixed;
}
.priceTable th,
.priceTable td {
	padding: 15px 10px;
	border: 1px solid #eee;
	text-align: center;
}
.priceTable th {
	font-weight: bold;
	color: #fff;
	background: #555;
}
.priceTable.thBlue th {
	background: #4dacc6;
}
.priceTable th a {
	color: #fff;
	text-decoration: underline;
}
.priceTable th a:hover {
	text-decoration: none;
}
.priceTable td:first-child {
	background: #f9f9f9;
}
.planTable th,
.planTable td {
	padding: 20px 10px;
	border: 2px solid #f9f9f9;
	text-align: center;
}
.planTable th {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
}
.planTable td {
	font-size: 18px;
	font-size: 1.8rem;
}
.planTable td:first-child {
	font-size: 13px;
	font-size: 1.3rem;
}
.planTable .light,
.planTable .standard,
.planTable .platinum {
	border-color: #fff;
}
.planTable th.light {
	background: #bfbfbf;
}
.planTable th.standard {
	background: #f5c953;
}
.planTable th.platinum {
	background: #7191a9;
}
.planTable td.light {
	background: #f9f9f9;
}
.planTable td.standard {
	background: #faf5e8;
}
.planTable td.platinum {
	background: #ebf0f6;
}
.planTable td strong {
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
}
.planTable td span {
	font-size: 13px;
	font-size: 1.3rem;
	margin-left: 10px;
	letter-spacing: 5px;
}
.normalTable {
	width: 100%;
}
.normalTable th,
.normalTable td {
	padding: 15px;
	border: 1px solid #eee;
}
.normalTable th {
	width: 25%;
	background: #f9f9f9;
}


/* サイドカラム
------------------------------------------------------------*/
.contents #subColumn {
	width: 280px;
	background: #f7f8f9;
	padding: 50px 20px 45px;
	display: table-cell;
	vertical-align: top;
}
.sideNav {
	background: #fff;
	margin-bottom: 30px;
}
.sideNav h3 {
	font-size: 16px;
	font-size: 1.6rem;
	background: none;
	padding: 0;
	margin-bottom: 0;
	letter-spacing: 1px;
}
.sideNav h3 span {
	font-size: 10px;
	font-size: 1rem;
	display: block;
	letter-spacing: 2px;
}
.sideNav h3 a {
	color: #fff;
	background: #555;
	padding: 15px 20px;
	display: block;
}
.sideNav h3 a:hover {
	text-decoration: none;
}
.sideNav h4 {
	font-size: 15px;
	font-size: 1.5rem;
	padding: 20px 0 0;
	margin: 20px 0 10px;
	border: none;
	border-top: 1px dotted #ddd;
}
.sideNav h4:first-child {
	padding-top: 0;
	margin-top: 0;
	border: none;
}
.sideNav div {
	padding: 20px;
}
.sideNav div a:hover,
.sideNav .ac a {
	color: #e15b5f;
	text-decoration: underline;
	opacity: 1;
}
.sideNav li {
	margin: 5px 0;
}
.sideNav li a {
	font-size: 13px;
	font-size: 1.3rem;
	padding-left: 15px;
	background: url(../images/i_sideNav_01.png) no-repeat left center;
}
.sideNav li ul {
	margin: 0 0 20px 15px;
}
.sideNav li li a {
	font-size: 12px;
	font-size: 1.2rem;
	padding-left: 15px;
	background: url(../images/i_sideNav_02.png) no-repeat left center;
}
.sideBnr {
	width: 240px;
	position: sticky;
	top: 20px;
}
.sideBnr li:not(:last-of-type) {
	margin-bottom: 10px;
}
.sideBnr li:first-child {
	margin-bottom: 20px;
}
.sideBnr .contactBnr {
	background: url(../images/cta_bg.jpg);
	padding: 15px 10px 20px;
	border: 5px solid #e15b5f;
	text-align: center;
}
.sideBnr .contactBnr h3 {
	font-size: 16px;
	font-size: 1.6rem;
	color: #333;
	background: none;
	padding: 0 0 10px;
	margin: 0 0 10px;
	border-bottom: 1px solid #e15b5f;
	border-radius: 0;
}
.sideBnr .contactBnr .tel {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.sideBnr .contactBnr .tel .txt {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: normal;
	display: block;
	letter-spacing: 1px;
}
.sideBnr .contactBnr .btn {
	font-weight: bold;
	color: #333;
	background: #fee260;
	padding: 8px 10px 6px;
	border-radius: 20px;
	display: block;
	position: relative;
	-webkit-box-shadow: 0 5px 0 0 rgba(245,201,83,1);
	-moz-box-shadow: 0 5px 0 0 rgba(245,201,83,1);
	box-shadow: 0 5px 0 0 rgba(245,201,83,1);
	transition-property: box-shadow,transform;
	transition-duration: 0.1s;
}
.sideBnr .contactBnr .btn:hover {
	-webkit-box-shadow: 0 2px 0 0 rgba(245,201,83,1);
	-moz-box-shadow: 0 2px 0 0 rgba(245,201,83,1);
	box-shadow: 0 2px 0 0 rgba(245,201,83,1);
	transform: translate3d(0, 3px, 0);
	opacity: 1;
	text-decoration: none;
}
.sideBnr .contactBnr .btn i {
	margin-right: 5px;
}
.sideBnr .introductionBnr {
	background: url(../images/cta_bg.jpg);
	padding: 15px 10px 20px;
	border: 5px solid #4dacc6;
	text-align: center;
}
.sideBnr .introductionBnr h3 {
	font-size: 16px;
	font-size: 1.6rem;
	color: #333;
	background: none;
	padding: 0 0 10px;
	margin: 0 0 10px;
	border-bottom: 1px solid #4dacc6;
	border-radius: 0;
}
.sideBnr .introductionBnr h3 span {
	font-size: 14px;
	font-size: 1.4rem;
	color: #fff;
	background: rgba(54,147,181,1);
	padding: 3px 5px;
	margin-left: 5px;
	display: inline-block;
}
.sideBnr .introductionBnr p {
	font-weight: 500;
	margin-bottom: 10px;
	text-align: justify;
}
.sideBnr .introductionBnr .btn {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #fff;
	background: #555;
	padding:8px 8px 6px 4px;
	border-radius: 20px;
	display: block;
	position: relative;
	-Webkit-box-shadow: 0 6px 0 0 #333;
	-moz-box-shadow: 0 6px 0 0 #333;
	box-shadow: 0 6px 0 0 #333;
	transition-property: box-shadow,transform;
	transition-duration: 0.1s;
}
.sideBnr .introductionBnr ul li:first-child {
	margin-bottom: 15px;
}
.sideBnr .introductionBnr .btn:hover {
	-webkit-box-shadow: 0 2px 0 0 #333;
	-moz-box-shadow: 0 2px 0 0 #333;
	box-shadow: 0 2px 0 0 #333;
	transform: translate3d(0, 3px, 0);
	opacity: 1;
	text-decoration: none;
}
.sideBnr .introductionBnr .btn i {
	margin-right: 5px;
}


/* フォーム
------------------------------------------------------------*/
.contactArea {
	margin: 50px auto;
}
/*.contactArea br {
	display: none;
}*/
.contactArea .btn {
	font-size: 16px;
	font-size: 1.6rem;
	padding: 15px 50px;
}
.contactArea .icon {
	font-size: 12px;
	font-size: 1.2rem;
	color: #fff;
	padding: 2px 10px;
	margin-left: 20px;
	float: right;
	border-radius: 3px;
}
.contactArea .icon.need {
	background: #ea853c;
}
.contactArea .icon.option {
	background: #4dacc6;
}
form input[type=text],
form textarea,
form select {
  width: 100%;
  border: none;
  background: #f6f7f8;
  padding: 8px;
  border-radius: 4px;
  box-sizing: border-box;
}
form textarea {
	max-width: 100%;
	min-height: 200px;
}
input[type=radio],
input[type=checkbox] {
  display: none;
}
.radio,
.checkbox {
	line-height: 30px;
	padding-left: 28px;
	margin-right: 30px;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}
.radio:hover:after,
.checkbox:hover:after {
  border-color: #e15b5f;
}
.radio:after,
.checkbox:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -11px;
  width: 16px;
  height: 16px;
  border: 2px solid #bbb;
  border-radius: 6px;
  content: '';
	background: #fff;
}
.radio:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #e15b5f;
  content: '';
  opacity: 0;
	z-index: 10;
}
input[type=radio]:checked + .radio:before {
  opacity: 1;
}
.checkbox:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -9px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #e15b5f;
  border-bottom: 3px solid #e15b5f;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
	z-index: 10;
}
input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}
::-webkit-input-placeholder {
  font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.privacyArea {
	padding: 20px;
	border: 2px solid #e15b5f;
}
.privacyArea p {
	margin-bottom: 0;
}


/* privacy
------------------------------------------------------------*/
.privacyBox{
	background: #f5f5f5;
	padding: 20px;
}


/* promotion
------------------------------------------------------------*/
.box {
	padding: 30px;
	border: 1px solid #e1e1e1;
	box-shadow: 0 3px 0 rgba(8,1,2,0.03);
}
.box + .box {
	margin-top: 20px;
}
.box p {
	text-align: justify;
}
.box p:last-child {
	margin-bottom: 0;
}
.box img.fr {
	margin-left: 30px;
}


/* 190708 更新
------------------------------------------------------------*/
.underLine {
	font-size: 1.8rem;
	font-weight: bold;
	text-decoration: underline;
}

/* 210311 更新
------------------------------------------------------------*/
.sideBnr .contactBnr .btn span:first-of-type{
	border-bottom: 1px dashed #333;
	display: inline-block;
	padding-bottom: 3px;
}
.sideBnr .contactBnr .btn span:last-child{
	font-size: 10px;
	padding-top: 3px;
	border-radius: 20px;
}


/* 制作実績ページ改修
------------------------------------------------------------*/
#worksTab {
	padding-bottom: 50px;
	margin-bottom: 0;
	display: -webkit-flex;
	display: flex;
	gap: 2px;
	position: relative;
}
#worksTab.pb0 {
	padding-bottom: 0;
}
#worksTab * {
	transition-duration: .3s;
}
#worksTab > div {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	cursor: auto;
}
#worksTab > div > div {
	width: 100%;
	background: #eee;
	padding: 10px 0;
	display: block;
	text-align: center;
	cursor: pointer;
}
#worksTab > div.ac > div {
	color: #fff;
	background: #e15b5f;
}
#worksTab > div > div:hover {
	opacity: .6;
}
#worksTab > div.ac > div:hover {
	opacity: 1;
}
.worksTab__ttl {
	font-weight: 600;
	width: 160px;
	height: 50px;
	margin-bottom: 0;
	display: -webkit-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	border-bottom: 1px solid #666;
	position: absolute;
	left: 0;
	bottom: 0;
}
#worksTab ul.sub {
	display: none;
}
#worksTab .ac .sub {
	width: calc(100% - 160px);
	height: 50px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-align-items: center;
	align-items: center;
	gap: 4px 24px;
	border-bottom: 1px solid #eee;
	position: absolute;
	top: inherit;
	left: 160px;
	bottom: 0;
}
#worksTab .ac .sub li {
	margin-left: 0;
}
#worksTab .ac .sub li div {
	font-size: 1.3rem;
	padding: 0;
	cursor: pointer;
}
#worksTab .ac .sub li div:hover {
	color: #e15b5f;
}
#worksTab .ac .sub li div:before {
	content: "";
	width: 12px;
	height: 12px;
	background: url(../images/i_arrow_wt.png) no-repeat center center #333;
	margin-right: 5px;
	display: inline-block;
	border-radius: 50%;
	position: relative;
	top: 2px;
}
.jobcate {
	width: 100%;
	padding-top: 12px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.jobcate .jobcate__ttl {
	font-weight: 600;
	width: 160px;
	margin-bottom: 0;
	border-bottom: 1px solid #666;
}
.jobcate .jobcate__link {
	width: calc(100% - 160px);
	padding-bottom: 12px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 4px 24px;
	border-bottom: 1px solid #eee;
}
.jobcate .jobcate__link li a {
	font-size: 1.3rem;
}
.jobcate .jobcate__link li a::before {
	content: "";
	width: 12px;
	height: 12px;
	background: url(../images/i_arrow_wt.png) no-repeat center center #333;
	margin-right: 5px;
	display: inline-block;
	border-radius: 50%;
	position: relative;
	top: 2px;
}
.jobcate .jobcate__link li a:hover {
	color: #e15b5f;
	text-decoration: none;
	opacity: 1;
}


@media screen and (max-width:480px) {
	.imgTxt li{
		flex-basis: calc((100% - 20px) / 2);
		text-align: center;
	}

.imgTxt li:nth-child(n+3){
		margin-top: 20px;
	}
}

@media screen and (max-width:1024px) {
	#worksTab {
		padding-bottom: 96px;
	}
	.worksTab__ttl {
		width: 100%;
		height: 20px;
		border-bottom: none;
		bottom: 68px;
	}
	#worksTab .ac .sub {
		width: 100%;
		height: 60px;
		gap: 4px 8px;
		border-bottom: none;
		position: absolute;
		left: 0;
	}
	#worksTab .ac .sub li div {
		font-size: 1.2rem;
		background: #eee;
		padding: 4px 8px;
		border-radius: 4px;
	}
	.jobcate .jobcate__ttl {
		width: 100%;
		margin-bottom: 8px;
		border-bottom: none;
	}
	.jobcate .jobcate__link {
		width: 100%;
		padding-bottom: 0;
		gap: 8px;
		border-bottom: none;
	}
	.jobcate .jobcate__link li a {
		font-size: 1.2rem;
		background: #eee;
		padding: 4px 8px;
		border-radius: 4px;
	}
}


@media screen and (max-width:480px) {
	
	/* common
	------------------------------------------------------------*/
	pre.cord {
		display: block;
	}
	.inner {
		width: 94%;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	img.fl,
	img.fr {
		margin: 0 0 20px!important;
		float: none;
	}
	.right {
		text-align: left;
	}
	.x2,
	.x3,
	.x6 {
		margin-right: 0;
	}
	.x2 > li,
	.x3 > li {
		width: 100%;
		margin: 0 0 20px 0;
		float: none;
	}
	.x3.linkImg > li,
	.x3.works > li {
		width: 48%;
		float: left;
	}
	.x3.linkImg > li:first-child {
		margin-right: 4%;
	}
	.x3.linkImg > li:last-child {
		display: none;
	}
	.x6 > li {
		width: 32%;
		margin: 0 2% 2% 0;
	}
	.x6 > li:nth-child(3n) {
		margin-right: 0;
	}
	.fs18 {
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 24px;
	}
	

	/* hx
	------------------------------------------------------------*/
	h1 {
		display: none;
	}
	.h2Wrap {
		padding: 40px 3%;
	}
	.h2Wrap h2 {
		font-size: 26px;
		font-size: 2.6rem;
		font-weight: bold;
		margin-bottom: 0;
	}
	.h2Wrap p {
		display: none;
	}
	.contents h2.ttl {
		font-size: 20px;
		font-size: 2rem;
		padding: 15px 20px;
	}
	.contents h3 {
		font-size: 18px;
		font-size: 1.8rem;
	}
	.contents h4 {
		font-size: 16px;
		font-size: 1.6rem;
	}
	.document h4,.borderBox h4 {
		text-align: center;
	}
	.relatedLink h3 > span {
		display: none;
	}
	.category li h6 {
		font-size: 16px;
		font-size: 1.6rem;
	}
	.flowArea dl dt {
		font-size: 18px;
		font-size: 1.8rem;
	}
	.flowArea dl dt span {
		font-size: 20px;
		font-size: 2rem;
		width: auto;
		margin-right: 10px;
	}
	.priceList,
	.priceList dl {
		display: block;
	}
	.priceList dl {
		margin-bottom: 20px;
	}
	.priceList dl.item {
		display: none;
	}
	.priceList dl dt,
	.priceList dl dd {
		line-height: normal;
		padding: 15px 5%;
	}
	.priceList dl dd span.sp {
		margin-bottom: 10px;
	}
	.faqArea {
		border-top: 1px solid #eee;
		border-left: 1px solid #eee;
	}
	.faqArea li {
		width: 100%;
		padding: 0;
		margin: 0;
		border-right: 1px solid #eee;
		border-bottom: 1px solid #eee;
		box-shadow: none;
	}
	.faqArea li dt {
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: normal;
		padding: 15px 5%;
	}
	.faqArea li dt span {
		color: #e15b5f;
		margin-right: 10px;
		display: inline-block;
	}
	.faqArea li dd {
		background: #fff6f6;
		padding: 15px 5%;
		margin-top: 0;
		border-top: 1px dotted #eee;
		display: none;
	}
	.faqArea li dt:before,
	.faqArea li dd:before {
		display: none;
	}
	#worksList {
		margin-top: 20px;
	}
	.works li {
		height: 200px;
		margin: 10px 4%;
	}
	.works figcaption {
		padding: 5px 10px;
	}
	.works .name {
		font-size: 12px;
		font-size: 1.2rem;
	}
	.works .name span {
		display: none;
	}
	.works .plan {
		font-size: 10px;
		font-size: 1rem;
		line-height: 14px;
		padding-right: 10px;
	}
	/*#worksTab {
		width: 100%;
		margin-bottom: 100px;
		display: table;
	}
	#worksTab div:hover {
		opacity: 1;
	}
	#worksTab > div {
		width: auto;
		float: none;
		display: table-cell;
	}
	#worksTab > div > div {
		font-size: 12px;
		font-size: 1.2rem;
	}
	#worksTab .ac .sub {
		padding: 5px 0;
	}
	#worksTab .ac .sub:after { content: "";display: block;clear: both; }
	#worksTab .ac .sub li {
		width: 50%;
		margin-left: 0;
		padding-right: 5px;
		float: left;
		display: block;
	}
	#worksTab > div:last-child.ac ul.sub li {
		width: 100%;
	}
	#worksTab .ac .sub li div {
		font-size: 10px;
		font-size: 1rem;
		line-height: 24px;
		padding: 0;
	}
	#worksTab.sub {
		margin-bottom: 40px;
		display: block;
	}
	#worksTab.sub > div {
		width: 49%;
		float: left;
		display: block;
	}
	#worksTab.sub > div:nth-child(even) {
		float: right;
	}
	#worksTab.sub > div:nth-child(n+3) {
		margin-top: 5px;
	}*/
	.sitemap > div {
		width: 100%;
		float: none;
	}
	.sitemap > div:last-child {
		border-top: none;
	}
	.sitemap h3 a {
		font-size: 14px;
		font-size: 1.4rem;
	}
	.sitemap h4 {
		margin: 0;
	}
	.sitemap h4 a {
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: bold;
		padding: 20px 0;
		display: block;
	}
	.sitemap h4 a:before {
		content: "";
		width: 12px;
		height: 12px;
		background: url(../images/i_arrow_wt.png) no-repeat center center #333;
		margin-right: 8px;
		display: block;
		float: right;
		border-radius: 50%;
		position: relative;
		top: 5px;
	}
	.sitemap ul {
		padding-bottom: 20px;
		border-bottom: 1px solid #e0e0e0;
	}
	.sitemap ul:last-child {
		padding-bottom: 0;
		border-bottom: none;
	}
	
	
	/* CTAエリア（スマホ）
	------------------------------------------------------------*/
	.spCta {
		display: block;
		position: fixed;
		bottom: 0;
		z-index: 10;
	}
	.spCta h2 {
		font-size: 12px;
		font-size: 1.2rem;
		color: #fff;
		background: #333;
		padding: 10px 0;
		text-align: center;
		letter-spacing: 0;
	}
	.spCta ul {
		width: 100%;
		background:rgba(255,255,255,.8);
		padding: 15px 5px;
		display: table;
		table-layout: fixed;
	}
	.spCta li {
		padding: 0 5px;
		display: table-cell;
		text-align: center;
		vertical-align: middle;
	}
	.spCta li.tel {
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: bold;
	}
	.spCta li.tel .txt {
		font-size: 10px;
		font-size: 1rem;
		font-weight: normal;
		display: block;
	}
	.spCta li.btn a {
		font-size: 14px;
		font-size: 1.2rem;
		font-weight: bold;
		background: #fee260;
		padding: 5px 10px;
		display: block;
		border-radius: 25px;
		-webkit-box-shadow: 0px 4px 0px 0px rgba(245,201,83,1);
		-moz-box-shadow: 0px 4px 0px 0px rgba(245,201,83,1);
		box-shadow: 0px 4px 0px 0px rgba(245,201,83,1);
		transition-property: box-shadow,transform;
		transition-duration: 0.1s;
	}
	
	
	/* パンくず
	------------------------------------------------------------*/
	.pankuzu {
		display: none;
	}
	
	
	/* メインカラム
	------------------------------------------------------------*/
	.contents,
	.contents #mainColumn {
		display: block;
	}
	.contents #mainColumn {
		padding: 20px 0 0;
	}
	.tagArea {
		padding: 15px;
	}
	.tag li {
		width: 100%;
		margin: 0 0 10px;
	}
	.contents .btn {
		width: 100%;
		padding: 10px 0;
		display: block;
		text-align: center;
	}
	.document > li {
		padding: 60px 20px 20px;
	}
	.document .icon {
		margin-left: -35px;
		left: 50%;
	}
	.priceList div {
		width: 100%;
		margin: 0 0 20px!important;
	}
	.flowArea dl dd {
		padding-left: 0;
	}
	.flowArea .cta {
		display: none;
	}
	dl.flowArea {
		padding: 20px 20px 25px 20px;
	}
	dl.flowArea .cta {
		display: block;
		padding: 20px;
	}
	dl.flowArea .cta .tel {
    	margin-right: 0;
	}
	dl.flowArea .cta .btn {
		margin-top: 10px;
	}
	dl.flowArea .cta .btn a {
		padding: 0 20px;
	}
	.comment {
		margin-bottom: 50px;
	}
	.comment:last-child {
		margin-bottom: 0;
	}
	.comment li {
		width: 100%!important;
		padding-top: 25px;
		margin-bottom: 20px;
		position: relative;
		top: inherit!important;
		left: 0!important;
	}
	.comment li:before {
		width: 30px;
		line-height: 30px;
		color: #fff;
		background: #e15b5f;
		margin-left: -15px;
		text-align: center;
		border-radius: 50%;
		position: absolute;
		top: -15px;
		left: 50%;
	}
	.comment li.comment01:before {
		content: "01";
	}
	
	.comment .rec-menu02 li.comment01:before {
		content: none;
	}
	
	.comment li.comment02:before {
		content: "02";
	}
	.comment li.comment03:before {
		content: "03";
	}
	.balloon {
		padding: 20px;
	}
	ul.modal li .frame {
		height: 150px;
	}
	.category.list404 li {
		width: 100%;
		margin: 0 0 20px;
		float: none;
	}
	.borderBox {
		padding: 20px;
	}
	.imgRight {
    	float: none;
    	width: 100%;
    	margin-left: 0;
	}
	.flowList {
		display: block;
	}
	.flowList.x3 li {
		width: 100%;
		margin: 0 0 60px 0;
		padding-left: 0;
	}
	.flowList.x3 li:last-child {
		margin: 0;
	}
	.flowList li img {
		display: block;
    	margin: 0 auto;
	}
	.flowList li:not(:last-child)::after {
		content: "";
		width: 20px;
		height: 20px;
		display: block;
		position: absolute;
		right: 50%;
		bottom: -35px;
		margin-right: -10px;
		margin-bottom: initial;
		border-top: 1px solid #333;
		border-right: 1px solid #333;
		transform: rotate(135deg);
	}
	.relatedLink li.x2 {
		display: block;
	}
	.relatedLink li.x2 > p {
		margin-bottom: 20px;
	}
	.relatedLink li.x2 > p,
	.relatedLink li.x2 > div > p:last-child {
		text-align: center;
	}

	
	/* table
	------------------------------------------------------------*/
	.priceTable,
	.planTable { 
		display: block;
		overflow-x: auto;
		white-space: nowrap;
		/*-webkit-overflow-scrolling: touch;*/
	}
	.priceTable th,
	.priceTable td,
	.planTable th,
	.planTable td {
		padding: 10px;
	}
	.priceTable::-webkit-scrollbar,
	.planTable::-webkit-scrollbar {
		height: 5px;
	}
	.priceTable::-webkit-scrollbar-track,
	.planTable::-webkit-scrollbar-track {
		border-radius: 5px;
		background: #eee;
	}
	.priceTable::-webkit-scrollbar-thumb,
	.planTable::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: #555;
	}
	.planTable td strong {
		font-size: 16px;
		font-size: 1.6rem;
	}
	.normalTable th,
	.normalTable td {
		width: 100%;
		display: block;
	}
	.normalTable th {
		text-align: center;
	}
	
	
	/* サブカラム
	------------------------------------------------------------*/
	.contents #subColumn {
		width: 100%;
		background: none;
		padding: 0;
		margin-top: 30px;
		display: block;
	}
	.sideNav div {
		padding: 0;
		border: 1px solid #eee;
	}
	.sideNav a {
		display: block;
	}
	.sideNav h4 {
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: normal;
		padding: 0!important;
		margin: 0;
		position: relative;
		border-top: 1px dotted #ccc;
	}
	.sideNav h4 a {
		line-height: 50px;
		padding: 0 5%;
	}
	.sideNav h4.open:after {
		content: "▼";
		font-size: 8px;
		font-size: 0.8rem;
		background: #f7f8f9;
		width: 50px;
		line-height: 50px;
		text-align: center;
		border-left: 1px dotted #ccc;
		position: absolute;
		top: 0;
		right: 0;
	}
	.sideNav ul {
		background: #f7f8f9;
		display: none;
		border-top: 1px dotted #ccc;
	}
	.sideNav li {
		margin: 0;
	}
	.sideNav li a {
		background: none;
		padding: 10px 5%;
		border-bottom: 1px dotted #ccc;
	}
	.sideNav li:last-child a {
		border: none;
	}
	.sideNav li ul {
		margin: 0;
		display: block;
		border-top: none;
		border-bottom: 1px dotted #ccc;
	}
	.sideNav li li a {
		background: url(../images/i_sideNav_02.png) no-repeat left 10% center #eee;
		padding: 10px 15%;
	}
	.sideBnr .contactBnr {
		display: none;
	}
	.sideBnr {
		width: 100%;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		justify-content: space-between;
	}
	.sideBnr li {
		width: 48%;
	}
	.sideBnr .introductionBnr {
		width: 100%;
	}
	.sideBnr .introductionBnr ul li{
		width: 100%;
	}
}

/* 191219 更新
------------------------------------------------------------*/
.linkOff {
	background: #f9f9f9;
}

/* 210311 更新
------------------------------------------------------------*/
@media screen and (max-width:480px) {
	.spCta li.btn a span {
	background: #333;
	color: #fff;
	font-size: 10px;
	padding: 4px 8px;
	border-radius: 6px;
	margin-bottom: 5px;
	position: relative;
	top: -1px;
	}
}

/* 210625 更新
------------------------------------------------------------*/
.markOr {
	background: #f0854b;
	font-size: 1.2rem;
	color: #fff;
	padding: 2px 20px;
	display: inline-block;
}
.markBl {
	background: #4dacc6;
	font-size: 1.2rem;
	color: #fff;
	padding: 2px 20px;
	display: inline-block;
}
.markRed {
	background: #e15b5f;
	font-size: 1.2rem;
	color: #fff;
	padding: 2px 20px;
	display: inline-block;
}
.screen {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
.pcScreen {
	background: url("../works_detail/images/screen/pc_screen.png") no-repeat top center;
	padding: 43px 13px 13px;
}
.pcScreen figure {
	width: 100%;
	z-index: -10;
	position: relative;
}
.spScreen {
	width: 236px;
	background: url("../works_detail/images/screen/sp_screen.png") no-repeat top center;
	padding: 26px 14px 14px;
	background-size: contain;
	text-align: center;
	position: relative;
}
.spScreen figure {
	width: 100%;
	z-index: 1;
	position: relative;
	border-radius: 10px;
	overflow: hidden;
}
.point {
	position: relative;
	border: solid 3px #4dacc6;
	padding: 37px 20px 20px;
	border-radius: 10px;
	margin-bottom: 40px;
}
.point .pointTtl {
	font-size: 1.4rem;
	color: #fff;
	background: #4dacc6;
	font-weight: bold;
	letter-spacing: 1px;
	border-radius: 5px;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	padding: 5px 10px;
	-webkit-transform: translateY(-50%) translateX(15%);
	transform: translateY(-50%) translateX(15%);
}
.point .pointTxt {
	margin-bottom: 0;
}
.solidTable {
	width: 100%;
	margin-bottom: 50px;
}
.solidTable tr {
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}
.solidTable th,
.solidTable td {
	padding: 15px;
}
.solidTable th {
	font-weight: 600;
	width: 20%;
}
.solidTable td {
	width: 70%;
}

/* タブエリア
------------------------------------------------------------*/
.tabWrap .tabArea {
	background: url(../images/sec03_bg.jpg);
	padding-top: 10px;
}
.tabWrap .inner {
	max-width: 920px;
	width: 100%;
}
.tabWrap .tab {
	overflow: hidden;
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.tabWrap .tab li {
	font-size: 2.0rem;
	font-weight: bold;
	padding: 6px;
	width: 380px;
	color: #fff;
	background: #888;
	border-right: 5px solid #666;
	text-align: center;
	border-radius: 10px 10px 0 0;
	position: relative;
	cursor: pointer;
	transition: opacity 0.1s ease-out;
}
.tabWrap .tab li:hover {
	opacity: .6;
}
.tabWrap .tab li:last-child {
	margin-left: 20px;
}
.tabWrap .tab li.select {
	background: #fff;
	opacity: 1;
}
.tabWrap .tab li.select.tabPc {
	color: #52bad2;
}
.tabWrap .tab li.select.tabSp {
	color: #f0854b;
}
.tabWrap .tab li:before {
	content: "";
	height: 26px;
	margin-top: -14px;
	display: inline-block;
	position: relative;
	top: calc(50% - 10px);
	left: -12px;
}
.tabWrap .tab li.tabPc:before {
	width: 27px;
	background: url("../images/i_tab_pc_sp.png") no-repeat left top;
}
.tabWrap .tab li.select.tabPc:before {
	width: 27px;
	background: url(../images/i_tab_pc_sp.png) no-repeat left top -26px;
}
.tabWrap .tab li.tabSp:before {
	width: 15px;
	background: url(../images/i_tab_pc_sp.png) no-repeat left -27px top;
}
.tabWrap .tab li.select.tabSp:before {
	width: 15px;
	background: url(../images/i_tab_pc_sp.png) no-repeat left -27px top -26px;
}
 .tabWrap .tabContent .inner {
	max-width: 920px;
	width: 100%;
	margin: 0 auto;
	padding-top: 30px;
	margin-bottom: 40px;
}
.pcBox {
	text-align: center;
	border: 4px solid #eee;
	max-width: 870px;
	max-height: 700px;
	overflow: scroll;
	overflow-x: hidden;
}
.spBox {
	text-align: center;
	border: 4px solid #eee;
	max-width: 422px;
	max-height: 700px;
	overflow: scroll;
	overflow-x: hidden;
	margin: 0 auto;
}
.pcBox::-webkit-scrollbar,
.spBox::-webkit-scrollbar {
	all: unset;
	width: 14px;
}
.pcBox::-webkit-scrollbar-track,
.spBox::-webkit-scrollbar-track {
	background: #e1e1e1;
	border-radius: 8px;
}
.pcBox::-webkit-scrollbar-thumb,
.spBox::-webkit-scrollbar-thumb {
	background: #aaa;
	border-radius: 8px;
}

	@media screen and (max-width:480px) {
	.pcScreen {
		background-size: contain;
		width: 100%;
		height: 100%;
		padding: 7% 8px 2%;
		margin-bottom: 50px;
	}
	.spScreen {
		margin: 0 auto;
	}
	.solidTable th,
	.solidTable td {
		padding: 10px;
	}
	.solidTable th {
		font-weight: 600;
		width: 25%;
	}
	.solidTable td {
		width: 75%;
	}
		
	/* タブエリア
------------------------------------------------------------*/	
.pcBox {
	max-width: 100%;
	max-height: initial;
	overflow: hidden;
}
.spBox {
	text-align: center;
	max-width: 100%;
	max-height: initial;
	overflow: hidden;
}
.tabWrap .tabArea {
	padding-top: 10px;
}	
.tabWrap .tab li {
	font-size: 1.3rem;
	line-height: normal;
	width: 40%;
	padding: 5px 1%;
	margin-left: 2%;
}
.tabWrap .tab li:before {
	display: none;
}
}

/* 210730 更新
------------------------------------------------------------*/
.txtRed {
	color: #e15b5f;
	font-weight: 600;
}
.pcBr {
	display: block;
}	
.spBr {
	display: none;
}
.dlBox {
	width: 100%;
	margin-bottom: 50px;
}
.dlBox .dlTtl {
	font-size: 1.8rem;
	font-weight: 600;
	color: #fff;
	background: #4dacc6;
	text-align: center;
	padding: 15px;
}
.dlBox .dlTtl p {
	margin-bottom: 0;
}
.dlBox .dlTxt {
	background: #f5f5f5;
	text-align: center;
	padding: 30px;
}
.dlBox .dlTxt ul {
	margin-bottom: 20px;
}
.dlBox .dlTxt ul li {
	font-size: 1.5rem;
	font-weight: 600;
	background: url(../images/i_check_small.png) left center no-repeat;
	background-size: 22px 18px;
	padding-left: 28px;
	display: inline-block;
}
.dlBox .dlTxt ul li:nth-child(even) {
	margin: 0 20px 0 20px;
}
.dlBox .dlTxt ul li span {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, rgba(254, 226, 96, .6)));
	background: linear-gradient(transparent 60%, rgba(254, 226, 96, .6) 40%);
}
.dlBox .dlTxt .dlPoint{
	font-weight: 600;
}
.dlBox .dlBtn {
	text-align: center;
	margin-top: 20px;
}
.dlBox .dlBtn a {
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	background: #ea853c;
	line-height: 50px;
	padding: 0 50px;
	display: inline-block;
	border: none;
	border-radius: 25px;
	-webkit-box-shadow: 0px 4px 0px 0px rgba(193,113,55,1);
	-moz-box-shadow: 0px 4px 0px 0px rgba(193,113,55,1);
	box-shadow: 0px 4px 0px 0px rgba(193,113,55,1);
	transition-property: box-shadow,transform;
	transition-duration: 0.1s;
}
.dlBox .dlBtn a:hover {
	text-decoration: none;
	box-shadow: 0px 2px 0px 0px rgba(193,113,55,1);
	transform: translate3d(0, 2px, 0);
	opacity: 1;
}
.dlBox .dlBtn a::after {
	content: "";
	background: url("../images/i_download.png") no-repeat;
	width: 18px;
	height: 22px;
	background-size: contain;
	margin-left: 20px;
	display: inline-block;
	position: relative;
	top: 4px;
}

@media screen and (max-width:480px) {
	.pcBr{
		display: none;
	}	
	.spBr {
		display: block;
	}
	.dlBox .dlTtl {
		font-size: 1.6rem;
		padding: 10px;
	}
	.dlBox .dlTxt {
		text-align: left;
		padding: 20px;
	}
	.dlBox .dlTxt ul li:nth-child(even) {
		margin: 0 0 15px 0;
	}
	.dlBox .dlTxt ul li:not(:last-child) {
		margin-bottom: 10px;
	}
	.dlBox .dlBtn a {
		padding: 0 20px;
	}
}

/* 220121 更新
------------------------------------------------------------*/
.bgBox {
	padding: 30px 50px;
}
.bgBox h4 {
	padding: 0 0 15px 0;
	border-left: none;
}
.bgBox h4.orange {
	color: #ea853c;
}
.bgBox.orange {
	background: #f9f6ed;
}
.bgBox ul li:last-child {
	margin-bottom: 0;
}

@media screen and (max-width:480px) {
		.bgBox {
		padding: 20px;
	}
}

/* 220208 更新
------------------------------------------------------------*/
.bgNone{
	background: none !important;
	padding: 0 !important;
}

/* 220524 更新
------------------------------------------------------------*/
.floatBox img.fr {
	margin: 0 0 20px 20px;
}
.floatBox img.fl {
	margin: 0 20px 20px 0;
}
.floatBox img.w30 {
	width: 30%;
}
.floatBox img.w22 {
	width: 22%;
}
h4.small{
	font-size: 1.6rem;
	margin-bottom: 10px;
	padding: 0 15px 6px 0;
	border-bottom: 1px solid #e15b5f;
	border-left: none;
	display: inline-block;
	width: calc(100% - 212px);
}
.contents .btn.small {
	padding: 7px 28px;
}
.agenda {
	padding: 20px;
	margin-bottom: 50px;
	background: #eee;
}
.agenda p {
	font-weight: 600;
	margin: 0;
}
.agenda p:first-child {
	margin-bottom: 20px;
	border-bottom: 2px solid #333;
	display: inline-block;
}
.agenda ul {
	margin: 5px 0 20px 10px;
}
.agenda ul:last-child {
	margin-bottom: 0;
}
.agenda ul li {
	font-size: 1.3rem;
	list-style-type: none;
}
.agenda ul li::before {
	content: "・";
	color: #002f7b;
}
.agenda a {
	color: #333;
	text-decoration: none !important;
}
.agenda a:hover {
	color: #e15b5f;
	text-decoration: underline !important;
	opacity: 1;
}
.detailArea h4 span {
	display: inline-block;
	padding: 3px 10px;
	margin: 0 10px 3px 0;
	background: #333;
	color: #fff;
	border-radius: 15px;
	font-size: 1.2rem;
	vertical-align: middle;
}
table.tdLeft td {
	text-align: left;
}
dl.telformCta dt {
	padding: 15px;
	font-size: 1.8rem;
	text-align: center;
	font-weight: bold;
	background: #4dacc6;
	color: #fff;
}
dl.telformCta .cta {
	width: 100%;
	background: #f5f5f5;
	padding: 20px 50px;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
dl.telformCta .cta li {
	display: inline-block;
	vertical-align: middle;
	-ms-flex-preferred-size: calc(100% - (100px) / 2);
	flex-basis: calc(100% - (100px) / 2);
}
dl.telformCta .cta li span.subTtl{
	display: block;
	margin-bottom: 5px;
	font-size: 1.6rem;
	font-weight: bold;
}
dl.telformCta .cta .telBox i {
	margin-right: 5px;
}
dl.telformCta .cta .telBox i,
dl.telformCta .cta .telBox .link {
	font-size: 2.6rem;
}
dl.telformCta .cta .telBox .link {
	font-family: 'Noto Sans', sans-serif;
	letter-spacing: 1px;
}
dl.telformCta .cta .telBox .txt {
	font-size: 1.2rem;
	display: block;
	letter-spacing: 1px;
	text-align: center;
}
.telformCta .cta .formBox {
	background: none;
	padding: 0;
}
.flowArea .cta .formBox a:hover {
	background: none;
}
dl.telformCta .cta .formBox a {
	font-size: 1.6rem;
	font-weight: bold;
	background: #fee260;
	line-height: 50px;
	padding: 0 40px;
	display: block;
	border-radius: 25px;
	-webkit-box-shadow: 0px 4px 0px 0px rgba(245,201,83,1);
	-moz-box-shadow: 0px 4px 0px 0px rgba(245,201,83,1);
	box-shadow: 0px 4px 0px 0px rgba(245,201,83,1);
	transition-property: box-shadow,transform;
	transition-duration: 0.1s;
}
dl.telformCta .cta .formBox a:hover {
	text-decoration: none;
	box-shadow: 0px 2px 0px 0px rgba(245,201,83,1);
	transform: translate3d(0, 2px, 0);
	opacity: 1;
}
dl.telformCta .cta .formBox i {
	font-size: 1.8rem;
	margin-right: 10px;
}

@media screen and (max-width:480px) {
	.floatBox img.fl{
		float: left !important;
		margin: 0 20px 20px 0 !important;
	}
		.floatBox img.fr{
		float: right !important;
		margin: 0 0 20px 20px !important;
	}
	.floatBox img.w22 {
			width: 40%;
	}
	h4.small{
		color: #e15b5f;
		border-bottom: none; 
		display: block;
		padding: 0;
		line-height: 1.4;
	}	
	.contents .btn.small {
		padding: 10px 28px;
	}
	dl.telformCta .cta {
		padding: 20px 20px 25px 20px;
		display: block;
	}
	dl.telformCta .cta li {
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
	}

	dl.telformCta .cta .telBox{
		margin-bottom: 20px;
	}	

	dl.telformCta .cta .formBox a {
		padding: 10px 20px;
		border-radius: 55px;
		line-height: 24px;
	}
}

/* 221206 更新
------------------------------------------------------------*/
.listMb li:not(:last-child){
	margin-bottom: 10px;
}
h5.dotted{
	font-size: 1.6rem;
	padding-bottom: 10px;
	padding-left: 0;
	margin-bottom: 20px;
	margin-top: 20px;
	border-bottom: 1px dashed #666;
	background: none;
}
h3.privacyTtl {
	color: #333;
	font-size: 1.4rem;
	margin: 20px 0 10px;
	text-align: left;
	padding: 0;
	background: none;
}
h3.privacyTtl .icon{
	float: none;
	margin-left: 20px;
}
.scrollArea {
	font-size: 1.3rem;
	background: #f5f5f5;
	padding: 15px;
	overflow-y: scroll;
	max-height: 120px;
	margin-bottom: 30px;
}
.scrollArea::-webkit-scrollbar {
	width: 5px;
}
.scrollArea::-webkit-scrollbar-thumb {
	background: #e15b5f;
}
.scrollArea h4 {
	margin-bottom: 10px;
	padding: 0 15px 0 12px;
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: 600;
	position: relative;
	display: inline-block;
	border: none;
}
.scrollArea h4::before {
	content: "";
	display: block;
	width: 3px;
	height: 18px;
	background: #e15b5f;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.scrollArea h5 {
	font-size: 1.3rem;
	font-weight: 600;
	padding: 10px 0;
}
.scrollArea h5:not(:first-child) {
	margin-top: 20px;
}
.agreeBtn {
	text-align: center;
}
.agree {
	text-align: center;
	padding: 15px !important;
	background: #f5f5f5;
	display: inline-block;
	margin: 0 auto 30px;
}
.agree .checkbox {
 margin-right: 0;
}

@media screen and (max-width:480px) {
	h3.privacyTtl .icon{
		float: right;
	}
}

/* 230104 更新
------------------------------------------------------------*/
.imgTxt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.imgTxt li{
	flex-basis: calc((100% - 60px) / 3);
	text-align: center;
}

.imgTxt li:nth-child(n+4){
	margin-top: 30px;
}

.imgTxt li img{
	margin-bottom: 10px;
}

.imgTxt li a{
	font-weight: 600;
	display: inline-block;
}

@media screen and (max-width:480px) {
	.imgTxt li{
		flex-basis: calc((100% - 20px) / 2);
		text-align: center;
	}

.imgTxt li:nth-child(n+3){
		margin-top: 20px;
	}
}

/* 230123 更新
------------------------------------------------------------*/
.borderImg{
	border: 1px solid #ccc;
}

/* 230411 更新
------------------------------------------------------------*/
.otherAchive ul{
	gap: 0 30px;
}
.otherAchive ul li a{
    height: 100%;
    display: block;
    cursor: pointer;
    box-shadow: 0 1px 4px 0 rgba(0,0,0,0), 0 6px 10px 0 rgba(0,0,0,0.1), 0 2px 2px 0 rgba(0,0,0,0.1);
    transition: all .3s ease-in-out;
}
.otherAchive ul li a:hover{
	background: #f9f9f9;
    text-decoration: none;
    box-shadow: none;
    opacity: 1;
}

.otherAchive ul li p{
	text-align: center;
	padding: 15px 0;
	font-weight: 700;
	margin-bottom: 0;
}
@media screen and (max-width:480px) {
		.otherAchive ul{
			gap: 0 15px;
		}
		.otherAchive ul li p{
			margin: 0 auto;
			width: 80%;
			font-size: 1.2rem;
		}
}

/* 230411 更新
------------------------------------------------------------*/
.mt50{
	margin-top: 50px;
}
.mb20{
    margin-bottom: 20px;
}

/* 240325 更新
------------------------------------------------------------*/
.dlBox a{
    text-decoration: none!important;
    transition-duration: .1s;
}
.dlBox a .dlTxt .title{
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 5.2rem;
    text-align: center;
}

.dlBox a .dlTxt .title span{
    color: #e15b5f;
    background: -webkit-linear-gradient(transparent 60%, #fee260 0%);
    background: -o-linear-gradient(transparent 60%, #fee260 0%);
    background: linear-gradient(transparent 60%, #fee260 0%);
}

.dlBox a .dlTxt .subTtl{
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 0;
}

.dlBox a .dlTxt .subTtl span{
    font-size: 2.5rem;
    color: #e15b5f;
}

.dlBox .dlBtn.check{
    margin-top: 0; 
}

.dlBox .dlBtn.check .btn{
    position: relative;
    padding-right: 60px;
    font-size: 2.2rem;
    background: #ea853c;
    margin-bottom: 0;

}

.dlBox .dlBtn.check .btn::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: 10px;
    right: 15px;
}

.dlBox .dlBtn.check .btn::after {
    content: "";
    background: none;
    display: inline-block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 18px;
    right: 24px;
    border-bottom: 2px solid #ea853c;
    border-right: 2px solid #ea853c;
    transform: rotate(-45deg);
}

.dlTxt.flex{
    gap: 40px;
}

#main .txtArea .btn.cta{
    top: 362px;
    font-size: 22px;
    font-weight: 900;
    background: #ddd;
    box-shadow: 0px 6px 0px 0px rgba(173,173,173,1);
}

#main .txtArea .btn.cta::after{
    content: "";
    background: url("../images/i_arrow_01.png") no-repeat;
    width: 28px;
    height: 22px;
    background-size: contain;
    margin-left: 20px;
    display: inline-block;
    position: relative;
    top: 9px;
}

.popup.open {
    display: flex;
    animation: fadeIn 0.7s;
}

.popup {
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, .6);
    display: none;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000000;
}

.popupBnr {
    position: relative;
}

.popupClose {
    position: absolute;
    top: -15px;
    right: -15px;
    display: block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 1.5rem;
    border-radius: 50%;
    text-align: center;
    color: white;
    background-color: black;
    cursor: pointer;
    z-index: 10;
}

@media screen and (max-width:480px) {
    .dlTxt.flex{
    flex-wrap: wrap;
    gap: 0;
}
    
    .dlTxt.flex img{
        display: none;
    }
    
    .dlBox .dlBtn.check .btn{
    font-size: 1.6rem;
    font-weight: 600;
    }
    
    #main .txtArea .btn.cta{
    font-size: 16px;
}
    
    .popupBnr {
    width: 90%;
}
}

/* 241009 更新
------------------------------------------------------------*/
.textField.name{
	width: 50%;
}

@media screen and (max-width:480px) {
    .textField.name{
		width: 90%;
	}
}