@charset "utf-8";
@media only screen and (max-width: 750px) {
	/*--------------------*/
	/*---- sp_cont.css ----*/
	/*--------------------*/

	/*------------------------------------
		基本設定
	-------------------------------------*/
	html {
		font-size: 62.5%;
		overflow: auto;
	}

	body {
		font-size: 1.4em;
	}

	img {
		width: 100%;
		max-width: 100%;
		height: auto;
		vertical-align: bottom;
	}

	.spNone {
		display: none;
	}

	/*------------------------------------
		common
	-------------------------------------*/
	.container {
		padding-inline: 20px;
	}

	.boxWrap {
		display: flex;
		flex-direction: column;
		gap: 30px;
	}

	.box {
		padding: 48px 20px 60px;
		position: relative;
		background: #fff;
		border: solid 2px #000;
		border-radius: 20px;
		box-shadow: 10px 10px 0px rgb(134 148 161 / 50%);
	}

	.boxBorder1 {
		border-color: #8694A1;
	}

	.boxBorder2 {
		border-color: #888888;
	}

	.sectionDeco {
		margin-bottom: 20px;
		text-align: center;
	}

	.sectionDeco p {
		font-size: 3rem;
		font-weight: var(--font-w-bold);
		color: #FFE9C1;
		letter-spacing: 0.15em;
	}

	.scrollTop {
		scroll-margin-top: 100px;
	}

	.parallaxSection {
		position: relative;
		overflow: hidden;
		min-height: 60vh;
	}

	.parallaxBg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 120%;
		z-index: -1;
	}

	/*------------------------------------
		header
	-------------------------------------*/
	.header {
		padding: 20px 20px 17px;
		position: relative;
		background: #fff;
		z-index: 999;
		transition: background 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease;
	}

	.header.is-sticky {
		position: sticky;
		top: 0;
		box-shadow: 0px 1px 2px rgb(0 0 0 / 15%);
	}

	.headerLogo {
		width: 89px;
	}

	.sp-menu-button {
		width: 65px;
		height: 65px;
		position: absolute;
		top: 0;
		right: 0;
		background: url(../img/icons/menu_open.svg) no-repeat;
		background-size: 26px 24px;
		background-position: center;
	}

	.sp-menu-button.is-open {
		background: url(../img/icons/menu_close.svg) no-repeat;
		background-size: 21px 21px;
		background-position: center;
	}

	.headerNavWrap {
		display: none;
		width: 100%;
		padding: 34px 45px 98px;
		position: absolute;
		top: 65px;
		left: 0;
		background: #364C63;
	}

	.headerNavWrap.is-open {
		display: block;
	}

	.headerNavList {
		display: flex;
		flex-direction: column;
	}

	.headerNavItem {
		font-size: 1.6rem;
		font-weight: var(--font-w-medium);
		border-bottom: 1px solid #6F6F6F;
	}

	.headerNavItem a {
		display: block;
		padding: 22px 0;
		color: #fff;
	}

	.headerActions {
		display: flex;
		flex-direction: column-reverse;
		align-items: center;
		gap: 60px;
		margin-top: 60px;
	}

	.headerSnsList {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 30px;
	}

	.headerSnsItem a {
		display: block;
		width: 45px;
		height: 45px;
	}

	.headerSnsItem a.note {
		background: url(../img/icons/note_w.svg) no-repeat;
		background-size: contain;
		background-position: center;
	}

	.headerSnsItem a.linkedin {
		margin-right: -3px;
		background: url(../img/icons/linkedin_w.png) no-repeat;
		background-size: contain;
		background-position: center;
	}

	.headerSnsItem a.facebook {
		background: url(../img/icons/facebook_w.png) no-repeat;
		background-size: contain;
		background-position: center;
	}

	.headerContactButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 7px;
		width: 208px;
		height: 44px;
		background: #fff;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		color: #364C63;
		border-radius: 9999px;
	}

	.headerContactButton::before {
		content: "";
		width: 17px;
		height: 11.5px;
		position: relative;
		top: 1px;
		background: url(../img/icons/mail2.svg) no-repeat;
		background-size: contain;
	}

	/*------------------------------------
		hero
	-------------------------------------*/
	.heroImage {
		width: 100%;
	}

	.heroMessage {
		padding: 25px 0 30px;
		font-size: 1.7rem;
		font-weight: var(--font-w-bold);
		line-height: 1.5;
		text-align: center;
	}

	/*------------------------------------
		news
	-------------------------------------*/
	.newsSection {
		padding: 50px 0;
	}

	.newsSection .parallaxBg {
		background: url(../img/news_bg_sp.webp) no-repeat;
		background-size: cover;
	}

	.newsTitle {
		font-size: 2rem;
		font-weight: var(--font-w-bold);
		color: #364C63;
		text-align: center;
	}

	.newsTitleEn {
		margin-top: 8px;
		font-size: 1.3rem;
		font-weight: var(--font-w-medium);
		text-align: center;
		color: #364C63;
	}

	.newsList {
		margin-top: 34px;
		border-top: solid 1px #DBDBDB;
	}

	.newsItem {
		padding-block: 20px;
		font-size: 1.6rem;
		line-height: 1.6;
		border-bottom: solid 1px #DBDBDB;
	}

	.newsDate {
		font-weight: var(--font-w-medium);
	}

	.newsBody {
		margin-top: 20px;
	}

	.newsLink {
		color: #364C63;
		text-decoration: underline;
	}

	.newsLink::after {
		content: "";
		display: inline-block;
		width: 14px;
		height: 14px;
		margin-left: 7px;
		background: url(../img/icons/blank.svg) no-repeat;
		background-size: contain;
		vertical-align: -2px;
	}

	.noteButtonWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin-top: 38px;
	}

	.noteButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		width: 100%;
		height: 85px;
		padding: 0 50px 0 10px;
		position: relative;
		font-size: 1.4rem;
		font-weight: var(--font-w-bold);
		line-height: 1.5;
		border: 3px solid #364C63;
		border-radius: 20px;
		overflow: hidden;
		transition: .2s;
	}

	.noteButton span {
		flex: 1;
	}

	.noteButton::before {
		content: "";
		width: 85px;
		height: 32px;
		margin-right: 6px;
		background: url(../img/note_logo.svg) no-repeat;
		background-size: contain;
	}

	.noteButton::after {
		content: "";
		width: 35px;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		background: #364C63 url(../img/icons/note_button_arrow.svg) no-repeat;
		background-size: 13px 26px;
		background-position: center;
	}

	/*------------------------------------
		business
	-------------------------------------*/
	.cszServiceWrap {
		display: none;
	}

	.businessSection {
		padding: 50px 0;
	}

	.businessTitle {
		margin-top: 15px;
		font-size: 2rem;
		font-weight: var(--font-w-bold);
		text-align: center;
	}

	.businessContent {
		padding-top: 30px;
	}

	.businessDesc {
		font-size: 1.6rem;
		font-weight: var(--font-w-medium);
		line-height: 1.8;
	}

	.businessHead {
		margin-top: 24px;
		padding-bottom: 42px;
		position: relative;
		font-size: 2rem;
		font-weight: var(--font-w-bold);
		line-height: 1.5;
		text-align: center;
	}

	.businessHead::after {
		content: "";
		width: 204px;
		height: 23px;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		background: url(../img/icons/business_arrow.svg) no-repeat;
		background-size: contain;
	}

	.businessHead span {
		color: #E66A2C;
	}

	.businessList {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-top: 20px;
	}

	.businessItem {
		padding: 2px 0px 2px 30px;
		position: relative;
		font-size: 1.6rem;
		font-weight: var(--font-w-bold);
		line-height: 1.6;
	}

	.businessItem::before {
		content: "";
		width: 25px;
		height: 25px;
		position: absolute;
		top: 2px;
		left: 0;
		background: url(../img/icons/list_check.svg )no-repeat;
		background-size: contain;
	}

	.businessItem span {
		border-bottom: solid 1px #E66A2C;
	}

	.businessImageWrap {
		width: 100%;
		padding-top: 100%;
		margin-top: 40px;
		position: relative;
	}

	.businessImageWrap::before {
		content: "TOS";
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 210px;
		height: 210px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background: #EA8654;
		font-size: 1.8rem;
		font-weight: var(--font-w-bold);
		color: #fff;
		border-radius: 50%;
	}

	.businessImageWrap div {
		width: 45%;
		height: 45%;
		position: absolute;
		opacity: 0;
	}

	.businessImage1 {
		top: -10px;
		left: 0;
		right: 0;
		margin: auto;
	}

	.businessImage2 {
		bottom: 10%;
		left: 0;
	}

	.businessImage3 {
		bottom: 10%;
		right: 0;
	}

	@keyframes anim-scale {
		0% {
			transform: scale(0.7, 0.7);
		}

		50% {
			transform: scale(1.2, 1.2);
		}

		100% {
			transform: scale(1, 1);
		}
	}

	.businessImageWrap.animation.active div {
		opacity: 1;
		animation: anim-scale 0.3s ease-out;
	}

	.businessImageWrap.animation.active div:nth-child(2) {
		animation-delay: 0.2s;
		transition-delay: 0.2s;
	}

	.businessImageWrap.animation.active div:nth-child(3) {
		animation-delay: 0.4s;
		transition-delay: 0.4s;
	}

	.businessPrinciples {
		margin-top: -4px;
		padding: 20px;
		background: #364C63;
		border-radius: 20px;
	}

	.businessPrinciplesHead {
		font-size: 1.8rem;
		font-weight: var(--font-w-bold);
		line-height: 1.6;
		color: #fff;
		text-align: center;
	}

	.businessPrinciplesInner {
		display: flex;
		flex-direction: column;
		gap: 5px;
		margin-top: 16px;
	}

	.businessPrinciplesItem {
		width: 100%;
		padding: 10px 20px;
		background: #fff;
	}

	.businessPrinciplesItemHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		min-height: 54px;
		padding-bottom: 12px;
		font-size: 1.8rem;
		font-weight: var(--font-w-bold);
		line-height: 1.4;
		color: #364C63;
		text-align: center;
	}

	.businessPrinciplesItemText {
		padding-top: 10px;
		font-size: 1.6rem;
		line-height: 1.6;
		border-top: 1px dashed #8694A1;
	}

	/*------------------------------------
		achievements
	-------------------------------------*/
	.achievementsSection {
		padding: 50px 0 64px;
		position: relative;
		z-index: 1;
		overflow: hidden;
	}

	.achievementsBg {
		width: 100%;
		height: 770px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -4;
	}

	.achievementsBg .parallaxBg {
		height: 100%;
		background: url(../img/achievements_bg_sp.webp) no-repeat;
		background-size: cover;
		background-position: center;
	}

	#achievements3 {
		position: relative;
	}

	.achievementsBg2 {
		width: 100%;
		height: 750px;
		position: absolute;
		top: 58px;
		left: 0;
		z-index: -4;
		min-height: auto;
	}

	.achievementsBg2 .parallaxBg {
		height: 100%;
		background: url(../img/achievements_bg2_sp.webp) no-repeat;
		background-size: cover;
		background-position: center;
	}

	.achievementsSection .sectionDeco p,
	.companySection .sectionDeco p {
		color: #fff;
	}

	.achievementsTitle {
		font-size: 2rem;
		font-weight: var(--font-w-bold);
		text-align: center;
		color: #fff;
		letter-spacing: 0.1em;
	}

	.pageNav {
		margin-top: 45px;
	}

	.pageNavList {
		display: flex;
		flex-direction: column;
		border-top: 1px solid #fff;
	}

	.pageNavItem a {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 18px 20px;
		font-size: 1.6rem;
		font-weight: var(--font-w-medium);
		color: #fff;
		border-bottom: 1px solid #fff;
	}

	.pageNavItem a::after {
		content: "";
		display: block;
		width: 14px;
		height: 7px;
		position: relative;
		top: 1px;
		background: url(../img/icons/paeg_nav_arrow_w.svg) no-repeat;
		background-size: contain;
	}

	.achievementsContent {
		display: flex;
		flex-direction: column;
		gap: 30px;
		margin-top: 40px;
	}

	.achievementsHeadEn {
		font-size: 1.4rem;
		font-weight: var(--font-w-medium);
		line-height: 1.4;
		color: #C4AF69;
		letter-spacing: 0.15em;
	}

	.achievementsHead {
		width: calc(100% - 13px);
		margin: 6px 0 0 13px;
		padding: 8px 10px;
		position: relative;
		background: #C4AF69;
		font-size: 1.4rem;
		font-weight: var(--font-w-bold);
		line-height: 1.6;
		color: #fff;
	}

	.achievementsHead::before {
		content: "";
		display: block;
		width: 8px;
		height: 100%;
		position: absolute;
		top: 0;
		left: -12px;
		background: #E0CA83;
	}

	.achievementsBodyTitle {
		margin-top: 20px;
		font-size: 1.9rem;
		font-weight: var(--font-w-bold);
		line-height: 1.4;
		color: #364C63;
	}

	.achievementsText {
		margin-top: 25px;
		font-size: 1.6rem;
		line-height: 1.6;
	}

	.achievementsInner {
		margin-top: 20px;
	}

	.achievementsCol {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.achievementsRow {
		display: flex;
		flex-direction: column;
		gap: 30px;
	}

	.achievementsCard {
		padding: 20px;
		border: 1px solid #C0C0C0;
		border-radius: 15px;
	}

	.achievementsCol .achievementsCard {
		width: 100%;
	}

	.achievementsCardBg {
		width: 100%;
		padding: 22px 20px;
		background: #F6F1E4;
		border-radius: 15px;
	}

	.consultingTitle {
		padding-left: 20px;
		position: relative;
		font-size: 1.7rem;
		font-weight: var(--font-w-bold);
		line-height: 1.5;
	}

	.consultingTitle::before {
		content: "";
		width: 14px;
		height: 14px;
		position: absolute;
		top: 6px;
		left: 0;
		background: #E66A2C;
		border-radius: 50%;
	}

	.advisoryTitle {
		padding-bottom: 10px;
		border-bottom: 1px dashed #C0C0C0;
	}

	.consultingBody {
		display: flex;
		flex-direction: column;
		gap: 15px;
		margin-top: 16px;
	}

	.consultingHead {
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		line-height: 1.5;
		color: #E66A2C;
	}

	.consultingText {
		margin-top: 4px;
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.consultingList {
		margin-top: 4px;
		padding-left: 4px;
	}

	.consultingItem {
		padding-left: 18px;
		position: relative;
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.consultingItem::before {
		content: "・";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
	}

	.traningImage {
		width: 100%;
		height: auto;
	}

	.traningImage img {
		width: 100%;
		height: auto;
	}

	.traningText {
		margin-top: 12px;
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.bookImage {
		display: block;
		width: 160px;
		height: auto;
		margin: 15px auto;
		box-shadow: 3px 3px 4px rgb(0 0 0 / 25%);
	}

	.bookTitle {
		padding-bottom: 14px;
		font-size: 1.7rem;
		font-weight: var(--font-w-bold);
		line-height: 1.5;
		border-bottom: 1px dashed #C0C0C0;
	}

	.bookHead {
		margin-bottom: 18px;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		line-height: 1.6;
	}

	.bookText {
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.bookButtonWrap {
		display: flex;
		justify-content: center;
		margin-top: 18px;
	}

	.cardButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;
		height: 50px;
		padding: 0 18px;
		font-size: 1.4rem;
		font-weight: var(--font-w-medium);
		color: #364C63;
		border: 2px solid #364C63;
		border-radius: 9999px;
		transition: .2s;
	}

	.cardButton::after {
		content: "";
		width: 6px;
		height: 12px;
		position: relative;
		top: 1px;
		background: url(../img/icons/button_arrow.png) no-repeat;
		background-size: contain;
	}

	.moreContent {
		display: none;
	}

	.moreButtonWrap {
		position: absolute;
		bottom: 24px;
		left: 50%;
		transform: translateX(-50%);
	}

	.moreButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		background: transparent;
		font-size: 1.7rem;
		font-weight: var(--font-w-bold);
		color: #364C63;
		border: none;
		cursor: pointer;
	}

	.moreButton::after {
		content: "";
		width: 16px;
		height: 8px;
		position: relative;
		top: 3px;
		background: url(../img/icons/more_arrow.svg) no-repeat;
		background-size: contain;
	}

	.advisoryButtonWrap {
		display: flex;
	}

	.advisoryButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 10px;
		height: 50px;
		padding: 0 24px;
		background: #fff;
		font-size: 1.4rem;
		font-weight: var(--font-w-medium);
		color: #364C63;
		border: 2px solid #364C63;
		border-radius: 9999px;
	}

	.advisoryButton::after {
		content: "";
		width: 6px;
		height: 12px;
		position: relative;
		top: 1px;
		background: url(../img/icons/button_arrow.png) no-repeat;
		background-size: contain;
	}

	/*------------------------------------
		greeting
	-------------------------------------*/
	.greetingSection {
		padding-bottom: 55px;
	}

	.greetingTitle {
		font-size: 2rem;
		font-weight: var(--font-w-bold);
		text-align: center;
		letter-spacing: 0.1em;
	}

	.greetingBody {
		margin-top: 44px;
	}

	.greetingHead {
		font-size: 1.8rem;
		font-weight: var(--font-w-bold);
		line-height: 1.6;
		color: #364C63;
	}

	.greetingText {
		margin-top: 14px;
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.greetingImage {
		display: block;
		max-width: 294px;
		height: auto;
		margin: 40px auto 0;
	}

	.greetingProfile {
		margin-top: 45px;
		padding-left: 20px;
		position: relative;
	}

	.greetingProfile::before {
		content: "";
		width: 2px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: #364C63;
	}

	.greetingProfile::after {
		content: "";
		width: 10px;
		height: 14px;
		position: absolute;
		top: 0;
		left: 0;
		background: #364C63;
		border-radius: 0 3px 3px 0;
	}

	.greetingProfileName {
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
	}

	.greetingProfileList {
		margin-top: 12px;
	}

	.greetingProfileItem {
		font-size: 1.3rem;
		line-height: 1.8;
	}

	/*------------------------------------
		company
	-------------------------------------*/
	.companySection {
		padding: 48px 0 50px;
		z-index: 1;
	}

	.companySection .parallaxBg {
		background: url(../img/company_bg_sp.webp) no-repeat;
		background-size: cover;
		background-position: center;
	}

	.companyTitle {
		font-size: 2rem;
		font-weight: var(--font-w-bold);
		color: #364C63;
		text-align: center;
		letter-spacing: 0.1em;
	}

	.companyName {
		margin-top: 42px;
		font-size: 1.6rem;
		font-weight: var(--font-w-bold);
		line-height: 1.3;
	}

	.companyTable {
		margin-top: 18px;
	}

	.companyTable tr {
		display: block;
		margin-bottom: 20px;
	}

	.companyTable tr:last-child {
		margin-bottom: 0;
	}

	.companyTable th,
	.companyTable td {
		display: block;
		width: 100%;
		font-size: 1.5rem;
		font-weight: var(--font-w-medium);
		line-height: 1.8;
		text-align: left;
		letter-spacing: 0.03em;
	}

	.companyTable th {
		font-weight: var(--font-w-bold);
	}

	.companyTable th span {
		font-size: 1.2rem;
		font-weight: var(--font-w-medium);
	}

	.mapLink {
		display: inline-block;
		margin-top: 20px;
		padding: 14px 24px;
		background: rgb(255 255 255 / 70%);
		font-size: 1.4rem;
		font-weight: var(--font-w-medium);
		line-height: 1;
		color: #364C63;
		border: 2px solid #364C63;
		border-radius: 9999px;
		transition: .2s;
	}

	.mapLink::after {
		content: "";
		display: inline-block;
		width: 14px;
		height: 18px;
		margin-left: 10px;
		background: url(../img/icons/map.svg) no-repeat;
		background-size: contain;
		vertical-align: -4px;
	}

	.companyItem {
		padding-left: 1em;
		position: relative;
	}

	.companyItem::before {
		content: "・";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
	}

	/*------------------------------------
		contact
	-------------------------------------*/
	.contactSection {
		padding: 54px 0 50px;
	}

	.contactTitle {
		font-size: 2rem;
		font-weight: var(--font-w-bold);
		color: #364C63;
		text-align: center;
		letter-spacing: 0.1em;
	}

	.contactTitleEn {
		margin-top: 10px;
		font-size: 1.3rem;
		font-weight: var(--font-w-medium);
		color: #364C63;
		text-align: center;
		letter-spacing: 0.1em;
	}

	.contactText {
		margin-top: 30px;
		font-size: 1.6rem;
		font-weight: var(--font-w-medium);
		line-height: 1.6;
	}

	.contactForm {
		margin-top: 26px;
	}

	.formLabel {
		padding: 12px 20px;
		position: relative;
		background: #EFEFEF;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		border-top: 1px solid #D9D9D9;
		border-bottom: 1px solid #D9D9D9;
	}

	.formLabel.required::after {
		content: "必 須";
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 45px;
		height: 19px;
		position: absolute;
		top: 10px;
		right: 20px;
		background: #E66A2C;
		font-size: 1rem;
		font-weight: var(--font-w-medium);
		color: #fff;
		border-radius: 9999px;
		padding-bottom: 1px;
	}

	.formControl {
		flex: 1;
		display: flex;
		flex-direction: column;
		gap: 13px;
		width: 100%;
		padding: 20px;
	}

	.formInput {
		width: 100%;
		padding: 9px 20px;
		font-size: 1.4rem;
		border: 1px solid #222;
		border-radius: 8px;
	}

	.input1 {
		width: 225px;
	}

	.input2 {
		width: 225px;
	}

	.input3 {
		width: 100px;
	}

	.formRow {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.formRow .formInput {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.formRow p {
		margin-right: 18px;
		font-size: 1.4rem;
	}

	.formPostcode {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.formPostcode p {
		font-size: 1.4rem;
	}

	.formPostcode .formInput {
		margin-inline: 14px;
	}

	.formMail {
		width: 100%;
	}

	.formMail p {
		margin: 20px 0 16px;
		font-size: 1.5rem;
	}

	.formTextarea {
		min-height: 250px;
		line-height: 1.4;
		resize: vertical;
	}

	.formPrivacy {
		height: 300px;
		margin-top: 24px;
		padding: 24px 20px 50px;
		border: 1px solid #D9D9D9;
		overflow: auto;
	}

	.formPrivacyTitle {
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		text-align: center;
	}

	.formPrivacyBody {
		display: flex;
		flex-direction: column;
		gap: 20px;
		margin-top: 35px;
		font-size: 1.3rem;
	}

	.formPrivacyPad {
		padding-left: 20px;
	}

	.formPrivacyBody p {
		font-size: 1.3rem;
		line-height: 1.6;
	}

	p.formPrivacyHead {
		font-size: 1.4rem;
		font-weight: var(--font-w-bold);
	}

	p.formPrivacyHead span {
		display: inline-block;
		width: 20px;
	}

	p.formPrivacyHead2 {
		margin-top: 18px;
		padding-left: 15px;
		position: relative;
		font-weight: var(--font-w-bold);
	}

	p.formPrivacyHead2::before {
		content: "";
		width: 12px;
		height: 12px;
		position: absolute;
		top: 6px;
		left: 0;
		background: #222;
	}

	.formPrivacyNumberList {
		display: flex;
		flex-direction: column;
		gap: 22px;
		list-style: decimal;
		margin-top: 22px;
		padding-left: 20px;
	}

	.formPrivacyNumberItem {
		position: relative;
		font-size: 1.3rem;
		font-weight: var(--font-w-bold);
		line-height: 1.6;
	}

	.formPrivacyNumberItem ol {
		margin-top: 4px;
	}

	.formPrivacyNumberItem ol li {
		padding-left: 25px;
		position: relative;
		font-weight: var(--font-w-regular);
	}

	.formPrivacyNumberItem ol li span {
		position: absolute;
		top: 0;
		left: 0;
	}

	.formPrivacyItem {
		padding-left: 1em;
		position: relative;
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.formPrivacyItem::before {
		content: "・";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
	}

	.formPrivacyBox {
		display: inline-block;
		margin-top: 15px;
		padding: 20px 20px 16px;
		border: 1px solid #222;
	}

	.formPrivacyBoxHead {
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
	}

	.formPrivacyBoxInner {
		margin-top: 8px;
	}

	.formPrivacyBoxInner p {
		font-size: 1.3rem;
	}

	.formPrivacyBoxInner p a {
		text-decoration: underline;
	}

	.formPrivacyBottom {
		text-align: right;
	}

	.formPrivacyCheck {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin-top: 40px;
	}

	.formPrivacyAlert {
		width: 100%;
		margin-top: 10px;
		text-align: center;
	}

	.formPrivacyAlert .formAlert {
		display: inline-block;
	}

	.formCheckbox {
		display: none;
	}

	.formCheckLabel {
		display: inline-block;
		margin: 4px 0;
		padding-left: 34px;
		position: relative;
		font-size: 1.4rem;
		font-weight: var(--font-w-medium);
		cursor: pointer;
	}

	.formCheckLabel:before {
		content: "";
		display: block;
		width: 26px;
		height: 26px;
		position: absolute;
		top: -6px;
		left: 0;
		background: #fff;
		border: 2px solid #364C63;
		border-radius: 4px;
	}

	.formCheckbox:checked+.formCheckLabel:before {
		background: #364C63;
	}

	.formCheckbox:checked+.formCheckLabel:after {
		content: "";
		display: block;
		width: 18px;
		height: 15px;
		position: absolute;
		top: 0;
		left: 5px;
		background: url(../img/icons/form_check.svg) no-repeat;
		background-size: contain;
	}

	.customSelect {
		width: 100%;
		position: relative;
	}

	.customSelectBtn {
		width: 100%;
		padding: 12.5px 20px;
		background: #fff;
		font-size: 1.4rem;
		line-height: 1;
		text-align: left;
		border: 1px solid #222;
		border-radius: 8px;
		cursor: pointer;
		position: relative;
	}

	.customSelectBtn:after {
		content: "";
		width: 20px;
		height: 20px;
		position: absolute;
		top: 50%;
		right: 18px;
		transform: translateY(-50%);
		background: url(../img/icons/select_arrow.svg) no-repeat;
		background-size: contain;
		pointer-events: none;
	}

	.customSelectLabel.is-placeholder {
		color: #B0B0B0;
	}

	.customSelectList {
		margin: 10px 0 0;
		padding: 18px 0;
		background: #ECF1F7;
		border: 1px solid #222;
		border-radius: 8px;
		list-style: none;
		position: absolute;
		width: 100%;
		left: 0;
		display: none;
		z-index: 20;
	}

	.customSelectList li {
		padding: 12px 20px;
		font-size: 1.5rem;
		cursor: pointer;
	}

	.customSelectList li.is-selected {
		background: #CAD5E0;
	}

	.formSelectWrap {
		width: 100%;
		position: relative;
	}

	.formSelectWrap:after {
		content: "";
		width: 20px;
		height: 20px;
		position: absolute;
		top: 50%;
		right: 18px;
		transform: translateY(-50%);
		background: url(../img/icons/select_arrow.svg) no-repeat;
		background-size: contain;
		pointer-events: none;
	}

	.formSelect {
		width: 100%;
		padding: 12.5px 20px;
		font-size: 1.3rem;
		line-height: 1;
		border: 1px solid #222;
		border-radius: 8px;
		cursor: pointer;
	}

	select,
	::picker(select) {
		appearance: base-select;
	}

	.formSelect::picker(select) {
		margin: 10px 0;
		background: #ECF1F7;
		border: 1px solid #222;
		border-radius: 8px;
	}

	.formSelect option {
		padding: 10px;
	}

	.formButtonWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin-top: 36px;
	}

	.formButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 215px;
		height: 44px;
		padding-bottom: 3px;
		background: #364C63;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		color: #fff;
		border: none;
		border-radius: 9999px;
		cursor: pointer;
		letter-spacing: 0.1em;
	}

	.formAlertBox {
		margin-top: 20px;
	}

	.formAlertBox p {
		width: 100%;
		padding: 14px 18px;
		background: #FFEEE5;
		font-size: 1.5rem;
		font-weight: var(--font-w-medium);
		line-height: 1.6;
		color: #E66A2C;
		border-radius: 15px;
		letter-spacing: 0.03em;
	}

	.formAlert {
		padding-left: 25px;
		position: relative;
		font-size: 1.5rem;
		font-weight: var(--font-w-medium);
		line-height: 1.6;
		color: #E66A2C;
	}

	.formAlert::before {
		content: "";
		width: 18px;
		height: 18px;
		position: absolute;
		top: 4px;
		left: 0;
		background: url(../img/icons/alert.svg) no-repeat;
		background-size: contain;
	}

	/*------------------------------------
		page
	-------------------------------------*/
	.pageContent {
		padding: 56px 0 64px;
		background: #EFEFEF;
	}

	.pageBody {
		padding: 0 20px;
	}

	.pageTitle {
		font-size: 2rem;
		font-weight: var(--font-w-bold);
		color: #364C63;
		text-align: center;
		letter-spacing: 0.1em;
	}

	.pageTitleEn {
		margin-top: 15px;
		font-size: 1.3rem;
		font-weight: var(--font-w-medium);
		color: #364C63;
		text-align: center;
		letter-spacing: 0.1em;
	}

	.pageText {
		margin-top: 24px;
		font-size: 1.3rem;
		font-weight: var(--font-w-bold);
		line-height: 1.6;
		text-align: center;
	}

	.pageFormWrap {
		margin-top: 30px;
		border-top: 1px solid #D9D9D9;
	}

	.pageFormField {
		border-bottom: 1px solid #D9D9D9;
	}

	.pageFormLabel {
		width: 100%;
		padding: 8px 20px;
		position: relative;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		line-height: 1.6;
		border-bottom: 1px solid #D9D9D9;
	}

	.pageFormLabel.required::after {
		content: "必 須";
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 45px;
		height: 19px;
		position: absolute;
		top: 10px;
		right: 20px;
		background: #E66A2C;
		font-size: 1rem;
		color: #fff;
		border-radius: 9999px;
		padding-bottom: 1px;
	}

	.pageFormControl {
		min-height: 56px;
		padding: 18px 20px;
	}

	.pageFormText {
		margin-bottom: 8px;
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.pageFormText:last-child {
		margin-bottom: 0;
	}

	.pageFormPrivacyText {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin-top: 50px;
		font-size: 1.3rem;
		font-weight: var(--font-w-bold);
	}

	.pageFormPrivacyText::before {
		content: "";
		width: 17px;
		height: 12px;
		background: url(../img/icons/privacy_check.svg) no-repeat;
		background-size: contain;
	}

	.pageButtonWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 7%;
		padding: 50px 40px 48px;
	}

	.pageButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 60%;
		height: 44px;
		background: #364C63;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		color: #fff;
		border-radius: 9999px;
	}

	.pageButton.back {
		width: 33%;
		background: #8694A1;
	}

	.pageButton.home {
		width: 215px;
		height: 44px;
		background: #fff;
		font-size: 1.5rem;
		color: #364C63;
		border: 2px solid #364C63;
		padding-bottom: 1px;
	}

	.pageThanks {
		margin-top: 36px;
	}

	.pageThanks p {
		font-size: 1.5rem;
		line-height: 1.8;
	}

	.pageThanks p.annotation {
		margin-top: 30px;
		padding-left: 1em;
		text-indent: -1em;
	}

	/*------------------------------------
			footer
		-------------------------------------*/
	/* --------- ページトップボタン ----------- */
	#gPagetop {
		visibility: hidden;
		transition: 0.3s;
	}

	#gPagetop .pagetopBtn {
		display: block;
		width: 40px;
		height: 40px;
		right: 10px;
		background: url(../img/icons/pagetop.svg) no-repeat;
		background-size: contain;
		border-radius: 100%;
		cursor: pointer;
		z-index: 100;
	}

	.footer {
		padding: 34px 0 26px;
		background: #364C63;
	}

	.footerInner {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.footerLogo {
		width: 89px;
	}

	.footerLogo img {
		width: 100%;
		height: auto;
	}

	.footerNav {
		display: none;
	}

	.footerText {
		margin-top: 30px;
		font-size: 1.3rem;
		font-weight: var(--font-w-medium);
		color: #fff;
	}

	.footerContactButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;
		width: 215px;
		height: 44px;
		margin-top: 18px;
		padding-left: 34px;
		background: #fff;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		color: #364C63;
		border-radius: 9999px;
		transition: .2s;
		padding-bottom: 1px;
	}

	.footerContactButton::before {
		content: "";
		width: 17px;
		height: 12px;
		background: url(../img/icons/mail2.svg) no-repeat;
		background-size: contain;
	}

	.copyright {
		display: block;
		margin-top: 55px;
		font-size: 1.2rem;
		color: #fff;
		letter-spacing: 0.03em;
		text-align: center;
	}

	.footerPage {
		padding: 38px 0 20px;
		text-align: center;
	}

	.footerPageText {
		margin-bottom: -22px;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		color: #fff;
	}
}