@charset "utf-8";
/*------------------------------------------------------------
	works
------------------------------------------------------------*/
.mainTop {
	margin-bottom: 41px;
	padding-top: 1px;
	box-sizing: border-box;
	height: 434px;
	background: url(../img/common/bg03.png) repeat left top/1692px;
}
.mainTop .mainImg {
	margin: 47px auto 0;
	text-align: center;
}
.mainTop .mainImg img {
	padding-right: 20px;
}
.pageTitle.top {
	margin-bottom: 22px;
	background: none;
}
#main .linkBg {
	margin-bottom: 132px;
	padding: 20px 10px;
	box-shadow: 4px 4px 1.5px rgba(0, 0, 0, 0.1);
	background: rgba(255, 226, 40, 0.2);
}
#main .topLink {
	margin: -50px 0;
}
#main .topLink li {
	margin: 0 34px;
	width: 263px;
	height: 263px;
}
#main .topLink li a {
	padding: 40px 20px 65px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	border-radius: 50%;
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.5);
	background: #fff url(../img/common/icon01.png) no-repeat center bottom 39px/38px;
}
#main .topLink li a:hover {
	opacity: 0.7;
}
#main .topLink li .inner {
	height: 100%;
}
#main .topLink li .pho {
	margin-bottom: 22px;
	text-align: center;
}
#main .topLink li p {
	font-size: 2.25rem;
	letter-spacing: 0.02em;
	font-feature-settings: "palt";
	text-shadow: 0.5px 0.5px 2px #3E3A39;
}
.content {
	font-feature-settings: "palt";
}
#main .sec01 {
	margin-bottom: 97px;
}
#main .sec01 .content {
	width: 1005px;
}
#main .sec01 .hTtl {
	margin-bottom: 35px;
	text-align: right;
}
#main .sec01 .comImgBox {
	margin-bottom: 73px;
}
#main .comImgBox .hTtl span {
	padding-bottom: 7px;
	color: #3E3A39;
	font-size: 2.9rem;
	border-radius: 0;
	text-shadow: none;
	box-shadow: 9px 6px 10px rgba(62, 58, 57,0.5);
	background-color: #fff;
}
#main .comImgBox .textBox .inner {
	margin: 5px auto 0 0;
}
#main .comImgBox .textBox .inner .pho {
	width: 250px;
	right: -202px;
	left: auto;
	top: 80px;
}
#main .comImgBox .text {
	text-align: left;
	font-size: 1.8rem;
	line-height: 1.75;
}
#main .comImgBox.right .textBox .inner {
	margin: 5px 14px 0 auto;
}
#main .comImgBox.right .textBox .hTtl {
	text-align: left;
}
#main .comImgBox.right .textBox .inner .pho {
	right: auto;
	left: 51px;
	top: 75px;
}
#main .sec01 .comMidText {
	margin-bottom: 51px;
}
#main .sec01 .paddBox {
	padding-right: 140px;
}
#main .sec01 .workBox .comBaList {
	margin: 0 auto;
	max-width: 870px;
}
#main .sec01 .workBox {
	margin-bottom: 61px;
}
#main .sec01 .workBox.box02 .comBaList {
	margin-bottom: 102px;
}
#main .sec02 .comImgBox {
	margin-bottom: 45px;
}
#main .sec02 .comMidText {
	margin-bottom: 50px;
}
#main .sec02 .content {
	padding-left: 30px;
	width: 1040px;
}
#main .sec02 .comBgBox {
	margin-bottom: 77px;
}
#main .sec02 .table {
	margin: 0 auto 95px;
    width: 820px;
}
#main .sec02 .table .inner {
	margin-left: auto;
	max-width: 751px;
}
#main .sec02 .table table {
	margin-bottom: 18px;
	width: 100%;
	text-align: center;
	border: 2px solid #3E3A39;
	border-collapse: collapse;
	box-sizing: border-box;
}
#main .sec02 .table thead th {
	padding: 12px 15px;
	font-size: 2.48rem;
	background-color: #FFE200;
	border-bottom: 1px solid #3E3A39;
}
#main .sec02 .table th,
#main .sec02 .table td {
	padding: 3px 10px;
	box-sizing: border-box;
	text-align: center;
	letter-spacing: 0.025em;
}
#main .sec02 .table th {
	font-size: 2.48rem;
	font-weight: normal;
	border-right: 1px dashed #3E3A39;
}
#main .sec02 .table tbody th {
	width: 35.7%;
}
#main .sec02 .table tbody tr:nth-child(2n) th,
#main .sec02 .table tbody tr:nth-child(2n) td {
	background-color: #efefef;
}
#main .sec02 .table td {
	color: #c30d23;
	font-size: 3rem;
	line-height: 1.3;
}
#main .sec02 .table td .sm {
	font-size: 2rem;
}
#main .sec02 .table .textList li {
	letter-spacing: 0.025em;
	line-height: 1.75;
}
#main .sec02 .comBaList {
	padding-right: 9px;
	width: 1092px;
    margin: 0 auto 68px;
}
#main .sec02 .comBaList:last-of-type {
	margin-bottom: 118px;
}
#main .sec02 .comBaList li {
	width: 352px;
}
#main .sec02 .comBaList li .ttl {
	top: -25px;
    left: -31px;
}
#main .sec02 {
	margin-bottom: 121px;
}
#main .feature {
	margin-bottom: 111px;
}
#main .feature .content {
	width: 1005px;
}
#main .feature .comImgBox {
	margin-bottom: 95px;
}
#main .feature .comImgBox .textBox .hTtl {
	text-align: right;
}
#main .feature .comImgBox .textBox .inner .pho {
	width: 166px;
    top: auto;
    bottom: -50px;
    right: -132px;
}
#main .feature .textList {
	margin:0 -86px 30px 0;
	padding-right: 226px;
	background:url(../img/work/bg.png) no-repeat right center/135px 100%;
}
#main .feature .textList li {
	margin-top: 37px;
	position: relative;
	filter: drop-shadow(-5px -7px 11px rgba(0,0,0,0.08));
	line-height: 1.75;
}
#main .feature .textList li:nth-of-type(1) {
	margin-top: 0;
}
#main .feature .textList li::after {
	width: 100%;
	height: 101%;
	position: absolute;
	bottom: -12px;
	left: 10px;
	background-color: #FBDE27;
	content: "";
  	clip-path: polygon(calc(100% - 91px) 0, 100% 90px, 100% 100%, 0 100%, 0 0);
}
#main .feature .textList li:nth-of-type(2n)::after {
	background-color: #3D3938;
}
#main .feature .textList li .inner {
	padding: 26px 115px 29px 30px;
	position: relative;
	background-color: #FFF;
	clip-path: polygon(calc(100% - 90px) 0, 100% 90px, 100% 100%, 0 100%, 0 0);
    z-index: 2;
}
#main .feature .textList li .titleBox {
	margin-bottom: 16px;
	display: flex;
	justify-content: space-between;
	font-size: 2.1rem;
}
#main .feature .textList li .titleBox .title,
#main .feature .textList li .titleBox .time{
	width: 49%;
	color: #000;
}
#main .feature .textList li .titleBox .time {
	text-align: right;
}
#main .feature .textList li p {
	letter-spacing: 0.025em;
}
#main .price {
	margin-bottom: 80px;
}
#main .price .content {
	width: 1039px;
    padding: 0 0 0 30px;
}
#main .price .h3Ttl {
	margin: 0 0 56px;
	padding: 11px 10px;
	font-size: 2.8rem;
	text-align: center;
	font-weight: normal;
	background-color: #FBDE27;
}
#main .price .comBaList {
	margin: 0 auto 95px;
    max-width: 926px;
	padding-right: 30px;
	box-sizing: border-box;
}
#main .price .imgBox {
	margin-bottom: 82px;
	padding-right: 58px;
}
#main .price .imgBox .textBox {
	width: 470px;
}
#main .price .imgBox .textBox dl:not(:last-of-type) {
	margin-bottom: 25px;
}
#main .price .imgBox .textBox dt {
	margin-bottom: 19px;
	color: #000;
	font-size: 2.1rem;
}
#main .price .imgBox .textBox dt .sml {
	margin: 12px 0 16px;
	display: block;
	color: #3E3A39;
	font-size: 1.8rem;
	letter-spacing: 0.025em;
}
#main .price .imgBox .textBox dd .textList01 li {
	padding-left: 10px;
	text-indent: -0.8em;
	font-size: 1.7rem;
	letter-spacing: 0.025em;
}
#main .price .imgBox .textBox dd .textList02 li {
	padding-left: 10px;
	text-indent: -1em;
	font-size: 1.7rem;
}
#main .price .imgBox .textBox .detail {
	margin-top: 27px;
	padding: 13px;
	width: 427px;
	color: #000;
	font-size: 2.1rem;
	line-height: 1.59;
	letter-spacing: 0.025em;
	text-align: center;
	background-color: #FBDE27;
	border-radius: 50px;
	box-sizing: border-box;
}
#main .price .imgBox .textBox dt .textList01{
	padding-left: 1px;
	text-indent: -1em;
}
#main .price .imgBox .photoBox {
	margin-top: 2px;
	width: 436px;
	order: 1;
}
#main .price .imgBox .photoBox img {
	width: 100%;
}
#main .price .tableBox {
	margin-bottom: 104px;
}
#main .price .subBox {
	width: 49.5%;
}
#main .price .subBox.box02 {
	width: 49.5%;
}
#main .price .comTab {
	width: 100%;
	font-size: 2.48rem;
	text-align: center;
	border: 2px solid #3E3A39;
	border-collapse:collapse;
	box-sizing: border-box;
}
#main .price .comTab th,
#main .price .comTab td {
	padding: 5px 15px;
	width: 49%;
	text-align: center;
	box-sizing: border-box;
	letter-spacing: 0.025em;
	border-right: 1px dashed #3E3A39;
}
#main .price .comTab th {
	padding: 12px 15px;
	font-weight: normal;
	background-color: #FFE200;
	border-bottom: 1px solid #3E3A39;
}
#main .price .comTab .red {
	color:#C30D23;
}
#main .price .comTab td .sm {
	font-size: 1.8rem;
}
#main .price .comTab tbody tr:nth-of-type(2n) {
	background-color: #EFEFEF;
}
#main .price .tableBox .subBox .textList02 {
	margin-top: 7px;
	font-weight: 500;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media all and (min-width: 897px) {
	.comPrivaceBox .textBox {
		width: 93%;
	}
}
@media all and (max-width: 896px) {
	#gHeader {
		margin-bottom: 23px;
	}
	.mainTop {
		margin-bottom: 93px;
		padding-top: 1px;
		height: inherit;
		background: none;
		overflow: hidden;
	}
	.mainTop .mainImg {
		margin: 0 -38px 0 -33px;
	}
	.mainTop .mainImg img {
		padding-right: 0;
	}
	#main .linkBg {
		margin-bottom: 92px;
		box-shadow: 4px 2px 1.5px rgba(0, 0, 0, 0.1);
	}
	#main .topLink {
		margin: -76px 0 -70px;
	}
	#main .topLink li {
		margin: 4px 16px 0;
		width: 132px;
		height: 132px;
	}
	#main .topLink li a {
		padding: 20px 10px 30px;
		box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
		background-image: url(../img/common/icon01_sp.png);
		background-size: 20px;
		background-position: bottom 19px center;
	}
	#main .topLink li .pho {
		margin: 0 auto 10px;
		width: 56px;
	}
	#main .topLink li p {
		font-size: 1.25rem;
	}
	#main .sec01 {
		margin-bottom: 60px;
	}
	#main .sec01 .content {
		width: auto;
	}
	#main .sec01 .hTtl {
		margin-bottom: 35px;
		text-align: right;
	}
	#main .sec01 .comImgBox {
		margin-bottom: 27px;
	}
	#main .comImgBox .photoBox {
		padding-right: 24px;
		width: auto;
		position: relative;
		z-index: 1;
	}
	#main .comImgBox .hTtl {
		margin: -34px 0 25px;
		display: block;
	}
	#main .comImgBox .hTtl span {
		padding: 0 20px 4px;
		font-size: 1.45rem;
		min-width: 160px;
		letter-spacing: 0.13em;
		box-shadow: 4px 5px 9px rgba(62, 58, 57,0.5);
	}
	#main .comImgBox .textBox {
		padding: 10px 23px 29px;
	}
	#main .comImgBox .textBox .inner {
		margin: 5px auto 0 0;
		z-index: 1;
	}
	#main .comImgBox .textBox::before {
		display: none;
	}
	#main .comImgBox .textBox::after {
		position: absolute;
		content: '';
		right: 0;
		top: -30px;
		left: 23px;
		bottom: -18px;
		-webkit-clip-path: polygon(25% 0%, 100% 0%, 100% 100%, 0% 100%);
		clip-path: polygon(25% 0%, 100% 0%, 100% 100%, 0% 100%);
		background: rgba(255, 226, 40, 0.1);
	}
	#main .comImgBox .textBox .inner .pho {
		display: none;
	}
	#main .comImgBox .text {
		font-size: 1.35rem;
		text-align: justify;
		font-family: 'A-OTF-MidashiGoPr5-MB31';
	}
	#main .comImgBox.right .photoBox {
		padding: 0 0 0 24px;
	}
	#main .comImgBox.right .textBox::after {
		left: 0;
		bottom: -40px;
		-webkit-clip-path: polygon(0 0, 72% 0, 98% 100%, 0% 100%);
		clip-path: polygon(0 0, 72% 0, 98% 100%, 0% 100%);
	}
	#main .comImgBox.right .textBox .inner {
		margin: 5px 0 0;
	}
	#main .comImgBox.right .textBox .hTtl {
		text-align: left;
	}
	#main .sec01 .comMidText {
		margin-bottom: 28px;
	}
	#main .sec01 .paddBox {
		padding-right: 0;
		margin-bottom: 24px;
	}
	#main .sec01 .paddBox .headLine02 {
		margin-bottom: 19px;
		color: #000;
		text-align: left;
		font-size: 1.55rem;
		letter-spacing: 0.0125em;
	}
	#main .sec01 .paddBox .headLine02 .bg::after {
		right: -6px;
		bottom: -6px;
		clip-path: polygon(calc(100% - 16px) 0, 100% 13px, 100% 100%, 0 100%, 0 0);
	}
	#main .sec01 .paddBox .headLine02 .txt {
		padding: 11px 16px 13px 16px;
		display: block;
		clip-path: polygon(calc(100% - 13px) 0, 100% 14px, 100% 100%, 0 100%, 0 0);
	}
	#main .sec01 .paddBox .headLine02.grey {
		padding-right: 5px;
	}
	#main .sec01 .paddBox .headLine02.grey .bg::after {
		right: -6px;
		bottom: -6px;
		clip-path: polygon(calc(100% - 34px) 0, 100% 21px, 100% 100%, 0 100%, 0 0);
	}
	#main .sec01 .paddBox .headLine02.grey .txt {
		padding: 11px 16px 13px 16px;
		display: block;
		clip-path: polygon(calc(100% - 38px) 0, 100% 21px, 100% 100%, 0 100%, 0 0);
	}
	#main .sec01 .paddBox .headLine02 .bg {
		padding-bottom: 0;
		display: block;
  	}
	  #main .sec01 .paddBox .text {
		font-size: 1.35rem;
		line-height: 1.75;
		letter-spacing: 0.0125em;
	  }
	#main .sec01 .workBox {
		margin-bottom: 34px;
	}
	#main .sec01 .workBox.box02 .comBaList {
		margin-bottom: 34px;
		padding-left: 0;
	}
	#main .sec02 .comImgBox {
		margin-bottom: 28px;
	}
	#main .sec02 .comImgBox .textBox {
		padding-bottom: 52px;
	}
	#main .sec02 .comMidText {
		margin-bottom: 38px;
		text-align: left;
	}
	#main .sec02 .content {
		padding-left: 22px;
		width: auto;
	}
	#main .sec02 .comBgBox {
		margin-bottom: 36px;
	}
	#main .sec02 .table {
		margin-bottom: 38px;
		width: auto;
	}
	#main .sec02 .comBgBox .text {
		font-size: 1.35rem;
		font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	}
	#main .sec02 .table .inner {
		margin-left: auto;
		max-width: inherit;
	}
	#main .sec02 .table table {
		margin-bottom: 11px;
		border-width: 1px;
		border-color: #3E3A39;
	}
	#main .sec02 .table td {
		padding: 10px 10px;
		color: #3E3A39;
		font-size: 1.35rem;
		line-height: 1.4;
		letter-spacing: 0.025em;
		border-right: 1px solid #000;
		background-color: #FFE228;
	}
	#main .sec02 .table tr:nth-child(2n) td {
		padding: 2px 10px;
		color: #C30D23;
		background: none;
		font-size: 2.48rem;
		border-bottom: 1px solid #000;
	}
	#main .sec02 .table tbody tr:nth-child(2n) th, #main .sec02 .table tbody tr:nth-child(2n) td {
		background: none;
	}
	#main .sec02 .table tr td.special {
		font-size: 1.22rem;
	}
	#main .sec02 .table td .sm {
		display: block;
		font-size: 0.9rem;
	}
	#main .sec02 .table td .mid {
		font-size: 2rem;
	}
	#main .sec02 .table .textList li {
		font-size: 1.35rem;
	}
	#main .sec02 .comBaList {
		width: auto;
	}
	#main .sec02 .comBaList:last-of-type {
		margin-bottom:46px;
	}
	#main .sec02 .comBaList li {
		margin: 0 auto 35px;
		width: 70%;
	}
	#main .sec02 .comBaList li .ttl {
		top: -14px;
		left: -17px;
	}
	#main .sec02 {
		margin-bottom: 123px;
	}
	#main .feature {
		margin-bottom: 28px;
	}
	#main .feature .content {
		width: auto;
	}
	#main .feature .comMidText {
		margin-bottom: 30px;
	}
	#main .feature .comImgBox {
		margin-bottom: 47px;
	}
	#main .feature .textList {
		margin:0 0 30px;
		padding-right: 0;
		background:url(../img/work/bg_sp.png) no-repeat right center/101px 100%;
	}
	#main .feature .textList li {
		margin-top: 29px;
		position: relative;
		line-height: 1.75;
		filter: none;
	}
	#main .feature .textList li::after {
		display: none;
	}
	#main .feature .textList .spInner {
		position: relative;
		filter: drop-shadow(-3px -3px 8px rgba(0,0,0,0.08));
	}
	#main .feature .textList .spInner::after {
		width: 100%;
		height: 101%;
		position: absolute;
		bottom: -6px;
		left: 7px;
		background-color: #FBDE27;
		content: "";
		clip-path: polygon(calc(100% - 16px) 0, 100% 13px, 100% 100%, 0 100%, 0 0);
	}
	#main .feature .textList li .inner {
		padding: 0;
		clip-path: none;
		background: none;
	}
	#main .feature .textList li .inner .titleBox {
		margin: 0 -1px 19px 0;
		font-size: 1.55rem;
		padding: 12px 20px 7px 15px;
		position: relative;
		background-color: #fff;
		clip-path: polygon(calc(100% - 16px) 0, 100% 13px, 100% 100%, 0 100%, 0 0);
		z-index: 2;
	}
	#main .feature .textList li:nth-of-type(2n) .spInner::after {
		background-color: #3D3938;
	}
	#main .feature .textList li .titleBox .title,
	#main .feature .textList li .titleBox .time {
		position: relative;
		z-index: 1;
	}
	#main .feature .textList li .titleBox .time {
		color: #3e3a39;
		font-size: 1.35rem;
	}
	#main .feature .textList li p {
		letter-spacing: 0.0125em;
	}
	#main .price {
		margin-bottom: 80px;
	}
	#main .price .content {
		width: auto;
		padding: 0 20px;
	}
	#main .price .h3Ttl {
		margin: 0 -20px 38px;
		padding: 6px 10px 7px;
		font-size: 1.55rem;
	}
	#main .price .imgBox {
		margin-bottom: 43px;
		padding-right: 0;
		display: block;
	}
	#main .price .imgBox .textBox {
		width: auto;
	}
	#main .price .imgBox .textBox dl:not(:last-of-type) {
		margin-bottom: 29px;
	}
	#main .price .imgBox .textBox dt {
		margin-bottom: 6px;
		font-size: 1.55rem;
	}
	#main .price .imgBox .textBox dt .sml {
		margin: 4px 0 0;
		font-size: 1.3rem;
		letter-spacing: 0.0125em;
	}
	#main .price .imgBox .textBox dd .textList01 li {
		margin-bottom: 3px;
		font-size: 1.3rem;
		letter-spacing: 0.025em;
	}
	#main .price .imgBox .textBox dd .textList01 li:last-child {
		margin-bottom: 0;
	}
	#main .price .imgBox .textBox dd .textList02 li {
		padding-left: 15px;
		font-size: 1.3rem;
	}
	#main .price .imgBox .textBox .detail {
		margin-top: 16px;
		padding: 11px 10px 14px;
		width: auto;
		font-size: 1.55rem;
		line-height: 1.45;
	}
	#main .price .imgBox .photoBox {
		width: 74.7%;
		margin: 0 auto 48px;
	}
	#main .price .tableBox {
		margin-bottom: 60px;
		display: block;
	}
	#main .price .subBox {
		margin: 0 auto 30px;
		width: 71.8% !important;
	}
	#main .price .subBox:last-child {
		margin-bottom: 0;
	}
	#main .price .subBox .ttl {
		margin-bottom: 14px;
		text-align: center;
		color: #000;
		font-size: 1.55rem;
	}
	#main .price .comTab {
		font-size: 2.48rem;
		border: none;
	}
	#main .price .comTab thead {
		display: none;
	}
	#main .price .comTab th,
	#main .price .comTab td {
		padding: 5px 15px;
		width: auto;
		display: block;
		letter-spacing: 0.025em;
		border-right: 1px dashed #3E3A39;
	}
	#main .price .comTab td {
		padding: 13px 5px 17px;
		font-size: 1.76rem;
		background-color: #FFE200;
		border: 1px solid #3E3A39;
		border-bottom: none;
	}
	#main .price .comTab td .sm {
		font-size: 2.8rem;
	}
	#main .price .comTab tbody tr:nth-of-type(2n) {
		background: none;
	}
	#main .price .tableBox .subBox .textList02 {
		margin-top: -7px;
	}
	#main .price .comTab .red {
		padding: 0 5px;
		margin-bottom: 14px;
		font-size: 3.6rem;
		border-top: none;
		border-bottom: 1px solid #3E3A39;
		background-color: #fff;
	}
	#main .price .comBaList {
		margin: 0 auto 50px;
		padding: 0;
	}
}
@media all and (max-width: 374px) {
	#main .topLink li {
		margin: 4px 5px 0;
		width: 130px;
		height: 130px;
	}
}
