@charset "utf-8";

/*************** common ***************/
* {
	box-sizing: border-box;
}

body {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	font-size: 18px;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
}

a {
	color: #000;
	text-decoration: none;
}

header #hamburger,
header nav .close {
	display: none;
}

header nav {
	background: rgba(255,255,255,.9);
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 10;
}

header nav ul {
	width: 87%;
	max-width: 1740px;
	height: 120px;
	margin: 0 auto;
	display: flex;
}

header nav ul li {
	display: flex;
	align-items: center;
	white-space: nowrap;
}

header nav ul li:first-child div:nth-child(2) {
	font-size: 20px;
	margin-left: 30px;
}

header nav ul li:first-child div:nth-child(2) span {
	font-size: 40px;
}

header nav ul li:last-child {
	font-size: 20px;
	margin-left: 160px;
	flex-wrap: wrap;
}

header nav ul li:last-child div {
	width: 20%;
	text-align: center;
}

header nav ul li:last-child div:nth-child(n+6) {
	margin-top: -30px;
}

header nav ul li:last-child div a {
	position: relative;
	display: inline-block;
}

header nav ul li:last-child div a::after {
	content: '';
	background: #000;
	width: 96%;
	height: 1px;
	margin: auto;
	position: absolute;
	bottom: -4px;
	left: 0;
	right: 0;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform .3s;
}

main.u-layer h1.sp {
	display: none;
}

main.u-layer h2 {
	font-size: 16px;
	background: url(../images/bg_title_left_01.png) no-repeat top left, url(../images/bg_title_right_01.png) no-repeat top right;
	background-size: auto 100%;
	width: 324px;
	height: 104px;
	margin: 0 auto;
	margin-top: 200px;
	padding-top: 16px;
	text-align: center;
	letter-spacing: -0.04em;
	position: relative;
}

main.u-layer h2::before {
	content: '';
	background: #000;
	width: 80px;
	height: 1px;
	margin: auto;
	display: block;
	position: absolute;
	top: 55%;
	left: 0;
	right: 0;
}

main.u-layer h2 span {
    font-family: 'Baskervville';
    font-size: 24px;
    margin-bottom: 32px;
    display: block;
    letter-spacing: -0.04em;
}

footer {
	padding-top: 40px;
}

footer #f-menu {
	width: 1200px;
	margin: 0 auto;
	display: flex;
}

footer #f-menu li {
	font-size: 16px;
	padding: 0 14px;
}

footer #f-menu li:nth-child(n+2) {
	border-left: #000 1px solid;
}

footer #f-menu li a:hover {
	text-decoration: underline;
	text-underline-position: under;
}

footer .box {
	width: 1020px;
	margin: 60px auto 0;
	display: flex;
}

footer .box .left {
	width: 690px;
	padding-bottom: 30px;
	border-right: #000 1px solid;
}

footer .box .left h3 {
	font-size: 27px;
	position: relative;
}

footer .box .left h3::before {
	content: '';
	background: #000;
	width: 70%;
	height: 1px;
	position: absolute;
	left: 25%;
	top: 50%;
}

footer .box .left ul {
	width: 98%;
	margin-top: 20px;
	display: flex;
	align-items: flex-end;
}

footer .box .left ul li {
	width: calc(100% / 3);
	padding-top: 10px;
	text-align: center;
}

footer .box .left ul li:nth-child(n+2) {
	border-left: #d2d2d2 1px solid;
}

footer .box .left ul li p {
	font-size: 15px;
	padding-top: 10px;
	letter-spacing: -0.05em;
}

footer .box .left ul li .sp {
	display: none;
}

footer .box .right {
	font-size: 15px;
	padding: 36px 0 30px 50px;
}

footer .box .right div {
	padding-left: 18px;
	position: relative;
}

footer .box .right div:nth-child(n+2) {
	margin-top: 20px;
}

footer .box .right div::before {
	content: '';
	background: #000;
	width: 15px;
	height: 1px;
	position: absolute;
	left: 0;
	top: 50%;
}

footer .box .right div:nth-child(2) a {
	pointer-events: none;
}

footer #copy {
	background: url(../images/bg_footer_copy.jpg) repeat-x;
	background-size: auto 100%;
	width: 100%;
	height: 80px;
	margin-top: 40px;
	padding-top: 30px;
	text-align: center;
	position: relative;
}

footer #copy p {
	font-family: 'Baskervville';
}

footer #copy p span {
	font-size: 28px;
}

footer #copy #page-top {
	position: absolute;
	right: 250px;
	top: 30%;
}

footer #copy #page-top a {
	transition: .4s;
}

footer #copy #page-top a:hover {
	opacity: .4;
}

footer #fixed-menu {
	display: none;
}

@media screen and (min-width: 801px) {
	header nav ul li:last-child div a:hover::after {
		transform: scale(1, 1);
	}
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	header nav ul {
		height: 6vw;
	}

	header nav ul li:first-child img {
		width: 9.9vw;
	}

	header nav ul li:first-child div:nth-child(2) {
		font-size: 1vw;
		margin-left: 1.5vw;
	}

	header nav ul li:first-child div:nth-child(2) span {
	    font-size: 2vw;
	}

	header nav ul li:last-child {
		font-size: 1vw;
		margin-left: 8vw;
	}

	header nav ul li:last-child div:nth-child(n+6) {
		margin-top: -1.5vw;
	}

	main.u-layer h2 {
		margin-top: 10vw;
	}

	footer {
		padding-top: 2vw;
	}

	footer #copy #page-top {
		right: 12.5vw;
	}
}

@media screen and (min-width: 801px) and (max-width: 1200px) {
	footer #f-menu {
		width: 100%;
	}

	footer #f-menu li {
		font-size: 1.333vw;
		padding: 0 1.08vw;
	}

	footer #f-menu li:nth-child(n+2) {
		border-left: #000 0.083vw solid;
	}

	footer .box {
		width: 84.167vw;
		margin: 5vw auto 0;
	}

	footer .box .left {
		width: 57.5vw;
		padding-bottom: 2.5vw;
		border-right: #000 0.083vw solid;
	}

	footer .box .left h3 {
		font-size: 2.25vw;
	}

	footer .box .left h3::before {
		height: 0.083vw;
	}

	footer .box .left ul {
		margin-top: 1.667vw;
	}

	footer .box .left ul li {
		padding-top: 0.83vw;
	}

	footer .box .left ul li:nth-child(n+2) {
		border-left: #d2d2d2 0.083vw solid;
	}

	footer .box .left ul li:first-child div img {
		width: 1.917vw;
	}

	footer .box .left ul li:nth-child(2) div img {
		width: 3.5vw;
	}

	footer .box .left ul li:last-child div img {
		width: 2.5vw;
	}

	footer .box .left ul li p {
		font-size: 1.25vw;
		padding-top: 0.83vw;
	}

	footer .box .right {
		font-size: 1.25vw;
		padding: 3vw 0 2.5vw 4.167vw;
	}

	footer .box .right div {
		padding-left: 1.5vw;
	}

	footer .box .right div:nth-child(n+2) {
		margin-top: 1.667vw;
	}

	footer .box .right div::before {
		width: 1.25vw;
		height: 0.083vw;
	}
}

@media screen and (max-width: 800px) {
	header nav {
		background: rgba(255,255,255,.9);
		padding-top: 5vw;
		opacity: 0;
		transition: opacity 1s;
		z-index: -1;
	}

	header nav.open {
		opacity: 100;
	}

	header #hamburger,
	header nav .close {
		display: block;
	}

	header #hamburger {
		position: fixed;
		right: 5vw;
		top: 6.25vw;
		z-index: 100;
	}

	header #hamburger span {
		background: #000;
		width: 6.75vw;
		height: 0.5vw;
		display: block;
		transition: all .5s;
	}

	header #hamburger span:nth-child(n+2) {
		margin-top: 1.75vw;
	}

	header #hamburger.open span:first-child {
		transform: rotate(45deg) translate(1.25vw, 1.25vw);
	}

	header #hamburger.open span:nth-child(2) {
		opacity: 0;
	}

	header #hamburger.open span:last-child {
		transform: rotate(-45deg) translate(1.9vw, -1.9vw);
	}

	header nav ul {
	    width: 100%;
	    height: 100vh;
	    margin-top: 10vw;
	    display: block;
	    overflow-y: auto;
	}

	header nav ul li div {
	    font-size: 4vw;
	    background: url(../images/arrow.png) center right 12.5vw no-repeat;
	    background-size: 1.75vw 3.5vw;
	    width: 100%;
	    transform: translateX(-100%);
	    transition: transform .8s;
	    display: block;
	}

	header nav.open ul li div {
		transform: translateX(0);
	}

	header nav ul li:first-child {
		display: none;
	}

	header nav ul li:last-child {
		margin-left: 0;
	}

	header nav ul li:last-child div {
		width: 100%;
		text-align: left;
	}

	header nav ul li:last-child div:nth-child(n+2) {
		margin-top: 5vw;
	}

	header nav ul li div a {
		width: 100%;
		padding: 3.75vw 10vw;
		display: block;
	}

	main.u-layer h1.sp {
		padding: 2.5vw 0;
		text-align: center;
		display: block;
	}

	main.u-layer h1.sp img {
		width: 34vw;
	}

	main.u-layer h2 {
		font-size: 4.5vw;
		background: url(../images/bg_title_left_01_sp.png) no-repeat top left, url(../images/bg_title_right_01_sp.png) no-repeat top right;
		background-size: auto 100%;
		width: 77vw;
		height: 15.5vw;
		margin-top: 10vw;
		padding-top: 1vw;
	}

	main.u-layer h2::before {
		width: 20vw;
		height: 0.125vw;
		top: 42%;
	}

	main.u-layer h2 span {
		font-size: 4vw;
		margin-bottom: 3.75vw;
	}

	footer {
		margin: 7.5vw 0 20vw;
	    padding-top: 0;
	    border-top: #000 0.5vw solid;
	}

	footer #f-menu {
		display: none;
	}

	footer .box {
	    width: 100%;
	    margin: 0.5vw 0 0 0;
	    border-top: #000 0.25vw solid;
	    flex-wrap: wrap;
	}

	footer .box .left {
		width: 100%;
		padding-bottom: 0;
		border-right: none;
	}

	footer .box .left h3 {
		display: none;
	}

	footer .box .left ul {
	    width: 95%;
	    margin: 5vw auto 0;
	    flex-wrap: wrap;
	}

	footer .box .left ul li {
		width: 100%;
		padding-top: 0;
		text-align: left;
	}

	footer .box .left ul li:first-child {
		display: none;
	}

	footer .box .left ul li:nth-child(n+2) {
		border-left: none;
	}

	footer .box .left ul li:nth-child(n+3) {
		margin-top: 2.5vw;
	}

	footer .box .left ul li a {
		padding: 2.5vw 0;
		border: #009dac 0.5vw solid;
		display: flex;
		align-items: center;
	}

	footer .box .left ul li p {
		font-size: 5vw;
		padding-top: 1.25vw;
	}

	footer .box .left ul li .sp {
		padding-top: 0;
		display: block;
	}

	footer .box .left ul li:nth-child(2) a {
		background: #d0fbff;
	}

	footer .box .left ul li a div:first-child {
		width: 25vw;
		text-align: center;
	}

	footer .box .left ul li a div:first-child img {
		width: 7.5vw;
	}

	footer .box .right {
		font-size: 3.75vw;
		width: 95vw;
		margin: 2.5vw auto 0;
		padding: 0;
		letter-spacing: -0.05em;
	}

	footer .box .right div {
		width: 100%;
		margin: 2.5vw auto 0;
		padding-left: 0;
	}

	footer .box .right div a {
		width: 100%;
		padding: 4vw 0;
		border: #000 0.25vw solid;
		text-align: center;
		display: block;
	}

	footer .box .right div::before {
		width: 0;
	}

	footer .box .right div:nth-child(n+2) {
		margin-top: 2.5vw;
	}

	footer #copy {
	    background: url(../images/bg_footer_copy_sp.jpg) repeat-x;
	    background-size: auto 100%;
	    width: 100%;
	    height: 15vw;
	    margin-top: 10vw;
	    padding-top: 5vw;
	}

	footer #copy p {
		font-size: 3vw;
	}

	footer #copy #page-top {
		display: none;
	}

	footer #copy p span {
		font-size: 4.5vw;
	}

	footer #fixed-menu {
		background: #00acb9;
		width: 100%;
		padding: 1.25vw 0;
		display: flex;
		position: fixed;
		left: auto;
		bottom: 0;
		z-index: 10;
	}

	footer #fixed-menu li {
		width: 25%;
		display: flex;
		align-items: center;
	}

	footer #fixed-menu li:nth-child(n+2) a {
		border-left: #fff 0.25vw solid;
	}

	footer #fixed-menu li a {
		font-size: 3.5vw;
		color: #fff;
		height: 100%;
		width: 100%;
		padding: 2.5vw 0;
		text-align: center;
		display: block;
		line-height: 1.4;
	}

	footer #fixed-menu li:first-child img {
		width: 7vw;
	}

	footer #fixed-menu li:nth-child(2) img {
		width: 4.75vw;
	}

	footer #fixed-menu li:nth-child(3) img {
		width: 6.25vw;
	}

	footer #fixed-menu li:last-child img {
		width: 4.5vw;
	}
}
/*************** /common ***************/

/*************** LINEでかんたんお問い合わせ ***************/
#line {
	width: 800px;
	height: 230px;
	margin: 60px auto 0;
	padding: 0 30px 0 40px;
	border: #009dac 4px solid;
	display: flex;
	align-items: center;
}

#line li:nth-child(2) {
	font-size: 44px;
	padding-left: 30px;
	letter-spacing: -0.05em;
}

#line li:nth-child(2) span {
	font-size: 40px;
	margin-top: 14px;
	display: block;
	letter-spacing: 0;
}

#line li:last-child {
	padding-left: 30px;
}

@media screen and (max-width: 800px) {
	#line {
	    width: 95%;
	    height: auto;
	    margin: 5vw auto 0;
	    padding: 5vw 0;
	    border: #009dac 0.5vw solid;
	    flex-wrap: wrap;
	}

	#line li {
		width: 100%;
		text-align: center;
	}

	#line li:first-child img {
		width: 28.125vw;
	}

	#line li:nth-child(2) {
		font-size: 7.5vw;
		margin-top: 5vw;
		padding-left: 0;
		letter-spacing: 0;
	}

	#line li:nth-child(2) span {
		font-size: 8.75vw;
		margin-top: 2.5vw;
	}

	#line li:last-child {
		display: none;
	}
}
/*************** /LINEでかんたんお問い合わせ ***************/

/*************** top ***************/
#top h2 {
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: -1;
}

#top h2 img {
	width: 100%;
}

#top #scroll {
	background: #fff;
	margin-top: 10px;
	padding-bottom: 10px;
	text-align: center;
	position: relative;
	z-index: -2;
}

#top #scroll img {
	-webkit-animation: fuwafuwa 1.8s infinite linear alternate;
	animation: fuwafuwa 1.8s infinite linear alternate; 
}

@-webkit-keyframes fuwafuwa {
	0% {-webkit-transform:translate(0, 0);}
	50% {-webkit-transform:translate(0, 10px);}
	100% {-webkit-transform:translate(0, 0);} 
}

  @keyframes fuwafuwa {
	0% {transform:translate(0, 0);}
	50% {transform:translate(0, 10px);}
	100% {transform:translate(0, 0);} 
}

#top article {
	background: #fff;
	padding-top: 160px;
	position: relative;
	z-index: 2;
}

#top h3 {
	font-size: 16px;
	height: 104px;
	margin: 0 auto;
	padding-top: 16px;
	text-align: center;
	letter-spacing: -0.04em;
	position: relative;
}

#top h3::before {
	content: '';
	background: #000;
	width: 80px;
	height: 1px;
	margin: auto;
	display: block;
	position: absolute;
	top: 55%;
	left: 0;
	right: 0;
}

#top h3 span {
    font-family: 'Baskervville';
    font-size: 24px;
    margin-bottom: 26px;
    display: block;
    letter-spacing: -0.04em;
}

#top #top-reason {
	background: url(../images/bg_top_reason.jpg) no-repeat;
	background-size: 100%;
	width: 100%;
	max-width: 2000px;
	height: 1250px;
	margin: 0 auto;
}

#top #top-reason h3 {
	background: url(../images/bg_title_left_01.png) no-repeat top left, url(../images/bg_title_right_01.png) no-repeat top right;
	background-size: auto 100%;
	width: 524px;
	height: 104px;
	padding-top: 16px;
}

#top #top-reason h3 span {
	margin-bottom: 36px;
}

#top #top-reason ul {
	width: 100%;
	max-width: 1500px;
	margin: 80px auto 0;
	display: flex;
	flex-wrap: wrap;
}

#top #top-reason ul li {
	width: 360px;
	height: 360px;
	margin-left: 20px;
	padding: 20px;
}

#top #top-reason ul li:first-child {
	background: url(../images/top_reason_01.jpg) no-repeat;
	background-size: 100%;
}

#top #top-reason ul li:nth-child(2) {
	background: url(../images/top_reason_02.jpg) no-repeat;
	background-size: 100%;
}

#top #top-reason ul li:nth-child(3) {
	background: url(../images/top_reason_03.jpg) no-repeat;
	background-size: 100%;
}

#top #top-reason ul li:nth-child(4) {
	background: url(../images/top_reason_04.jpg) no-repeat;
	background-size: 100%;
}

#top #top-reason ul li:nth-child(5) {
	background: url(../images/top_reason_05.jpg) no-repeat;
	background-size: 100%;
}

#top #top-reason ul li:nth-child(6) {
	background: url(../images/top_reason_06.jpg) no-repeat;
	background-size: 100%;
}

#top #top-reason ul li:nth-child(7) {
	background: url(../images/top_reason_07.jpg) no-repeat;
	background-size: 100%;
}

#top #top-reason ul li:last-child {
	background: url(../images/top_reason_08.jpg) no-repeat;
	background-size: 100%;
}

#top #top-reason ul li:nth-child(4n+1) {
	margin-left: 0;
}

#top #top-reason ul li:nth-child(n+5) {
	margin-top: 20px;
}

#top #top-reason ul li .box {
	background: url(../images/top_reason_common.png) no-repeat;
	background-size: 100%;
	width: 320px;
	height: 320px;
	padding-top: 70px;
	text-align: center;
}

#top #top-reason ul li .box .number {
    font-family: 'Pinyon Script';
    font-size: 30px;
}

#top #top-reason ul li .box .number span {
	font-size: 35px;
}

#top #top-reason ul li .box .english {
	font-family: 'Baskervville';
	font-size: 14px;
	margin-top: 14px;
	letter-spacing: 0.1em;
}

#top #top-reason ul li .box .text-01 {
	font-size: 22px;
	margin-top: 30px;
	line-height: 1.4;
	letter-spacing: -0.1em;
}

#top #top-reason ul li .box .text-02 {
	font-size: 28px;
	margin-top: 34px;
	line-height: 1.4;
	letter-spacing: -0.05em;
}

#top #top-about {
	background: url(../images/bg_top_about.jpg) no-repeat top center fixed;
	width: 100%;
	max-width: 2000px;
	height: 960px;
	margin: 40px auto 0;
	padding-top: 120px;
}

#top #top-about h3 {
	background: url(../images/bg_title_left_02.png) no-repeat top left, url(../images/bg_title_right_02.png) no-repeat top right;
	background-size: auto 100%;
	width: 416px;
	height: 135px;
	padding-top: 40px;
}

#top #top-about ul {
	width: 1200px;
	margin: 80px auto 0;
	display: flex;
}

#top #top-about ul li:first-child {
	width: 480px;
	padding: 40px 0 0 10px;
}

#top #top-about ul li:first-child p {
	font-size: 21px;
	padding: 0 0 30px 21px;
	border-bottom: #000 1px solid;
	line-height: 1.4;
	letter-spacing: -0.05em;
	text-indent: -0.7em;
	cursor: pointer;
	position: relative;
}

#top #top-about ul li:last-child {
	margin-left: 30px;
}

#top #top-about ul li:first-child p::before {
	content: '';
	background: url(../images/border.png) no-repeat left bottom;
	background-size: auto 100%;
	width: 0;
	height: 3px;
	position: absolute;
	left: 0;
	bottom: 15px;
	transition: .6s all;
}

#top #top-about ul li:first-child p:hover::before {
	width: 390px;
}

#top #top-about ul li:first-child p:nth-child(n+2) {
	margin-top: 30px;
}

#top #top-about ul li:first-child p span {
	color: #d61429;
}

#top #top-about ul li .sp {
	display: none;
}

#top #top-about ul li div {
	background: url(../images/top_about_right.png) no-repeat;
	background-size: 100%;
	width: 712px;
	height: 571px;
	padding-top: 60px;
	display: none;
}

#top #top-about ul li .display {
	display: block;
}

#top #top-about ul li .part {
	font-family: 'Pinyon Script';
    font-size: 25px;
    text-align: center;
}

#top #top-about ul li .english {
	font-family: 'Baskervville';
	font-size: 9px;
	margin-top: 5px;
	text-align: center;
	letter-spacing: 0.3em;
}

#top #top-about ul li h4 {
	font-size: 30px;
	margin-top: 40px;
	text-align: center;
	line-height: 1.3;
}

#top #top-about ul li h4 span {
	color: #d61429;
}

#top #top-about ul li .text-01 {
	font-size: 17px;
	margin-top: 50px;
	padding-left: 134px;
	line-height: 1.8;
}

#top #top-about ul li .text-01 .sp {
	display: none;
}

#top #top-about ul li .text-01 span {
	color: #d61429;
}

#top #top-contact {
	margin-top: 200px;
	padding: 60px 0 200px;
	position: relative;
}

#top #top-contact::before {
	content: '';
	background: url(../images/bg_top_contact.png) repeat-x;
	background-size: 2000px 100%;
	width: 100%;
	height: 10px;
	position: absolute;
	top: 0;
	left: 0;
}

#top #top-contact::after {
	content: '';
	background: url(../images/bg_top_contact.png) repeat-x;
	background-size: 2000px 100%;
	width: 100%;
	height: 10px;
	position: absolute;
	bottom: 0;
	left: 0;
}

#top #top-contact h3 {
	background: url(../images/bg_title_left_01.png) no-repeat top left, url(../images/bg_title_right_01.png) no-repeat top right;
	background-size: auto 100%;
	width: 324px;
}

#top #top-contact h3 span {
	margin-bottom: 34px;
}

#top #top-contact .sub-title {
	font-size: 15px;
	margin-top: 50px;
	text-align: center;
}

#top #top-contact .sub-title span {
	font-family: 'Pinyon Script';
	font-size: 24px;
}

#top #top-contact form dl {
	width: 920px;
	margin: 30px auto 0;
	display: flex;
	flex-wrap: wrap;
}

#top #top-contact form dl dt {
	width: 350px;
	text-align: center;
	position: relative;
}

#top #top-contact form dl#middle dt:first-of-type {
	line-height: 1.4;
}

#top #top-contact form dl#middle dt:last-of-type {
	padding-top: 12px;
}

#top #top-contact form dl#upper dt {
	padding-top: 12px;
}

#top #top-contact form dl dt:nth-of-type(n+2),
#top #top-contact form dl dd:nth-of-type(n+2) {
	margin-top: 20px;
}

#top #top-contact form dl dt span {
	font-size: 12px;
	color: #fff;
	background: #bc0721;
	padding: 6px 10px;
	border-radius: 10%;
	position: absolute;
	top: 8px;
	right: 0;
}

#top #top-contact form dl dd {
	width: 570px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

#top #top-contact form dl#bottom dd/*,
#top #top-contact form dl#middle dd:last-of-type*/ {
	padding-left: 20px;
}

#top #top-contact form dl dd ul {
	color: #f00;
	margin: 10px 0 0 20px;
}

#top #top-contact form dl dd .attention {
	font-size: 16px;
	color: #c02035;
	margin-top: 10px;
	padding-left: 80px;
}

#top #top-contact form dl dd input[type="text"],
#top #top-contact form dl dd input[type="tel"],
#top #top-contact form dl dd input[type="e-mail"] {
	font-size: 16px;
	background: none;
	background-image: -webkit-linear-gradient(left, #FFFFFF, #FFFFFF);
	width: 500px;
	height: 40px;
	margin-left: 20px;
	padding: 0 0 0 10px;
	border: none;
	border-left: #ccc 2px solid;
	border-top: #ccc 2px solid;
	border-radius: 0;
	outline: none;
}

#top #top-contact form dl dd select {
	font-size: 16px;
	background: url(../images/pulldown.jpg) no-repeat top right;
	background-size: 4% 100%;
	width: 500px;
	height: 40px;
	margin-left: 20px;
	padding: 0 0 0 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-left: #ccc 2px solid;
	border-top: #ccc 2px solid;
	border-radius: 0;
	outline: none;
	cursor: pointer;
}

#top #top-contact form dl dd input[type="checkbox"] {
	display: none;
}

#top #top-contact form dl dd input[type="checkbox"] + label {
	padding: 3px 0 0 35px;
	display: block;
	position: relative;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

#top #top-contact form dl dd input[type="checkbox"] + label:nth-child(n+3) {
	margin-left: 20px;
}

#top #top-contact form dl dd input[type="checkbox"] + label::before {
	content: '';
	width: 20px;
	height: 20px;
	border: 1px solid #bc0721;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	opacity: .6;
	-webkit-transition: all .12s, border-color .08s;
	transition: all .12s, border-color .08s;
}

#top #top-contact form dl dd input[type="checkbox"]:checked + label::before {
	width: 10px;
	border-radius: 0;
	top: -5px;
	left: 5px;
	opacity: 1;
	border-top-color: transparent;
	border-left-color: transparent;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#top #top-contact form dl dd textarea {
	font-size: 16px;
	background: transparent;
	width: 500px;
	height: 300px;
	padding: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-left: #ccc 2px solid;
	border-top: #ccc 2px solid;
	border-radius: 0;
	resize: none;
	outline: none;
}

#top #top-contact form input[type="submit"] {
	display: none;
}

#top #top-contact form input[type="submit"] + label {
	width: 400px;
	height: 50px;
	margin: 80px auto 0;
	padding-top: 16px;
	border: #000 1px solid;
	text-align: center;
	display: block;
	cursor: pointer;
	transition: color .6s, background .6s;
}

#top #top-contact form input[type="submit"] + label:hover {
	color: #fff;
	background: #000;
}

#top #top-contact form input[type="submit"] + label span {
	font-family: 'Baskervville';
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	#top article {
		padding-top: 8vw;
	}
}

@media screen and (min-width: 1001px) and (max-width: 1520px) {
	#top #top-reason {
		height: 82.237vw;
	}

	#top #top-reason ul {
		margin: 5.263vw auto 0;
		justify-content: center;
	}

	#top #top-reason ul li {
		width: 23.6vw;
		height: 23.6vw;
		padding: 1.316vw;
		margin-left: 1.3vw;
	}

	#top #top-reason ul li:nth-child(4n+1) {
		margin-left: 0;
	}

	#top #top-reason ul li:nth-child(n+5) {
		margin-top: 1.3vw;
	}

	#top #top-reason ul li .box {
		width: 21.053vw;
		height: 21.053vw;
		padding-top: 4.605vw;
	}

	#top #top-reason ul li .box .number {
	    font-size: 1.974vw;
	}

	#top #top-reason ul li .box .number span {
		font-size: 2.303vw;
	}

	#top #top-reason ul li .box .english {
		font-size: 0.921vw;
		margin-top: 0.921vw;
	}

	#top #top-reason ul li .box .text-01 {
		font-size: 1.447vw;
		margin-top: 2vw;
	}

	#top #top-reason ul li .box .text-02 {
		font-size: 1.842vw;
		margin-top: 2.237vw;
	}
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
	#top #top-reason {
		background: url(../images/bg_top_reason.jpg) repeat-y;
		height: 1900px;
		padding-top: 16vw;
	}

	#top #top-reason ul {
		max-width: 740px;
	}

	#top #top-reason ul li:nth-child(2n+1) {
		margin-left: 0;
	}

	#top #top-reason ul li:nth-child(n+3) {
		margin-top: 20px;
	}
}

@media screen and (min-width: 801px) and (max-width: 1200px) {
	#top #top-about {
		height: 80vw;
		margin: 3.333vw auto 0;
		padding-top: 10vw;
	}

	#top #top-about ul {
		width: 100%;
		margin-top: 6.667vw;
	}

	#top #top-about ul li:first-child {
		width: 40vw;
		padding: 3.333vw 0 0 0.833vw;
	}

	#top #top-about ul li:last-child {
		margin-left: 2.5vw;
	}

	#top #top-about ul li:first-child p {
		font-size: 1.75vw;
		padding: 0 0 2.5vw 1.75vw;
		border-bottom: #000 0.083vw solid;
	}

	#top #top-about ul li:first-child p::before {
		height: 0.25vw;
		bottom: 1.25vw;
	}

	#top #top-about ul li:first-child p:hover::before {
		width: 32.5vw;
	}

	#top #top-about ul li:first-child p:nth-child(n+2) {
		margin-top: 2.5vw;
	}

	#top #top-about ul li:last-child div {
		width: 59.333vw;
		height: 47.583vw;
		padding-top: 5vw;
	}

	#top #top-about ul li .part {
	    font-size: 2.083vw;
	}

	#top #top-about ul li .english {
		font-size: 0.75vw;
		margin-top: 0.417vw;
	}

	#top #top-about ul li h4 {
		font-size: 2.5vw;
		margin-top: 3.333vw;
	}

	#top #top-about ul li .text-01 {
		font-size: 1.417vw;
		margin-top: 4.167vw;
		padding-left: 11.167vw;
	}
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
	#top #top-contact {
		margin-top: 20vw;
		padding: 6vw 0 20vw;
	}

	#top #top-contact .sub-title {
		font-size: 1.5vw;
		margin-top: 5vw;
	}

	#top #top-contact .sub-title span {
		font-size: 2.4vw;
	}

	#top #top-contact form dl {
		width: 92vw;
		margin: 3vw auto 0;
	}

	#top #top-contact form dl dt {
		width: 35vw;
	}

	#top #top-contact form dl#upper dt {
		padding-top: 1.2vw;
	}

	#top #top-contact form dl#middle dt:last-of-type {
		padding-top: 1.2vw
	}

	#top #top-contact form dl dt:nth-of-type(n+2),
	#top #top-contact form dl dd:nth-of-type(n+2) {
		margin-top: 2vw;
	}

	#top #top-contact form dl dt span {
		font-size: 1.2vw;
		padding: 0.6vw 1vw;
		top: 0.8vw;
	}

	#top #top-contact form dl dd {
		width: 57vw;
	}

	#top #top-contact form dl#bottom dd/*,
	#top #top-contact form dl#middle dd:last-of-type*/ {
		padding-left: 2vw;
	}

	#top #top-contact form dl dd .attention {
		font-size: 1.6vw;
		margin-top: 1vw;
		padding-left: 8vw;
	}

	#top #top-contact form dl dd input[type="text"],
	#top #top-contact form dl dd input[type="tel"],
	#top #top-contact form dl dd input[type="e-mail"] {
		font-size: 1.6vw;
		width: 50vw;
		height: 4vw;
		margin-left: 2vw;
		padding-left: 1vw;
		border-left: #ccc 0.2vw solid;
		border-top: #ccc 0.2vw solid;
	}

	#top #top-contact form dl dd select {
		font-size: 1.6vw;
		width: 50vw;
		height: 4vw;
		margin-left: 2vw;
		padding-left: 1vw;
		border-left: #ccc 0.2vw solid;
		border-left: #ccc 0.2vw solid;
	}

	#top #top-contact form dl dd input[type="checkbox"] + label {
		padding: 3px 0 0 35px;
		display: block;
		position: relative;
		cursor: pointer;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
	}

	#top #top-contact form dl dd input[type="checkbox"] + label:nth-child(n+3) {
		margin-left: 2vw;
	}

	#top #top-contact form dl dd input[type="checkbox"] + label::before {
		content: '';
		width: 2vw;
		height: 2vw;
		border: 1px solid #bc0721;
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		opacity: .6;
		-webkit-transition: all .12s, border-color .08s;
		transition: all .12s, border-color .08s;
	}

	#top #top-contact form dl dd input[type="checkbox"]:checked + label::before {
		width: 1vw;
		border-radius: 0;
		top: -5px;
		left: 5px;
		opacity: 1;
		border-top-color: transparent;
		border-left-color: transparent;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#top #top-contact form dl dd textarea {
		width: 50vw;
		height: 30vw;
		padding: 1vw;
		border-left: #ccc 0.2vw solid;
		border-top: #ccc 0.2vw solid;
	}

	#top #top-contact form input[type="submit"] + label {
		font-size: 1.8vw;
		width: 40vw;
		height: 5vw;
		margin: 8vw auto 0;
		padding-top: 1.6vw;
		border: #000 0.1vw solid;
	}
}

@media screen and (max-width: 800px) {
	#top h2 {
		display: flex;
	}

	#top #scroll {
		margin-top: 3.75vw;
		padding-bottom: 3.75vw;
	}

	#top #scroll img {
		width: 12.5vw;
	}

	#top article {
		padding-top: 0;
	}

	#top h3 {
		font-size: 4.5vw;
		height: 15.5vw;
		padding-top: 2vw;
	}

	#top h3::before {
	    width: 20vw;
	    height: 0.25vw;
	    top: 50%;
	}

	#top h3 span {
		font-size: 4vw;
		margin-bottom: 3.25vw;
	}

	#top #top-reason {
		background: #fff;
		height: inherit;
		padding-top: 5vw;
	}

	#top #top-reason h3 {
		font-size: 4vw;
	    background: url(../images/bg_title_left_01_sp.png) no-repeat top left, url(../images/bg_title_right_01_sp.png) no-repeat top right;
	    background-size: auto 100%;
	    width: 87.5vw;
	    height: 15.5vw;
	    padding-top: 2.5vw;
	}

	#top #top-reason h3 span {
		margin-bottom: 3vw;
	}

	#top #top-reason ul {
		width: 100%;
		margin-top: 10vw;
		flex-wrap: wrap;
	}

	#top #top-reason ul li {
	    width: 100vw;
	    height: 100vw;
	    padding: 5vw;
	}

    #top #top-reason ul li:nth-child(n+2) {
    	margin: 5vw 0 0 0;
    }

    #top #top-reason ul li .box {
	    background: url(../images/top_reason_common_sp.png) no-repeat;
	    background-size: 100%;
	    width: 90vw;
	    height: 90vw;
	    padding-top: 20vw;
	}

	#top #top-reason ul li .box .number {
		font-size: 8vw;
	}

	#top #top-reason ul li .box .number span {
		font-size: 9.5vw;
	}

	#top #top-reason ul li .box .english {
	    font-size: 4vw;
	    margin-top: 3.75vw;
	}

	#top #top-reason ul li .box .text-01 {
	    font-size: 6vw;
	    margin-top: 8.75vw;
	    letter-spacing: -0.07em;
	}

	#top #top-reason ul li .box .text-02 {
	    font-size: 8vw;
	    margin-top: 7.5vw;
	}

	#top #top-reason ul li .box .text-02 span {
		font-size: 8vw;
	}

	#top #top-about {
	    background: url(../images/bg_top_about_sp.jpg) no-repeat top center fixed;
	    height: inherit;
	    margin: 5vw auto 0;
	    padding: 10vw 0 5vw;
	}

	#top #top-about h3 {
	    background: url(../images/bg_title_left_02_sp.png) no-repeat top left, url(../images/bg_title_right_02_sp.png) no-repeat top right;
	    background-size: auto 100%;
	    width: 76.75vw;
	    height: 15.5vw;
	    padding-top: 2.25vw;
	}

	#top #top-about ul {
	    width: 95%;
	    margin: 10vw auto 0;
	}

	#top #top-about ul li {
		position: relative;
	}

	#top #top-about ul li:first-child {
		display: none;
	}

	#top #top-about ul li:last-child {
		margin-left: 0;
	}

	#top #top-about ul li p.sp {
		font-size: 5vw;
		text-align: center;
		letter-spacing: -0.05em;
		display: block;
	}

	#top #top-about ul li p.sp:nth-of-type(n+2) {
		margin-top: 10vw;
	}

	#top #top-about ul li div {
    	background: url(../images/top_about_right_sp.png) no-repeat;
	    background-size: 100%;
	    width: 95vw;
	    height: 137vw;
	    margin-top: 3.75vw;
	    padding-top: 7.5vw;
	    display: block;
	}

	#top #top-about ul li .part {
		font-size: 6vw;
	}

	#top #top-about ul li .english {
	    font-size: 2vw;
	    margin-top: 1.75vw;
	}

	#top #top-about ul li h4 {
	    font-size: 5vw;
	    margin-top: 5vw;
	    letter-spacing: -0.05em;
	}

	#top #top-about ul li .text-01 {
	    font-size: 4.5vw;
	    margin-top: 10vw;
	    padding-left: 0;
	    text-align: center;
	    line-height: 1.4;
	    letter-spacing: -0.08em;
	}

	#top #top-about ul li .text-01 .sp {
		display: inline-block;
	}

	#top #top-contact {
	    margin-top: 10vw;
	    padding: 10vw 0;
	}

	#top #top-contact::before,
	#top #top-contact::after {
		content: '';
		background: url(../images/bg_top_contact_sp.png) repeat-x;
		background-size: 100%;
		width: 100%;
		height: 2.5vw;
	}

	#top #top-contact h3 {
	    background: url(../images/bg_title_left_01_sp.png) no-repeat top left, url(../images/bg_title_right_01_sp.png) no-repeat top right;
	    background-size: auto 100%;
	    width: 77vw;
	}

	#top #top-contact h3 span {
		margin-bottom: 3.75vw;
	}

	#top #top-contact .sub-title {
	    font-size: 4vw;
	    margin-top: 10vw;
	    letter-spacing: -0.05em;
	}

	#top #top-contact .sub-title span {
		font-size: 6vw;
	}

	#top #top-contact form dl {
	    width: 95%;
	    margin: 7.5vw auto 0;
	}

	#top #top-contact form dl dt {
		font-size: 4.5vw;
		width: 100%;
		padding: 0 0 0 2.5vw;
		text-align: left;
	}

	#top #top-contact form dl#upper dt {
		padding: 0 0 0 2.5vw;
	}

	#top #top-contact form dl#bottom dt:nth-of-type(n+2) {
		margin-top: 5vw;
	}

	#top #top-contact form dl dt span {
	    font-size: 3vw;
	    padding: 0.375vw 0.625vw;
	    vertical-align: top;
	    position: relative;
	    top: 0.65vw;
	}

	#top #top-contact form dl dd {
		width: 100%;
		margin-top: 1.25vw;
	}

	#top #top-contact form dl#bottom dd {
		font-size: 4vw;
		margin-top: 2.5vw;
		padding-left: 7.5vw;
	}

	#top #top-contact form dl#bottom dd:nth-of-type(n+2) {
		padding-left: 0;
	}

	#top #top-contact form dl dd ul {
		font-size: 4.5vw;
		color: #f00;
		margin: 1.25vw 0 0 0;
	}

	#top #top-contact form dl dd .attention {
		font-size: 4vw;
		margin: 2.5vw 0;
		padding-left: 2.5vw;
	}

	#top #top-contact form dl dd input[type="text"],
	#top #top-contact form dl dd input[type="tel"],
	#top #top-contact form dl dd input[type="e-mail"] {
		width: 100%;
		height: 12.5vw;
		margin-left: 0;
		border-left: #ccc 0.25vw solid;
		border-top: #ccc 0.25vw solid;
	}

	#top #top-contact form dl dd select {
		background: url(../images/pulldown_sp.jpg) no-repeat top right;
		background-size: 4% 100%;
		width: 100%;
		height: 12.5vw;
		margin-left: 0;
		padding: 0 0 0 10px;
		border-left: #ccc 0.25vw solid;
		border-top: #ccc 0.25vw solid;
	}

	#top #top-contact form dl dd input[type="checkbox"] + label {
		width: 100%;
		padding: 0.6vw 0 0 7.5vw;
	}

	#top #top-contact form dl dd input[type="checkbox"] + label:nth-child(n+3) {
		margin: 2.5vw 0 0 0;
	}

	#top #top-contact form dl dd input[type="checkbox"] + label::before {
		content: '';
		width: 5vw;
		height: 5vw;
		border: #bc0721 0.25vw solid;
	}

	#top #top-contact form dl dd input[type="checkbox"]:checked + label::before {
		width: 2.5vw;
		top: -1.25vw;
		left: 1.25vw;
	}

	#top #top-contact form dl dd textarea {
		width: 100%;
		height: 62.5vw;
		border-left: #ccc 0.25vw solid;
		border-top: #ccc 0.25vw solid;
	}

	#top #top-contact form input[type="submit"] + label {
		font-size: 4.5vw;
	    width: 95vw;
	    height: 12.5vw;
	    margin-top: 5vw;
	    padding-top: 4vw;
	    border: #000 0.25vw solid;
	}
}

/*************** /top ***************/

/*************** beginner ***************/
#beginner #beginner-first ul {
	width: 100%;
	max-width: 2000px;
	height: 800px;
	margin: 0 auto;
	padding-top: 80px;
	display: flex;
	justify-content: center;
}

#beginner #beginner-first ul:first-child {
	background: url(../images/bg_beginner_first_01.png) no-repeat;
	margin-top: 80px;
}

#beginner #beginner-first ul:nth-child(2) {
	background: url(../images/bg_beginner_first_02.png) no-repeat;
}

#beginner #beginner-first ul:last-child {
	background: url(../images/bg_beginner_first_03.png) no-repeat;
	margin-top: 240px;
}

#beginner #beginner-first ul li:first-child {
	width: 800px;
}

#beginner #beginner-first ul li:last-child {
	margin-left: 30px;
}

#beginner #beginner-first ul li h4 {
	font-size: 50px;
	line-height: 1.2;
	letter-spacing: -0.05em;
}

#beginner #beginner-first ul:nth-child(2) li h4 {
	letter-spacing: -0.168em;
}

#beginner #beginner-first ul li .box {
	background: #fff;
	margin-top: 30px;
	padding: 30px;
}

#beginner #beginner-first ul li .box .number {
	font-family: 'Pinyon Script';
	font-size: 54px;
	position: relative;
}

#beginner #beginner-first ul li .box .number::before {
	content: '';
	background: #000;
	width: 35%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
}

#beginner #beginner-first ul li .box .text {
	font-size: 24px;
	margin-top: 40px;
	line-height: 1.7;
	letter-spacing: -0.1em;
}

#beginner #beginner-first ul li .box .text .pc {
	display: block;
}

#beginner #about-salary {
	background: url(../images/bg_beginner_about_salary.png) no-repeat;
	background-attachment: fixed;
	height: 1000px;
	padding: 60px 0;
}

#beginner #about-salary h3 {
	font-size: 40px;
	text-align: center;
}

#beginner #about-salary h3 span {
	font-family: 'Baskervville';
	font-size: 22px;
}

#beginner #about-salary h4 {
	font-size: 80px;
	margin-top: 60px;
	text-align: center;
}

#beginner #about-salary h4 .small {
	font-size: 60px;
}

#beginner #about-salary h4 .big {
	font-size: 100px;
}

#beginner #about-salary h4 .sp {
	display: none;
}

#beginner #about-salary .box {
	font-size: 24px;
	background: #fff;
	width: 1000px;
	margin: 40px auto 0;
	padding: 60px 0 60px 80px;
	line-height: 2;
	letter-spacing: -0.1em;
}

#beginner #about-salary .btn-more {
	width: 600px;
	height: 100px;
	margin: 60px auto 0;
}

#beginner #about-salary .btn-more a {
	font-size: 24px;
	color: #000;
	background: #fff;
	width: 100%;
	height: 100%;
	padding-top: 35px;
	border: #ffa8a5 4px solid;
	text-align: center;
	letter-spacing: -0.1em;
	display: block;
	transition: all .5s;
}

#beginner #about-salary .btn-more a .sp {
	display: none;
}

#beginner #about-salary .btn-more a:hover {
	background: #9af2ff;
	border: #9af2ff 4px solid;
}

#beginner #reliable-shop {
	padding: 60px 0;
}

#beginner #reliable-shop h3 {
	font-size: 40px;
	text-align: center;
}

#beginner #reliable-shop h3 span {
	font-family: 'Baskervville';
	font-size: 22px;
}

#beginner #reliable-shop ul {
	width: 1240px;
	margin: 60px auto 0;
	display: flex;
}

#beginner #reliable-shop ul li:last-child {
	margin-left: 40px;
}

#beginner #reliable-shop ul li h4 {
	font-size: 40px;
	margin-top: 30px;
	padding-left: 30px;
	position: relative;
}

#beginner #reliable-shop ul li h4::before {
	content: '';
	background: #000;
	height: 40px;
	width: 2px;
	position: absolute;
	left: 0;
	top: 0;
}

#beginner #reliable-shop ul li p {
	font-size: 24px;
	margin-top: 30px;
	line-height: 1.6;
	letter-spacing: -0.1em;
}

#beginner #treatment {
	background: #f8f8f8;
	padding: 60px 0;
}

#beginner #treatment h3 {
	font-size: 40px;
	text-align: center;
}

#beginner #treatment h3 span {
	font-family: 'Baskervville';
	font-size: 22px;
}

#beginner #treatment ul {
	width: 1240px;
	margin: 40px auto 0;
	display: flex;
}

#beginner #treatment ul li {
	width: 400px;
}

#beginner #treatment ul li:nth-child(n+2) {
	margin-left: 20px;
}

#beginner #treatment ul li h4 {
	font-size: 28px;
	height: 400px;
	padding-top: 240px;
	text-align: center;
	line-height: 1.2;
}

#beginner #treatment ul li:first-child h4 {
	background: url(../images/bg_beginner_treatment_01.jpg) no-repeat;
}

#beginner #treatment ul li:nth-child(2) h4 {
	background: url(../images/bg_beginner_treatment_02.jpg) no-repeat;
}

#beginner #treatment ul li:last-child h4 {
	background: url(../images/bg_beginner_treatment_03.jpg) no-repeat;
}

#beginner #treatment ul li p {
	font-size: 22px;
	background: #fff;
	height: 550px;
	padding: 60px 20px 20px;
	line-height: 1.8;
	letter-spacing: -0.05em;
}

#beginner #treatment ul li p span {
	font-size: 28px;
	margin-bottom: 60px;
	text-align: center;
	line-height: 1.3;
	letter-spacing: -0.1em;
	display: block;
}

#beginner #treatment ul li:last-child p span {
	margin-bottom: 24px;
}

@media screen and (min-width: 801px) and (max-width: 1300px) {
	#beginner #beginner-first ul {
		height: 61.538vw;
		padding-top: 6.154vw;
	}

	#beginner #beginner-first ul:first-child {
		background-size: 153.846%;
		margin-top: 6.154vw;
	}

	#beginner #beginner-first ul:nth-child(2) {
		background-size: 153.846%;
	}

	#beginner #beginner-first ul:last-child {
		background-size: 153.846%;
		margin-top: 18.462vw;
	}

	#beginner #beginner-first ul li:first-child {
		width: 61.538vw;
	}

	#beginner #beginner-first ul li:last-child {
		margin-left: 2.308vw;
	}

	#beginner #beginner-first ul li:last-child img {
		width: 30.769vw;
	}

	#beginner #beginner-first ul li h4 {
		font-size: 3.846vw;
	}

	#beginner #beginner-first ul li .box {
		margin-top: 2.308vw;
		padding: 2.308vw;
	}

	#beginner #beginner-first ul li .box .number {
		font-size: 4.153vw;
	}

	#beginner #beginner-first ul li .box .number::before {
		height: 0.077vw;
	}

	#beginner #beginner-first ul li .box .text {
		font-size: 1.846vw;
		margin-top: 3.077vw;
	}

	#beginner #about-salary {
		height: 76.923vw;
		padding: 4.615vw 0;
	}

	#beginner #about-salary h3 {
		font-size: 3.077vw;
	}

	#beginner #about-salary h3 span {
		font-size: 1.692vw;
	}

	#beginner #about-salary h4 {
		font-size: 6.154vw;
		margin-top: 4.615vw;
	}

	#beginner #about-salary h4 .small {
		font-size: 4.615vw;
	}

	#beginner #about-salary h4 .big {
		font-size: 7.692vw;
	}

	#beginner #about-salary .box {
		font-size: 1.846vw;
		width: 76.923vw;
		margin: 3.077vw auto 0;
		padding: 4.615vw 0 4.615vw 6.154vw;
	}

	#beginner #about-salary .btn-more {
		width: 46.16vw;
		height: 7.692vw;
		margin: 4.615vw auto 0;
	}

	#beginner #about-salary .btn-more a {
		font-size: 1.846vw;
		padding-top: 2.692vw;
		border: #ffa8a5 0.307vw solid;
	}

	#beginner #about-salary .btn-more a:hover {
		border: #9af2ff 0.307vw solid;
	}

	#beginner #reliable-shop {
		padding: 4.615vw 0;
	}

	#beginner #reliable-shop h3 {
		font-size: 3.077vw;
	}

	#beginner #reliable-shop h3 span {
		font-size: 1.692vw;
	}

	#beginner #reliable-shop ul {
		width: 95.385vw;
		margin: 4.615vw auto 0;
	}

	#beginner #reliable-shop ul li:last-child {
		margin-left: 3.077vw;
	}

	#beginner #reliable-shop ul li img {
		width: 46.154vw;
	}

	#beginner #reliable-shop ul li h4 {
		font-size: 3.077vw;
		margin-top: 2.308vw;
		padding-left: 2.308vw;
	}

	#beginner #reliable-shop ul li h4::before {
		height: 3.077vw;
		width: 0.154vw;
	}

	#beginner #reliable-shop ul li p {
		font-size: 1.846vw;
		margin-top: 2.308vw;
	}

	#beginner #treatment {
		padding: 4.615vw 0;
	}

	#beginner #treatment h3 {
		font-size: 3.077vw;
	}

	#beginner #treatment h3 span {
		font-size: 1.692vw;
	}

	#beginner #treatment ul {
		width: 95.385vw;
		margin: 3.077vw auto 0;
	}

	#beginner #treatment ul li {
		width: 30.769vw;
	}

	#beginner #treatment ul li:nth-child(n+2) {
		margin-left: 1.538vw;
	}

	#beginner #treatment ul li h4 {
		font-size: 2.154vw;
		height: 30.769vw;
		padding-top: 18.462vw;
	}

	#beginner #treatment ul li:first-child h4,
	#beginner #treatment ul li:nth-child(2) h4,
	#beginner #treatment ul li:last-child h4 {
		background-size: 100%;
	}

	#beginner #treatment ul li p {
		font-size: 1.692vw;
		height: 42.308vw;
		padding: 1.538vw;
	}

	#beginner #treatment ul li p span {
		font-size: 2.154vw;
		margin-bottom: 4.615vw;
	}

	#beginner #treatment ul li:last-child p span {
		margin-bottom: 1.846vw;
	}
}

@media screen and (max-width: 800px) {
	#beginner #beginner-first ul {
		padding-top: 0;
		flex-wrap: wrap;
	}

	#beginner #beginner-first ul:first-child {
		background: url(../images/bg_beginner_first_01_sp.png) no-repeat;
		background-size: 100%;
		height: 167.5vw;
		margin-top: 10vw;
	}

	#beginner #beginner-first ul:nth-child(2) {
		background: url(../images/bg_beginner_first_02_sp.png) no-repeat;
		background-size: 100%;
		height: 225vw;
		margin-top: 10vw;
	}

	#beginner #beginner-first ul:last-child {
		background: url(../images/bg_beginner_first_03_sp.png) no-repeat;
		background-size: 100%;
		height: 195vw;
		margin-top: 20vw;
	}

	#beginner #beginner-first ul li {
		width: 100%;
	}

	#beginner #beginner-first ul li:first-child {
		width: 100%;
		margin-top: 6.25vw;
		order: 2;
	}

	#beginner #beginner-first ul li:last-child {
		margin-left: 0;
		padding-top: 7.5vw;
		text-align: center;
		order: 1;
	}

	#beginner #beginner-first ul li:last-child img {
		width: 75vw;
	}

	#beginner #beginner-first ul li h4 {
		font-size: 7vw;
		text-align: center;
	}

	#beginner #beginner-first ul li .box {
		width: 95%;
		margin: 3.75vw auto 0;
		padding: 6.25vw 3.75vw;
	}

	#beginner #beginner-first ul li .box .number {
		font-size: 6.5vw;
	}

	#beginner #beginner-first ul li .box .text {
		font-size: 4.5vw;
		margin-top: 3.75vw;
		line-height: 1.4;
		letter-spacing: -0.14em;
	}

	#beginner #beginner-first ul li .box .text .pc {
		display: none;
	}

	#beginner #about-salary {
		background: url(../images/bg_beginner_about_salary_sp.png) no-repeat;
		height: 200vw;
		padding-top: 15vw;
	}

	#beginner #about-salary h3 {
		font-size: 7.5vw
	}

	#beginner #about-salary h3 span {
		font-size: 4.5vw;
		letter-spacing: 0.15em;
	}

	#beginner #about-salary h4 {
		font-size: 8.75vw;
		width: 90%;
		margin: 7.5vw auto 0;
		text-align: left;
		line-height: 1.1;
	}

	#beginner #about-salary h4 .sp {
		display: inline-block;
	}

	#beginner #about-salary h4  .small {
		font-size: 7.5vw;
	}

	#beginner #about-salary h4  .big {
		font-size: 15vw;
	}

	#beginner #about-salary .box {
		font-size: 4.5vw;
		width: 95%;
		margin-top: 5vw;
		padding: 5vw 3.75vw;
		line-height: 1.4;
	}

	#beginner #about-salary .btn-more {
	    width: 95%;
	    height: 20vw;
	    margin: 8.75vw auto 0;
	}

	#beginner #about-salary .btn-more a {
		font-size: 4.5vw;
		padding-top: 3.2vw;
		line-height: 1.4;
		letter-spacing: 1;
	}

	#beginner #about-salary .btn-more a .sp {
		display: inline-block;
	}

	#beginner #reliable-shop {
		padding: 7.5vw 0;
	}

	#beginner #reliable-shop h3 {
		font-size: 7.5vw
	}

	#beginner #reliable-shop h3 span {
		font-size: 4.5vw;
		letter-spacing: 0.15em;
	}

	#beginner #reliable-shop ul {
		width: 95%;
		margin-top: 8.75vw;
		flex-wrap: wrap;
	}

	#beginner #reliable-shop ul li img {
		width: 100%;
	}

	#beginner #reliable-shop ul li h4 {
		font-size: 7.5vw;
		margin-top: 7.5vw;
	}

	#beginner #reliable-shop ul li h4::before {
		width: 0.25vw;
		height: 7.5vw;
	}

	#beginner #reliable-shop ul li p {
		font-size: 4.5vw;
		margin-top: 5vw;
	}

	#beginner #reliable-shop ul li:last-child {
		margin: 7.5vw 0 0 0;
	}

	#beginner #treatment {
		padding: 10vw 0;
	}

	#beginner #treatment h3 {
		font-size: 7.5vw
	}

	#beginner #treatment h3 span {
		font-size: 4.5vw;
		letter-spacing: 0.15em;
	}

	#beginner #treatment ul {
		width: 100%;
		flex-wrap: wrap;
	}

	#beginner #treatment ul li {
		width: 100%;
	}

	#beginner #treatment ul li:nth-child(n+2) {
		margin-left: 0;
	}

	#beginner #treatment ul li h4 {
		font-size: 6vw;
		height: 100vw;
		padding-top: 60vw;
	}

	#beginner #treatment ul li:first-child h4 {
		background: url(../images/bg_beginner_treatment_01_sp.jpg) no-repeat;
		background-size: 100%;
	}

	#beginner #treatment ul li:nth-child(2) h4 {
		background: url(../images/bg_beginner_treatment_02_sp.jpg) no-repeat;
		background-size: 100%;
	}

	#beginner #treatment ul li:last-child h4 {
		background: url(../images/bg_beginner_treatment_03_sp.jpg) no-repeat;
		background-size: 100%;
	}

	#beginner #treatment ul li p {
		font-size: 4.5vw;
		width: 95%;
		height: 68.75vw;
		margin: 2.5vw auto 5vw;
		padding: 5vw 2.5vw;
		line-height: 1.4;
	}

	#beginner #treatment ul li p span {
		font-size: 6vw;
		margin-bottom: 10vw;
	}
}
/*************** /beginner ***************/

/*************** contact ***************/
#contact {
	padding-bottom: 200px;
	position: relative;
}

#contact .sub-title {
	font-size: 15px;
	margin-top: 50px;
	text-align: center;
}

#contact .sub-title span {
	font-family: 'Pinyon Script';
	font-size: 24px;
}

#contact form dl {
	width: 920px;
	margin: 30px auto 0;
	display: flex;
	flex-wrap: wrap;
}

#contact form dl dt {
	width: 350px;
	text-align: center;
	position: relative;
}

#contact form dl#upper dt {
	padding-top: 12px;
}

#contact form dl#middle dt:first-of-type {
	line-height: 1.4;
}

#contact form dl#middle dt:last-of-type {
	padding-top: 12px;
}

#contact form dl dt:nth-of-type(n+2),
#contact form dl dd:nth-of-type(n+2) {
	margin-top: 20px;
}

#contact form dl dt span {
	font-size: 12px;
	color: #fff;
	background: #bc0721;
	padding: 6px 10px;
	border-radius: 10%;
	position: absolute;
	top: 8px;
	right: 0;
}

#contact form dl dd {
	width: 570px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

#contact form dl#bottom dd/*,
#contact form dl#middle dd:last-of-type*/ {
	padding-left: 20px;
}

#contact form dl dd ul {
	color: #f00;
	margin: 10px 0 0 20px;
}

#contact form dl dd .attention {
	font-size: 16px;
	color: #c02035;
	margin-top: 10px;
	padding-left: 80px;
}

#contact form dl dd input[type="text"],
#contact form dl dd input[type="tel"],
#contact form dl dd input[type="e-mail"] {
	font-size: 16px;
	background: none;
	background-image: -webkit-linear-gradient(left, #FFFFFF, #FFFFFF);
	width: 500px;
	height: 40px;
	margin-left: 20px;
	padding: 0 0 0 10px;
	border: none;
	border-left: #ccc 2px solid;
	border-top: #ccc 2px solid;
	border-radius: 0;
	outline: none;
}

#contact form dl dd select {
	font-size: 16px;
	background: url(../images/pulldown.jpg) no-repeat top right;
	background-size: 4% 100%;
	width: 500px;
	height: 40px;
	margin-left: 20px;
	padding: 0 0 0 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-left: #ccc 2px solid;
	border-top: #ccc 2px solid;
	border-radius: 0;
	outline: none;
	cursor: pointer;
}

#contact form dl dd input[type="checkbox"] {
	display: none;
}

#contact form dl dd input[type="checkbox"] + label {
	padding: 3px 0 0 35px;
	display: block;
	position: relative;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

#contact form dl dd input[type="checkbox"] + label:nth-child(n+3) {
	margin-left: 20px;
}

#contact form dl dd input[type="checkbox"] + label::before {
	content: '';
	width: 20px;
	height: 20px;
	border: 1px solid #bc0721;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	opacity: .6;
	-webkit-transition: all .12s, border-color .08s;
	transition: all .12s, border-color .08s;
}

#contact form dl dd input[type="checkbox"]:checked + label::before {
	width: 10px;
	border-radius: 0;
	top: -5px;
	left: 5px;
	opacity: 1;
	border-top-color: transparent;
	border-left-color: transparent;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#contact form dl dd textarea {
	font-size: 16px;
	background: transparent;
	width: 500px;
	height: 300px;
	padding: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-left: #ccc 2px solid;
	border-top: #ccc 2px solid;
	border-radius: 0;
	resize: none;
	outline: none;
}

#contact form input[type="submit"] {
	display: none;
}

#contact form input[type="submit"] + label,
#contact form .btn-back a {
	width: 400px;
	height: 50px;
	margin: 80px auto 0;
	padding-top: 16px;
	border: #000 1px solid;
	text-align: center;
	display: block;
	cursor: pointer;
	transition: color .6s, background .6s;
}

#contact form .btn-back a {
	margin-top: 40px;
}

#contact form input[type="submit"] + label:hover,
#contact form .btn-back a:hover {
	color: #fff;
	background: #000;
}

#contact form input[type="submit"] + label span,
#contact form .btn-back a span {
	font-family: 'Baskervville';
}

#contact form#confirm dl dt,
#contact form#confirm dl dd {
	line-height: 1.6;
}

#contact form#confirm dl dd,
#contact form#confirm dl dd:last-of-type {
	padding-left: 100px;
}

#contact h3 {
	font-size: 36px;
	margin-top: 80px;
	text-align: center;
}

#contact #reply {
	font-size: 20px;
	margin-top: 40px;
	text-align: center;
	line-height: 1.4;
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
	#contact {
		padding-bottom:  20vw;
	}

	#contact .sub-title {
		font-size: 1.5vw;
		margin-top: 5vw;
	}

	#contact .sub-title span {
		font-size: 2.4vw;
	}

	#contact form dl {
		width: 92vw;
		margin: 3vw auto 0;
	}

	#contact form dl dt {
		font-size: 1.8vw;
		width: 35vw;
	}

	#contact form dl#upper dt {
		padding-top: 1.2vw;
	}

	#contact form dl#middle dt:last-of-type {
		padding-top: 1.2vw;
	}

	#contact form dl dt:nth-of-type(n+2),
	#contact form dl dd:nth-of-type(n+2) {
		margin-top: 2vw;
	}

	#contact form dl dt span {
		font-size: 1.2vw;
		padding: 0.6vw 1vw;
		top: 0.8vw;
	}

	#contact form dl dd {
		width: 57vw;
	}

	#contact form dl#bottom dd/*,
	#contact form dl#middle dd:last-of-type*/ {
		padding-left: 2vw;
	}

	#contact form dl dd .attention {
		font-size: 1.6vw;
		margin-top: 1vw;
		padding-left: 8vw;
	}

	#contact form dl dd input[type="text"],
	#contact form dl dd input[type="tel"],
	#contact form dl dd input[type="e-mail"] {
		font-size: 1.6vw;
		width: 50vw;
		height: 4vw;
		margin-left: 2vw;
		padding-left: 1vw;
		border-left: #ccc 0.2vw solid;
		border-top: #ccc 0.2vw solid;
	}

	#contact form dl dd select {
		font-size: 1.6vw;
		width: 50vw;
		height: 4vw;
		margin-left: 2vw;
		padding-left: 1vw;
		border-left: #ccc 0.2vw solid;
		border-left: #ccc 0.2vw solid;
	}

	#contact form dl dd input[type="checkbox"] + label {
		padding: 3px 0 0 35px;
		display: block;
		position: relative;
		cursor: pointer;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
	}

	#contact form dl dd input[type="checkbox"] + label:nth-child(n+3) {
		margin-left: 2vw;
	}

	#contact form dl dd input[type="checkbox"] + label::before {
		content: '';
		width: 2vw;
		height: 2vw;
		border: 1px solid #bc0721;
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		opacity: .6;
		-webkit-transition: all .12s, border-color .08s;
		transition: all .12s, border-color .08s;
	}

	#contact form dl dd input[type="checkbox"]:checked + label::before {
		width: 1vw;
		border-radius: 0;
		top: -5px;
		left: 5px;
		opacity: 1;
		border-top-color: transparent;
		border-left-color: transparent;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#contact form dl dd textarea {
		width: 50vw;
		height: 30vw;
		padding: 1vw;
		border-left: #ccc 0.2vw solid;
		border-top: #ccc 0.2vw solid;
	}

	#contact form input[type="submit"] + label,
	#contact form .btn-back a {
		font-size: 1.8vw;
		width: 40vw;
		height: 5vw;
		margin: 8vw auto 0;
		padding-top: 1.6vw;
		border: #000 0.1vw solid;
	}

	#contact form .btn-back a {
		margin: 4vw auto 0;
	}

	#contact form#confirm dl dd,
	#contact form#confirm dl dd:last-of-type {
		padding-left: 10vw;
	}

	#contact h3 {
		font-size: 3.6vw;
		margin-top: 8vw;
	}

	#contact #reply {
		font-size: 2vw;
		margin-top: 4vw;
	}
}

@media screen and (max-width: 800px) {
	#contact {
	    padding-bottom: 20vw;
	}

	#contact .sub-title {
	    font-size: 4vw;
	    margin-top: 10vw;
	    letter-spacing: -0.05em;
	}

	#contact .sub-title span {
		font-size: 6vw;
	}

	#contact form dl {
	    width: 95%;
	    margin: 7.5vw auto 0;
	}

	#contact form dl#middle,
	#contact form dl#bottom {
		margin-top: 2.5vw;
	}

	#contact form dl dt {
		font-size: 4.5vw;
		width: 100%;
		padding: 0 0 0 2.5vw;
		text-align: left;
	}

	#contact form dl dt:nth-of-type(n+2),
	#contact form dl dd:nth-of-type(n+2) {
		margin-top: 2.5vw;
	}

	#contact form dl#upper dt {
		padding: 0 0 0 2.5vw;
	}

	#contact form dl#bottom dt:nth-of-type(n+2) {
		margin-top: 5vw;
	}

	#contact form dl dt span {
	    font-size: 3vw;
	    padding: 0.375vw 0.625vw;
	    vertical-align: top;
	    position: relative;
	    top: 0.65vw;
	}

	#contact form dl dd {
		width: 100%;
		margin-top: 1.25vw;
	}

	#contact form dl#bottom dd/*,
	#contact form dl#middle dd:last-of-type*/ {
		font-size: 4vw;
		margin-top: 2.5vw;
		padding-left: 7.5vw;
	}

	#contact form dl#bottom dd:nth-of-type(n+2) {
		padding-left: 0;
	}

	#contact form dl dd ul {
		font-size: 4.5vw;
		color: #f00;
		margin: 1.25vw 0 0 0;
	}

	#contact form dl dd .attention {
		font-size: 4vw;
		margin: 2.5vw 0;
		padding-left: 2.5vw;
	}

	#contact form dl dd input[type="text"],
	#contact form dl dd input[type="tel"],
	#contact form dl dd input[type="e-mail"] {
		width: 100%;
		height: 12.5vw;
		margin-left: 0;
		border-left: #ccc 0.25vw solid;
		border-top: #ccc 0.25vw solid;
	}

	#contact form dl dd select {
		background: url(../images/pulldown_sp.jpg) no-repeat top right;
		background-size: 4% 100%;
		width: 100%;
		height: 12.5vw;
		margin-left: 0;
		padding: 0 0 0 10px;
		border-left: #ccc 0.25vw solid;
		border-top: #ccc 0.25vw solid;
	}

	#contact form dl dd input[type="checkbox"] + label {
		width: 100%;
		padding: 0.6vw 0 0 7.5vw;
	}

	#contact form dl dd input[type="checkbox"] + label:nth-child(n+3) {
		margin: 2.5vw 0 0 0;
	}

	#contact form dl dd input[type="checkbox"] + label::before {
		content: '';
		width: 5vw;
		height: 5vw;
		border: #bc0721 0.25vw solid;
	}

	#contact form dl dd input[type="checkbox"]:checked + label::before {
		width: 2.5vw;
		top: -1.25vw;
		left: 1.25vw;
	}

	#contact form dl dd textarea {
		width: 100%;
		height: 62.5vw;
		border-left: #ccc 0.25vw solid;
		border-top: #ccc 0.25vw solid;
	}

	#contact form input[type="submit"] + label,
	#contact form .btn-back a {
		font-size: 4.5vw;
	    width: 95vw;
	    height: 12.5vw;
	    margin-top: 5vw;
	    padding-top: 4vw;
	    border: #000 0.25vw solid;
	}

	#contact form .btn-back a {
	    margin-top: 2.5vw;
	}

	#contact form#confirm dl dd,
	#contact form#confirm dl dd:last-of-type {
		margin-top: 0;
	    padding-left: 7.5vw;
	}

	#contact form#confirm dl dd {
		font-size: 4.5vw
	}

	#contact h3 {
		font-size: 7.5vw;
		margin-top: 10vw;
	}

	#contact #reply {
		font-size: 4.5vw;
		margin-top: 5vw;
		padding: 0 2.5vw;
	}
}
/*************** /contact ***************/

/*************** flow ***************/
#flow {
	margin-bottom: 80px;
}

#flow #main-image {
	width: 100%;
	max-width: 2000px;
	margin: 80px auto 0;
	position: relative;
}


#flow #main-image img {
	width: 100%;
}

#flow #main-image p {
	line-height: 1.4;
	position: absolute;
	left: 400px;
}

#flow #main-image .text-01 {
	font-size: 50px;
	letter-spacing: -0.15em;
	bottom: 230px;
}

#flow #main-image .text-01 span {
	font-size: 70px;
	letter-spacing: -0.15em;
}

#flow #main-image .text-02 {
	font-size: 30px;
	letter-spacing: -0.1em;
	bottom: 130px;
}

#flow #main-image .text-02 br {
	display: inline-block;
}

#flow h3 {
	font-size: 40px;
	margin-top: 100px;
	text-align: center;
}

#flow h3 span {
	font-family: 'Baskervville';
	font-size: 22px;
	letter-spacing: 0.15em;
}

#flow .step {
	width: 1240px;
	margin: 80px auto 0;
	display: flex;
	justify-content: center;
}

#flow .step li:last-child {
	width: 860px;
	margin-bottom: 10px;
	padding: 40px 0 0 40px;
}

#flow .step li:last-child div {
	position: relative;
}

#flow .step li:last-child div:before {
	content: '';
	background: #000;
	width: 460px;
	height: 1px;
	position: absolute;
	left: 200px;
	bottom: 20px;
}

#flow .step li:last-child h4 {
	font-size: 40px;
	margin-top: 20px;
}

#flow .step li:last-child p {
	font-size: 24px;
	margin-top: 16px;
	line-height: 1.6;
	letter-spacing: -0.045em;
}

#flow .step li:last-child p span {
	font-weight: bold;
	color: #f00;
}

#flow .step:nth-of-type(2) li:last-child p br:first-of-type,
#flow .step:nth-of-type(2) li:last-child p br:nth-of-type(3),
#flow .step:nth-of-type(2) li:last-child p br:nth-of-type(4) {
	display: inline-block;
}

#flow .step:nth-of-type(2) li:last-child p br:nth-of-type(2) {
	display: none;
}

#flow .step:nth-of-type(3) li:last-child p br:last-child {
	display: inline-block;
}

#flow .step:nth-of-type(5) li:last-child p br:nth-child(4),
#flow .step:nth-of-type(5) li:last-child p br:nth-child(7) {
	display: inline-block;
}

#flow .text-03 {
	font-size: 40px;
	margin-top: 120px;
	text-align: center;
}

#flow .text-03 br {
	display: none;
}

#flow .text-03 span {
	font-size: 24px;
	margin-top: 40px;
	display: block;
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	#flow {
		margin-bottom: 4vw;
	}

	#flow #main-image {
		margin-top: 4vw;
	}

	#flow #main-image p {
		left: 20vw;
	}

	#flow #main-image .text-01 {
		font-size: 2.5vw;
		bottom: 11.5vw;
	}

	#flow #main-image .text-01 span {
		font-size: 3.5vw;
	}

	#flow #main-image .text-02 {
		font-size: 1.5vw;
		bottom: 6.5vw;
	}
}

@media screen and (min-width: 801px) and (max-width: 1240px) {
	#flow .step {
		width: 100%;
		margin: 6.452vw auto 0;
	}

	#flow .step li:first-child img {
		width: 26.935vw;
	}

	#flow .step li:last-child {
		width: 69.355vw;
		margin-bottom: 0.806vw;
		padding: 3.226vw 0 0 3.226vw;
	}

	#flow .step li:last-child div:before {
		width: 37.097vw;
		height: 0.081vw;
		left: 16.129vw;
		bottom: 1.613vw;
	}

	#flow .step:first-of-type li:last-child div img {
		width: 12.419vw;
	}

	#flow .step:nth-of-type(2) li:last-child div img,
	#flow .step:nth-of-type(3) li:last-child div img,
	#flow .step:nth-of-type(5) li:last-child div img {
		width: 13.065vw;
	}

	#flow .step:nth-of-type(4) li:last-child div img {
		width: 12.984vw;
	}

	#flow .step li:last-child h4 {
		font-size: 3.226vw;
		margin-top: 1.613vw;
	}

	#flow .step li:last-child p {
		font-size: 1.935vw;
		margin-top: 1.290vw;
	}

	#flow .text-03 {
		font-size: 3.226vw;
		margin-top: 9.677vw;
	}

	#flow .text-03 span {
		font-size: 1.935vw;
		margin-top: 3.226vw;
	}
}

@media screen and (max-width: 800px) {
	#flow {
		margin-bottom: 0;
	}

	#flow #main-image {
		margin-top: 10vw;
	}

	#flow #main-image p {
		width: 95%;
		margin: 2.5vw auto 0;
		position: relative;
		left: 0;
	}

	#flow #main-image .text-01 {
		font-size: 8.75vw;
		bottom: 0;
	}

	#flow #main-image .text-01 span {
		font-size: 10vw;
		display: block;
	}

	#flow #main-image .text-02 {
		font-size: 4.5vw;
		bottom: 0;
	}

	#flow #main-image .text-02 br {
		display: none;
	}

	#flow h3 {
		font-size: 7.5vw;
		margin-top: 15vw;
	}

	#flow h3 span {
		font-size: 4.5vw;
	}

	#flow .step {
		width: 95%;
		margin-top: 10vw;
		flex-wrap: wrap;
	}

	#flow .step li {
		width: 100%;
	}

	#flow .step li:first-child {
		text-align: center;
	}

	#flow .step li:first-child img {
		width: 83.5vw;
	}

	#flow .step li:last-child {
		width: 100%;
		margin-bottom: 0;
		padding: 0;
	}

	#flow .step li:last-child div::before {
		display: none;
	}

	#flow .step li:last-child div img {
		width: 94.875vw;
	}

	#flow .step li:last-child h4 {
	    font-size: 10vw;
	    margin-top: 2.5vw;
	}

	#flow .step li:last-child p {
	    font-size: 4.5vw;
	    margin-top: 2.5vw;
	}

	#flow .step:first-of-type li:last-child p br:first-child {
		display: none;
	}

	#flow .step:nth-of-type(2) li:last-child p br:first-of-type,
	#flow .step:nth-of-type(2) li:last-child p br:nth-of-type(3),
	#flow .step:nth-of-type(2) li:last-child p br:nth-of-type(4) {
		display: none;
	}

	#flow .step:nth-of-type(2) li:last-child p br:nth-of-type(2) {
		display: inline-block;
	}

	#flow .step:nth-of-type(3) li:last-child p br:last-child {
		display: none;
	}

	#flow .step:nth-of-type(5) li:last-child p br:nth-child(4),
	#flow .step:nth-of-type(5) li:last-child p br:nth-child(7) {
		display: none;
	}

	#flow .text-03 {
	    font-size: 8.75vw;
	    width: 95%;
	    margin: 15vw auto 0;
	    text-align: left;
	}

	#flow .text-03 br {
		display: inline-block;
	}

	#flow .text-03 span {
		font-size: 4.5vw;
		margin-top: 5vw;
		line-height: 1.4;
	}
}
/*************** /flow ***************/

/*************** headhunting ***************/
#headhunting {
	margin-bottom: 120px;
}

#headhunting .image-box {
	width: 100%;
	max-width: 2000px;
	margin: 80px auto 0;
	position: relative;
}

#headhunting .image-box img {
	width: 100%;
}

#headhunting .image-box .text-01 {
	font-size: 80px;
	padding-bottom: 10px;
	border-bottom: #c50000 2px solid;
	display: inline-block;
	line-height: 1.2;
	letter-spacing: -0.1em;
	position: absolute;
}

#headhunting .image-box .text-01 span {
	font-size: 60px;
	display: block;
}

#headhunting .image-box .text-02 {
	font-size: 40px;
	line-height: 1.6;
	letter-spacing: -0.05em;
	position: absolute;
}

#headhunting .image-box .text-02 span {
	font-size: 70px;
	letter-spacing: -0.15em;
}

#headhunting .image-box .text-03 {
	font-size: 30px;
	line-height: 1.6;
	position: absolute;
}

#headhunting #first-image .text-01 {
	left: 920px;
	top: 100px;
}

#headhunting #first-image .text-02 {
	left: 920px;
	top: 400px;
}

#headhunting #first-image .text-02 br:first-of-type {
	display: none;
}

#headhunting #first-image .text-02 br:nth-of-type(2) {
	display: inline-block;
}

#headhunting #first-image .text-03 {
	left: 920px;
	top: 550px;
}

#headhunting #second-image .text-02 {
	left: 410px;
	bottom: 230px;
}

#headhunting #second-image .text-03 {
	left: 410px;
	bottom: 90px;
	line-height: 1.4;
}

#headhunting #third-image {
	width: 100%;
	max-width: 1240px;
	margin: 80px auto 0;
	text-align: center;
	position: relative;
}

#headhunting #third-image .text-02 {
	font-size: 50px;
	position: absolute;
	left: 640px;
	top: 300px;
	text-align: left;
	line-height: 1.2;
	letter-spacing: -0.1em;
}

#headhunting #third-image .text-02 span {
	font-size: 50px;
}

#headhunting #third-image .text-03 {
	font-size: 30px;
	margin-top: 40px;
	padding-left: 220px;
	line-height: 1.3;
	text-align: left;
}

#headhunting #third-image .text-03 br {
	display: inline-block;
}

#headhunting #third-image .text-04 {
	font-size: 80px;
	margin-top: 60px;
}

#headhunting #third-image .text-04 .small {
	font-size: 60px;
}

#headhunting #third-image .text-04 .big {
	font-size: 100px;
}

#headhunting #third-image .text-04 br {
	display: none;
}

#headhunting #third-image .supplement {
	font-size: 24px;
	margin-top: 20px;
}

#headhunting h3 {
	font-size: 30px;
	background: url(../images/bg_title_left_03.png) no-repeat left top, url(../images/bg_title_right_03.png) no-repeat right top;
	width: 1020px;
	height: 180px;
	margin: 60px auto 0;
	padding-top: 70px;
	text-align: center;
	letter-spacing: -0.05em;
}

#headhunting h3 br {
	display: none;
}

#headhunting .box {
	width: 100%;
	max-width: 1240px;
	margin: 20px auto 0;
	position: relative;
}

#headhunting .box p {
	font-size: 50px;
	position: absolute;
	top: 260px;
	left: 20px;
	letter-spacing: -0.1em;
	line-height: 1.2;
}

#headhunting .box p span br {
	display: none;
}

#headhunting .example {
	font-size: 80px;
	width: 100%;
	max-width: 1600px;
	margin: 60px auto 0;
	padding-left: 40px;
}

#headhunting ul {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}

#headhunting ul li {
	font-size: 25px;
	background: url(../images/bg_headhunting.png) no-repeat;
	background-size: 100%;
	width: 490px;
	height: 490px;
	padding-top: 260px;
	text-align: center;
	line-height: 1.4;
}

#headhunting ul li:nth-child(n+2) {
	margin-left: 10px;
}

#headhunting .text-05 {
	font-size: 30px;
	margin-top: 60px;
	text-align: center;
	line-height: 1.3;
}

#headhunting .text-05 br {
	display: inline-block;
}

#headhunting .transfer .text-05 br {
	display: none;
}

#headhunting .transfer {
	max-width: 1200px;
	margin: 40px auto 0;
	padding-bottom: 40px;
	border: #767676 2px solid;
	text-align: center;
}

#headhunting .text-06 {
	font-size: 50px;
	margin-top: 40px;
	padding-bottom: 8px;
	border-bottom: #c50000 2px solid;
	display: inline-block;
}

#headhunting .text-06 br {
	display: none;
}

#headhunting .text-07 {
	font-size: 40px;
	margin-top: 30px;
	line-height: 1.3;
}

#headhunting #fourth-image {
	width: 100%;
	max-width: 946px;
	margin: 40px auto 0;
}

#headhunting #fourth-image img {
	width: 100%;
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	#headhunting {
		margin-bottom: 6vw;
	}

	#headhunting .image-box {
		margin: 4vw auto 0;
	}

	#headhunting .image-box .text-01 {
		font-size: 4vw;
		padding-bottom: 0.5vw;
		border-bottom: #c50000 0.1vw solid;
	}

	#headhunting .image-box .text-01 span {
		font-size: 3vw;
	}

	#headhunting .image-box .text-02 {
		font-size: 2vw;
	}

	#headhunting .image-box .text-02 span {
		font-size: 3.5vw;
	}

	#headhunting .image-box .text-03 {
		font-size: 1.5vw;
	}

	#headhunting #first-image .text-01 {
		left: 46vw;
		top: 5vw;
	}

	#headhunting #first-image .text-02 {
		left: 46vw;
		top: 20vw;
	}

	#headhunting #first-image .text-03 {
		left: 46vw;
		top: 27.5vw;
	}

	#headhunting #second-image .text-02 {
		left: 20.5vw;
		bottom: 11.5vw;
	}

	#headhunting #second-image .text-03 {
		left: 20.5vw;
		bottom: 4.5vw;
	}
}

@media screen and (min-width: 801px) and (max-width: 1600px) {
	#headhunting .example {
		font-size: 5vw;
		margin: 3.75vw auto 0;
		padding-left: 2.5vw;
	}

	#headhunting ul li {
		font-size: 1.563vw;
		width: 30.625vw;
		height: 30.625vw;
		padding-top: 16.25vw;
	}

	#headhunting ul li:nth-child(n+2) {
		margin-left: 0.625vw;
	}
}

@media screen and (min-width: 801px) and (max-width: 1240px) {
	#headhunting #third-image {
		margin: 6.452vw auto 0;
	}

	#headhunting #third-image img {
		width: 82.097vw;
	}

	#headhunting #third-image .text-02 {
		font-size: 4.032vw;
		left: 51.613vw;
		top: 24.194vw;
	}

	#headhunting #third-image .text-02 span {
		font-size: 3.846vw;
	}

	#headhunting #third-image .text-03 {
		font-size: 2.419vw;
		margin-top: 3.226vw;
		padding-left: 17.742vw;
	}

	#headhunting #third-image .text-04 {
		font-size: 6.452vw;
		margin-top: 4.839vw;
	}

	#headhunting #third-image .supplement {
		font-size: 1.935vw;
		margin-top: 1.613vw;
	}

	#headhunting #third-image .text-04 .small {
		font-size: 4.839vw;
	}

	#headhunting #third-image .text-04 .big {
		font-size: 8.065vw;
	}

	#headhunting h3 {
		font-size: 2.419vw;
		background: url(../images/bg_title_left_03.png) no-repeat left top, url(../images/bg_title_right_03.png) no-repeat right top;
		background-size: 10vw 14.516vw;
		width: 82.258vw;
		height: 14.516vw;
		margin: 4.838vw auto 0;
		padding-top: 5.645vw;
	}

	#headhunting .box {
		margin: 1.613vw auto 0;
	}

	#headhunting .box img {
		width: 100%;
	}

	#headhunting .box p {
		font-size: 4.032vw;
		position: absolute;
		top: 20.968vw;
		left: 1.613vw;
	}

	#headhunting .text-05 {
		font-size: 2.419vw;
		margin-top: 4.839vw;
	}

	#headhunting .transfer {
		width: 96.774vw;
		margin: 3.226vw auto 0;
		padding-bottom: 3.226vw;
		border: #767676 0.161vw solid;
	}

	#headhunting .text-06 {
		font-size: 4.032vw;
		margin-top: 3.226vw;
		padding-bottom: 0.645vw;
		border-bottom: #c50000 0.161vw solid;
	}

	#headhunting .text-07 {
		font-size: 3.226vw;
		margin-top: 2.419vw;
	}

	#headhunting #fourth-image {
		margin: 3.226vw auto 0;
	}
}

@media screen and (max-width: 800px) {
	#headhunting {
		margin-bottom: 0;
	}

	#headhunting .image-box {
		margin: 10vw auto 0;
	}

	#headhunting .image-box .text-01 {
	    font-size: 10vw;
	    width: 95%;
	    margin: 5vw auto 0;
	    padding-bottom: 1.25vw;
	    border-bottom: #c50000 0.25vw solid;
	    display: block;
	    position: relative;
	}

	#headhunting .image-box .text-01 span {
		font-size: 7.5vw;
	}

	#headhunting .image-box .text-02 {
	    font-size: 6.25vw;
	    width: 95%;
	    margin: 5vw auto 0;
	    line-height: 1.4;
	    position: relative;
	}

	#headhunting .image-box .text-03 {
	    font-size: 4.5vw;
	    width: 95%;
	    margin: 5vw auto 0;
	    position: relative;
	    letter-spacing: -0.05em;
	}

	#headhunting #first-image .text-01,
	#headhunting #first-image .text-02,
	#headhunting #first-image .text-03,
	#headhunting #second-image .text-02,
	#headhunting #second-image .text-03 {
	    left: 0;
	    top: 0;
	    bottom: 0;
	}

	#headhunting #first-image .text-02 br:first-of-type {
		display: inline-block;
	}

	#headhunting #first-image .text-02 br:nth-of-type(2) {
		display: none;
	}

	#headhunting #second-image .text-02 {
		font-size: 8.75vw;
		margin-top: 3.75vw;
		line-height: 1.2;
		letter-spacing: -0.1em;
	}

	#headhunting #second-image .text-02 span {
		font-size: 8.75vw;
		display: block;
	}

	#headhunting #second-image .text-03 {
		margin-top: 2.5vw;
	}

	#headhunting #second-image .text-03 br {
		display: none;
	}
	
	#headhunting #third-image img {
		width: 100%;
	}

	#headhunting #third-image .text-02 {
	    font-size: 8vw;
	    width: 95%;
	    margin: 3.75vw auto 0;
	    line-height: 1.4;
	    position: relative;
	    left: 0;
	    top: 0;
	}

	#headhunting #third-image .text-02 span {
		font-size: 8vw;
	}

	#headhunting #third-image .text-04 {
		font-size: 8.75vw;
		width: 95%;
	    margin: 5vw auto 0;
	    text-align: left;
	}

	#headhunting #third-image .text-04 .small {
		font-size: 7.5vw;
	}

	#headhunting #third-image .text-04 .big {
		font-size: 15vw;
	}

	#headhunting #third-image .text-04 br {
		display: inline-block;
	}

	#headhunting #third-image .supplement {
		font-size: 4.5vw;
		width: 94%;
		margin: 1.25vw auto 0;
		text-align: left;
		line-height: 1.4;
	}

	#headhunting #third-image .text-03 {
	    font-size: 4.5vw;
	    width: 94%;
	    margin: 5vw auto 0;
	    padding-left: 0;
	    line-height: 1.4;
	    letter-spacing: -0.1em;
	}

	#headhunting #third-image .text-03 br {
		display: none;
	}

	#headhunting h3 {
	    font-size: 5vw;
	    background: url(../images/bg_title_left_03.png) no-repeat left top, url(../images/bg_title_right_03.png) no-repeat right top;
	    background-size: 13.75vw 22.25vw;
	    width: 95%;
	    height: 22.25vw;
	    margin: 10vw auto 0;
	    padding-top: 5vw;
	    line-height: 1.2;
	}

	#headhunting h3 br {
		display: inline-block;
	}

	#headhunting .box {
	    margin: 2.5vw auto 0;
	}

	#headhunting .box img {
		width: 100%;
	}

	#headhunting .box p {
	    font-size: 7.5vw;
	    width: 95%;
	    margin: 2.5vw auto 0;
	    position: relative;
	    top: 0;
	    left: 0;
	}

	#headhunting .box p span {
		font-size: 7.5vw;
	}

	#headhunting .box p span br {
		display: inline-block;
	}

	#headhunting .example {
		font-size: 10vw;
		margin: 10vw auto 0;
		padding-left: 2.5vw;
	}

	#headhunting ul {
		flex-wrap: wrap;
	}

	#headhunting ul li {
		font-size: 5vw;
		background: url(../images/bg_headhunting_sp.png) no-repeat;
		background-size: 100%;
		width: 97.5vw;
		height: 97.5vw;
		padding-top: 52.5vw;
		line-height: 1.2;
	}

	#headhunting ul li:nth-child(n+2) {
		margin: 2.5vw 0 0 0;
	}

	#headhunting .text-05 {
		font-size: 4.5vw;
		width: 95%;
		margin: 3.25vw auto 0;
		text-align: left;
	}

	#headhunting .text-05 br {
		display: none;
	}

	#headhunting .transfer {
		width: 90%;
		margin: 5vw auto 0;
		padding: 5vw 0 8.75vw;
		border: #767676 0.25vw solid;
	}

	#headhunting .transfer .text-05 {
		text-align: center;
	}

	#headhunting .transfer .text-05 br {
		display: inline-block;
	}

	#headhunting .text-06 {
		font-size: 7.5vw;
		margin-top: 2.5vw;
		padding-bottom: 0;
		border-bottom: none;
		text-decoration: underline;
		text-decoration-color: #c50000;
		-webkit-text-decoration-color: #c50000;
		text-underline-position: under;
		line-height: 1.2;
	}

	#headhunting .text-06 br {
		display: inline-block;
	}

	#headhunting .text-07 {
		font-size: 4.5vw;
		margin-top: 2.5vw;
		letter-spacing: -0.05em;
	}

	#headhunting #fourth-image {
	    width: 95%;
	    margin: 5vw auto 0;
	}
}
/*************** /headhunting ***************/

/*************** migrant ***************/
#migrant {
	margin-bottom: 120px;
}

#migrant #first-image {
	width: 100%;
	max-width: 2000px;
	margin: 80px auto 0;
}

#migrant #first-image img {
	width: 100%;
}

#migrant #second-image {
	width: 100%;
	max-width: 1240px;
	margin: 40px auto 0;
}

#migrant #second-image img {
	width: 100%;
}

#migrant #second-image .text-01 {
	font-size: 60px;
	margin-top: 80px;
	text-align: center;
	letter-spacing: -0.1em;
}

#migrant #second-image .text-02 {
	font-size: 24px;
	margin-top: 80px;
	line-height: 1.8;
	text-align: center;
	letter-spacing: -0.1em;
}

#migrant #second-image .text-02 br {
	display: inline-block;
}

#migrant .sub-title-01 {
	font-size: 40px;
	margin-top: 120px;
	text-align: center;
	line-height: 0.8;
	letter-spacing: -0.1em;
}

#migrant .sub-title-01 span {
	font-family: 'Baskervville';
	font-size: 22px;
	letter-spacing: 0.15em;
}

#migrant .merit {
	width: 100%;
	max-width: 1240px;
	margin: 40px auto 0;
	display: flex;
}

#migrant .merit li:nth-child(n+2) {
	margin-left: 20px;
}

#migrant .merit li .box {
	padding: 20px;
}

#migrant .merit li:first-child .box {
	background: url(../images/bg_merit_01.jpg) no-repeat;
	background-size: 100%;
	width: 400px;
	height: 400px;
}

#migrant .merit li:nth-child(2) .box {
	background: url(../images/bg_merit_02.jpg) no-repeat;
	background-size: 100%;
	width: 400px;
	height: 400px;
}

#migrant .merit li:last-child .box {
	background: url(../images/bg_merit_03.jpg) no-repeat;
	background-size: 100%;
	width: 400px;
	height: 400px;
}

#migrant .merit li .box .inner {
	background: url(../images/bg_merit.jpg) no-repeat;
	background-size: 100%;
	width: 360px;
	height: 360px;
	position: relative;
}

#migrant .merit li .box .inner p {
	font-size: 28px;
	margin: auto;
	text-align: center;
	line-height: 1.2;
	letter-spacing: -0.05em;
	position: absolute;
	top: 230px;
	left: 0;
	right: 0;
}

#migrant .merit li .text {
	font-size: 24px;
	margin-top: 40px;
	padding: 0 20px;
	line-height: 1.3;
	letter-spacing: -0.1em;
}

#migrant .sub-title-02 {
	font-size: 40px;
	background: url(../images/bg_sub_title_02.jpg) no-repeat;
	background-size: 100%;
	width: 100%;
	max-width: 2000px;
	height: 200px;
	margin: 120px auto 0;
	padding-top: 40px;
	text-align: center;
	line-height: 1.6;
}

#migrant .sub-title-02 span {
	font-size: 30px;
	display: block;
}

#migrant h4 {
	font-size: 30px;
	background: url(../images/bg_migrant_h4.png) no-repeat;
	background-size: 100%;
	width: 628px;
	height: 172px;
	margin: 120px auto 0;
	padding-top: 66px;
	text-align: center;
}

#migrant .day {
	width: 100%;
	max-width: 1240px;
	margin: 80px auto 0;
	display: flex;
	justify-content: center;
}

#migrant .day:nth-of-type(2n+1) li:first-child {
	padding-left: 200px;
}

#migrant .day:nth-of-type(2n) li:last-child {
	margin-left: 40px;
}

#migrant .day:nth-of-type(2n+1) li:last-child {
	margin-left: -20px;
}

#migrant .day li p {
	font-size: 24px;
	margin-top: 20px;
	line-height: 1.7;
	letter-spacing: -0.03em;
}

#migrant .day li p br {
	display: inline-block;
}

#migrant .text-03 {
	font-size: 24px;
	margin-top: 60px;
	text-align: center;
	line-height: 1.7;
}

#migrant .text-03 br:nth-child(2) {
	display: none;
}

#migrant #room {
	background: #ebf8fa;
	width: 100%;
	margin-top: 80px;
	padding: 80px 0 40px;
}

#migrant #room h3 {
	margin-top: 0;
}

#migrant #room ul {
	width: 100%;
	max-width: 1240px;
	margin: 40px auto 0;
	display: flex;
}

#migrant #room ul li:nth-child(n+2) {
	margin-left: 20px;
}

#migrant #room ul li img {
	width: 100%;
}

#migrant #room div {
	background: url(../images/bg_migrant_room.jpg) no-repeat;
	background-size: 100%;
	width: 100%;
	max-width: 1240px;
	height: 660px;
	margin: 20px auto 0;
	padding: 80px 0 0 80px;
}

#migrant #room div dl {
	width: 620px;
	margin-top: 30px;
	padding-bottom: 10px;
	border-bottom: #000 1px solid;
	display: flex;
}

#migrant #room div dl dt {
	font-size: 30px;
	width: 380px;
	padding-left: 40px;
}

#migrant #room div dl dd {
	font-size: 30px;
	width: 240px;
	text-align: center;
}

#migrant .text-04 {
	font-size: 40px;
	margin-top: 120px;
	text-align: center;
	letter-spacing: -0.05em;
}

#migrant .text-04 span {
	font-size: 24px;
	margin-top: 40px;
	display: block;
}

#migrant .text-04 br:first-of-type {
	display: none;
}

#migrant .text-04 span br {
	display: none;
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	#migrant {
		margin-bottom: 6vw;
	}

	#migrant #first-image {
		margin: 4vw auto 0;
	}
}

@media screen and (min-width: 801px) and (max-width: 1300px) {
	#migrant .merit {
		width: 95.385vw;
		margin: 3.077vw auto 0;
	}

	#migrant .merit li:nth-child(n+2) {
		margin-left: 1.538vw;
	}

	#migrant .merit li .box {
		padding: 1.538vw;
	}

	#migrant .merit li:first-child .box {
		width: 30.769vw;
		height: 30.769vw;
	}

	#migrant .merit li:nth-child(2) .box {
		width: 30.769vw;
		height: 30.769vw;
	}

	#migrant .merit li:last-child .box {
		width: 30.769vw;
		height: 30.769vw;
	}

	#migrant .merit li .box .inner {
		width: 27.692vw;
		height: 27.692vw;
	}

	#migrant .merit li .box .inner p {
		font-size: 2.154vw;
		top: 17.692vw;
	}

	#migrant .merit li .text {
		font-size: 1.846vw;
		margin-top: 3.077vw;
		padding: 0 1.538vw;
	}
}

@media screen and (min-width: 801px) and (max-width: 1240px) {
	#migrant #second-image {
		margin: 3.226vw auto 0;
	}

	#migrant #second-image .text-01 {
		font-size: 4.839vw;
		margin-top: 6.452vw;
	}

	#migrant #second-image .text-02 {
		font-size: 1.935vw;
		margin-top: 6.452vw;
	}

	#migrant .sub-title-01 {
		font-size: 3.226vw;
		margin-top: 9.677vw;
	}

	#migrant .sub-title-01 span {
		font-size: 1.774vw;
	}

	#migrant .sub-title-02 {
		font-size: 3.226vw;
		height: 16.129vw;
		margin: 9.677vw auto 0;
		padding-top: 3.226vw;
	}

	#migrant .sub-title-02 span {
		font-size: 2.419vw;
	}

	#migrant h4 {
		font-size: 2.419vw;
		width: 50.645vw;
		height: 13.871vw;
		margin: 9.677vw auto 0;
		padding-top: 5.323vw;
	}

	#migrant .day {
		margin: 6.452vw auto 0;
	}

	#migrant .day:nth-of-type(2n+1) li:first-child {
		padding-left: 16.129vw;
	}

	#migrant .day:nth-of-type(2n) li:last-child {
		margin-left: 3.226vw;
	}

	#migrant .day:nth-of-type(2n+1) li:last-child {
		margin-left: -1.613vw;
	}

	#migrant .day:nth-of-type(2n) li:first-child img {
		width: 26.935vw;
	}

	#migrant .day:nth-of-type(2n) li:last-child img {
		width: 60.968vw;
	}

	#migrant .day:nth-of-type(2n+1) li:first-child img {
		width: 50.403vw;
	}

	#migrant .day:nth-of-type(2n+1) li:last-child img {
		width: 26.935vw;
	}

	#migrant .day li p {
		font-size: 1.935vw;
		margin-top: 1.613vw;
	}

	#migrant .text-03 {
		font-size: 1.935vw;
		margin-top: 4.839vw;
	}

	#migrant #room {
		margin-top: 6.452vw;
		padding: 6.452vw 0 3.226vw;
	}

	#migrant #room ul {
		margin: 3.226vw auto 0;
	}

	#migrant #room ul li:nth-child(n+2) {
		margin-left: 1.613vw;
	}

	#migrant #room div {
		height: 53.226vw;
		margin: 1.613vw auto 0;
		padding: 6.452vw 0 0 6.452vw;
	}

	#migrant #room div dl {
		width: 50vw;
		margin-top: 2.419vw;
		padding-bottom: 0.806vw;
		border-bottom: #000 0.081vw solid;
	}

	#migrant #room div dl dt {
		font-size: 2.419vw;
		width: 30.645vw;
		padding-left: 3.226vw;
	}

	#migrant #room div dl dd {
		font-size: 2.419vw;
		width: 19.355vw;
	}

	#migrant .text-04 {
		font-size: 3.226vw;
		margin-top: 9.677vw;
	}

	#migrant .text-04 span {
		font-size: 1.935vw;
		margin-top: 3.226vw;
	}
}

@media screen and (max-width: 800px) {
	#migrant {
		margin-bottom: 0;
	}

	#migrant #first-image {
		margin-top: 10vw;
	}

	#migrant #second-image {
		margin-top: 10vw;
	}

	#migrant #second-image .text-01 {
		font-size: 8.75vw;
		width: 95%;
		margin: 10vw auto 0;
		text-align: left;
		letter-spacing: -0.1em;
	}

	#migrant #second-image .text-01 span {
		font-size: 11.25vw;
		display: block;
		margin-top: 1.25vw;
	}

	#migrant #second-image .text-02 {
		font-size: 4.5vw;
		width: 95%;
		margin: 3.75vw auto 0;
		text-align: left;
		line-height: 1.4;
	}

	#migrant #second-image .text-02 br {
		display: none;
	}

	#migrant .sub-title-01 {
	    font-size: 7.5vw;
	    margin-top: 15vw;
	    line-height: 1.2;
	}

	#migrant .sub-title-01 span {
	    font-size: 4.5vw;
	}

	#migrant .merit {
		margin-top: 5vw;
		flex-wrap: wrap;
	}

	#migrant .merit li {
		width: 100%;
	}

	#migrant .merit li:nth-child(n+2) {
		margin: 15vw 0 0 0;
	}

	#migrant .merit li .box {
		padding: 5vw;
	}

	#migrant .merit li:first-child .box {
		background: url(../images/bg_merit_01_sp.jpg) no-repeat;
		background-size: 100%;
		width: 100vw;
		height: 100vw;
	}

	#migrant .merit li:nth-child(2) .box {
		background: url(../images/bg_merit_02_sp.jpg) no-repeat;
		background-size: 100%;
		width: 100vw;
		height: 100vw;
	}

	#migrant .merit li:last-child .box {
		background: url(../images/bg_merit_03_sp.jpg) no-repeat;
		background-size: 100%;
		width: 100vw;
		height: 100vw;
	}

	#migrant .merit li .box .inner {
	    background: url(../images/bg_merit_sp.jpg) no-repeat;
	    background-size: 100%;
	    width: 90vw;
	    height: 90vw;
	}

	#migrant .merit li .box .inner p {
	    font-size: 6vw;
	    top: 55vw;
	}

	#migrant .merit li .text {
		font-size: 4.5vw;
		width: 92%;
		margin: 10vw auto 0;
	}

	#migrant .sub-title-02 {
	    font-size: 7.5vw;
	    background: url(../images/bg_sub_title_02_sp.jpg) no-repeat;
	    background-size: 100%;
	    height: 37.5vw;
	    margin: 15vw auto 0;
	    padding-top: 8.75vw;
	    text-align: center;
	    line-height: 1.6;
	}

	#migrant .sub-title-02 span {
		font-size: 4.5vw;
		letter-spacing: -0.1em;
	}

	#migrant h4 {
	    font-size: 6vw;
	    background: url(../images/bg_migrant_h4_sp.png) no-repeat;
	    background-size: 100%;
	    width: 85vw;
	    height: 43vw;
	    margin: 10vw auto 0;
	    padding-top: 17.25vw;
	}

	#migrant .day {
	    margin: 10vw auto 0;
	    flex-wrap: wrap;
	}

	#migrant .day li {
		width: 100%;
	}

	#migrant .day:nth-of-type(2n) li:first-child {
		text-align: center;
	}

	#migrant .day:nth-of-type(2n) li:last-child {
		margin-left: 0;
		text-align: center;
	}

	#migrant .day:nth-of-type(2n) li:first-child img {
		width: 83.5vw;
	}

	#migrant .day:nth-of-type(2n) li:last-child img {
		width: 96.5vw;
	}

	#migrant .day:nth-of-type(2n+1) li:first-child {
		padding-left: 0;
		text-align: center;
		order: 2;
	}

	#migrant .day:nth-of-type(2n+1) li:last-child {
		margin-left: 0;
		text-align: center;
		order: 1;
	}

	#migrant .day:nth-of-type(2n+1) li:first-child img {
		width: 96.375vw;
	}

	#migrant .day:nth-of-type(2n+1) li:last-child img {
		width: 83.5vw;
	}

	#migrant .day li p {
		font-size: 4.5vw;
		width: 95%;
		margin: 1.25vw auto 0;
		text-align: left;
		line-height: 1.4;
	}

	#migrant .day li p br {
		display: none;
	}

	#migrant .text-03 {
		font-size: 4.5vw;
		margin-top: 10vw;
	}

	#migrant .text-03 br:nth-child(2) {
		display: inline-block;
	}

	#migrant #room {
		margin-top: 5vw;
		padding: 10vw 0 6.25vw;
	}

	#migrant #room ul {
		margin-top: 10vw;
		flex-wrap: wrap;
	}

	#migrant #room ul li {
		width: 100%;
	}

	#migrant #room ul li:nth-child(n+2) {
		margin: 5vw 0 0 0;
	}

	#migrant #room div {
	    background: url(../images/bg_migrant_room_sp.jpg) no-repeat;
	    background-size: 100%;
	    width: 95%;
	    height: 162.5vw;
	    margin: 7.5vw auto 0;
	    padding: 8.75vw 3.75vw 0 3.75vw;
	}

	#migrant #room div dl {
	    width: 100%;
	    margin-top: 5vw;
	    padding-bottom: 2.5vw;
	    border-bottom: #000 0.125vw solid;
	}

	#migrant #room div dl dt {
	    font-size: 6vw;
	    width: 50%;
	    padding-left: 2.5vw;
	}

	#migrant #room div dl dd {
	    font-size: 6vw;
	    width: 50%;
	}

	#migrant .text-04 {
	    font-size: 8.75vw;
	    width: 95%;
	    margin: 7.5vw auto 0;
	    text-align: left;
	    line-height: 1.2;
	}

	#migrant .text-04 br:first-of-type {
		display: inline-block;
	}

	#migrant .text-04 span {
	    font-size: 4.5vw;
	    margin-top: 5vw;
	    line-height: 1.4;
	}

	#migrant .text-04 span br {
		display: inline-block;
	}
}
/*************** /migrant ***************/

/*************** oneday_experience ***************/
#oneday-experience {
	margin-bottom: 80px;
}

#oneday-experience #first-image {
	width: 100%;
	max-width: 2000px;
	margin: 80px auto 0;
	position: relative;
}

#oneday-experience #first-image img {
	width: 100%;
}

#oneday-experience #first-image .text-01 {
	font-size: 50px;
	position: absolute;
	left: 400px;
	top: 470px;
	letter-spacing: -0.1em;
}

#oneday-experience #first-image .text-01 span {
	font-size: 70px;
}

#oneday-experience #first-image .text-02 {
	font-size: 80px;
	position: absolute;
	left: 400px;
	top: 580px;
}

#oneday-experience #first-image .text-02 br {
	display: none;
}

#oneday-experience #minimum {
	background: url(../images/bg_oneday_experience_minimum.jpg) no-repeat;
	background-size: 100%;
	width: 100%;
	max-width: 1240px;
	height: 496px;
	margin: 40px auto 0;
	padding-top: 80px;
}

#oneday-experience #minimum .text-02 {
	font-size: 60px;
}

#oneday-experience #minimum .text-03 {
	font-size: 24px;
	margin-top: 40px;
	padding-left: 10px;
	line-height: 1.6;
}

#oneday-experience #second-image {
	background: url(../images/bg_oneday_experience_01.jpg) no-repeat;
	background-size: 100%;
	width: 100%;
	max-width: 1240px;
	height: 496px;
	margin: 40px auto 0;
	padding-top: 80px;
}

#oneday-experience #second-image .text-02 {
	font-size: 60px;
}

#oneday-experience #second-image .text-03 {
	font-size: 24px;
	margin-top: 40px;
	padding-left: 10px;
	line-height: 1.6;
}

#oneday-experience #second-image .text-03 span {
	font-size: 35px;
	margin-top: 30px;
	display: block;
	line-height: 1.5;
	letter-spacing: -0.05em;
}

#oneday-experience #second-image .text-03 br {
	display: inline-block;
}

#oneday-experience #third-image {
	background: #efefef;
	margin-top: 40px;
	padding: 60px 0;
}

#oneday-experience #third-image h3 {
	font-size: 40px;
	background: url(../images/bg_oneday_experience_h3.png) no-repeat;
	background-size: 100%;
	width: 700px;
	height: 177px;
	margin: 0 auto;
	padding-top: 66px;
	text-align: center;
}

#oneday-experience #third-image .box {
	background: url(../images/bg_oneday_experience_02.jpg) no-repeat;
	background-size: 100%;
	width: 100%;
	max-width: 1240px;
	height: 450px;
	margin: 60px auto 0;
	padding: 80px 20px 0;
}

#oneday-experience #third-image .box h4 {
	font-size: 40px;
}

#oneday-experience #third-image .box h4 br {
	display: none;
}

#oneday-experience #third-image .box p {
	font-size: 24px;
	margin-top: 20px;
	padding-left: 20px;
	line-height: 1.8;
}

#oneday-experience #third-image .box p span br:first-child {
	display: inline-block;
}

#oneday-experience .text-04 {
	font-size: 40px;
	margin-top: 80px;
	text-align: center;
	letter-spacing: -0.05em;
}

#oneday-experience .text-04 span {
	font-size: 24px;
	margin-top: 40px;
	display: block;
}

#oneday-experience .text-04 br {
	display: none;
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	#oneday-experience {
		margin-bottom: 4vw;
	}

	#oneday-experience #first-image {
		margin: 4vw auto 0;
	}

	#oneday-experience #first-image .text-01 {
		font-size: 2.5vw;
		left: 20vw;
		top: 23.5vw;
	}

	#oneday-experience #first-image .text-02 {
		font-size: 4vw;
		left: 20vw;
		top: 29vw;
	}

	#oneday-experience #first-image .text-01 span {
		font-size: 3.5vw;
	}
}

@media screen and (min-width: 801px) and (max-width: 1240px) {
	#oneday-experience #minimum {
		height: 40vw;
		margin: 3.226vw auto 0;
		padding-top: 6.452vw;
	}

	#oneday-experience #minimum .text-02 {
		font-size: 4.839vw;
	}

	#oneday-experience #minimum .text-03 {
		font-size: 1.935vw;
		margin-top: 3.226vw;
		padding-left: 0.806vw;
	}

	#oneday-experience #second-image {
		height: 40vw;
		margin: 3.226vw auto 0;
		padding-top: 6.452vw;
	}

	#oneday-experience #second-image .text-02 {
		font-size: 4.839vw;
	}

	#oneday-experience #second-image .text-03 {
		font-size: 1.935vw;
		margin-top: 3.226vw;
		padding-left: 0.806vw;
	}

	#oneday-experience #second-image .text-03 span {
		font-size: 2.823vw;
		margin-top: 2.419vw;
	}

	#oneday-experience #third-image {
		margin-top: 3.226vw;
		padding: 4.839vw 0;
	}

	#oneday-experience #third-image h3 {
		font-size: 3.226vw;
		width: 56.452vw;
		height: 14.274vw;
		padding-top: 5.323vw;
	}

	#oneday-experience #third-image .box {
		height: 36.29vw;
		margin: 4.839vw auto 0;
		padding: 6.452vw 1.613vw 0;
	}

	#oneday-experience #third-image .box h4 {
		font-size: 3.226vw;
	}

	#oneday-experience #third-image .box p {
		font-size: 1.935vw;
		margin-top: 1.613vw;
		padding-left: 1.613vw;
	}

	#oneday-experience .text-04 {
		font-size: 3.226vw;
		margin-top: 6.452vw;
	}

	#oneday-experience .text-04 span {
		font-size: 1.935vw;
		margin-top: 3.226vw;
	}
}

@media screen and (max-width: 800px) {
	#oneday-experience {
		margin-bottom: 0;
	}

	#oneday-experience #first-image {
		margin-top: 4vw;
	}

	#oneday-experience #first-image .text-01 {
		font-size: 10vw;
		width: 95%;
		margin: 7.5vw auto 0;
		position: relative;
		left: 0;
		top: 0;
	}

	#oneday-experience #first-image .text-01 span {
		font-size: 10vw;
		margin-top: 5vw;
		display: block;
	}

	#oneday-experience #first-image .text-02 {
		font-size: 10vw;
		color: #ff878f;
		width: 95%;
		margin: 2.5vw auto 0;
		line-height: 1.5;
		position: relative;
		left: 0;
		top: 0;
	}

	#oneday-experience #first-image .text-02 br {
		display: inline-block;
	}

	#oneday-experience #minimum {
		background: transparent;
		width: 95%;
		height: auto;
		margin: 12.5vw auto 0;
		padding-top: 0;
	}

	#oneday-experience #minimum .text-02 {
		font-size: 8.75vw;
		letter-spacing: -0.05em;
	}


	#oneday-experience #minimum .text-03 {
		font-size: 4.5vw;
		margin-top: 5vw;
		padding-left: 0;
		line-height: 1.4;
		letter-spacing: -0.05em;
	}

	#oneday-experience #second-image {
		background: transparent;
		width: 95%;
		height: auto;
		margin: 7.5vw auto 0;
		padding-top: 0;
	}

	#oneday-experience #second-image .text-02 {
		font-size: 8.75vw;
	}

	#oneday-experience #second-image .text-03 {
		font-size: 4.5vw;
		margin-top: 5vw;
		padding-left: 0;
		line-height: 1.4;
		letter-spacing: -0.05em;
	}

	#oneday-experience #second-image .text-03 span {
		font-size: 6.25vw;
		margin-top: 1.25vw;
		letter-spacing: -0.1em;
	}

	#oneday-experience #second-image .text-03 br {
		display: none;
	}

	#oneday-experience #third-image {
		background: #efefef;
		margin-top: 15vw;
		padding: 7.5vw 0;
	}

	#oneday-experience #third-image h3 {
		font-size: 6.25vw;
		background: url(../images/bg_oneday_experience_h3_sp.png) no-repeat;
		background-size: 100%;
		width: 95vw;
		height: 44.25vw;
		padding-top: 17vw;
		letter-spacing: 0;
	}

	#oneday-experience #third-image .box {
		background: url(../images/bg_oneday_experience_02_sp.jpg) no-repeat;
		background-size: 100%;
		width: 95vw;
		height: 147.5vw;
		margin: 7.5vw auto 0;
		padding: 12.5vw 0 0;
	}

	#oneday-experience #third-image .box h4 {
		font-size: 8.75vw;
		line-height: 1.4;
		letter-spacing: -0.05em;
	}

	#oneday-experience #third-image .box h4 br {
		display: inline-block;
	}

	#oneday-experience #third-image .box p {
		font-size: 4.5vw;
		margin-top: 5vw;
		padding-left: 3.75vw;
		line-height: 1.4;
	}

	#oneday-experience #third-image .box p span {
		margin-top: 5vw;
		display: block;
	}

	#oneday-experience #third-image .box p span br:first-child {
		display: none;
	}

	#oneday-experience .text-04 {
	    font-size: 8.75vw;
	    width: 95%;
	    margin: 7.5vw auto 0;
	    text-align: left;
	    line-height: 1.2;
	}

	#oneday-experience .text-04 br:first-of-type {
		display: inline-block;
	}

	#oneday-experience .text-04 span {
	    font-size: 4.5vw;
	    margin-top: 5vw;
	    line-height: 1.4;
	}

	#oneday-experience .text-04 span br {
		display: inline-block;
	}
}
/*************** /oneday_experience ***************/

/*************** profit ***************/
#profit {
	margin-bottom: 120px;
}

#profit h2 {
	width: 420px;
}

#profit h3 {
	font-size: 40px;
	text-align: center;
}

#profit h3 span {
	font-family: 'Baskervville';
	font-size: 22px;
	letter-spacing: 0.15em;
}

#profit #first-image {
	background: url(../images/bg_profit_01.jpg) no-repeat;
	width: 100%;
	max-width: 2000px;
	height: 830px;
	margin: 80px auto 0;
	padding-top: 80px;
}

#profit #first-image .text-01 {
	font-size: 50px;
	margin-top: 40px;
	text-align: center;
}

#profit #first-image .text-01:nth-of-type(2) {
	margin-top: 60px;
}

#profit #first-image .text-02 {
	font-size: 60px;
	margin-top: 24px;
	text-align: center;
}

#profit #first-image .text-02 .big {
	font-size: 100px;
}

#profit #first-image .text-02 .middle {
	font-size: 80px;
}

#profit #first-image .text-02 br {
	display: none;
}

#profit #first-image .text-03 {
	font-size: 20px;
	margin-top: 30px;
	text-align: center;
	line-height: 1.6;
	text-decoration: underline;
	text-decoration-color: #c50000;
	-webkit-text-decoration-color: #c50000;
	text-underline-position: under;
}

#profit #first-image .text-03 br:first-child,
#profit #first-image .text-03 br:nth-child(3) {
	display: none;
}

#profit #first-image .text-04 {
	font-size: 20px;
	margin-top: 30px;
	text-align: center;
	line-height: 1.4;
	text-decoration: underline;
	text-decoration-color: #c50000;
	-webkit-text-decoration-color: #c50000;
	text-underline-position: under;
}

#profit #first-image .text-04 br:first-child,
#profit #first-image .text-04 br:nth-child(3) {
	display: none;
}

#profit .box {
	width: 100%;
	max-width: 1240px;
	margin: 60px auto 0;
}

#profit .box .image {
	width: 100%;
	max-width: 1240px;
	height: 300px;
	padding: 80px 0 0 100px;
}

#profit .box:nth-of-type(2) .image {
	background: url(../images/bg_profit_02.jpg) no-repeat;
	background-size: 100%;
	padding-top: 120px;
}

#profit .box:nth-of-type(3) .image {
	background: url(../images/bg_profit_03.jpg) no-repeat;
	background-size: 100%;
}

#profit .box:nth-of-type(4) .image {
	background: url(../images/bg_profit_04.jpg) no-repeat;
	background-size: 100%;
	padding-top: 60px;
}

#profit .box .image p {
	font-size: 40px;
	letter-spacing: -0.05em;
	line-height: 1.2;
}

#profit .box:nth-of-type(2) .image p {
	color: #c50000;
	line-height: 1.4;
}

#profit .box .image p .big {
	font-size: 60px;
}

#profit .box .image p .middle {
	font-size: 50px;
}

#profit .box .image p .small {
	font-size: 28px;
	display: block;
}

#profit .box .text {
	font-size: 24px;
	margin-top: 60px;
	padding-left: 100px;
	line-height: 1.6;
	letter-spacing: -0.05em;
}

#profit .box .text span {
	text-decoration: underline;
	text-decoration-color: #c50000;
	-webkit-text-decoration-color: #c50000;
	text-underline-position: under;
}

#profit .box .text br:nth-child(n+2) {
	display: inline-block;
}

#profit .box:nth-of-type(3) .text br,
#profit .box:nth-of-type(4) .text br {
	display: inline-block;
}

#profit #fourth-image {
	background: url(../images/bg_profit_05.jpg) no-repeat;
	background-attachment: fixed;
	width: 100%;
	max-width: 2000px;
	height: 890px;
	margin: 120px auto 0;
	padding-top: 80px;
}

#profit #fourth-image ul {
	width: 100%;
	max-width: 1240px;
	margin: 60px auto 0;
	display: flex;
	justify-content: center;
}

#profit #fourth-image ul li:nth-child(2) {
	margin-left: 60px;
	padding-top: 20px;
}

#profit #fourth-image ul li .name {
	font-size: 30px;
	padding-bottom: 10px;
	border-bottom: #000 2px solid;
}

#profit #fourth-image ul li .time {
	font-size: 40px;
	margin-top: 30px;
	line-height: 1.8;
}

#profit #fourth-image ul li .total {
	font-size: 70px;
	line-height: 1.2;
}

#profit #fourth-image ul li .total span {
	font-size: 40px;
}

#profit #fifth-image {
	margin-top: 60px;
}

#profit #fifth-image ul {
	width: 100%;
	max-width: 1240px;
	margin: 40px auto 0;
	display: flex;
}

#profit #fifth-image ul li:last-child {
	margin-left: 40px;
}

#profit #fifth-image ul li h4 {
	font-size: 40px;
	background: url(../images/bg_profit_h4.png) no-repeat;
	background-size: 100%;
	width: 700px;
	height: 177px;
	padding-top: 70px;
	text-align: center;
}

#profit #fifth-image ul li p {
	font-size: 24px;
	margin-top: 80px;
	padding: 0 40px;
	line-height: 1.3;
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	#profit {
		margin-bottom: 6vw;
	}
}

@media screen and (min-width: 801px) and (max-width: 1300px) {
	#profit #fifth-image {
		margin-top: 4.615vw;
	}

	#profit #fifth-image ul {
		width: 95.385vw;
		margin: 3.077vw auto 0;
	}

	#profit #fifth-image ul li:first-child img {
		width: 38.462vw;
	}

	#profit #fifth-image ul li:last-child {
		margin-left: 3.077vw;
	}

	#profit #fifth-image ul li h4 {
		font-size: 3.077vw;
		width: 53.846vw;
		height: 13.615vw;
		padding-top: 5.385vw;
	}

	#profit #fifth-image ul li p {
		font-size: 1.846vw;
		margin-top: 3.077vw;
		padding: 0 3.077vw;
	}
}

@media screen and (min-width: 801px) and (max-width: 1240px) {
	#profit h3 {
		font-size: 3.226vw;
	}

	#profit h3 span {
		font-size: 1.774vw;
	}

	#profit #first-image {
		height: 66.935vw;
		margin: 6.452vw auto 0;
		padding-top: 6.452vw;
	}

	#profit #first-image .text-01 {
		font-size: 4.032vw;
		margin-top: 3.226vw;
	}

	#profit #first-image .text-01:nth-of-type(2) {
		margin-top: 4.839vw;
	}

	#profit #first-image .text-02 {
		font-size: 4.839vw;
		margin-top: 1.935vw;
	}

	#profit #first-image .text-02 .big {
		font-size: 8.065vw;
	}

	#profit #first-image .text-02 .middle {
		font-size: 6.452vw;
	}

	#profit #first-image .text-03 {
		font-size: 1.613vw;
		margin-top: 2.419vw;
	}

	#profit #first-image .text-04 {
		font-size: 1.613vw;
		margin-top: 2.419vw;
	}

	#profit .box {
		margin: 4.839vw auto 0;
	}

	#profit .box .image {
		height: 24.194vw;
		padding: 6.452vw 0 0 8.065vw;
	}

	#profit .box:nth-of-type(2) .image {
		padding-top: 9.677vw;
	}

	#profit .box:nth-of-type(3) .image {
		padding-top: 4.839vw;
	}

	#profit .box .image p {
		font-size: 3.226vw;
	}

	#profit .box .image p .big {
		font-size: 4.839vw;
	}

	#profit .box .image p .middle {
		font-size: 4.032vw;
	}

	#profit .box .image p .small {
		font-size: 2.258vw;
	}

	#profit .box .text {
		font-size: 1.935vw;
		margin-top: 4.839vw;
		padding-left: 8.065vw;
	}

	#profit #fourth-image {
		height: 71.774vw;
		margin: 9.677vw auto 0;
		padding-top: 6.452vw;
	}

	#profit #fourth-image ul {
		margin: 4.839vw auto 0;
		padding-top: 1.613vw;
	}

	#profit #fourth-image ul li:first-child img {
		width: 40.323vw;
	}

	#profit #fourth-image ul li:nth-child(2) {
		margin-left: 4.839vw;
	}

	#profit #fourth-image ul li .name {
		font-size: 2.419vw;
		padding-bottom: 0.806vw;
		border-bottom: #000 0.161vw solid;
	}

	#profit #fourth-image ul li .time {
		font-size: 3.226vw;
		margin-top: 2.419vw;
	}

	#profit #fourth-image ul li .total {
		font-size: 5.645vw;
	}

	#profit #fourth-image ul li .total span {
		font-size: 3.226vw;
	}
}

@media screen and (max-width: 800px) {
	#profit {
		margin-bottom: 0;
	}

	#profit h2 {
		width: 77vw;
	}

	#profit h3 {
		font-size: 7.5vw;
		letter-spacing: -0.15em;
	}

	#profit h3 span {
		font-size: 4.5vw;
	}

	#profit #first-image {
		background: url(../images/bg_profit_01_sp.jpg) no-repeat;
		height: 175vw;
		margin: 10vw auto 0;
		padding-top: 15vw;
	}

	#profit #first-image .text-01 {
		font-size: 7.5vw;
		margin-top: 3.75vw;
		padding-left: 10vw;
		text-align: left;
		letter-spacing: -0.1em;
	}

	#profit #first-image .text-01:nth-of-type(2) {
		margin-top: 6.25vw;
	}

	#profit #first-image .text-02 {
		font-size: 7.5vw;
		margin-top: 3.75vw;
		padding-left: 10vw;
		text-align: left;
		line-height: 1.1;
	}

	#profit #first-image .text-02 .big {
		font-size: 15vw;
	}

	#profit #first-image .text-02 .middle {
		font-size: 10vw;
	}

	#profit #first-image .text-02 br {
		display: inline-block;
	}

	#profit #first-image .text-03 {
		font-size: 4.5vw;
		margin-top: 2.5vw;
		letter-spacing: -0.05em;
	}

	#profit #first-image .text-03 br:first-child,
	#profit #first-image .text-03 br:nth-child(3) {
		display: inline-block;
	}

	#profit #first-image .text-04 {
		font-size: 4.5vw;
		margin-top: 3.75vw;
		letter-spacing: -0.1em;
	}

	#profit #first-image .text-04 br:first-child,
	#profit #first-image .text-04 br:nth-child(2),
	#profit #first-image .text-04 br:nth-child(3) {
		display: block;
	}

	#profit .box {
		margin-top: 5vw;
	}

	#profit .box .image {
		height: 50vw;
		padding: 0;
		position: relative;
	}

	#profit .box:nth-of-type(2) .image {
		background: url(../images/bg_profit_02_sp.jpg) no-repeat;
		background-size: 100%;
	}

	#profit .box:nth-of-type(3) .image {
		background: url(../images/bg_profit_03_sp.jpg) no-repeat;
		background-size: 100%;
	}

	#profit .box:nth-of-type(4) .image {
		background: url(../images/bg_profit_04_sp.jpg) no-repeat;
		background-size: 100%;
		padding-top: 0;
	}

	#profit .box .image p {
		font-size: 7.5vw;
		letter-spacing: -0.1em;
		position: absolute;
		left: 7.5vw;
	}

	#profit .box:nth-of-type(2) .image p {
		line-height: 1.2;
		bottom: -23vw;
	}

	#profit .box:nth-of-type(3) .image p {
		bottom: -25vw;
	}

	#profit .box:nth-of-type(4) .image p {
		bottom: -33.75vw;
	}

	#profit .box .image p .big {
		font-size: 10vw;
	}

	#profit .box .image p .big span {
		font-size: 7.5vw;
	}

	#profit .box .image p .middle {
		font-size: 10vw;
		display: block;
	}

	#profit .box .image p .small {
		font-size: 5.5vw;
		margin-top: 2.5vw;
		display: block;
	}

	#profit .box .text {
		font-size: 4.5vw;
		padding: 0 2.5vw 0 7.5vw;
	}

	#profit .box:nth-of-type(2) .text {
		margin-top: 25vw;
	}

	#profit .box:nth-of-type(3) .text {
		margin-top: 25vw;
	}

	#profit .box:nth-of-type(4) .text {
		margin-top: 35vw;
	}

	#profit .box .text br:nth-child(n+2) {
		display: none;
	}

	#profit .box:nth-of-type(3) .text br,
	#profit .box:nth-of-type(4) .text br {
		display: none;
	}

	#profit #fourth-image {
		background: url(../images/bg_profit_05_sp.jpg) no-repeat;
		background-attachment: fixed;
		/*height: 225vw;*/
		height: 135vw;
		margin: 10vw auto 0;
		padding-top: 15vw;
	}

	#profit #fourth-image ul {
		width: 95%;
		margin: 10vw auto 0;
		flex-wrap: wrap;
	}

	#profit #fourth-image ul li:first-child {
		width: 100%;
		text-align: center;
	}

	#profit #fourth-image ul li:first-child img {
		width: 75vw;
	}

	#profit #fourth-image ul li:nth-child(2) {
		margin: 10vw 0 0;
	}

	#profit #fourth-image ul li .name {
		font-size: 6.25vw;
		padding-bottom: 2.5vw;
		border-bottom: #000 0.5vw solid;
	}

	#profit #fourth-image ul li .time {
		font-size: 7.5vw;
		margin-top: 5vw;
		letter-spacing: -0.06em;
	}

	#profit #fourth-image ul li .total {
		font-size: 12.5vw;
		padding-left: 3.75vw;
	}

	#profit #fourth-image ul li .total span {
		font-size: 7.5vw;
	}

	#profit #fifth-image {
		margin-top: 15vw;
	}

	#profit #fifth-image ul {
		margin: 15vw auto 0;
		flex-wrap: wrap;
	}

	#profit #fifth-image ul li {
		width: 100%;
	}

	#profit #fifth-image ul li:first-child img {
		width: 100%;
	}

	#profit #fifth-image ul li:last-child {
		margin: 3.75vw 0 0 0;
	}

	#profit #fifth-image ul li h4 {
		font-size: 7.5vw;
		background: url(../images/bg_profit_h4_sp.png) no-repeat;
		background-size: 100%;
		width: 95vw;
		height: 44.25vw;
		margin: 0 auto;
		padding-top: 17.5vw;
	}

	#profit #fifth-image ul li p {
		font-size: 4.5vw;
		margin-top: 10vw;
		padding: 0 5vw;
		line-height: 1.4;
	}
}
/*************** /profit ***************/

/*************** works ***************/
#works {
	margin-bottom: 120px;
}

#works #first-image {
	width: 100%;
	max-width: 1200px;
	margin: 120px auto 0;
}

#works #first-image img {
	width: 100%;
}

#works h3 {
	font-size: 40px;
	margin-top: 120px;
	text-align: center;
}

#works h3 span {
	font-family: 'Baskervville';
	font-size: 22px;
	letter-spacing: 0.15em;
}

#works .box {
	width: 100%;
	max-width: 2000px;
	margin: 40px auto 0;
}

#works .box:nth-of-type(2) {
	background: url(../images/bg_works_01.png) no-repeat top center;
	height: 820px;
	padding-top: 300px;
}

#works .box:nth-of-type(3) {
	background: url(../images/bg_works_02.png) no-repeat top center;
	height: 976px;
	padding-top: 300px;
}

#works .box:nth-of-type(4) {
	background: url(../images/bg_works_03.png) no-repeat top center;
	height: 620px;
	padding-top: 110px;
}

#works .box:nth-of-type(5) {
	background: url(../images/bg_works_04.png) no-repeat top center;
	height: 1000px;
	padding-top: 300px;
}

#works .box:nth-of-type(6) {
	background: url(../images/bg_works_05.png) no-repeat top center;
	height: 618px;
	padding-top: 110px;
}

#works .box:nth-of-type(7) {
	background: url(../images/bg_works_06.png) no-repeat top center;
	height: 1000px;
	padding-top: 300px;
}

#works .box:nth-of-type(8) {
	background: url(../images/bg_works_07.png) no-repeat top center;
	height: 620px;
	padding-top: 110px;
}

#works .box:nth-of-type(9) {
	background: url(../images/bg_works_08.png) no-repeat top center;
	height: 956px;
	padding-top: 300px;
}

#works .box .text-01 {
	font-size: 30px;
	font-weight: bold;
	color: #00003d;
	text-align: center;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff ,0 0 10px #fff ,0 0 10px #fff;
}

#works .box .text-01 br {
	display: none;
}

#works .box .text-02 {
	font-size: 24px;
	color: #00003d;
	margin-top: 80px;
	text-align: center;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff ,0 0 10px #fff ,0 0 10px #fff;
	line-height: 2;
}

#works .box:nth-of-type(2) .text-02 br:nth-child(2) {
	display: inline-block;
}

#works .box:nth-of-type(2) .text-02 br:first-child,
#works .box:nth-of-type(2) .text-02 br:nth-child(3),
#works .box:nth-of-type(3) .text-02 br:nth-child(2),
#works .box:nth-of-type(6) .text-02 br,
#works .box:nth-of-type(7) .text-02 br,
#works .box:nth-of-type(8) .text-02 br:first-child,
#works .box:nth-of-type(9) .text-02 br:first-child {
	display: none;
}

#works .box .text-03 {
	font-family: 'Pinyon Script';
	font-size: 18px;
	color: #00003d;
	margin-top: 60px;
	text-align: center;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff ,0 0 10px #fff ,0 0 10px #fff;
	line-height: 1.4;
}

#works .box:nth-of-type(4) .text-03 br {
	display: inline-block;
}

@media screen and (min-width: 801px) and (max-width: 1600px) {
	#works {
		margin-bottom: 7.5vw;
	}

	#works .box {
		margin: 2.5vw auto 0;
	}

	#works .box:nth-of-type(2) {
		height: 51.25vw;
		padding-top: 18.75vw;
	}

	#works .box:nth-of-type(3) {
		height: 61vw;
		padding-top: 18.75vw
	}

	#works .box:nth-of-type(4) {
		height: 38.75vw;
		padding-top: 6.875vw;
	}

	#works .box:nth-of-type(5) {
		height: 62.5vw;
		padding-top: 18.75vw
	}

	#works .box:nth-of-type(6) {
		height: 38.625vw;
		padding-top: 6.875vw;
	}

	#works .box:nth-of-type(7) {
		height: 62.5vw;
		padding-top: 18.75vw;
	}

	#works .box:nth-of-type(8) {
		height: 38.75vw;
		padding-top: 6.875vw;
	}

	#works .box:nth-of-type(9) {
		height: 59.75vw;
		padding-top: 18.75vw;
	}

	#works .box:nth-of-type(n+2) {
		background-size: 125%;
	}

	#works .box .text-01 {
		font-size: 1.875vw;
		text-shadow: 0 0 0.625vw #fff, 0 0 0.625vw #fff, 0 0 0.625vw #fff ,0 0 0.625vw #fff ,0 0 0.625vw #fff;
	}

	#works .box .text-02 {
		font-size: 1.5vw;
		margin-top: 5vw;
		text-shadow: 0 0 0.625vw #fff, 0 0 0.625vw #fff, 0 0 0.625vw #fff ,0 0 0.625vw #fff ,0 0 0.625vw #fff;
	}

	#works .box .text-03 {
		font-size: 1.125vw;
		margin-top: 3.75vw;
	}
}

@media screen and (min-width: 801px) and (max-width: 1200px) {
	#works #first-image {
		margin-top: 10vw;
	}

	#works h3 {
	    font-size: 3.333vw;
	    margin-top: 10vw;
	}
}

@media screen and (max-width: 800px) {
	#works {
		margin-bottom: 0;
	}

	#works #first-image {
		width: 96vw;
		margin-top: 10vw;
	}

	#works h3 {
		font-size: 7.5vw;
		margin-top: 15vw;
		line-height: 1.3;
	}

	#works h3 span {
		font-size: 5.25vw;
		letter-spacing: 0;
	}

	#works .box {
		margin-top: 10vw;
		position: relative;
	}

	#works .box:nth-of-type(2n) {
		padding-top: 41.25vw;
	}

	#works .box:nth-of-type(2n+1) {
		padding-top: 41.25vw;
	}

	#works .box:nth-of-type(n+3) {
		margin-top: 0;
	}

	#works .box:nth-of-type(2) {
		background: url(../images/bg_works_01_sp.png) no-repeat top center;
		background-size: 100%;
		height: 125vw;
		z-index: 8;
	}

	#works .box:nth-of-type(3) {
		background: url(../images/bg_works_02_sp.png) no-repeat top center;
		background-size: 100%;
		height: 125vw;
		z-index: 7;
	}

	#works .box:nth-of-type(4) {
		background: url(../images/bg_works_03_sp.png) no-repeat top center;
		background-size: 100%;
		height: 125vw;
		z-index: 6;
	}

	#works .box:nth-of-type(5) {
		background: url(../images/bg_works_04_sp.png) no-repeat top center;
		background-size: 100%;
		height: 125vw;
		z-index: 5;
	}

	#works .box:nth-of-type(6) {
		background: url(../images/bg_works_05_sp.png) no-repeat top center;
		background-size: 100%;
		height: 125vw;
		z-index: 4;
	}

	#works .box:nth-of-type(7) {
		background: url(../images/bg_works_06_sp.png) no-repeat top center;
		background-size: 100%;
		height: 125vw;
		z-index: 3;
	}

	#works .box:nth-of-type(8) {
		background: url(../images/bg_works_07_sp.png) no-repeat top center;
		background-size: 100%;
		height: 125vw;
		z-index: 2;
	}

	#works .box:nth-of-type(9) {
		background: url(../images/bg_works_08_sp.png) no-repeat top center;
		background-size: 100%;
		height: 145.5vw;
	}

	#works .box::before {
		content: '';
		background: #000;
		width: 0.25vw;
		height: 12.5vw;
		margin: auto;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -6.25vw;
	}

	#works .box:nth-of-type(9)::before {
		bottom: 22.5vw;
	}

	#works .box .text-01 {
		font-size: 7vw;
		text-shadow: 0 0 1.25vw #fff, 0 0 1.25vw #fff, 0 0 1.25vw #fff ,0 0 1.25vw #fff ,0 0 1.25vw #fff;
		line-height: 1.2;
		letter-spacing: -0.05em;
	}

	#works .box .text-01 br {
		display: inline-block;
	}

	#works .box .text-02 {
		font-size: 4.5vw;
		margin-top: 6.25vw;
		text-shadow: 0 0 1.25vw #fff, 0 0 1.25vw #fff, 0 0 1.25vw #fff ,0 0 1.25vw #fff ,0 0 1.25vw #fff;
		line-height: 1.4;
		letter-spacing: -0.05em;
	}

	#works .box:nth-of-type(2) .text-02 br:nth-child(2) {
		display: none;
	}

	#works .box:nth-of-type(2) .text-02 br:first-child,
	#works .box:nth-of-type(2) .text-02 br:nth-child(3),
	#works .box:nth-of-type(3) .text-02 br:nth-child(2),
	#works .box:nth-of-type(6) .text-02 br,
	#works .box:nth-of-type(7) .text-02 br,
	#works .box:nth-of-type(8) .text-02 br:first-child,
	#works .box:nth-of-type(9) .text-02 br:first-child {
		display: inline-block;
	}

	#works .box .text-03 {
		font-size: 2.75vw;
		margin-top: 7.5vw;
		text-shadow: 0 0 1.25vw #fff, 0 0 1.25vw #fff, 0 0 1.25vw #fff ,0 0 1.25vw #fff ,0 0 1.25vw #fff;
	}

	#works .box:nth-of-type(4) .text-03 br {
		display: none;
	}

	#works .box:nth-of-type(5) .text-03 br {
		display: inline-block;
	}
}
/*************** /works ***************/

/*************** 外部リンク ***************/
.banner {
	margin-top: 30px;
	text-align: center;
}

.banner img {
	max-width: 95%;
}

@media screen and (max-width: 800px) {
	.banner {
		margin-top: 5vw;
	}
}
/*************** /外部リンク ***************/