@charset "UTF-8";
/** -- common -- **/
body {
	color: #623E3E;
}

.title-01 {
	color: #D73325;
}

/** contact_btn **/
.signboard .contact_btn {
	border: solid 2px #D73325;
	border-radius: 60px;
	color: #D73325;
	display: block;
	font-size: 20px;
	letter-spacing: 2px;
	margin-left: 50px;
	margin-top: -5px;
	overflow: hidden;
	padding: 0 20px 0 40px;
	z-index: 0;
}
.signboard .contact_btn::before,
.signboard .contact_btn::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	transition: ease .3s;
	height: 100%;
	width: 100%;
}
.signboard .contact_btn::before {
	background: linear-gradient(70deg, #FFC04A, #FCD793);
	opacity: 0;
	transform: translateX(100%);
	z-index: -1;
}
.signboard .contact_btn:hover::before {
	opacity: 1;
	transform: translateX(0);
}
.signboard .contact_btn::after {
	background: white;
	z-index: -2;
}
.signboard .contact_btn:hover::after {
	transform: translateX(-100%);
}
.signboard .contact_btn span {
	background: url("../img/design/icon-arrow-2.svg") no-repeat 100% 50% / 21px;
	display: block;
	padding: 5px 0;
	padding-right: 40px;
}

/** menu_btn **/
.signboard .menu_btn {
	display: none;
}

@media screen and (max-width: 1520px) {
	/** contact_btn **/
	.signboard .contact_btn {
		border-radius: 5vw;
		font-size: 1.32vw;
		letter-spacing: .2vw;
		margin-left: 3vw;
		margin-top: -.5vw;
		padding: 0 1.4vw 0 3vw;
	}
	.signboard .contact_btn span {
		background-size: 1.4vw;
		padding: .4vw 0;
		padding-right: 3vw;
	}
}


/** -- contact_btn -- **/
main .contact_btn {
	border-radius: 20px;
	color: #D73325;
	display: block;
	font-size: 40px;
	letter-spacing: 3px;
	margin-top: -5px;
	overflow: hidden;
	padding: 0 20px 0 40px;
	position: relative;
	z-index: 1;
}
main .contact_btn::before,
main .contact_btn::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	transition: ease .3s;
	height: 100%;
	width: 100%;
}
main .contact_btn::before {
	background: linear-gradient(70deg, #FFC04A, #FCD793);
	opacity: 0;
	transform: translateX(100%);
	z-index: -1;
}
main .contact_btn:hover::before {
	opacity: 1;
	transform: translateX(0);
}
main .contact_btn::after {
	background: white;
	z-index: -2;
}
main .contact_btn:hover::after {
	transform: translateX(-100%);
}
main .contact_btn span {
	background: url("../img/design/icon-arrow-2.svg") no-repeat 100% 50% / 44px;
	display: block;
	padding: 8px 0;
	padding-right: 60px;
}

@media screen and (max-width: 1520px) {
	main .contact_btn {
		border-radius: 1.3vw;
		font-size: 2.4vw;
		letter-spacing: 3px;
		margin-top: -5px;
		padding: 0 1.3vw 0 2.7vw;
	}
	main .contact_btn span {
		background-size: 2.8vw;
		padding: .5vw 0;
		padding-right: 4vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	main .contact_btn {
        border-radius: 3vw;
        font-size: 4.2vw;
        letter-spacing: .5vw;
        margin-top: 0;
        padding: 0 4vw 0 4vw;
	}
	main .contact_btn span {
        background-size: 6vw;
        padding: 2vw 0;
        padding-right: 6vw;
	}
}


/** -- fv -- **/
.fv .box {
	background: linear-gradient(40deg, #FF4A4A 50%, #FFE1B2 100%);
	border-radius: 80px;
	margin-left: -160px;
	margin-right: -244px;
	margin-top: 55px;
	padding: 100px 0 70px 160px;
	z-index: 0;
}
.fv .box .series {
	left: -80px;
	top: 50%;
	transform: translateY(-50%);
}

.fv .box .text {
	color: white;
}
.fv .box .text .catch {
	font-size: 70px;
	margin-bottom: 20px;
}
.fv .box .text .catch span {
	position: relative;
	margin: 0 15px;
}
.fv .box .text .catch span::before {
    content: '・・・・';
    display: inline-block;
    font-family: 'Noto Sans';
    font-weight: 400;
    position: absolute;
    left: 0;
    top: -75px;
}
.fv .box .text h2 {
	font-size: 141px;
	letter-spacing: -20px;
	margin-left: -20px;
	padding-top: 110px;
}
.fv .box .text h2 img {
	left: -30px;
	top: 0;
	width: 430px;
}
.fv .box .text p.exp {
	font-size: 30px;
}
.fv .box .text .contact_btn {
	display: table;
	margin-top: 50px;
}

.fv .box .image {
    margin-bottom: -30px;
    margin-left: -20px;
    margin-right: -210px;
    margin-top: -40px;
    width: calc(100% - 840px);
}

.fv .box .circle {
	background-color: white;
	border-radius: 50%;
	z-index: -1;
}
.fv .box .circle-01 {
    right: 480px;
    top: 235px;
	height: 285px;
	width: 285px;
}
.fv .box .circle-02 {
	right: -110px;
	top: -170px;
	height: 265px;
	width: 265px;
}
.fv .box .circle-03 {
	bottom: -30px;
	left: -200px;
	height: 170px;
	width: 170px;
}
.fv .box .ellipse {	
	background-color: white;
	border-radius: 300px;
	bottom: 175px;
	right: -230px;
	transform: rotate(-45deg);
	height: 440px;
	width: 840px;
	z-index: -1;
}

@media screen and (max-width: 1520px) {
	.fv .box {
		border-radius: 5.4vw;
		margin-left: -1vw;
		margin-right: -11vw;
		margin-top: 3.8vw;
        padding: 6vw 0 4vw 6vw;
	}
	.fv .box .series {
		left: -3vw;
		top: 40%;
	}

	.fv .box .text .catch {
		font-size: 4.2vw;
		margin-bottom: 1vw;
	}
	.fv .box .text .catch span {
		margin: 0 1vw;
	}
	.fv .box .text .catch span::before {
		top: -4.5vw;
	}
	.fv .box .text h2 {
		font-size: 8.4vw;
		letter-spacing: -1.4vw;
		margin-left: -1.3vw;
		padding-top: 7vw;
	}
	.fv .box .text h2 img {
        left: -2vw;
        width: 25vw;
	}
	.fv .box .text p.exp {
		font-size: 1.9vw;
	}
	.fv .box .text .contact_btn {
		margin-top: 3.4vw;
	}

	.fv .box .image {
        margin-bottom: -3vw;
        margin-left: -1vw;
        margin-right: -20vw;
        margin-top: -3vw;
        width: 44vw;
	}

	.fv .box .circle-01 {
        right: 31vw;
        top: 12.6vw;
        height: 18vw;
        width: 18vw;
	}
	.fv .box .circle-02 {
        right: -7vw;
        top: -11vw;
        height: 17vw;
        width: 17vw;
	}
	.fv .box .circle-03 {
		bottom: -3vw;
        left: -7vw;
        height: 11vw;
        width: 11vw;
	}
	.fv .box .ellipse {
        border-radius: 20vw;
        bottom: 13vw;
        right: -15vw;
        height: 28vw;
        width: 55vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.fv {
		margin-top: 13vw;
	}
	.fv .box {
		border-radius: 6vw 0 0 6vw;
        margin-left: 4vw;
        margin-right: -4vw;
        margin-top: 3vw;
        padding: 12vw 0 12vw 6vw;
	}
	.fv .box .series {
        left: -6vw;
        top: 40%;
        width: 4vw;
	}

	.fv .box .text .catch {
        font-size: 6.2vw;
        margin-bottom: 18vw;
	}
	.fv .box .text .catch span {
        margin: 2vw 0 0;
        display: inline-block;
	}
	.fv .box .text .catch span::before {
		top: -5vw;
	}
	.fv .box .text h2 {
        font-size: 11vw;
        letter-spacing: -2vw;
        margin-bottom: 2vw;
        margin-left: -2vw;
        padding-top: 9vw;
	}
	.fv .box .text h2 img {
        left: -2vw;
        width: 30vw;
	}
	.fv .box .text p.exp {
		font-size: 3.6vw;
	}
	.fv .box .text .contact_btn {
		margin-top: 6vw;
	}
	.fv .box .text .contact_btn span {
        padding-right: 8vw;
	}

	.fv .box .image {
        margin-bottom: 0;
        margin-top: -9vw;
        margin-left: -42vw;
        margin-right: -30vw;
        width: 63vw;
	}

	.fv .box .circle-01 {
        right: -4vw;
        top: 36vw;
        height: 28vw;
        width: 28vw;
	}
	.fv .box .circle-02 {
        right: -10vw;
        top: -5vw;
        height: 18vw;
        width: 18vw;
	}
	.fv .box .circle-03 {
        bottom: -11vw;
        left: -14vw;
        height: 24vw;
        width: 24vw;
	}
	.fv .box .ellipse {
        border-radius: 20vw;
        bottom: 5vw;
        right: -20vw;
        height: 24vw;
        width: 50vw;
	}
}


/** -- strength -- **/
.strength {
	margin-top: 160px;
}
.strength h3 {
	font-size: 44px;
	margin-bottom: 30px;
}
.strength p.exp {
	font-size: 22px;
	font-weight: 700;
	line-height: 2.6;
}

/** box **/
.strength .box {
	background-color: #E4E4E4;
	border-radius: 20px;
	margin-bottom: 60px;
	margin-top: 60px;
	padding: 20px 30px 30px;
	z-index: 0;
}
.strength .box h4 {
	font-size: 36px;
	margin-bottom: 20px;
	text-align: center;
}
.strength .box .inner {
	justify-content: space-between;
}
.strength .box p {
	background-color: white;
	border-radius: 60px;
	color: #6A6254;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	padding: 14px 40px;
	text-align: center;
}

.strength .box .image-01 {
    right: 0;
    top: -85px;
    width: 310px;
}
.strength .box .image-02 {
    left: -120px;
    top: -80px;
    width: 300px;
    z-index: -1;
}
.strength .box .image-03 {
    bottom: 30px;
    right: 10px;
    width: 76px;
}

/** circle **/
.strength .circle {
	background: linear-gradient(to right, #ff4a4a 50%, #ffe1b2 100%);
	border-radius: 200px;
	margin-top: 80px;
	padding: 40px 0;
	padding-left: 200px;
	position: relative;
	width: 100%;
}
.strength .circle::before {
	background: url(../img/design/icon-arrow-3.svg) no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	top: -65px;
	transform: translateX(-50%);
	height: 55px;
	width: 63px;
}
.strength .circle img.stump {
	margin-bottom: 10px;
	left: 30px;
	top: 50%;
	transform: translateY(-50%);
	width: 167px;
}
.strength .circle p {
	color: white;
	font-size: 44px;
	font-weight: 700;
	line-height: 1.4;
}
.strength .circle img.deco {
	left: -110px;
	top: -50px;
	width: 284px;
}

@media screen and (max-width: 1520px) {
	.strength {
		margin-top: 10vw;
	}
	.strength h3 {
		font-size: 2.8vw;
		margin-bottom: 2vw;
	}
	.strength p.exp {
		font-size: 1.42vw;
	}

	/** box **/
	.strength .box {
		border-radius: 1.2vw;
		margin-bottom: 4vw;
		margin-top: 4vw;
		padding: 2vw 3vw;
	}
	.strength .box h4 {
        font-size: 2.6vw;
        margin-bottom: 1.5vw;
	}
	.strength .box p {
		border-radius: 60px;
		font-size: 1.52vw;
		padding: 1vw 3vw;
	}

	.strength .box .image-01 {
        top: -5.8vw;
        width: 20vw;
	}
	.strength .box .image-02 {
        left: -6.5vw;
        top: -5vw;
        width: 16vw;
	}
	.strength .box .image-03 {
        bottom: 2vw;
        right: 1vw;
        width: 5.6vw;
	}

	/** circle **/
	.strength .circle {
        border-radius: 20vw;
        margin-top: 5.5vw;
        padding: 2.8vw 0;
        padding-left: 13.6vw;
	}
	.strength .circle::before {
        top: -4.4vw;
        height: 5vw;
        width: 4.2vw;
	}
	.strength .circle img.stump {
		margin-bottom: 10px;
		left: 30px;
		width: 167px;
	}
	.strength .circle p {
		font-size: 3vw;
	}
	.strength .circle img.deco {
        margin-bottom: 1vw;
        left: 2vw;
        width: 11.4vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.strength {
		margin-top: 28vw;
	}
	.strength h3 {
        font-size: 4.2vw;
        margin-bottom: 4vw;
	}
	.strength p.exp {
		font-size: 3.6vw;
        line-height: 2.0;
	}

	/** box **/
	.strength .box {
        border-radius: 3vw;
        margin-bottom: 4vw;
        margin-top: 8vw;
		padding: 6vw;
	}
	.strength .box h4 {
        font-size: 5vw;
        margin-bottom: 3vw;
	}
	.strength .box p {
        border-radius: 20vw;
        font-size: 3.4vw;
        margin: 0 auto;
        padding: 2vw 10vw;
	}
	.strength .box p + p {
		margin-top: 2vw;
	}

	.strength .box .image-01 {
        right: -9vw;
        top: -10vw;
        width: 47vw;
	}
	.strength .box .image-02 {
        left: -8vw;
        top: -10vw;
        width: 39vw;
	}
	.strength .box .image-03 {
        bottom: 6vw;
        right: 3vw;
        width: 16vw;
	}

	/** circle **/
	.strength .circle {
        border-radius: 30vw;
        margin-top: 10vw;
        padding: 4vw 0;
        padding-left: 20vw;
	}
	.strength .circle::before {
        top: -8vw;
        height: 7vw;
        width: 8vw;
	}
	.strength .circle img.stump {
        left: -4vw;
        width: 24vw;
	}
	.strength .circle p {
		font-size: 4vw;
	}
}


/** -- structure -- **/
.structure {
	margin-top: 120px;
}

.structure .exp {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 30px;
}

.structure .point {
	margin-bottom: 80px;
}
.structure .point li {
	font-size: 22px;
	padding-left: 20px;
	position: relative;
}
.structure .point li::before {
	content: '- ';
	position: absolute;
	left: 0;
	top: 0;
}

.structure .inner {
	justify-content: space-between;
}

.structure .inner .row-1 {
	width: 290px;
}
.structure .inner .row-2 {
	width: 360px;
}
.structure .inner .row-3 {
	width: 550px;
}

.structure .inner .box {
	background-color: white;
	border-radius: 20px;
	position: relative;
	text-align: center;
	width: 100%;
}
.structure .inner .box h3 {
	background-color: white;
	border: solid 3px #D73325;
	border-radius: 50px;
	color: #D73325;
	font-size: 20px;
	padding: 3px 0;
	text-align: center;
	width: 230px;
}
.structure .inner .box h3.headline {
	position: absolute;
	left: 50%;
	top: -20px;
	transform: translateX(-50%);
}
.structure .inner .box p {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
}

.structure .inner .box-1 {
	padding-top: 80px;
	height: 540px;
}
.structure .inner .box-1 img {
	margin: 55px 0;
	width: 164px;
}

.structure .inner .box-2 {
	padding: 30px;
	padding-top: 40px;
}
.structure .inner .box-2:nth-child(2) {
	margin-top: 58px;
	padding-top: 20px;
}
.structure .inner .box-2:nth-child(1) img {
	width: 156px;
}
.structure .inner .box-2:nth-child(2) img {
	width: 220px;
}
.structure .inner .box-2::before {
	background: url(../img/design/icon-arrow-4.svg) no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
    height: 25px;
    width: 483px;
	z-index: -1;
}
.structure .inner .box-2:nth-child(2)::before {
	transform: translate(-50%, -50%) scale(-1, 1);
}

.structure .inner .box-3 {
	padding: 30px;
	padding-top: 60px;
    height: 540px;
}
.structure .inner .box-3 .box_inner {
	justify-content: space-between;
}
.structure .inner .box-3 .left {
	margin-top: 40px;
	width: 250px;
}
.structure .inner .box-3 .left h3 {
	margin-bottom: 30px;
}
.structure .inner .box-3 .left img {
	margin-top: 10px;
	width: 170px;
}
.structure .inner .box-3 .right {
	background-color: rgba(215, 51, 37, .1);
	border-radius: 10px;
	overflow: hidden;
	padding-bottom: 30px;
	position: relative;
	width: 215px;
}
.structure .inner .box-3 .right h4 {
	background-color: #D73325;
	color: white;
	font-size: 20px;
	padding: 10px 0;
	position: relative;
}
.structure .inner .box-3 .right ul {
	margin-right: 80px;
	margin-top: 40px;
}
.structure .inner .box-3 .right li {
	font-size: 24px;
	font-weight: 700;
	margin-top: 20px;
}
.structure .inner .box-3 .right p {
	font-size: 16px;
	margin-top: 20px;
}
.structure .inner .box-3 .right .deco-1 {
    right: 25px;
    top: 130px;
	width: 56px;
}
.structure .inner .box-3 .right .deco-2 {
    bottom: 50px;
    right: 25px;
	width: 56px;
}

@media screen and (max-width: 1520px) {
	.structure {
		margin-top: 8vw;
	}

	.structure .exp {
        font-size: 1.64vw;
        margin-bottom: 2vw;
	}

	.structure .point {
		margin-bottom: 5vw;
	}
	.structure .point li {
		font-size: 1.45vw;
		padding-left: 1.4vw;
	}

	.structure .inner .row-1 {
		width: 20vw;
	}
	.structure .inner .row-2 {
		width: 24vw;
	}
	.structure .inner .row-3 {
		width: 38vw;
	}

	.structure .inner .box {
		border-radius: 20px;
	}
	.structure .inner .box h3 {
        border-radius: 5vw;
        font-size: 1.34vw;
        padding: .2vw 0;
        width: 16vw;
	}
	.structure .inner .box h3.headline {
		top: -1.4vw;
	}
	.structure .inner .box p {
		font-size: 1.6vw;
	}

	.structure .inner .box-1 {
		padding-top: 5vw;
		height: 37vw;
	}
	.structure .inner .box-1 img {
        margin: 4vw 0;
        width: 11vw;
	}

	.structure .inner .box-2 {
        padding: 2vw;
        padding-top: 3vw;
	}
	.structure .inner .box-2:nth-child(2) {
        margin-top: 4.1vw;
        padding-top: 1.2vw;
	}
	.structure .inner .box-2:nth-child(1) img {
		width: 11vw;
	}
	.structure .inner .box-2:nth-child(2) img {
		width: 15vw;
	}
	.structure .inner .box-2::before {
        height: 2vw;
        width: 32vw;
	}

	.structure .inner .box-3 {
        padding: 2vw;
        padding-top: 4.5vw;
        height: 37vw;
	}
	.structure .inner .box-3 .left {
        margin-top: 2.6vw;
        width: 17vw;
	}
	.structure .inner .box-3 .left h3 {
		margin-bottom: 2vw;
	}
	.structure .inner .box-3 .left img {
        margin-top: 1vw;
        width: 11vw;
    }
	.structure .inner .box-3 .right {
		border-radius: 10px;
        padding-bottom: 2vw;
        width: 15vw;
	}
	.structure .inner .box-3 .right h4 {
        font-size: 1.34vw;
        padding: .7vw 0;
	}
	.structure .inner .box-3 .right ul {
        margin-right: 5.4vw;
        margin-top: 2vw;
	}
	.structure .inner .box-3 .right li {
        font-size: 1.6vw;
        margin-top: 1.4vw;
	}
	.structure .inner .box-3 .right p {
        font-size: 1.1vw;
        margin-top: 1.6vw;
	}
	.structure .inner .box-3 .right .deco-1 {
		right: 1.7vw;
        top: 8vw;
        width: 3.8vw;
	}
	.structure .inner .box-3 .right .deco-2 {
        bottom: 3vw;
        right: 1.7vw;
        width: 3.8vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.structure {
		margin-top: 12vw;
	}

	.structure .exp {
        font-size: 4vw;
        margin-bottom: 3vw;
	}

	.structure .point {
		margin-bottom: 8vw;
	}
	.structure .point li {
        font-size: 3.8vw;
        padding-left: 2vw;
	}

	.structure .inner .row-1 {
		width: 100%;
	}
	.structure .inner .row-2 {
		justify-content: space-between;
		margin-bottom: 8vw;
		width: 100%;
	}
	.structure .inner .row-3 {
		width: 100%;
	}

	.structure .inner .box {
		border-radius: 20px;
	}
	.structure .inner .box h3 {
        border-radius: 10vw;
        font-size: 4vw;
        padding: 1vw 0;
        width: 50vw;
	}
	.structure .inner .box h3.headline {
		top: -4vw;
	}
	.structure .inner .box p {
		font-size: 4.2vw;
	}

	.structure .inner .box-1 {
		margin-bottom: 8vw;
		padding-bottom: 6vw;
        padding-top: 11vw;
        height: auto;
	}
	.structure .inner .box-1 img {
        margin: 4vw 0;
        width: 23vw;
	}

	.structure .inner .box-2 {
        padding: 2vw;
        padding-top: 9vw;
		width: 44vw;
	}
	.structure .inner .box-2 h3 {
		width: 32vw;
	}
	.structure .inner .box-2:nth-child(2) {
        margin-top: 0;
        padding-top: 8vw;
	}
	.structure .inner .box-2:nth-child(1) img {
		width: 22vw;
	}
	.structure .inner .box-2:nth-child(2) img {
        margin-bottom: 3.5vw;
        width: 28vw;
	}
	.structure .inner .box-2::before {
        left: -10vw;
        top: 17vw;
        height: 4vw;
        width: 55vw;
        transform: rotate(90deg);
	}
	.structure .inner .box-2:nth-child(2)::before {
        transform: rotate(90deg) scale(-1, 1);
        left: 0vw;
        top: 18vw;
	}

	.structure .inner .box-3 {
        padding: 4vw;
        padding-top: 10vw;
        height: auto;
	}
	.structure .inner .box-3 .left {
        margin-top: 3vw;
        width: 39vw;
	}
	.structure .inner .box-3 .left h3 {
        margin-bottom: 4vw;
        width: auto;
	}
	.structure .inner .box-3 .left img {
        margin-top: 3vw;
        width: 21vw;
    }
	.structure .inner .box-3 .right {
		border-radius: 10px;
        padding-bottom: 4vw;
        width: 38vw;
	}
	.structure .inner .box-3 .right h4 {
        font-size: 3.6vw;
        padding: 2vw 0;
	}
	.structure .inner .box-3 .right ul {
        margin-right: 10vw;
        margin-top: 6vw;
	}
	.structure .inner .box-3 .right li {
        font-size: 4vw;
        margin-top: 2vw;
	}
	.structure .inner .box-3 .right p {
        font-size: 3.6vw;
        margin-top: 2vw;
	}
	.structure .inner .box-3 .right .deco-1 {
        right: 4vw;
        top: 18vw;
        width: 9vw;
	}
	.structure .inner .box-3 .right .deco-2 {
        bottom: 7vw;
        right: 4vw;
        width: 9vw;
	}
}


/** -- lineup -- **/
.lineup {
	margin-top: 160px;
}
.lineup .title-01 img {
	margin-right: 10px;
}

.lineup .list {
	justify-content: space-between;
}

.lineup .list .box {
	background-color: white;
	border-radius: 20px;
	margin-bottom: 40px;
	padding: 20px 40px 0;
	text-align: center;
	width: 420px;
}
.lineup .list .box h3 {
	font-size: 30px;
	margin-bottom: 10px;
}

.lineup .other {
	background-color: white;
	border-radius: 20px;
	margin-bottom: 50px;
	padding: 40px 60px 30px;
}
.lineup .other h3 {
	color: #D73325;
	font-size: 20px;
	margin-bottom: 10px;
}
.lineup .other p {
	font-size: 18px;
	font-weight: 700;
}

.lineup .tool {
	text-align: center;
}
.lineup .tool p {
	font-size: 28px;
	font-weight: 700;
}
.lineup .tool .inner {
	justify-content: space-between;
	margin: 20px 0;
}
.lineup .tool .box {
	align-items: center;
	background-color: white;
	border-radius: 40px;
	display: flex;
	justify-content: center;
	padding: 30px;
	min-width: 190px;
}
.lineup .tool .box:nth-child(2) {
	width: 280px;
}
.lineup .tool .box p {
	font-size: 18px;
}

@media screen and (max-width: 1520px) {
	.lineup {
		margin-top: 11vw;
	}
	.lineup .title-01 img {
		margin-right: .7vw;
	}

	.lineup .list .box {
		border-radius: 20px;
        margin-bottom: 2.8vw;
        padding: 1.6vw 3vw 0;
        width: 29vw;
	}
	.lineup .list .box h3 {
		font-size: 30px;
		margin-bottom: .7vw;
	}

	.lineup .other {
        border-radius: 20px;
        margin-bottom: 3.4vw;
        padding: 3vw 4vw 2vw;
	}
	.lineup .other h3 {
        font-size: 1.36vw;
        margin-bottom: .7vw;
	}
	.lineup .other p {
		font-size: 1.23vw;
	}

	.lineup .tool p {
		font-size: 1.9vw;
	}
	.lineup .tool .inner {
		margin: 1.4vw 0;
	}
	.lineup .tool .box {
		border-radius: 40px;
        padding: 2vw;
        min-width: 14vw;
	}
	.lineup .tool .box:nth-child(2) {
		width: 19vw;
	}
	.lineup .tool .box p {
		font-size: 1.23vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.lineup {
		margin-top: 12vw;
	}
	.lineup .title-01 img {
		margin-right: .7vw;
	}

	.lineup .list .box {
		border-radius: 20px;
        margin-bottom: 4vw;
        padding: 4vw 3vw 0;
        width: 44.5vw;
	}
	.lineup .list .box h3 {
        font-size: 3.4vw;
        margin-bottom: 2vw;
	}

	.lineup .other {
        border-radius: 20px;
        margin-bottom: 5vw;
        margin-top: 5vw;
        padding: 6vw 4vw 4vw;
	}
	.lineup .other h3 {
        font-size: 3.8vw;
        margin-bottom: 2vw;
	}
	.lineup .other p {
		font-size: 3.4vw;
	}

	.lineup .tool .inner {
		justify-content: center;
	}
	.lineup .tool p {
        font-size: 4vw;
	}
	.lineup .tool .inner {
		margin: 4vw 0;
	}
	.lineup .tool .box {
        border-radius: 30px;
		margin: 0 2vw 4vw;
        padding: 4vw;
        min-width: 40vw;
	}
	.lineup .tool .box:nth-child(2) {
		width: 19vw;
	}
	.lineup .tool .box p {
        font-size: 3.8vw;
	}
}


/** -- case -- **/
.case {
	margin-top: 160px;
}
.case h2 {
	background: linear-gradient(to left, #ff4a4a 50%, #ffe1b2 100%);
	border-radius: 100px;
	color: white;
	display: table;
	font-size: 44px;
	font-weight: 900;
	margin: 0 auto 40px;
	padding: 10px 100px;
	position: relative;
	text-align: center;
}
.case h2 img {
	position: absolute;
    left: -85px;
    top: -40px;
	width: 145px;
}

@media screen and (max-width: 1520px) {
	.case {
		margin-top: 11vw;
	}
	.case h2 {
        border-radius: 10vw;
        font-size: 3vw;
        margin: 0 auto 3vw;
        padding: .7vw 6.8vw;
	}
	.case h2 img {
        left: -5.8vw;
        top: -2.8vw;
        width: 9.8vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.case {
		margin-top: 14vw;
	}
	.case h2 {
        border-radius: 20vw;
        font-size: 5.2vw;
        margin: 0 auto 6vw;
        padding: 2vw 12vw;
	}
	.case h2 img {
        left: -12vw;
        top: -6vw;
        width: 20vw;
	}
}


/** -- secret -- **/
.secret {
	margin-top: 160px;
}
.secret h2.title-01 img {
	margin-right: 5px;
}

.secret .list {
	justify-content: space-between;
}

.secret .list .box {
	background-color: white;
	border-radius: 20px;
	margin-bottom: 30px;
	padding: 30px 20px;
	width: 420px;
}
.secret .list .box h3 {
	font-size: 24px;
	margin-bottom: 20px;
	text-align: center;
}
.secret .list .box img {
	display: block;
	margin: 0 auto 20px;
	width: 153px;
}

@media screen and (max-width: 1520px) {
	.secret {
		margin-top: 10vw;
	}
	.secret h2.title-01 img {
		margin-right: .3vw;
	}

	.secret .list .box {
		border-radius: 20px;
        margin-bottom: 2vw;
        padding: 2vw 1.4vw;
		width: 29vw;

	}
	.secret .list .box h3 {
        font-size: 1.6vw;
        margin-bottom: 1.3vw;
	}
	.secret .list .box img {
		margin: 0 auto 1.3vw;
		width: 10vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.secret {
		margin-top: 14vw;
	}
	.secret h2.title-01 img {
		margin-right: .3vw;
	}

	.secret .list .box {
		border-radius: 20px;
        margin-bottom: 4vw;
        padding: 6vw 4vw 4vw;
        width: auto;

	}
	.secret .list .box h3 {
        font-size: 4.6vw;
        margin-bottom: 3vw;
	}
	.secret .list .box img {
        margin: 0 auto 2vw;
        width: 30vw;
    }
	}
}


/** -- case-2 -- **/
.case-2 {
	margin: 100px 0 160px;
}

@media screen and (max-width: 1520px) {
	
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	
}


/** -- success -- **/
.success {
	background-color: #E4E4E4;
	border-radius: 50px;
	margin: 0 100px;
	margin-top: 80px;
	padding: 140px 0;
}

/** comparison **/
.success .comparison {
	justify-content: space-between;
}
.success .comparison .sugosai,
.success .comparison .other {
	width: 535px;
}
.success .comparison h3 {
	display: table;
	font-size: 40px;
	line-height: 1.2;
	margin: 0 auto 40px;
}
.success .comparison .sugosai h3 {
	color: #D73325;
	padding-left: 120px;
}
.success .comparison .sugosai h3 img {
	left: 0;
	top: -10px;
	width: 110px;
}
.success .comparison li {
	background-color: white;
	border-radius: 30px;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 30px;
	padding: 15px 0;
	padding-left: 80px;
}
.success .comparison .sugosai li:nth-child(2) {
	margin-bottom: 25px;
}
.success .comparison .sugosai li:nth-child(3) {
	margin-bottom: 25px;
}
.success .comparison .sugosai li:nth-child(4) {
	margin-bottom: 35px;
}
.success .comparison .other li:nth-child(2) {
	margin-bottom: 25px;
}
.success .comparison .other li:nth-child(3) {
	margin-bottom: 25px;
}
.success .comparison .other li:nth-child(4) {
	margin-bottom: 35px;
}
.success .comparison .other li:nth-child(5) {
	margin-bottom: 55px;
}
.success .comparison li::after {
	content: '';
	display: block;
	position: absolute;
}
.success .comparison .sugosai li::after {
	background: url("../img/site/balloon-horn-01.svg") no-repeat 0 0 / 100%;
	right: -10px;
	top: 2px;
	height: 21px;
	width: 25px;
}
.success .comparison .other li::after {
	background: url("../img/site/balloon-horn-02.svg") no-repeat 0 0 / 100%;
	left: -18px;
	top: 2px;
	height: 21px;
	width: 32px;
}
.success .comparison li img {
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
}
.success .comparison .stump::before {
	background: url("../img/design/stamp-3.svg") no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	height: 60px;
	width: 155px;
}
.success .comparison .stump-01::before {
	left: -40px;
	top: -32px;
}
.success .comparison .stump-02::before {
	bottom: -17px;
	right: -44px;
}

.success .comparison .end {
	background-color: white;
	border-radius: 70px;
	margin: 0 auto;
	padding-top: 25px;
	height: 250px;
	width: 370px;
}
.success .comparison .end p {
	font-size: 29px;
	line-height: 1.3;
}
.success .comparison .sugosai .end p {
	color: #D73325;
	margin-left: -50px;
}
.success .comparison .sugosai .end .deco-01 {
	left: -75px;
	top: -10px;
	width: 155px;
}
.success .comparison .sugosai .end .deco-02 {
	left: -85px;
	top: 60px;
	width: 125px;
}
.success .comparison .sugosai .end .deco-03 {
	bottom: -5px;
	left: 60px;
	width: 139px;
}
.success .comparison .sugosai .end .deco-04 {
	bottom: 5px;
	right: 80px;
	width: 88px;
}
.success .comparison .sugosai .end .deco-05 {
	right: 30px;
	top: 25px;
	width: 113px;
}
.success .comparison .other .end p {
	margin-left: 60px;
	text-align: left;
}
.success .comparison .other .end .deco-01 {
	left: -85px;
	top: -15px;
	width: 147px;
}
.success .comparison .other .end .deco-02 {
	bottom: 0;
	left: 80px;
	width: 67px;
}
.success .comparison .other .end .deco-03 {
	bottom: 5px;
	right: 40px;
	width: 120px;
}
.success .comparison .other .end .deco-04 {
	right: 30px;
	top: 25px;
	width: 124px;
}

.success .comparison .flow {
	margin: 0 -20px;
}
.success .comparison .flow .list {
	margin-top: 130px;
}
.success .comparison .flow p {
	font-size: 30px;
	text-align: center;
}
.success .comparison .flow .dot {
	
}
.success .comparison .flow .dot span {
	background-color: #3E4E62;
	border: solid 1px white;
	border-radius: 50%;
	box-sizing: border-box;
	display: block;
	margin: 12px auto;
	height: 8px;
	width: 8px;
}
.success .comparison .flow .def {
	margin: 95px -60px 0;
}
.success .comparison .flow .def span {
	background: url("../img/design/balloon-02.svg") no-repeat center / 100%;
	display: table;
	font-size: 30px;
	margin: 0 auto;
	padding: 10px 40px 30px;
}

@media screen and (max-width: 1520px) {
	.success {
		border-radius: 0;
		margin: 0;
		margin-top: 5vw;
		padding: 9vw 0;
	}

	/** comparison **/
	.success .comparison .sugosai,
	.success .comparison .other {
		width: 35.4vw;
	}
	.success .comparison h3 {
		font-size: 2.6vw;
		margin: 0 auto 2.6vw;
	}
	.success .comparison .sugosai h3 {
		padding-left: 8vw;
	}
	.success .comparison .sugosai h3 img {
		top: -.6vw;
		width: 7.2vw;
	}
	.success .comparison li {
		border-radius: 2vw;
		font-size: 1.3vw;
		margin-bottom: 2vw;
		padding: 1vw 0;
		padding-left: 5.2vw;
	}
	.success .comparison .sugosai li:nth-child(2) {
		margin-bottom: 1.6vw;
	}
	.success .comparison .sugosai li:nth-child(3) {
		margin-bottom: 1.6vw;
	}
	.success .comparison .sugosai li:nth-child(4) {
		margin-bottom: 2.4vw;
	}
	.success .comparison .other li:nth-child(2) {
		margin-bottom: 2vw;
	}
	.success .comparison .other li:nth-child(3) {
		margin-bottom: 1.6vw;
	}
	.success .comparison .other li:nth-child(4) {
		margin-bottom: 2.4vw;
	}
	.success .comparison .other li:nth-child(5) {
		margin-bottom: 3.6vw;
	}
	.success .comparison .sugosai li::after {
        right: -.6vw;
        top: .1vw;
		height: 1.6vw;
		width: 1.8vw;
	}
	.success .comparison .other li::after {
        left: -1.2vw;
        top: .1vw;
		height: 1.6vw;
		width: 2.1vw;
	}
	.success .comparison li img {
		left: 1.4vw;
		width: 2.7vw;
	}
	.success .comparison .stump::before {
        height: 4vw;
        width: 10vw;
	}
	.success .comparison .stump-01::before {
        left: -3vw;
        top: -2vw;
	}
	.success .comparison .stump-02::before {
        bottom: -1vw;
        right: -2.8vw;
	}

	.success .comparison .end {
		border-radius: 4.6vw;
		padding-top: 1.6vw;
		height: 16.6vw;
		width: 24vw;
	}
	.success .comparison .end p {
		font-size: 1.9vw;
	}
	.success .comparison .sugosai .end p {
		margin-left: -3.2vw;
	}
	.success .comparison .sugosai .end .deco-01 {
        left: -5vw;
        top: -.6vw;
        width: 10vw;
	}
	.success .comparison .sugosai .end .deco-02 {
        left: -5.6vw;
        top: 4vw;
        width: 8.3vw;
	}
	.success .comparison .sugosai .end .deco-03 {
        bottom: -.3vw;
        left: 4vw;
        width: 9.2vw;
	}
	.success .comparison .sugosai .end .deco-04 {
        bottom: .3vw;
        right: 5vw;
        width: 5.8vw;
	}
	.success .comparison .sugosai .end .deco-05 {
        right: 2vw;
        top: 1.6vw;
        width: 7.4vw;
	}
	.success .comparison .other .end p {
		margin-left: 4vw;
	}
	.success .comparison .other .end .deco-01 {
        left: -5.6vw;
        top: -1vw;
        width: 9.7vw;
	}
	.success .comparison .other .end .deco-02 {
        left: 5.3vw;
        width: 4.4vw;
	}
	.success .comparison .other .end .deco-03 {
        bottom: .3vw;
        right: 3vw;
        width: 7.8vw;
	}
	.success .comparison .other .end .deco-04 {
        right: 2vw;
        top: 1.7vw;
        width: 8.2vw;
	}

	.success .comparison .flow .list {
		margin-top: 8.6vw;
	}
	.success .comparison .flow p {
		font-size: 2vw;
	}
	.success .comparison .flow .dot span {
        margin: .8vw auto;
        height: .5vw;
        width: .5vw;
	}
	.success .comparison .flow .def {
		margin: 6.2vw -4vw 0;
	}
	.success .comparison .flow .def span {
        font-size: 2vw;
        padding: .6vw 2.6vw 2vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.success {
		border-radius: 0;
		margin: 0;
		margin-top: 12vw;
		padding: 12vw 0;
	}

	/** comparison **/
	.success .comparison .sugosai,
	.success .comparison .other {
		width: 34vw;
	}
	.success .comparison .flow {
		margin: 0 -8vw;
		padding-top: 1vw;
	}
	.success .comparison h3 {
		font-size: 2.6vw;
		margin: 0 auto 2.6vw;
	}
	.success .comparison .sugosai h3 {
		padding-left: 8vw;
	}
	.success .comparison .sugosai h3 img {
		top: -.6vw;
		width: 7.2vw;
	}
	.success .comparison li {
        border-radius: 4vw;
        font-size: 3.2vw;
        margin-bottom: 7vw;
        padding: 2vw 2vw 3vw 3vw;
	}
	.success .comparison .sugosai li:nth-child(2) {
		margin-bottom: 4vw;
	}
	.success .comparison .sugosai li:nth-child(3) {
		margin-bottom: 9vw;
	}
	.success .comparison .sugosai li:nth-child(4) {
		margin-bottom: 2vw;
	}
	.success .comparison .other li:nth-child(1) {
		margin-bottom: 7vw;
	}
	.success .comparison .other li:nth-child(2) {
		margin-bottom: 9vw;
	}
	.success .comparison .other li:nth-child(3) {
		margin-bottom: 14vw;
	}
	.success .comparison .other li:nth-child(4) {
		margin-bottom: 7vw;
	}
	.success .comparison .other li:nth-child(5) {
		margin-bottom: 17.6vw;
	}
	.success .comparison .sugosai li::after {
		right: -2vw;
        top: 1vw;
        height: 3vw;
        width: 4vw;
	}
	.success .comparison .other li::after {
        left: -2vw;
        top: 1vw;
        height: 3vw;
        width: 4vw;
	}
	.success .comparison li img {
        display: block;
        margin: 0 auto;
        position: initial;
        left: auto;
        top: auto;
        transform: initial;
        width: 5vw;
	}
	.success .comparison .stump::before {
        height: 8vw;
        width: 18vw;
	}
	.success .comparison .stump-01::before {
        left: -4vw;
        top: 0;
	}
	.success .comparison .stump-02::before {
        bottom: -2vw;
        right: -4vw;
	}

    .success .comparison .end {
        border-radius: 6vw;
        padding-top: 4vw;
        height: 28vw;
        width: 100%;
	}
	.success .comparison .end p {
		font-size: 3.4vw;
	}
	.success .comparison .sugosai .end p {
		margin-left: -3.2vw;
	}
	.success .comparison .sugosai .end .deco-01 {
        left: -4vw;
        top: -2vw;
        width: 18vw;
	}
	.success .comparison .sugosai .end .deco-02 {
        left: -9vw;
        top: 5vw;
        width: 16vw;
	}
	.success .comparison .sugosai .end .deco-03 {
        bottom: -8vw;
        left: -1vw;
        width: 20vw;
	}
	.success .comparison .sugosai .end .deco-04 {
        bottom: -4vw;
        right: 1vw;
        width: 12vw;
	}
	.success .comparison .sugosai .end .deco-05 {
        right: -5vw;
        top: 1vw;
        width: 16vw;
	}
	.success .comparison .other .end p {
		margin-left: 4vw;
	}
	.success .comparison .other .end .deco-01 {
        left: -12vw;
        top: -6vw;
        width: 20vw;
	}
	.success .comparison .other .end .deco-02 {
        bottom: -1vw;
        left: -2vw;
        width: 8vw;
	}
	.success .comparison .other .end .deco-03 {
        bottom: -3vw;
        right: 6vw;
        width: 14vw;
	}
	.success .comparison .other .end .deco-04 {
        right: -3vw;
        top: 3vw;
        width: 16vw;
	}

	.success .comparison .flow .list {
		margin-top: 8.6vw;
	}
	.success .comparison .flow p {
		font-size: 3.4vw;
	}
	.success .comparison .flow .dot span {
		border-width: 3px;
		margin: 5.8vw auto;
		height: 3vw;
		width: 3vw;
	}
	.success .comparison .flow .def {
		margin: 64vw -8vw 0;
	}
	.success .comparison .flow .def p {
		font-size: 4.2vw;
	}
	.success .comparison .flow .def span {
		font-size: 4vw;
		padding: 1vw 4vw 3vw;
	}
}


/** -- contact_link -- **/
.contact_link {
	margin-top: 100px;
}
.contact_link .inner {
	background: linear-gradient(40deg, #FF4A4A 50%, #FFE1B2 100%);
	border-radius: 50px;
	color: white;
	padding: 30px 0 50px;
}
.contact_link h2 {
	font-size: 60px;
    margin-bottom: 10px;
	text-align: center;
}
.contact_link p {
	font-size: 24px;
    margin-bottom: 30px;
	text-align: center;
}
.contact_link .contact_btn {
	box-sizing: border-box;
	margin: 0 auto;
    padding-left: 80px;
	width: 555px;
}
.contact_link .deco-01 {
	bottom: 40px;
	left: 110px;
	width: 117px;
}
.contact_link .deco-02 {
    bottom: 80px;
    right: 130px;
    width: 150px;
}

@media screen and (max-width: 1520px) {
	.contact_link {
		margin-top: 6vw;
	}
	.contact_link .inner {
        border-radius: 3.3vw;
        padding: 2vw 0 3.3vw;
	}
	.contact_link h2 {
		font-size: 4vw;
		margin-bottom: .6vw;
	}
	.contact_link p {
		font-size: 1.52vw;
		margin-bottom: 2vw;
	}
	.contact_link .contact_btn {
        padding-left: 6vw;
        width: 38vw;
	}
	.contact_link .deco-01 {
        bottom: 2.6vw;
        left: 7.2vw;
        width: 7.6vw;
	}
	.contact_link .deco-02 {
        bottom: 5.3vw;
        right: 8.6vw;
        width: 9.8vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.contact_link {
		margin-top: 12vw;
	}
	.contact_link .inner {
        border-radius: 6vw;
        padding: 6vw 0 8vw;
	}
	.contact_link h2 {
		font-size: 10vw;
		margin-bottom: 2vw;
	}
	.contact_link p {
		font-size: 4.2vw;
        margin-bottom: 6vw;
	}
	.contact_link .contact_btn {
        padding-left: 6vw;
        width: 62vw;
	}
	.contact_link .deco-01 {
        bottom: 2vw;
        left: -1vw;
        width: 17vw;
	}
	.contact_link .deco-02 {
        bottom: 3vw;
        right: -3vw;
        width: 23vw;
	}
}


/** -- plan -- **/
.plan {
	margin-top: 100px;
}

.plan .table {
	margin-bottom: 40px;
}

.plan dt,
.plan dd {
	box-sizing: border-box;
	text-align: center;
	position: relative;
}
.plan dd {
	height: 95px;
}
.plan dd:last-child::after {
	display: none !important;
}

/** list_item **/
.plan .list_item {
	margin-top: 90px;
	width: 250px;
}
.plan .list_item dd {
	font-size: 20px;
	font-weight: 700;
	padding-top: 30px;
}
.plan .list_item dd::after {
	border-bottom: solid 1px #C9C9C9;
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 600px;
}
.plan .list_item dd:last-child::after {
	display: none;
}

/** item **/
.plan .item {
	background-color: white;
	border-radius: 30px;
	overflow: hidden;
	width: 350px;
}
.plan .item + .item {
	margin-left: 10px;
}
.plan .item dt {
	color: white;
	font-size: 40px;
	padding: 13px 0;
}
.plan .item dt span {
	padding-left: 40px;
}
.plan .item dt img {
	position: absolute;
	left: 0;
	top: 0;
}
.plan .item dd {
	font-weight: 700;
}
.plan .item dd:last-child {
	border-bottom: none !important;
}

.plan .item.starter dt {
	background-color: #C9C9C9;
}
.plan .item.basic dt {
	background-color: #D73325;
}
.plan .item.basic dd {
	border-bottom: solid 1px #D73325;
}
.plan .item.premium dt {
	background: linear-gradient(to right, #FF4A4A 40%, #FFE1B2 100%);
}
.plan .item.premium dd {
	border-bottom: solid 1px #FFA74A;
}

.plan .item dd.price {
	font-size: 18px;
	padding-top: 10px;
}
.plan .item dd.price span.yen {
	font-size: 28px;
}
.plan .item dd.price span.tax {
	font-size: 16px;
	font-weight: 400;
}
.plan .item.premium dd.price {
	padding-top: 17px;
}

.plan .item dd.time {
	font-size: 18px;
	padding-top: 7px;
}
.plan .item dd.time big {
	font-size: 48px;
	margin-right: 10px;
}

.plan .item dd.custom {
	font-size: 28px;
	padding-top: 22px;
}

.plan .item dd.period {
	font-size: 18px;
	padding-top: 30px;
}

.plan .box {
	background-color: white;
	border-radius: 20px;
	margin: 0 60px 40px;
	padding: 40px 50px 30px;
}
.plan .box h3 {
	color: #D73325;
	font-size: 20px;
	margin-bottom: 20px;
}
.plan .box img {
	display: block;
	margin: 0 auto;
	width: 1045px;
}

.plan .check {
	margin-left: 60px;
}
.plan .check li {
	font-size: 14px;
	padding-left: 16px;
	position: relative;
}
.plan .check li::before {
	content: '✓';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}
.plan .check li.asterisk::before {
	content: '※';
}

@media screen and (max-width: 1520px) {
	.plan {
		margin-top: 7vw;
	}

	.plan dd {
		height: 6.3vw;
	}

	/** list_item **/
	.plan .list_item {
		margin-top: 6.3vw;
		width: 17vw;
	}
	.plan .list_item dd {
		font-size: 1.3vw;
		padding-top: 2vw;
	}
	.plan .list_item dd::after {
		width: 40.6vw;
	}

	/** item **/
	.plan .item {
        border-radius: 2vw;
        width: 23.6vw;
	}
	.plan .item + .item {
		margin-left: .8vw;
	}
	.plan .item dt {
		font-size: 2.8vw;
		padding: .9vw 0;
	}
	.plan .item dt img {
		width: 2.6vw;
	}
	.plan .item dt span {
		padding-left: 3vw;
	}
	.plan .item dd {
		font-size: 1.3vw;
		padding-top: 1vw;
	}
	
	.plan .item dd.price {
        font-size: 1.3vw;
        padding-top: .5vw;
	}
	.plan .item dd.price span.yen {
		font-size: 2vw;
	}
	.plan .item dd.price span.tax {
		font-size: 1.1vw;
	}
	.plan .item.premium dd.price {
		padding-top: 1vw;
	}

	.plan .item dd.time {
        font-size: 1.3vw;
        padding-top: .3vw;
	}
	.plan .item dd.time big {
		font-size: 3.4vw;
		margin-right: .5vw;
	}

	.plan .item dd.custom {
		font-size: 2vw;
		padding-top: 1.5vw;
	}

	.plan .item dd.period {
		font-size: 1.3vw;
		padding-top: 2vw;
	}

	.plan .box {
		border-radius: 20px;
        margin: 0 4vw 3vw;
        padding: 3vw 4vw 2vw;
	}
	.plan .box h3 {
        font-size: 1.42vw;
        margin-bottom: 1.4vw;
	}
	.plan .box img {
		width: 100%;
	}

	.plan .check {
		margin-left: 4vw;
	}
	.plan .check li {
        font-size: 1vw;
        padding-left: 1.1vw;
    }
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.plan {
		margin-top: 7vw;
	}
	
	.plan .table {
		overflow-x: scroll;
		padding-bottom: 4vw;
	}
	.plan .table .inner {
		width: 220vw;
	}

	.plan dd {
		height: 16.5vw;
	}

	/** list_item **/
	.plan .list_item {
		margin-top: 13vw;
		width: 36vw;
	}
	.plan .list_item dd {
		font-size: 3.2vw;
		padding-top: 5vw;
	}
	.plan .list_item dd::after {
		bottom: -1px;
        width: 96vw;
	}

	/** item **/
	.plan .item {
        border-radius: 4vw;
        width: 60vw;
	}
	.plan .item + .item {
		margin-left: 2vw;
	}
	.plan .item dt {
        font-size: 5.8vw;
		padding: 2vw 0;
	}
	.plan .item dt img {
		width: 6vw;
	}
	.plan .item dt span {
		padding-left: 8vw;
	}
	.plan .item dd {
		font-size: 3.2vw;
		padding-top: 3vw;
	}
	.plan .item dd:last-child {
		padding-top: 5vw;
	}
	
	.plan .item dd.price {
        font-size: 3.6vw;
        padding-top: 1.5vw;
	}
	.plan .item dd.price span.yen {
		font-size: 4.8vw;
	}
	.plan .item dd.price span.tax {
		font-size: 3.4vw;
	}
	.plan .item.premium dd.price {
		padding-top: 2vw;
	}
	
	.plan .item dd span {
		font-size: 2.3vw;
	}

	.plan .item dd.time {
        font-size: 3.6vw;
        padding-top: 2vw;
	}
	.plan .item dd.time big {
		font-size: 8vw;
        margin-right: 2vw;
	}

	.plan .item dd.custom {
        font-size: 4.2vw;
        padding-top: 5vw;
	}

	.plan .item dd.period {
        font-size: 3.6vw;
        padding-top: 5vw;
	}

	.plan .box {
		border-radius: 10px;
        margin: 0 0 6vw;
        padding: 6vw 4vw 4vw;
	}
	.plan .box h3 {
        font-size: 3.8vw;
        margin-bottom: 4vw;
	}

	.plan .check {
		margin-left: 0;
	}
	.plan .check li {
        font-size: 3.4vw;
        padding-left: 4vw;
    }
}


/** -- production_flow -- **/
.production_flow {
	margin-top: 80px;
}

.production_flow .step {
	position: relative;
}

.production_flow .step-num {
	justify-content: space-between;
	margin-bottom: 20px;
	width: 100%;
}
.production_flow .step-num p {
	background-color: white;
	border: solid 3px #D73325;
	border-radius: 50px;
	color: #D73325;
	font-size: 30px;
	text-align: center;
	width: 230px;
}
.production_flow .step-num p.start {
	background-color: #D73325;
	color: white;
}

.production_flow .arrow {
	background: url(../img/design/icon-arrow-5.svg) no-repeat 0 0 / 100%;
	position: absolute;
    left: 90px;
    top: 78px;
    height: 35px;
    width: 980px;
}

.production_flow .step-detail {
	justify-content: space-between;
	width: 100%;
}
.production_flow .step-detail .box {
	background-color: white;
	border: solid 3px #D73325;
	border-radius: 10px;
	margin-top: 70px;
	padding: 20px 15px 10px;
	position: relative;
	text-align: center;
	height: 230px;
	width: 230px;
}
.production_flow .step-detail .box h3 {
	color: #D73325;
	font-size: 20px;
	margin-bottom: 20px;
}
.production_flow .step-detail .box p {
	font-weight: 700;
}

.production_flow .step-detail .box.start {
	background-color: rgba(215, 51, 37, .1);
	border: none;
	margin-top: 0;
	padding: 0 0 60px;
	height: auto;
}
.production_flow .step-detail .box.start h3 {
    background-color: #D73325;
	border-radius: 10px 10px 0 0;
    color: white;
    font-size: 20px;
    padding: 10px 0;
    position: relative;
}
.production_flow .step-detail .box.start p {
	font-size: 20px;
}
.production_flow .step-detail .box.start img.deco {
	bottom: -40px;
	left: 5px;
	width: 103px;
}

.production_flow .step-detail .box img.zoom {
	margin-top: 20px;
	width: 120px;
}
.production_flow .step-detail .box img.slack {
	margin-top: -10px;
	width: 114px;
}
.production_flow .step-detail .box img.cs {
	margin-top: 20px;
	width: 194px;
}
.production_flow .step-detail .box img.gf {
	margin-top: 20px;
	width: 112px;
}

@media screen and (max-width: 1520px) {
	.production_flow {
		margin-top: 6vw;
	}
	
	.production_flow .step-num {
		margin-bottom: 1.5vw;
	}
	.production_flow .step-num p {
        border-radius: 10vw;
        font-size: 2.2vw;
		width: 17vw;
	}

	.production_flow .arrow {
        left: 6vw;
        top: 6vw;
        height: 3vw;
        width: 66vw;
	}

	.production_flow .step-detail .box {
		border-radius: 10px;
        margin-top: 5.4vw;
        padding: 1.4vw 1.2vw .5vw;
        height: 17vw;
        width: 17vw;
	}
	.production_flow .step-detail .box h3 {
        font-size: 1.5vw;
        margin-bottom: 1.5vw;
	}

	.production_flow .step-detail .box.start {
		padding: 0 0 5vw;
	}
	.production_flow .step-detail .box.start h3 {
		border-radius: 10px 10px 0 0;
        font-size: 1.5vw;
        padding: .8vw 0;
	}
	.production_flow .step-detail .box.start p {
		font-size: 1.5vw;
	}
	.production_flow .step-detail .box.start img.deco {
        bottom: -2.6vw;
        left: .4vw;
        width: 7.8vw;
	}

	.production_flow .step-detail .box img.zoom {
        margin-top: 1.5vw;
        width: 9vw;
	}
	.production_flow .step-detail .box img.slack {
        margin-top: -.8vw;
        width: 8.6vw;
	}
	.production_flow .step-detail .box img.cs {
        margin-top: 1.6vw;
        width: 14.2vw;
	}
	.production_flow .step-detail .box img.gf {
        margin-top: 1.5vw;
        width: 8.4vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.production_flow {
		margin-top: 12vw;
	}
	
	.production_flow .step {
		justify-content: space-between;
	}
	
	.production_flow .step-num {
        display: block;
		margin-bottom: 1.5vw;
		width: 26vw;
	}
	.production_flow .step-num p {
        border-radius: 10vw;
		border-width: 2px;
        font-size: 4vw;
		width: 100%;
		height: 7.2vw;
	}
	.production_flow .step-num p:nth-child(1) {
		margin-bottom: 37.2vw;
	}
	.production_flow .step-num p:nth-child(2) {
		margin-bottom: 42.1vw;
	}
	.production_flow .step-num p:nth-child(3) {
		margin-bottom: 50.1vw;
	}
	.production_flow .step-num p:nth-child(4) {
		margin-bottom: 41.2vw;
	}

	.production_flow .arrow {
        background: url(../img/design/icon-arrow-6.svg) no-repeat 0 0 / 100%;
        left: 27vw;
        top: 2vw;
        height: 233vw;
        width: 4vw;
	}

	.production_flow .step-detail {
		display: block;
		width: 60vw;
	}
	.production_flow .step-detail .box {
		border-radius: 10px;
		border-width: 2px;
        margin-top: 0;
        padding: 4vw;
        height: auto;
        width: 100%;
	}
	.production_flow .step-detail .box + .box {
		margin-top: 4vw;
	}
	.production_flow .step-detail .box h3 {
        font-size: 4vw;
        margin-bottom: 2vw;
	}

	.production_flow .step-detail .box.start {
		padding: 0 0 6vw;
	}
	.production_flow .step-detail .box.start h3 {
        font-size: 4vw;
        padding: 2vw 0;
	}
	.production_flow .step-detail .box.start p {
		font-size: 4.2vw;
	}
	.production_flow .step-detail .box.start img.deco {
        bottom: -3vw;
        left: -6vw;
        width: 24vw;
	}

	.production_flow .step-detail .box img.zoom {
        margin-top: 2vw;
        width: 25vw;
	}
	.production_flow .step-detail .box img.slack {
        margin-top: -2vw;
        width: 30vw;
	}
	.production_flow .step-detail .box img.cs {
        margin-top: 1vw;
        width: 50vw;
	}
	.production_flow .step-detail .box img.gf {
        margin-top: 3vw;
        width: 20vw;
	}
}


/** -- faq -- **/
.faq {
	margin-top: 120px;
}

.faq dl {
	background-color: white;
	border-radius: 20px;
	padding: 40px 50px;
}
.faq dl + dl {
	margin-top: 30px;
}
.faq dl dt,
.faq dl dd {
	padding-left: 60px;
	position: relative;
}
.faq dl dt {
	color: #D73325;
	font-size: 22px;
	font-weight: 700;
}
.faq dl dd {
	font-size: 20px;
	margin-top: 20px;
}
.faq dl dt::before,
.faq dl dd::before {
	font-family: 'TsunagiGothic', sans-serif;
	font-size: 40px;
	position: absolute;
	left: 0;
	top: -15px;
}
.faq dl dt::before {
	content: 'Q.';
}
.faq dl dd::before {
	color: #D73325;
	content: 'A.';
}

@media screen and (max-width: 1520px) {
	.faq {
		margin-top: 8vw;
	}

	.faq dl {
        border-radius: 1.4vw;
        padding: 2.6vw 3.4vw;
	}
	.faq dl + dl {
		margin-top: 2vw;
	}
	.faq dl dt,
	.faq dl dd {
		padding-left: 4vw;
	}
	.faq dl dt {
		font-size: 1.42vw;
	}
	.faq dl dd {
		font-size: 1.3vw;
		margin-top: 1.4vw;
	}
	.faq dl dt::before,
	.faq dl dd::before {
		font-size: 2.6vw;
		top: -1vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.faq {
		margin-top: 16vw;
	}

	.faq dl {
        border-radius: 3vw;
        padding: 6vw 4vw;
	}
	.faq dl + dl {
		margin-top: 4vw;
	}
	.faq dl dt,
	.faq dl dd {
		padding-left: 8vw;
	}
	.faq dl dt {
		font-size: 3.8vw;
	}
	.faq dl dd {
		font-size:3.4vw;
		margin-top: 3vw;
	}
	.faq dl dt::before,
	.faq dl dd::before {
        font-size: 6vw;
        top: -2vw;
	}
}


/** -- operating -- **/
.operating {
	margin-top: 100px;
	position: relative;
	z-index: 2;
}
.operating::before {
	background: url(../img/design/bg-2.png) no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
    right: 30px;
    top: -480px;
	height: 968px;
	width: 968px;
	z-index: -1;
}
.operating .title-01 {
	color: #005CD0;
}
.operating p,
.operating dt,
.operating dd {
	color: #2D2D2D;
}
.operating .inner {
	margin-top: 60px;
}

.operating .left img {
    margin-left: -30px;
    margin-top: -10px;
	width: 305px;
}
.operating .left p {
	font-size: 60px;
	font-weight: 700;
	line-height: 1.4;
}
.operating .right {
	background-color: white;
	border-radius: 20px;
	margin-left: auto;
	padding: 50px 60px;
}

.operating .right dl dt,
.operating .right dl dd {
	font-size: 18px;
}
.operating .right dl dt {
	float: left;
	font-weight: 700;
	width: 200px;
}
.operating .right dl dd {
	margin-bottom: 20px;
	margin-left: 200px;
}
.operating .right .link {
	background: url('../img/site/icon-link-01.svg') no-repeat right 35px top 10px / 10px;
	border: solid 1px #2D2D2D;
	border-radius: 60px;
	display: block;
	margin-left: auto;
	margin-top: 40px;
	padding: 5px 0;
	padding-right: 20px;
	text-align: center;
	width: 290px;
}
.operating .right .link:hover {
	color: #005CD0;
}

@media screen and (max-width: 1520px) {
	.operating {
		margin-top: 9.6vw;
	}
	.operating::before {
        right: -10vw;
        top: -33vw;
        height: 66vw;
        width: 66vw;
	}
	.operating .inner {
		margin-top: 4vw;
	}

	.operating .left img {
		margin-left: -2vw;
        margin-top: -.8vw;
        width: 21vw;
	}
	.operating .left p {
		font-size: 4vw;
	}
	.operating .right {
		border-radius: 1.4vw;
		padding: 3.4vw 4vw;
	}

	.operating .right dl dt,
	.operating .right dl dd {
		font-size: 1.4vw;
	}
	.operating .right dl dt {
		width: 13vw;
	}
	.operating .right dl dd {
		margin-bottom: 1.4vw;
		margin-left: 13vw;
	}
	.operating .right .link {
		background-position: right 2.4vw top .7vw;
		background-size: .7vw;
		border-radius: 4vw;
		margin-top: 2.8vw;
		padding: .3vw 0;
		padding-right: 1.4vw;
		width: 20vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.operating {
		margin-top: 20vw;
	}
	.operating::before {
        right: -10vw;
        top: -33vw;
        height: 66vw;
        width: 66vw;
	}
	.operating .inner {
		margin-top: 6vw;
	}

	.operating .left {
		margin-bottom: 8vw;
	}
	
	.operating .left img {
        margin-left: -5vw;
        margin-top: 0;
        width: 52vw;
	}
	.operating .left p {
		font-size: 7.2vw;
	}
	.operating .right {
        border-radius: 3vw;
        padding: 8vw 6vw;
        width: 100%;
	}

	.operating .right dl dt,
	.operating .right dl dd {
		font-size: 3.4vw;
	}
	.operating .right dl dt {
		width: 16vw;
	}
	.operating .right dl dd {
        margin-bottom: 3vw;
        margin-left: 22vw;
	}
	.operating .right .link {
        background-position: right 5vw top 2vw;
        background-size: 3vw;
        border-radius: 10vw;
        margin-top: 6vw;
        padding: 1vw 0;
        padding-right: 5vw;
        width: 58vw;
	}
}


/** -- series -- **/
.series {
	margin-top: 120px;
}
.series .title-01 {
	color: #005CD0;
	margin-bottom: -30px;
}
.series .title-01 span {
	display: block;
	font-size: 70px;
    margin-top: 30px;
    padding-left: 365px;
}
.series .title-01 span img {
	left: -25px;
	top: -40px;
	width: 390px;
}

/** inner **/
.series .inner {
	background-color: #C5DDF5;
	border-radius: 60px;
	padding: 100px 130px 80px;
}

/** flow **/
.series .flow {
	justify-content: space-between;
	margin-bottom: 30px;
}
.series .flow p {
	background-color: #005CD0;
	border-radius: 40px;
	color: white;
	font-size: 25px;
	font-weight: 700;
	padding: 12px 50px;
	position: relative;
}
.series .flow p::after {
	border: solid 10px transparent;
	border-left: solid 16px #005CD0;
	border-right: none;
	content: '';
	display: block;
	position: absolute;
	right: -28px;
	top: 50%;
	transform: translateY(-50%);
}
.series .flow p:last-child::after {
	display: none;
}

/** box **/
.series .box {
	align-items: center;
	background-color: white;
	border-radius: 20px;
	margin-bottom: 10px;
	padding: 25px 30px;
	z-index: 1;
}
.series .box.pr {
	width: 860px;
}
.series .box.site {
	margin-left: auto;
	width: 670px;
}
.series .box.siryo {
	margin-left: auto;
	width: 670px;
}
.series .box.design {
	
}

.series .box img {
	width: 188px;
}
.series .box.siryo img {
	width: 207px;
}
.series .box.design img {
	width: 201px;
}

.series .box p {
	font-weight: 700;
	margin-left: 30px;
}

.series .wpp {
	background-color: white;
	border: solid 2px #005CD0;
	border-radius: 10px;
	padding: 10px 15px 0;
	bottom: 0;
	left: 10px;
	text-align: center;
	z-index: 2;
}
.series .wpp p {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 8px;
}
.series .wpp img {
	width: 315px;
}

.series .deco-01 {
	background-color: #005CD0;
	border-radius: 30px;
	color: white;
    padding: 3px 20px;
    bottom: 145px;
    left: 95px;
	z-index: 0;
}
.series .deco-01 span {
	color: #005CD0;
	font-size: 12px;
	left: -5px;
	top: -18px;
	transform: rotate(-3deg);
}
.series .deco-01::before,
.series .deco-01::after {
	content: '';
	display: block;
	position: absolute;
}
.series .deco-01::before {
	border: solid 16px transparent;
	border-bottom: 0;
	border-top: solid 10px #005CD0;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
}
.series .deco-01::after {
	border-bottom: solid 3px #005CD0;
	border-left: solid 3px #005CD0;
    bottom: 15px;
    left: -45px;
    height: 180px;
    width: 330px;
    z-index: -1;
}
.series .deco-02 {
	background-color: white;
	border: solid 2px #005CD0;
	border-radius: 30px;
	color: #005CD0;
    padding: 3px 20px;
    bottom: 32px;
    left: 440px;
    z-index: 2;
}

.series .balloon {
    bottom: 240px;
    left: -80px;
    text-align: center;
}
.series .balloon p {
	color: #005CD0;
	font-size: 18px;
	font-weight: 700;
    padding: 0 40px;
	position: relative;
}
.series .balloon p::before,
.series .balloon p::after {
	background-color: #005CD0;
	content: '';
	display: block;
	position: absolute;
	bottom: -15px;
	height: 80px;
	width: 2px;
}
.series .balloon p::before {
    left: 20px;
    transform: rotate(-35deg);
}
.series .balloon p::after {
    right: 20px;
    transform: rotate(45deg);
}

.series .polygon {
    bottom: 125px;
    left: -30px;
    z-index: 1;
}
.series .polygon p {
	background-color: #005CD0;
    clip-path: polygon(16% 0, 87% 6%, 100% 39%, 91% 89%, 12% 97%, 0% 50%);
	color: white;
	font-weight: 700;
    padding-top: 18px;
	text-align: center;
    height: 90px;
    width: 150px;
}
.series .polygon::after {
	background-color: #005CD0;
    clip-path: polygon(0% 0, 80% 0, 100% 100%);
    content: '';
    display: block;
    position: absolute;
    bottom: -7px;
    left: 50%;
    height: 15px;
    width: 20px;
}

@media screen and (max-width: 1520px) {
	.series {
		margin-top: 8vw;
	}
	.series .title-01 {
		margin-bottom: -2vw;
	}
	.series .title-01 span {
		font-size: 5vw;
		margin-top: 2vw;
		padding-left: 26vw;
	}
	.series .title-01 span img {
        left: -2vw;
        top: -2.6vw;
        width: 28vw;
	}

	/** inner **/
	.series .inner {
        border-radius: 3.5vw;
        padding: 7vw 6vw 5vw;
	}

	/** flow **/
	.series .flow {
		margin-bottom: 2vw;
	}
	.series .flow p {
        border-radius: 3vw;
        font-size: 1.7vw;
        padding: .8vw 3.6vw;
	}
	.series .flow p::after {
        border: solid .8vw transparent;
        border-left: solid 1.2vw #005CD0;
        border-right: none;
        right: -1.6vw;
	}

	/** box **/
	.series .box {
        border-radius: 1.4vw;
        margin-bottom: .8vw;
        padding: 1.6vw 2vw;
	}
	.series .box.pr {
		width: 59vw;
	}
	.series .box.site {
        width: 46vw;
	}
	.series .box.siryo {
        width: 46vw;
	}

	.series .box img {
		width: 12.8vw;
	}
	.series .box.siryo img {
		width: 13.8vw;
	}
	.series .box.design img {
		width: 13.6vw;
	}

	.series .box p {
		margin-left: 2vw;
	}

	.series .wpp {
        border: solid 2px #005CD0;
        border-radius: .6vw;
        padding: .6vw 1vw 0;
        left: .8vw;
	}
	.series .wpp p {
        font-size: .96vw;
        margin-bottom: .6vw;
	}
	.series .wpp img {
		width: 21.5vw;
	}

	.series .deco-01 {
        border-radius: 3vw;
        padding: .2vw 1.4vw;
        bottom: 9.85vw;
        left: 6.5vw;
	}
	.series .deco-01 span {
		font-size: 12px;
		left: -5px;
		top: -18px;
	}
	.series .deco-01::before {
        border: solid 1vw transparent;
        border-bottom: none;
        border-top: solid .7vw #005CD0;
        bottom: -.8vw;
	}
	.series .deco-01::after {
		border-bottom: solid 3px #005CD0;
		border-left: solid 3px #005CD0;
        bottom: 1vw;
        left: -3.1vw;
        height: 12vw;
        width: 23vw;
	}
	.series .deco-02 {
		border: solid 2px #005CD0;
        border-radius: 3vw;
        padding: .2vw 1.4vw;
        bottom: 2vw;
        left: 28.6vw;
	}

	.series .balloon {
        bottom: 18vw;
        left: -3vw;
	}
	.series .balloon p {
        font-size: 1.2vw;
        padding: 0 3vw;
	}
	.series .balloon p::before,
	.series .balloon p::after {
        bottom: -1vw;
        height: 5.4vw;
        width: 2px;
	}
	.series .balloon p::before {
		left: 1.4vw;
	}
	.series .balloon p::after {
		right: 1.4vw;
	}

	.series .polygon {
        bottom: 8.3vw;
        left: -1vw;
	}
	.series .polygon p {
        padding-top: 1.3vw;
        height: 7vw;
        width: 12vw;
	}
	.series .polygon::after {
        bottom: -.5vw;
        height: 1.2vw;
        width: 1.8vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.series {
		margin-top: 16vw;
	}
	.series .title-01 {
        margin-bottom: -5vw;
	}
	.series .title-01 span {
        font-size: 10vw;
        margin-top: 3vw;
        padding-left: 40vw;
	}
	.series .title-01 span img {
        left: 0;
        top: -3vw;
        width: 40vw;
	}

	/** inner **/
	.series .inner {
        border-radius: 8vw;
        padding: 14vw 4vw 8vw;
	}

	/** flow **/
	.series .flow {
		margin-bottom: 6vw;
		justify-content: flex-start;
	}
	.series .flow p {
        border-radius: 8vw;
        font-size: 4.2vw;
		margin-bottom: 2vw;
		margin-right: 4vw;
        padding: 1vw 4vw;
	}
	.series .flow p::after {
        border: solid 2vw transparent;
        border-left: solid 3vw #005CD0;
        border-right: none;
        right: -3.5vw;
	}

	/** box **/
	.series .box {
		border-radius: 4vw;
        margin-bottom: 3vw;
        padding: 4vw 4vw;
	}
	.series .box.pr {
		width: 100%;
	}
	.series .box.site {
        width: 100%;
	}
	.series .box.siryo {
        width: 100%;
	}
	.series .box.design {
        margin-top: 26vw;
        width: 100%;
	}

	.series .box img {
        margin-bottom: 3vw;
        width: 38vw;
	}
	.series .box.siryo img {
		width: 48vw;
	}
	.series .box.design img {
		width: 37vw;
	}

	.series .box p {
		margin-left: 0;
	}

	.series .deco-01 {
        border-radius: 8vw;
        display: table;
        margin: 6vw auto 4vw;
        padding: 1vw 4vw;
        position: relative;
        bottom: auto;
        left: auto;
	}
	.series .deco-01 span {
        font-size: 3.2vw;
        left: -2vw;
        top: -5vw;
	}
	.series .deco-01::before {
        border: solid 3vw transparent;
        border-bottom: none;
        border-top: solid 2vw #005CD0;
        bottom: -3vw;
	}
	.series .deco-01::after {
        border-bottom: solid 2px #005CD0;
        border-left: solid 2px #005CD0;
        bottom: 4vw;
        left: -20vw;
        height: 85vw;
        width: 20vw;
	}
	.series .deco-02 {
		border: solid 2px #005CD0;
        border-radius: 8vw;
        padding: 1vw 3vw;
        bottom: 92vw;
        left: 0;
	}

	.series .balloon {
        bottom: 42vw;
        left: 37vw;
	}
	.series .balloon p {
        font-size: 3.4vw;
        padding: 0 3vw;
	}
	.series .balloon p::before,
	.series .balloon p::after {
        bottom: -3vw;
        height: 12vw;
        width: 2px;
	}
	.series .balloon p::before {
		left: 1.4vw;
	}
	.series .balloon p::after {
		right: 1.4vw;
	}
	.series .balloon img {
		width: 24vw;
	}

	.series .polygon {
        bottom: 36vw;
        left: -6vw;
	}
	.series .polygon p {
        padding-top: 2.5vw;
        height: 18vw;
        width: 34vw;
	}
	.series .polygon::after {
        bottom: -1vw;
        height: 3vw;
        width: 4vw;
	}
}


/** -- copyright -- **/
.copyright {
	background-color: #005CD0;
	color: white;
	font-weight: 700;
	padding: 20px 0;
	text-align: center;
	margin-top: 100px;
}

@media screen and (max-width: 1520px) {
	.copyright {
        padding: 1.4vw 0;
        margin-top: 7vw;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	.copyright {
        padding: 4vw 0;
        margin-top: 12vw;
	}
}


/** -- footer -- **/
footer {
	margin-top: 100px;
	position: relative;
}
footer::before {
	background: url(../img/design/bg-1.png) no-repeat center / cover;
	content: '';
	display: block;
	height: 336px;
	width: 100%;
}

@media screen and (max-width: 1520px) {
	footer {
		margin-top: 100px;
	}
	footer::before {
		height: 336px;
	}
}

@media screen and (max-width: 1100px) {
	
}

@media screen and (max-width: 640px) {
	footer {
		margin-top: 8vw;
	}
	footer::before {
		height: 20vw;
	}
}