@charset "utf-8";

.guideChildTxt .textLink {
	color: var(--quaternary);
}

.guideChildTxt .textLink:hover {
	text-decoration: underline;
}

.discountCommentMg {
	margin: 0 auto;
	max-width: 1520px;
	text-align: right;
}

.cover {
	padding: 61px 0 0;
	max-width: 1920px;
	width: 100%;
	position: relative;
	z-index: 9;
}

.cover:after {
	content: "";
	margin: -450px 0 0;
	display: block;
	width: 100%;
	height: 350px;
	background: url(../img/bg02.svg) center bottom;
	background-repeat: no-repeat;
	background-size: contain;
}

.coverTtlBox {
	text-align: center;
}

.coverTtl {
	font-size: 150px;
	line-height: 1em;
}

.coverTtlTxt01 {
	font-size: 0.5333em;
	font-weight: 900;
	line-height: 1;
}

.coverTtlTxt02 {
	font-size: 0.4em;
	font-weight: 900;
	line-height: 1;
}

.coverTtlTxt03 {
	font-size: 1em;
	font-family: var(--font02);
	color: var(--bg-primary);
	/* text-shadow:
		0 3px 0 var(--black),
		0 3px 0 var(--black),
		0 2px 0 var(--black),
		0 1px 0 var(--black),
		0 -3px 0 var(--black),
		0 -2px 0 var(--black),
		0 -1px 0 var(--black),
		3px 0 0 var(--black),
		2px 0 0 var(--black),
		1px 0 0 var(--black),
		-3px 0 0 var(--black),
		-2px 0 0 var(--black),
		-1px 0 0 var(--black)
	; */
	-webkit-text-stroke: 0.0333em var(--base);
	text-shadow: 0.1em 0.1em 0 var(--base);
	line-height: 1;
}

.coverTtlTxt04 {
	margin: 0 0 0 0.2em;
	font-size: 0.5333em;
	font-family: var(--font02);
	line-height: 1;
}

.coverImgBox {
	margin: 0 auto 0;
	max-width: 1620px;
	width: 84.38%;
	text-align: center;
	position: relative;
	z-index: 10;
}

.coverImgBox>.cover01 {
	display: block;
	position: absolute;
	top: 0;
}

.coverImgBox>.cover01_01 {
	z-index: 20;
}

.coverImgBox>.cover01_02 {
	z-index: 19;
}

.coverImgBox>.cover01_03 {
	z-index: 18;
}

.coverImgBox>.cover01_04 {
	z-index: 17;
}

.coverImgBox>.cover01_05 {
	z-index: 16;
}

.coverImgBox>.cover01_06 {
	z-index: 15;
}

.coverImgBox>.cover01_07 {
	z-index: 14;
}

.coverImgBox>.cover01_08 {
	z-index: 13;
}

.coverImgBox>.cover01_09 {
	z-index: 12;
}

.coverImgBox>.cover01_10 {
	z-index: 11;
}

.coverSubTtl {
	margin: 10px 0 0;
	font-size: 40px;
	font-weight: 900;
	letter-spacing: 0.03em;
}

.charming {
	margin: -150px 0 0;
	padding: 150px 0 0;
	position: relative;
}

.charmingFrame {
	padding: 240px 15px 155px;
	background: var(--bg-primary);
}

.charmingArea {
	max-width: 1620px;
	margin: 0 auto;
}

.charmingFukidashiArrow {
	position: absolute;
	bottom: -17px;
	left: 50%;
	transform: translate(-50%);
	z-index: 9;
}

.charmingFukidashi {
	padding: 10px 35px;
	display: inline-block;
	font-size: 25px;
	font-weight: 800;
}

.charmingFukidashiBox {
	margin: 40px auto 0;
	text-align: center;
}

.pointContainer {
	margin: 95px auto 0;
}

.pointRow {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 60px 25px;
}

.pointCol {
	padding: 0 0 0 30px;
	display: flex;
	flex-direction: column;
}

.pointBox {
	padding: 65px 35px 35px;
	height: 100%;
	border: 2px solid var(--base);
	border-radius: 20px;
	background: #FFF;
	background-image: url(../img/bg01.svg);
	background-position: left top;
	background-repeat: repeat;
	background-size: auto;
	box-shadow: 6px 6px 0;
	position: relative;
	display: flex;
	flex-direction: column;
}

.pointFukidashiBox {
	position: absolute;
	top: -40px;
	left: -45px;
	z-index: 9;
	width: 145px;
	height: 142px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.pointNumBox {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 99;
	font-size: 65px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.pointNumTtl {
	font-size: 0.307em;
	font-weight: 800;
	font-family: var(--font03);
	line-height: 1;
}

.pointNum {
	font-size: 1em;
	font-weight: 800;
	font-family: var(--font03);
	line-height: 1;
}

.pointTtl {
	font-size: 35px;
	font-weight: 800;
	line-height: 1.285em;
	text-align: center;
}

.pointImgBox {
	margin: 20px auto 0;
	border-radius: 100vmax;
	border: 1px solid var(--base);
}

.pointImg {
	border-radius: 100vmax;
}

.pointTxt {
	margin: 20px auto 0;
}

.charmingLead {
	margin: 60px auto 0;
}

.chamingLeadTxt {
	text-align: center;
}

.charmingDecoration01 {
	position: absolute;
	top: 80px;
	left: 0;
	z-index: 9;
	width: 24.635%;
}

.charmingDecoration02 {
	position: absolute;
	top: 180px;
	right: 0;
	z-index: 9;
	width: 19.687%;
}

.charmingDecoration03 {
	position: absolute;
	bottom: -33px;
	left: 5.208%;
	z-index: 9;
	width: 14.322%;
}

.recommendFrame {
	margin: 0 auto;
	padding: 120px 15px 90px;
	max-width: 1520px;
}

.recommendTtlBox {
	text-align: left;
}

.recommendContainer {
	margin: 71px auto 0;
	width: calc(100% + 60px);
}

.recommendRow {
	display: flex;
	flex-wrap: wrap;
}

.recommendImgBox {
	max-width: 361px;
}

.recommendFukidashi {
	padding: 8.5px 30px 8.5px;
	padding: 0.34em 1.1em 0.34em;
	display: inline-block;
	font-size: 25px;
}

.recommendFukidashiArrow {
	position: absolute;
	z-index: 9;
}

.recommendFukidashiTtl {
	font-size: 1em;
	font-weight: 800;
}

.recommendCol:nth-of-type(odd) .recommendFukidashiArrow {
	top: -0.68em;
	left: 2.04em;
}

.recommendCol:nth-of-type(even) .recommendFukidashiArrow {
	bottom: -0.68em;
	left: 2.04em;
	transform: rotate(180deg);
}

.recommendCol:nth-of-type(even) .recommendBox {
	display: flex;
	flex-direction: column-reverse;
}

.recommendCol {
	width: 23.29%;
}

.recommendCol:nth-of-type(even) {
	margin-top: 60px;
}

.recommendCol--02 {
	margin-left: 1.4%;
}

.recommendCol--03 {
	margin-left: 2.5%;
}

.recommendCol--04 {
	margin-left: 2.9%;
}

.recommendCol--01 .recommendFukidashiBox {
	padding: 0 0 0 11.6%;
}

.recommendCol--02 .recommendFukidashiBox {
	padding: 0 0 11px;
}

.recommendCol--03 .recommendFukidashiBox {
	margin: -6px 0 0;
}

.recommendCol--04 .recommendFukidashiBox {
	padding: 0 0 6px 5%;
}

.process {
	position: relative;
	margin: -150px 0 0;
	padding: 150px 0 0;
}

.processFrame {
	padding: 175px 15px 130px;
	background: var(--bg-tertiary);
	position: relative;
}

.processArea {
	margin: 0 auto;
	max-width: 1520px;
	position: relative;
	z-index: 99;
}

.processTab.active {
	display: block;
}

.processTabBtnGroup {
	margin: 40px auto 0;
	display: flex;
	justify-content: center;
}

.processTabBtn:nth-of-type(n + 2) {
	margin: 0 0 0 30px;
}

.processContainer {
	margin: 60px auto 0;
	position: relative;
}

.processTab {
	display: none;
}

.processTab.active {
	display: block;
}

.processTabBlock {
	margin: 0 auto;
	padding: 0 50px;
	max-width: 1420px;
}

.processLeadBox {
	text-align: center;
	margin-bottom: 80px;
}

.processTabRow {
	display: flex;
	justify-content: space-between;
}

.processTabRow:nth-of-type(n + 2) {
	margin: 70px auto 0;
}

.processTabCol02 {
	margin: 0 4.13%;
	width: 270px;
	text-align: center;
}

.processTabNum {
	font-size: 220px;
	font-weight: 700;
	font-family: var(--font03);
	color: var(--secondary);
}

.processTabimgBox {
	border: 1px solid var(--base);
	border-radius: 20px;
}

.processTabImg {
	border-radius: 19px;
}

.processTabTtl {
	font-size: 32px;
	font-weight: 800;
}

.processTabTxt {
	margin: 20px auto 0;
}

.processTabTxt>a {
	color: var(--primary);
	text-decoration: underline;
}

.processTabTxt>a:hover {
	text-decoration: none;
}

.processTabTxt .indent {
	display: inline-block;
	text-indent: -1em;
	padding: 0 0 0 1em;
}

.processTabCol03 {
	width: 35.03%;
	align-self: center;
}

.processTabCol01 {
	width: 35.03%;
	position: relative;
	align-self: flex-start;
}

.processTabDecoration {
	position: absolute;
	bottom: -15%;
	z-index: 9;
	width: 33.1%;
}

.processTabRow:nth-of-type(even) {
	flex-direction: row-reverse;
}

.processTabRow:nth-of-type(odd) .processTabDecoration {
	left: -10%;
}

.processTabRow:nth-of-type(even) .processTabDecoration {
	right: -10%;
}

.processTabArea {
	padding: 110px 15px 130px;
	border: 2px solid var(--base);
	border-radius: 20px;
	background: var(--white);
}

.processTabArea {
	padding: 110px 15px 130px;
	border: 2px solid var(--base);
	border-radius: 20px;
	background: var(--white);
}

.shooting {
	margin: -150px auto 0;
	padding: 250px 0 0;
}

.shootingFrame {
	border: 2px solid var(--base);
	border-radius: 20px;
	background: var(--bg-quaternary);
}

.shootingTtlBox {
	text-align: left;
}

.shootingTtl {
	padding: 0.27em 1.714em 0.27em;
	display: inline-block;
	font-size: 35px;
	letter-spacing: 0.03em;
	font-weight: 800;
	color: var(--white);
	background: var(--base);
	border-radius: 15px 0 20px 0;
}

.shootingArea {
	margin: -25px auto 0;
	max-width: 1450px;
	padding: 0 15px 80px;
}

.shootingOkRow {
	display: flex;
	align-items: flex-end;
}

.shootingOkCol01 {
	width: 54.929%;
}

.shootingOkCol02 {
	margin: 0 0 0 62px;
	flex: 1;
}

.shootingLabel {
	padding: 0.2em 1em;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 0.03em;
	border-radius: 100vmax;
	color: var(--white);
	background: var(--base);
}

.shootingLabel.shooting--ok {
	background: var(--quaternary);
	display: inline-block;
}

.shootingOkImgRow {
	margin: 10px auto 0;
	display: flex;
}

.shootingOkImg01 {
	border-radius: 10px;
}

.shootingOkImgBox01:nth-of-type(n + 2) {
	margin: 0 0 0 20px;
}

.shootingOkFukidashi {
	padding: 25px 30px 25px;
	position: relative;
	border-radius: 10px 10px 10px 0;
}

.shootingOkFukidashiArrow {
	position: absolute;
	bottom: -2px;
	left: -35px;
	z-index: 9;
}

.shootingOkTtl {
	font-size: 28px;
	font-weight: 800;
}

.shootingOkTxt {
	margin: 6px auto 0;
}

.shootingOkListItem {
	transform: rotate(0deg);
}

.shootingOkListItem:nth-of-type(n + 2) {
	margin: 20px auto 0;
}

.shootingNg {
	margin: 60px auto 0;
}

.shootingNgLabelBox {
	text-align: left;
}

.shootingLabel.shooting--ng {
	display: inline-block;
	background: var(--fifth);
}

.shootingNgGrid {
	margin: 10px auto 0;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 35px 20px;
}

.shootingNgImg {
	border-radius: 10px;
}

.shootingNgTxt {
	margin: 5px auto 0;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 0.03em;
	line-height: 1.5em;
}

.shootingNgTxt small {
	margin: -0.2em 0 0;
	font-size: 0.8em;
	font-weight: 700;
	display: block;
}

.processDecoration01 {
	position: absolute;
	top: 214px;
	left: 0;
	z-index: 9;
	width: 10.416%;
}

.processDecoration02 {
	position: absolute;
	top: 174px;
	right: 0;
	z-index: 9;
	width: 12.552%;
}

.processDecoration03 {
	position: absolute;
	margin: auto;
	top: 50%;
	left: 2.968%;
	transform: translate(0, -50%);
	z-index: 9;
	width: 12.552%;
}

.processDecoration04 {
	position: absolute;
	right: 0;
	bottom: 29px;
	z-index: 9;
	width: 12.552%;
}

.sample {
	position: relative;
	margin: -150px 0 0;
	padding: 150px 0 0;
}

.sampleDecoration01 {
	position: absolute;
	top: 124px;
	right: 0;
	z-index: 9;
	width: 11.666%;
}

.sampleFrame {
	padding: 145px 15px 118px;
}

.sampleArea {
	margin: 0 auto;
	max-width: 1520px;
	position: relative;
	z-index: 9;
}

.sampleTtlBox {
	text-align: left;
}

.sampleLeadBox {
	margin: 30px 0 0;
}

.sampleLeadNotes {
	display: flex;
	align-items: baseline;
	font-size: 16px;
	line-height: 1.8em;
}

.sampleLeadNotes>.flex-1 {
	flex: 1;
}

.sampleBoxAria {
	margin: 40px auto 0;
	padding: 130px 15px 100px;
	max-width: 1520px;
	width: 100%;
	border-radius: 20px;
	border: 2px solid var(--base);
	background: var(--white);
	position: relative;
	z-index: 9;
}

.sampleAriaGridBox {
	max-width: 1320px;
	width: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 80px 100px;
	position: relative;
	z-index: 9;
}

.sampleAriaGridItemBox {
	width: 100%;
	max-width: 610px;
	margin: 0 auto;
}

.sampleContainer {
	margin: 15px 0 0;
	padding: 0;
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}

.swiper-btton-position-box {
	position: absolute;
	padding: 0 0 65.57%;
	z-index: 9;
	top: 0;
	left: 0;
	right: 0;
}

.sampleImgBox {
	position: relative;
	padding: 0 0 65.57%;
	height: 0;
	border-radius: 10px;
	border: 1px solid var(--base);
}

.sampleImg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.sampleBox {
	position: relative;
}

.sampleContainer .swiper-button-prev,
.sampleContainer .swiper-button-next {
	width: 50px;
	height: 50px;
	box-shadow: none;
	border: none;
	top: 50%;
	transform: translateY(-50%);
}

.sampleContainer .swiper-button-prev {
	left: 15px;
}

.sampleContainer .swiper-button-next {
	right: 15px;
}

.sampleSwiperTxt {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.944em;
	margin-top: 15px;
}

.sampleSwiper .swiper-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	flex-wrap: wrap;
}

.sampleSwiper .swiper-pagination .swiper-pagination-bullet {
	background: #ccc;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	cursor: pointer;
}

.sampleSwiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #1A1A1A;
}

.sampleAriaGridItemTit {
	font-size: 40px;
	font-weight: 800;
	line-height: 1;
	border-left: 10px solid #FFCA1C;
	padding-left: 20px;
}

.sampleSwiper {
	width: 100%;
}

.sampleMoneyBox {
	font-size: 25px;
	font-weight: 900;
	line-height: 1.944em;
	display: flex;
	align-items: baseline;
	margin-top: 30px;
}

.sampleMoneyTd {
	flex: 1;
}

.sampleMoneyText {
	display: flex;
}

.sampleMoneySize {
	width: 4em;
}

.sampleMoneyPrice {
	width: 5em;
	text-align: right;
}

.sampleRed {
	color: #EB3329;
}

.sampleRemarksSetList {
	display: flex;
	align-items: baseline;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.944em;
}

.sampleRemarksSetList>.flex-1 {
	flex: 1;
}

.sampleRemarksBox {
	background-color: #F7F7F7;
	border-radius: 10px;
	padding: 20px;
	margin-top: 20px;
	width: 100%;
}

.guide {
	position: relative;
	margin: -150px 0 0;
	padding: 150px 0 0;
}

.guideFrame {
	padding: 145px 0 118px;
	background: var(--bg-primary);
}

.guideContainer {
	margin: 60px auto 0;
}

.guideBlock {
	padding: 0 15px;
	--dot: 3px;
	--gap: 6px;
	--offset: 2px;
	background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'>\<circle cx='6' cy='6' r='6' fill='%23ffffff'/></svg>");
	background-repeat: repeat-x;
	background-size: calc(var(--dot) + var(--gap)) var(--dot);
	background-position: 0 calc(100% - var(--offset));
	padding-bottom: calc(var(--dot) + var(--offset));
}

.guideRow {
	margin: 0 auto;
	padding: 0 0 50px;
	max-width: 1320px;
	display: flex;
	position: relative;
	z-index: 9;
}

.guideBlock:nth-of-type(n + 2) .guideRow {
	padding-top: 50px;
}

.guideCol01 {
	width: 150px;
	height: 150px;
	position: relative;
}

.guideCol02 {
	margin: 2px 0 0 50px;
	flex: 1;
}

.guideImgBox {
	width: 100%;
	height: 100%;
	background: var(--white);
	border-radius: 100vmax;
	display: flex;
	justify-content: center;
	align-items: center;
}

.guideImg {
	width: 63%;
}

.guideChildRow {
	display: flex;
}

.guideChildCol01 {
	width: 340px;
	font-size: 20px;
}

.guideChildCol02 {
	margin: 55px 0 0 5.6%;
	flex: 1;
}

.guideChildNum {
	font-size: 1em;
	font-weight: 700;
	color: var(--primary);
}

.guideChildNum>span {
	padding: 0 0 0 0.1em;
	font-size: 1.6em;
	font-weight: 700;
	font-family: var(--font03);
}

.guideChildTtl {
	font-size: 1.6em;
	font-weight: 800;
	line-height: 1;
}

.guideImgBox.guideImgBox--highlight {
	background: var(--primary);
}

.guideRow:before {
	content: "";
	width: 10px;
	height: calc(100% + 6px);
	display: block;
	background: var(--white);
	position: absolute;
	top: 0;
	left: 72px;
}

.guideBlock:last-of-type .guideRow:before {
	height: 50%;
}

.attentionFrame {
	padding: 112px 15px 0;
	position: relative;
	z-index: 9;
}

.attentionArea {
	padding: 0 15px 112px;
	margin: 0 auto;
	max-width: 1520px;
	background: var(--bg-secondary);
}

.attentionTtlBox {
	/* transform: translate(0, -12px); */
	text-align: center;
}

.attentionTtl {
	padding: 0.28em 1.633em 0.28em;
	font-size: 30px;
	font-weight: 800;
	letter-spacing: 0.03em;
	color: var(--white);
	background: var(--base);
	border-radius: 0 0 20px 20px;
	display: inline-block;
}

.attentionTab {
	display: none;
}

.attentionTab.active {
	display: block;
}

.attentionTabBtnGroup {
	margin: 0 auto;
	max-width: 1290px;
	padding: 60px 0 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px 30px;
}

.attentionTabBtn:nth-of-type(n + 2) {
	/* margin-left: 30px; */
}

.attentionTabBtn {
	/* margin-top: 30px; */
}

.attentionTabBtn.active {
	background: var(--quaternary);
	color: var(--white);
}

.attentionTab {
	margin: 60px auto 0;
	max-width: 1320px;
}

.attentionTabTxt:before {
	content: "・";
	text-indent: -1em;
	display: inline-block;
}

.attentionTabTxt {
	padding: 0 0 0 1em;
}

.guideDecoration01 {
	position: absolute;
	top: 180px;
	right: 0;
	z-index: 9;
	width: 10.833%;
}

.guideDecoration02 {
	position: absolute;
	top: 45%;
	left: 0;
	transform: translate(0, -50%);
	z-index: 9;
	width: 10%;
}

.guideDecoration03 {
	position: absolute;
	top: 64%;
	right: 0;
	transform: translate(0, -50%);
	z-index: 9;
	width: 18.229%;
}

.simulation {
	position: relative;
	margin: -150px 0 0;
	padding: 150px 0 0;
}

.simulationDecoration01 {
	position: absolute;
	top: 124px;
	right: 0;
	z-index: 9;
	width: 11.666%;
}

.simulationFrame {
	padding: 115px 15px 0;
}

.simulationArea {
	margin: 0 auto;
	max-width: 1520px;
	position: relative;
	z-index: 9;
}

.simulationTtlBox {
	text-align: left;
}

.simulationContainer {
	margin: 30px auto 0;
}

.simulationFukidashi {
	display: inline-block;
}

.simulationFukidashiTtl {
	padding: 0.2em 1.2em 0.2em;
	font-size: 25px;
	font-weight: 800;
}

.simulationFukidashiArrow {
	position: absolute;
	bottom: -17px;
	left: 53px;
	z-index: 9;
}

.simulationForm {
	margin: 60px auto 0;
	padding: 60px 15px 60px;
	border: 2px solid var(--base);
	border-radius: 20px;
	background: var(--white);
}

.simulationFormArea {
	margin: 0 auto;
	max-width: 1320px;
}

.simulationFormImg {
	max-width: 420px;
	width: 100%;
	overflow: hidden;
	border-radius: 20px;
	border: 1px solid #ccc;
	flex: 1;
	margin: 0 0 0 5%;
}

.simulationFormContainer {
	display: block;
}

.example {
	margin: 100px auto 0;
}

.exampleFrame {
	position: relative;
}

.exampleGird {
	margin: 0 auto;
	padding: 0 15px 100px;
	max-width: 1550px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 60px 27px;
}

.exampleGirdImgBox {
	border-radius: 20px;
	border: 1px solid var(--base);
	position: relative;
}

.exampleGirdImg {
	border-radius: 19px;
}

.exampleContent {
	margin: 15px auto 0;
}

.exampleLabel {
	padding: 0.35em 1.111em 0.25em;
	display: inline-block;
	border: 1px solid var(--base);
	border-radius: 100vmax;
	background: var(--white);
	font-size: 18px;
	font-weight: 700;
	line-height: 1em;
}

.exampleTtl {
	margin: 2px 0 0;
	font-size: 20px;
	font-weight: 800;
}

.exampleGirdItem:first-of-type .exampleGirdImgBox:before {
	content: "";
	display: block;
	width: 200vw;
	height: 50%;
	background: var(--bg-secondary);
	position: absolute;
	bottom: 0;
	left: -100%;
	z-index: -9;
}

.exampleFrame:before {
	content: "";
	display: block;
	width: 100%;
	height: 50%;
	background: var(--bg-secondary);
	position: absolute;
	bottom: 0;
	left: 0;
}

.exampleContainer {
	overflow: hidden;
}

.discountFrame {
	padding: 207px 15px 100px;
}

.discountArea {
	margin: 0 auto;
	max-width: 1520px;
	border: 2px solid var(--base);
	border-radius: 20px;
	background: var(--white);
}

.discountTtlBox {
	text-align: center;
	margin: -110px 0 0;
}

.discountTtlimg {
	/* max-width: 402px; */
	/* width: 26.5%; */
}

.discountContainer {
	margin: -110px 0 0;
}

.discountSubTtl {
	padding: 0.5em 1.63em 0.5em;
	display: inline-block;
	font-size: 25px;
	letter-spacing: 0.03em;
	font-weight: 800;
	color: var(--bg-primary);
	background: var(--base);
	border-radius: 15px 0 20px 0;
}

.discountBox {
	margin: 30px auto 0;
	padding: 0 15px;
	max-width: 1350px;
}

.discountLeadTtl {
	font-size: 40px;
	font-weight: 800;
}

.discountLeadTxt {
	font-size: 20px;
	font-weight: 700;
}

.discountGraphImgBox {
	margin: -122px 0 0;
}

.discountBlock:nth-of-type(n + 2) {
	margin-top: 60px;
	border-top: 2px solid var(--base);
}

.discountBlock:last-of-type {
	padding: 0 0 60px;
}

.discountBlock:nth-of-type(n + 2) .discountSubTtl {
	border-top-left-radius: 0;
}

.publication {
	margin: 35px auto 0;
}

.publicationRow {
	display: flex;
}

.publicationCol01 {
	width: 720px;
}

.publicationCol02 {
	margin: 0 0 0 4.9%;
	flex: 1;
}

.publicationListItem:nth-of-type(n + 2) {
	margin: 15px 0 0;
	padding: 15px 0 0;
	border-top: 1px solid #CCC;
}

.publicationListItem {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.publicationLabels {
	display: flex;
	align-items: center;
}

.publicationLabel {
	padding: 0.25em 0.5em 0.25em;
	font-size: 30px;
	font-weight: 800;
	border: 1px solid var(--base);
	background: #F7F7F7;
	border-radius: 100vmax;
}

.publicationLabel.publicationLabel--highlight {
	background: var(--bg-primary);
}

.publicationPlus {
	margin: 0 0.333em;
	font-size: 30px;
	font-weight: 800;
}

.publicationArrow {
	margin: 0 20px;
	width: 32px;
	height: 46px;
	display: inline-block;
	clip-path: polygon(0 0, 0 100%, 100% 50%);
	background: var(--bg-secondary);
}

.publicationDiscountTxt {
	font-size: 40px;
	font-weight: 800;
}

.publicationDiscountTxt .highlight {
	font-size: 1.5em;
}

.publicationDetail {
	padding: 40px 10.6%;
	background: #F7F7F7;
	border-radius: 20px;
}

.publicationDetailTtl {
	font-size: 25px;
	font-weight: 800;
}

.publicationDetailList {
	margin: 20px auto 0;
}

.publicationDetailListItem {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.3888em;
}

.worksFrame {
	padding: 125px 0 120px;
	background: var(--bg-primary);
	position: relative;
}

.worksTtlBox {
	text-align: left;
}

.worksTtlWrap {
	margin: 0 auto;
	padding: 0 15px;
	max-width: 1550px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
}

.worksBtnBox {
	flex: 1;
	justify-items: flex-end;
}

.worksContainer {
	margin: 40px 0 0;
	padding: 0 55px 0 0;
	max-width: 1890px;
	position: relative;
}

.worksBox {
	margin: 0 10px;
}

.worksImgBox {
	position: relative;
	padding: 0 0 127.777%;
	height: 0;
	border-radius: 10px;
	border: 1px solid var(--base);
}

.worksImg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.worksCategories {
	margin: 5px auto 0;
	display: flex;
	flex-wrap: wrap;
}

.worksCategory {
	margin: 5px 5px 0 0;
	padding: 0.35em 1.111em 0.25em;
	font-size: 18px;
	font-weight: 700;
	background: var(--white);
	border-radius: 100vmax;
	border: 1px solid var(--base);
	line-height: 1;
}

.worksItemTtl {
	margin: 2px 0 0;
	font-size: 20px;
	font-weight: 800;
}

.worksContainer .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	display: block;
	background: var(--white);
	border-radius: 100vmax;
	cursor: pointer;
	transition: .3s ease-in-out;
}

.worksContainer .swiper-pagination {
	margin: 60px auto 0;
	display: flex;
	justify-content: center;
}

.worksContainer .swiper-pagination-bullet:nth-of-type(n + 2) {
	margin-left: 15px;
}

.worksContainer .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: var(--base);
	transition: .3s ease-in-out;
}

.swiper-button-prev,
.swiper-button-next {
	position: absolute;
	top: 34%;
	z-index: 99;
	border: 2px solid var(--base);
	width: 80px;
	height: 80px;
	display: block;
	border-radius: 100vmax;
	cursor: pointer;
	box-shadow: 0 6px 0 var(--base);
	background: var(--white);
	transition: .3s ease-in-out;
}

.swiper-button-prev:after,
.swiper-button-next:after {
	content: "";
	width: 14px;
	height: 21px;
	background: var(--base);
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
}

.swiper-button-prev:after {
	clip-path: polygon(0 50%, 100% 100%, 100% 0);
	left: -4px;
}

.swiper-button-next:after {
	clip-path: polygon(0 0, 0 100%, 100% 50%);
	right: -4px;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
	background: var(--bg-secondary);
	transition: .3s ease-in-out;
}

.swiper-button-prev {
	left: 0;
}

.swiper-button-next {
	right: 0;
}

.swiper-button-disabled {
	pointer-events: none;
	background: #CCC;
	opacity: .7;
}


.contactFrame {
	padding: 130px 15px 130px;
	background: var(--bg-primary);
}

.contactArea {
	margin: 0 auto;
	max-width: 1140px;
}

.request {
	margin: 40px auto 0;
	padding: 130px 15px 100px;
	max-width: 1520px;
	width: 100%;
	border-radius: 20px;
	border: 2px solid var(--base);
	background: var(--white);
	position: relative;
	z-index: 9;
}

.contactBannerLink {
	display: block;
	position: relative;
	transition: .3s ease-in-out;
}

.contactBannerArrow {
	position: absolute;
	bottom: -30px;
	right: -30px;
	z-index: 9;
	width: 12.131%;
	z-index: 999;
}

.contactBannerImg {
	position: relative;
	z-index: 99;
}

.contactBannerLink:hover {
	transform: translate(0, -10px);
}

.contactTtlBox {
	margin: 145px auto 0;
}

.contact {
	position: relative;
	margin: -150px 0 0;
	padding: 150px 0 0;
}

.contactDecoration01 {
	position: absolute;
	top: 490px;
	left: 0;
	width: 10.781%;
}

.contactDecoration02 {
	position: absolute;
	top: 680px;
	right: 3%;
	width: 10.677%;
}

.simulationFormInput,
.simulationFormSelect {
	padding: 0.77em 1em 0.77em;
	width: 100%;
	border: 1px solid #CCC;
	background: #F7F7F7;
	font-size: 20px;
	border-radius: 0.3em;
	text-align: center;
}

.simulationFormLabel {
	font-size: 20px;
	font-weight: 800;
}

.simulationFormGroup {
	margin: 15px 0 0;
}

.simulationFormRow {
	padding: 0 0 30px;
	border-bottom: 1px solid #CCC;
}

.simulationFormRow:nth-of-type(n + 2) {
	margin: 30px auto 0;
}

.simulationRow {
	display: flex;
	justify-content: space-between;
}

.simulationBox01 {
	width: 300px;
}

.simulationArrow {
	max-width: 120px;
	width: 12.5%;
	height: 425px;
	background: var(--bg-secondary);
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	margin: 0 0 0 5%;
}

.simulationCol01 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 870px;
	width: 100%;
}

.simulationCol02 {
	max-width: 410px;
	width: 100%;
	margin: 0 0 0 3%;
}

.simulationFormGroup {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.simulationFormGroupLabel {
	margin: 0 0 0 0.5em;
	font-size: 20px;
	font-weight: 700;
	display: inline-block;
}

.simulationCol02 .simulationFormGroup .simulationFormInput {
	width: 13em;
}

.simulationPrice {
	margin: 60px auto 0;
}

.simulationPriceTtl {
	text-align: center;
	font-size: 25px;
	font-weight: 800;
}

.simulationPriceNum {
	margin: 20px 0 0;
	font-size: 80px;
	font-weight: 800;
	color: var(--quaternary);
	text-align: center;
	line-height: 1;
}

.simulationPriceNum small {
	font-size: 0.375em;
	color: var(--base);
}

.simulationPriceCaution {
	margin: 40px auto 0;
}

.recommend {
	margin: -150px 0 0;
	padding: 150px 0 0;
}

.works {
	margin: -150px 0 0;
	padding: 150px 0 0;
	position: relative;
	z-index: 9;
}

.discount {
	margin: -150px 0 0;
	padding: 150px 0 0;
}

.worksFrame:before {
	content: "";
	display: block;
	width: 100%;
	height: 50%;
	background: var(--bg-secondary);
	position: absolute;
	bottom: 0;
	left: 0;
}

/*---20260508@追加--*/

.charmingArea .contactBanner {
	margin: 0 auto 3rem;
	text-align: center;
	max-width: 100%;
}

.contactBannerLink02 {
	display: block;
	margin: 0 auto 1rem;
	max-width: 100%;
}

.contactBannerLink02 {
	transition: .3s ease-in-out;
}

.contactBannerLink02:hover {
	transform: translate(0, -10px);
}

.request .contactBanner {
	margin: 0 auto 4rem;
}

.bannerTextSet.txt01 {
	text-align: right;
}

.contactBannerArea {
	max-width: 1200px;
	margin: 0 auto;
}

.upperBannerArea {
	max-width: 1220px;
	margin: 0 auto;
	padding: 0 0 60px;
}

.campaignDetail {
	display: none;
}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (max-width: 1650px) {

	/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */


	.coverTtl {
		font-size: 100px;
	}

	.coverSubTtl {
		font-size: 30px;
	}

	.coverImgBox {
		margin: 0px auto 0;
	}

	.cover {
		padding: 80px 0 0;
	}

	.pointFukidashiBox {
		width: 100px;
	}

	.pointNumBox {
		font-size: 47px;
	}

	.pointTtl {
		font-size: 32px;
	}

	.pointBox {
		padding: 65px 20px 35px;
	}

	.recommendFukidashi {
		font-size: 17px;
	}

	.recommendImgBox {
		max-width: 280px;
	}

	.recommendCol {
		width: 21%;
	}

	.recommendRow {
		justify-content: center;
	}

	.processTabArea {
		padding: 80px 15px 100px;
	}

	.processTabBlock {
		padding: 0 25px;
	}

	.processTabCol02 {
		width: 210px;
	}

	.processTabNum {
		font-size: 160px;
	}

	.processTabCol02 {
		margin: 0 3%;
	}

	.processTabCol01 {
		width: 40%;
	}

	.processTabCol03 {
		width: 40%;
	}

	.processTabRow:nth-of-type(n + 2) {
		margin: 50px auto 0;
	}

	.shootingTtl {
		font-size: 30px;
	}

	.shootingOkFukidashi {
		padding: 20px 25px 20px;
	}

	.shootingOkTtl {
		font-size: 24px;
	}

	.shootingOkRow {
		align-items: flex-start;
	}

	.shootingOkCol01 {
		margin: 50px 0 0;
	}

	.shootingNgTxt {
		font-size: 18px;
	}

	.shootingNgGrid {
		gap: 25px 20px;
	}

	.guideCol01 {
		width: 100px;
		height: 100px;
	}

	.guideRow:before {
		left: 45px;
	}

	.guideCol02 {
		margin: 0 0 0 40px;
	}

	.guideChildCol01 {
		font-size: 16px;
		width: 260px;
	}

	.guideChildCol02 {
		margin: 38px 0 0 4%;
	}

	.discountGraphImgBox {
		margin: -90px 0 0;
	}

	.discountLeadTtl {
		font-size: 36px;
	}

	.discountLeadTxt {
		font-size: 18px;
	}

	.publicationLabel {
		font-size: 24px;
	}

	.publicationDiscountTxt {
		font-size: 34px;
	}

	.publicationArrow {
		width: 24px;
		height: 30px;
	}

	.publicationListItem:nth-of-type(n + 2) {
		margin: 20px 0 0;
		padding: 20px 0 0;
	}

	.publicationCol01 {
		width: 650px;
	}

	.publicationDetail {
		padding: 30px 7%;
	}

	.publicationDetailList {
		margin: 15px auto 0;
	}

	.charmingFrame {
		padding: 180px 15px 120px;
	}

	.processFrame {
		padding: 120px 15px 120px;
	}

	.worksFrame {
		padding: 120px 0 80px;
	}

	.guideFrame {
		padding: 120px 0 100px;
	}

	.recommendCol:nth-of-type(odd) .recommendFukidashiArrow {
		top: -0.98em;
	}

	.recommendCol:nth-of-type(even) .recommendFukidashiArrow {
		bottom: -0.98em;
	}

	.contactFrame {
		padding: 100px 15px 100px;
	}

	.contactTtlBox {
		margin: 100px auto 0;
	}

	.simulationArrow {
		max-width: 60px;
	}

	/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

}

/* max-width: 1650px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (max-width: 1200px) {

	/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

	.pointTtl {
		font-size: 26px;
	}

	.pointFukidashiBox {
		width: 80px;
		top: -60px;
	}

	.pointNumBox {
		font-size: 38px;
	}

	.pointBox {
		padding: 55px 20px 35px;
	}

	.recommendContainer {
		width: 100%;
	}

	.recommendCol {
		width: 23%;
	}

	.recommendFukidashi {
		font-size: 15px;
	}

	.processTabCol02 {
		width: 160px;
	}

	.processTabNum {
		font-size: 120px;
	}

	.processTabTtl {
		font-size: 30px;
	}

	.shootingTtl {
		font-size: 26px;
	}

	.shootingNgGrid {
		grid-template-columns: repeat(4, 1fr);
	}

	.shootingOkCol01 {
		width: 50%;
	}

	.shootingOkFukidashi {
		padding: 15px 20px 15px;
	}

	.shootingOkTtl {
		font-size: 20px;
	}

	.shootingNg {
		margin: 40px auto 0;
	}

	.attentionTabBtnGroup {
		gap: 20px 20px;
	}

	.attentionTtl {
		font-size: 26px;
	}

	.attentionArea {
		padding: 0 15px 80px;
	}

	.simulationFukidashiTtl {
		font-size: 20px;
	}

	.exampleLabel {
		font-size: 15px;
	}

	.exampleTtl {
		font-size: 17px;
	}

	.discountTtlimg {
		max-width: 290px;
	}

	.discountTtlBox {
		margin: -79px 0 0;
	}

	.discountContainer {
		margin: -80px 0 0;
	}

	.discountLeadTtl {
		font-size: 30px;
	}

	.discountGraphImgBox {
		margin: -30px 0 0;
	}

	.discountBlock:last-of-type {
		padding: 0 0 40px;
	}

	.discountBlock:nth-of-type(n + 2) {
		margin-top: 40px;
	}

	.discountSubTtl {
		font-size: 20px;
	}

	.publicationRow {
		display: block;
	}

	.publicationCol01 {
		width: 100%;
	}

	.publicationCol02 {
		margin: 20px auto 0;
	}

	.recommendContainer {
		margin: 50px auto 0;
	}

	.recommendFrame {
		padding: 100px 15px 80px;
	}

	.processFrame {
		padding: 100px 15px 100px;
	}

	.worksFrame {
		padding: 100px 0 60px;
	}

	.guideContainer {
		margin: 50px auto 0;
	}

	.guideRow {
		padding: 0 0 35px;
	}

	.guideBlock:nth-of-type(n + 2) .guideRow {
		padding-top: 35px;
	}

	.guideFrame {
		padding: 100px 0 100px;
	}

	.simulationFrame {
		padding: 100px 15px 0;
	}

	.example {
		margin: 60px auto 0;
	}

	.discountFrame {
		padding: 160px 15px 80px;
	}

	.recommendCol:nth-of-type(odd) .recommendFukidashiArrow {
		top: -1.18em;
	}

	.recommendCol:nth-of-type(even) .recommendFukidashiArrow {
		bottom: -1.12em;
	}

	.worksContainer {
		padding: 0;
	}

	.worksBox {
		margin: 0 10px;
	}

	.worksCategory {
		font-size: 15px;
	}

	.worksItemTtl {
		font-size: 18px;
	}

	.contactFrame {
		padding: 80px 15px 80px;
	}

	.contactTtlBox {
		margin: 80px auto 0;
	}

	.swiper-button-prev,
	.swiper-button-next {
		top: 29%;
		width: 60px;
		height: 60px;
	}

	.contactBannerArrow {
		position: absolute;
		bottom: 4%;
		right: 1.2%;
		width: 8%;
	}

	.sampleLeadNotes {
		font-size: 14px;
	}

	.sampleMoneyBox {
		font-size: 22px;
	}

	/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

}

/* max-width: 1200px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (max-width: 1024px) {

	/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

	.cover {
		padding: 20px 0 0;
	}

	.coverTtl {
		font-size: 80px;
	}

	.coverSubTtl {
		font-size: 22px;
	}

	.coverImgBox {
		margin: 20px auto 0;
	}

	.pointRow {
		grid-template-columns: repeat(2, 1fr);
	}

	.processTabArea {
		padding: 60px 15px 80px;
	}

	.processTabNum {
		font-size: 80px;
	}

	.processTabCol02 {
		width: 110px;
	}

	.processTabTtl {
		font-size: 26px;
	}

	.shootingOkImgRow {
		display: block;
	}

	.shootingOkImgBox01:nth-of-type(n + 2) {
		margin: 20px 0 0;
	}

	.shootingOkCol01 {
		width: 30%;
	}

	.shootingOkCol02 {
		margin: 51px 0 0 62px;
	}

	.shootingLabel {
		font-size: 18px;
	}

	.shootingNgTxt {
		font-size: 16px;
	}

	.attentionTabBtn {
		font-size: 18px;
	}

	.attentionTab {
		margin: 40px auto 0;
	}

	.attentionTabBtnGroup {
		grid-template-columns: repeat(3, 1fr);
		gap: 15px 15px;
	}

	.exampleGird {
		padding: 0 15px 50px;
		gap: 40px 15px;
	}

	.exampleContent {
		margin: 8px auto 0;
	}

	.exampleLabel {
		font-size: 13px;
	}

	.exampleTtl {
		font-size: 15px;
	}

	.simulationFormInput,
	.simulationFormSelect {
		font-size: 18px;
	}

	.simulationFormRow {
		padding: 0 0 20px;
	}

	.simulationFormRow:nth-of-type(n + 2) {
		margin: 20px auto 0;
	}

	.simulationRow {
		flex-direction: column;
	}

	.simulationCol01 {
		flex-direction: column;
	}

	.simulationFormImg {
		order: 1;
		margin: 0 auto;
	}

	.simulationArrow {
		order: 3;
		max-width: 420px;
		height: 60px;
		clip-path: polygon(0 0, 50% 100%, 100% 0);
		margin: 40px auto 0;
		flex: auto;
	}

	.simulationCol02 {
		max-width: 100%;
		margin: 40px auto 0;
	}

	.simulationBox01 {
		order: 2;
		width: 100%;
		margin: 40px auto 0;
	}

	.simulationCol02 .simulationFormGroup .simulationFormInput {
		margin: 0;
		flex: 1;
	}

	.simulationPrice {
		margin: 40px auto 0;
	}

	.simulationPriceTtl {
		font-size: 22px;
	}

	.simulationPriceNum {
		font-size: 65px;
	}

	.pointFukidashiBox {
		left: -30px;
	}

	.contactBannerLink {
		margin: 0 auto;
		max-width: 440px;
	}

	.sampleAriaGridBox {
		gap: 30px 30px;
	}

	.sampleAriaGridItemTit {
		font-size: 30px;
		padding-left: 15px;
	}

	.sampleMoneyBox {
		font-size: 17px;
		margin-top: 20px;
	}

	.sampleRemarksBox {
		padding: 15px;
		margin-top: 15px;
	}

	.sampleRemarksSetList {
		font-size: 16px;
	}

	.sampleSwiperTxt {
		font-size: 16px;
	}

	.sampleContainer .swiper-button-prev,
	.sampleContainer .swiper-button-next {
		width: 35px;
		height: 35px;
	}

	.sampleBoxAria {
		margin: 40px auto 0;
		padding: 40px 20px 50px;
	}

	.sampleFrame {
		padding: 80px 15px 80px;
	}

	.sampleLeadNotes {
		font-size: 12px;
	}

	/*---20260508@追加--*/

	.charmingArea .contactBanner {
		max-width: 729px;
	}

	.contactBannerLink02 {
		max-width: 729px;
	}

	/*---20260708@追加--*/

	.campaignDetail {
		margin: 15px 0 0;
		padding: 15px;
		background: #fffcdb;
		display: block;
	}

	.campaignDetailTtl {
		padding: 0 0 0.2em;
		font-size: 22px;
		text-align: center;
		border-bottom: 2px solid #ffca1c;
	}

	.campaignDetailList {
		margin: 10px 0 0;
	}

	.campaignDetailListItem {
		padding: 0 0 0 1em;
		text-indent: -1em;
		font-size: 14px;
	}

	/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

}

/* max-width: 1024px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (max-width: 768px) {

	/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

	.coverTtl {
		font-size: 60px;
	}

	.cover {
		padding: 60px 0 0;
	}

	.coverSubTtl {
		font-size: 18px;
	}

	.cover:after {
		margin: -370px 0 0;
	}

	.pointRow {
		grid-template-columns: repeat(1, 1fr);
	}

	.pointCol {
		padding: 0 0 0 15px;
	}

	.pointBox {
		padding: 35px 15px 25px;
		border-radius: 10px;
	}

	.chamingLeadTxt {
		text-align: left;
	}

	.recommendBox {
		max-width: 280px;
		margin: 0 auto;
	}

	.recommendCol {
		width: 50%;
	}

	.recommendCol--02 {
		margin-left: 0;
	}

	.recommendCol--03 {
		margin-left: 0;
	}

	.recommendCol--04 {
		margin-left: 0;
	}

	.processTabRow {
		flex-direction: column;
		position: relative;
	}

	.processTabCol01 {
		margin: 0 auto;
		width: 100%;
	}

	.processTabCol02 {
		margin: 0;
		padding: 0.3em 0.5em 0.3em;
		position: absolute;
		top: 0;
		left: 0;
		font-size: 25px;
		width: 3em;
		background: var(--base);
		border-radius: 9px 0 9px 0;
	}

	.processTabNum {
		font-size: inherit;
		color: var(--white);
		line-height: 1;
	}

	.processTabimgBox {
		border-radius: 10px;
	}

	.processTabImg {
		border-radius: 9px;
	}

	.processTabCol03 {
		margin: 30px auto 0;
		width: 100%;
	}

	.processTabTtl {
		font-size: 22px;
	}

	.processTabTxt {
		margin: 15px auto 0;
	}

	.processTabRow:nth-of-type(n + 2) {
		flex-direction: column;
	}

	.processTabBlock {
		padding: 0;
	}

	.processTabArea {
		padding: 30px 15px 40px;
		border-radius: 10px;
	}

	.shootingFrame {
		border-radius: 10px;
	}

	.shootingTtl {
		font-size: 20px;
		border-radius: 6px 0 10px 0;
	}

	.shootingLabel {
		font-size: 16px;
	}

	.shootingOkCol01 {
		margin: 0;
		width: 100%;
	}

	.shootingOkRow {
		display: block;
	}

	.shootingOkImgRow {
		display: flex;
	}

	.shootingOkImgBox01:nth-of-type(n + 2) {
		margin: 0 0 0 15px;
	}

	.shootingOkCol02 {
		margin: 15px 0 0;
	}

	.shootingOkListItem:nth-of-type(n + 2) {
		margin: 5px 0 0;
	}

	.shootingOkFukidashi {
		padding: 15px 15px 15px;
		border-radius: 5px;
	}

	.shootingOkTtl {
		font-size: 18px;
	}

	.shootingOkTxt {
		margin: 5px auto 0;
	}

	.shootingOkFukidashiArrow {
		display: none;
	}

	.shootingArea {
		margin: 20px auto 0;
		padding: 0 15px 30px;
	}

	.shootingNg {
		margin: 30px auto 0;
	}

	.shootingNgGrid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 15px;
	}

	.shootingNgTxt {
		font-size: 12px;
	}

	.worksBtnBox {
		margin: 40px auto 0;
		padding: 0 0 10px;
	}

	.worksBtn {
		margin: 0 auto;
	}

	.guideRow {
		padding: 0 0 20px;
	}

	.guideRow:before {
		left: 28px;
		width: 5px;
		height: calc(100% + 6px);
	}

	.guideCol01 {
		width: 60px;
		height: 60px;
	}

	.guideCol02 {
		margin: 0 0 0 20px;
	}

	.guideChildRow {
		display: block;
	}

	.guideChildCol01 {
		width: 100%;
		font-size: 12px;
	}

	.guideChildCol02 {
		margin: 10px 0 0;
	}

	.guideBlock:nth-of-type(n + 2) .guideRow {
		padding-top: 20px;
	}

	.guideBlock:last-of-type .guideRow:before {
		height: 40%;
	}

	.attentionTabBtnGroup {
		padding: 30px 0 0;
		grid-template-columns: repeat(1, 1fr);
		gap: 10px 10px;
	}

	.attentionTabBtn {
		margin: 0 auto;
		font-size: 16px;
	}

	.attentionTtl {
		font-size: 24px;
		border-radius: 0 0 10px 10px;
	}

	.attentionArea {
		padding: 0 15px 40px;
	}

	.example {
		margin: 40px auto 0;
	}

	.exampleGird {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px 15px;
	}

	.exampleGirdImgBox {
		border-radius: 10px;
	}

	.exampleGirdImg {
		border-radius: 9px;
	}

	.exampleLabel {
		font-size: 11px;
	}

	.exampleContent {
		margin: 5px auto 0;
	}

	.exampleTtl {
		font-size: 13px;
	}

	.simulationFukidashiTtl {
		font-size: 18px;
	}

	.simulationForm {
		margin: 40px auto 0;
		padding: 30px 15px 30px;
		border-radius: 10px;
	}

	.discountContainer {
		margin: 0;
	}

	.discountArea {
		border-radius: 10px;
	}

	.discountTtlimg {
		max-width: 170px;
	}

	.discountTtlBox {
		margin: -46px 0 0;
	}

	.discountSubTtl {
		font-size: 16px;
		border-radius: 0 10px 10px 0;
	}

	.discountBox {
		margin: 10px auto 0;
	}

	.discountLeadTtl {
		font-size: 20px;
	}

	.discountLeadTxt {
		font-size: 14px;
	}

	.discountGraphImgBox {
		margin: 0 auto;
	}

	.discountBlock:nth-of-type(n + 2) {
		margin-top: 30px;
		padding: 10px 0 0;
	}

	.publicationListItem:nth-of-type(n + 2) {
		margin: 15px 0 0;
		padding: 15px 0 0;
	}

	.publicationLabel {
		font-size: 14px;
	}

	.publicationPlus {
		font-size: 20px;
	}

	.publicationArrow {
		margin: 0 10px;
		width: 15px;
		height: 20px;
	}

	.publicationLabels {
		flex-wrap: wrap;
		width: 100%;
	}

	.publicationDiscountTxt {
		font-size: 26px;
	}

	.publicationDetail {
		padding: 15px 15px 25px;
		border-radius: 10px;
	}

	.publicationDetailTtl {
		font-size: 18px;
	}

	.publicationDetailListItem {
		font-size: 14px;
	}

	.discountBlock:last-of-type {
		padding-bottom: 30px;
	}

	.publicationDetailList {
		margin: 10px auto 0;
	}

	.publicationCol02 {
		margin: 15px auto 0;
	}

	.charmingFukidashi {
		padding: 10px 15px;
		font-size: 20px;
	}

	.charmingFrame {
		padding: 90px 15px 60px;
	}

	.charmingFukidashiBox {
		margin: 20px auto 0;
	}

	.pointContainer {
		margin: 55px auto 0;
	}

	.charmingLead {
		margin: 30px auto 0;
	}

	.recommendFrame {
		padding: 60px 15px 60px;
	}

	.recommendContainer {
		margin: 30px auto 0;
	}

	.processFrame {
		padding: 60px 15px 60px;
	}

	.processContainer {
		margin: 30px auto 0;
	}

	.processLeadBox {
		text-align: left;
		margin-bottom: 40px;
	}

	.shooting {
		margin: 40px auto 0;
		padding: 60px 0 0;
	}

	.worksFrame {
		padding: 60px 0 60px;
	}

	.guideFrame {
		padding: 60px 0 60px;
	}

	.guideContainer {
		margin: 30px auto 0;
	}

	.attentionFrame {
		padding: 60px 15px 0;
	}

	.attentionTab {
		margin: 30px auto 0;
	}

	.simulationFrame {
		padding: 60px 15px 0;
	}

	.discountFrame {
		padding: 100px 15px 60px;
	}

	.recommendCol:nth-of-type(even) .recommendFukidashiArrow {
		bottom: -1.58em;
	}

	.recommendCol:nth-of-type(odd) .recommendFukidashiArrow {
		top: -1.58em;
	}

	.worksContainer {
		padding: 0;
	}

	.worksCategory {
		font-size: 12px;
	}

	.worksItemTtl {
		font-size: 14px;
	}

	.worksBox {
		margin: 0 7.5px;
	}

	.contactFrame {
		padding: 60px 15px 60px;
	}

	.contactTtlBox {
		margin: 40px auto 0;
	}

	.simulationFormLabel {
		font-size: 16px;
	}

	.simulationFormGroup {
		margin: 5px 0 0;
	}

	.simulationFormInput,
	.simulationFormSelect {
		font-size: 14px;
		flex: 1;
	}

	.simulationFormGroupLabel {
		font-size: 14px;
	}

	.simulationFormRow:nth-of-type(n + 2) {
		margin: 10px auto 0;
	}

	.simulationFormRow {
		padding: 0 0 10px;
	}

	.simulationBox01 {
		margin: 30px auto 0;
	}

	.simulationArrow {
		max-width: 220px;
		height: 30px;
		margin: 30px auto 0;
	}

	.simulationRow {
		display: block;
	}

	.simulationCol02 {
		margin: 30px auto 0;
	}

	.simulationPrice {
		margin: 30px auto 0;
	}

	.simulationPriceTtl {
		font-size: 18px;
	}

	.simulationPriceNum {
		margin: 10px 0 0;
		font-size: 50px;
	}

	.simulationPriceCaution {
		margin: 30px auto 0;
	}

	.swiper-button-prev,
	.swiper-button-next {
		top: 24%;
		width: 40px;
		height: 40px;
	}

	.processTabDecoration {
		width: 20%;
		bottom: -7%;
	}

	.processTabRow:nth-of-type(odd) .processTabDecoration {
		left: -1%;
	}

	.processTabRow:nth-of-type(even) .processTabDecoration {
		right: -1%;
	}

	.worksSwiper .swiper-pagination {
		margin: 30px auto 0;
	}

	.swiper-button-prev:after,
	.swiper-button-next:after {
		width: 8px;
		height: 14px;
	}

	.exampleGirdItem:first-of-type .exampleGirdImgBox:before {
		display: none;
	}

	.exampleFrame:before {
		height: 30%;
	}

	.simulationFormContainer {
		display: flex;
		flex-direction: column-reverse;
		justify-content: center;
		align-items: stretch;
	}

	.sampleAriaGridItemTit {
		font-size: 20px;
	}

	.sampleMoneyBox {
		font-size: 2.2vw;
	}

	.sampleRemarksSetList {
		font-size: 14px;
	}

	.campaignDetailTtl {
		font-size: 18px;
	}

	.campaignDetailListItem {
		font-size: 12px;
	}


	/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

}

/* max-width: 768px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (max-width: 576px) {

	/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

	.coverTtl {
		font-size: 35px;
	}

	.cover {
		padding: 70px 0 0;
	}

	.coverSubTtl {
		font-size: 11px;
	}

	.recommendFukidashi {
		font-size: 11px;
	}

	.processTabBtnGroup {
		display: block;
	}

	.processTabBtn {
		margin: 0 auto;
	}

	.processTabBtn:nth-of-type(n + 2) {
		margin-top: 5px;
		margin-left: auto;
		margin-right: auto;
	}

	.worksBox {
		margin: 0;
	}

	.swiper-button-prev,
	.swiper-button-next {
		top: 36%;
		width: 35px;
		height: 35px;
	}

	.sampleAriaGridBox {
		grid-template-columns: repeat(1, 1fr);
		gap: 30px 30px;
	}

	.sampleMoneyBox {
		font-size: 4vw;
	}

	/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

}

/* max-width: 576px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (max-width: 375px) {

	/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */



	/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

}

/* max-width: 375px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */