@charset "utf-8";
@media only screen and (min-width: 751px) {
	/*--------------------*/
	/*---- pc_cont.css ----*/
	/*--------------------*/

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

	body {
		font-size: 1.6em;
		min-width: 1280px;
		/* text-align: justify; */
	}

	img {
		height: auto;
		vertical-align: bottom;
	}

	.pcNone {
		display: none;
	}

	/*------------------------------------
		common
	-------------------------------------*/
	.container {
		width: 1080px;
		margin-inline: auto;
		padding-inline: 20px;
	}

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

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

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

	.boxBorder2 {
		border-color: #888888;
	}

	section {
		position: relative;
	}

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

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

	.sectionDeco {
		width: 1198px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		border-left: 2px solid #FFE9C1;
		z-index: -3;
	}

	.achievementsSection .sectionDeco {
		border-left: none;
		border-right: 2px solid #FFE9C1;
	}

	.companySection .sectionDeco {
		border-left: none;
		border-right: 2px solid #fff;
		z-index: -1;
	}

	.sectionDeco::after {
		content: "";
		width: 1198px;
		height: 300px;
		position: absolute;
		bottom: -300px;
		left: -2px;
		background: url(../img/deco_line.svg) no-repeat;
		background-size: contain;
	}

	.achievementsSection .sectionDeco::after {
		left: 0;
		background: url(../img/deco_line2.svg) no-repeat;
		background-size: contain;
	}
	.companySection .sectionDeco::after {
		content: none;
	}

	.sectionDeco p {
		padding-left: 6px;
		position: absolute;
		top: 70px;
		left: 0;
		writing-mode: vertical-rl;
		font-size: 6rem;
		font-weight: var(--font-w-bold);
		color: #FFE9C1;
		letter-spacing: 0.15em;
	}

	.achievementsSection .sectionDeco p,
	.companySection .sectionDeco p {
		left: auto;
		right: 0;
		color: #fff;
		transform: rotate(180deg);
	}


	/*------------------------------------
		header
	-------------------------------------*/
	.header {
		padding: 45px 40px 44px;
		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;
		padding-block: 22px;
		box-shadow: 0px 1px 2px rgb(0 0 0 / 15%);
	}

	.headerInner {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		padding-right: 210px;
	}

	.headerLogo {
		margin-right: auto;
	}

	.headerNavWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 70px;
	}

	.headerNav {
		position: relative;
	}

	.headerNav::after {
		content: "";
		width: 1px;
		height: 40px;
		position: absolute;
		top: 50%;
		right: -34px;
		transform: translateY(-50%);
		background: #364C63;
	}

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

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

	.headerNavItem a {
		position: relative;
		transition: .2s;
	}
	.headerNavItem a:hover {
		color: #8694A1;
	}

	.headerNavItem a::after {
		content: "";
		width: 100%;
		height: 2px;
		position: absolute;
		bottom: -6px;
		left: 0;
		transition: .2s;
	}

	.headerNavItem a:hover::after {
		background: #8694A1;
	}

	.headerActions {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 35px;
	}

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

	.headerSnsItem a {
		display: block;
		width: 30px;
		height: 30px;
		transition: .2s;
	}

	.headerSnsItem a.note {
		background-image: url(../img/icons/note.svg), url(../img/icons/note_over.svg);
		background-size: cover, 0 0;
	}
	.headerSnsItem a.note:hover {
		background-size: 0 0, cover;
	}
	.headerSnsItem a.linkedin {
		width: 33px;
		background-image: url(../img/icons/linkedin.svg), url(../img/icons/linkedin_over.svg);
		background-size: cover, 0 0;
		margin-right: -3px;
	}
	.headerSnsItem a.linkedin:hover {
		background-size: 0 0, cover;
	}
	.headerSnsItem a.facebook {
		background-image: url(../img/icons/facebook.svg), url(../img/icons/facebook_over.svg);
		background-size: cover, 0 0;
	}
	.headerSnsItem a.facebook:hover {
		background-size: 0 0, cover;
	}

	.headerContactButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 7px;
		width: 175px;
		height: 90px;
		padding-top: 30px;
		position: absolute;
		top: 0;
		right: 40px;
		background: #F3B340;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		border-radius: 0 0 30px 30px;
		transition: .2s;
	}

	.header.is-sticky .headerContactButton {
		padding-top: 0;
		height: 80px;
		border-radius: 0px 50px;
	}

	.headerContactButton:hover {
		background: #EA8654;
	}

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

	/*------------------------------------
		hero
	-------------------------------------*/
	.heroImage {
		width: 100%;
		height: 800px;
		overflow: hidden;
	}

	.heroImage img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		/* background-size: cover と同等 */
		object-position: center top;
		/* background-position と同等 */
		display: block;
		/* 余白防止 */
	}

	/*------------------------------------
		news
	-------------------------------------*/
	.newsSection {
		padding: 70px 80px;
	}

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

	.newsInner .box {
		padding: 48px 60px 50px;
	}

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

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

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

	.newsItem {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 40px;
		padding-block: 20px;
		font-size: 1.6rem;
		line-height: 1.6;
		border-bottom: solid 1px #DBDBDB;
	}

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

	.newsBody {
		flex: 1;
	}

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

	.newsLink::after {
		content: "";
		display: inline-block;
		width: 15.5px;
		height: 15.5px;
		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: 45px;
	}

	.noteButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		width: 605px;
		height: 85px;
		padding-left: 25px;
		position: relative;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		border: 3px solid #364C63;
		border-radius: 20px;
		overflow: hidden;
		transition: .2s;
	}
	.noteButton:hover {
		background: #EAF2FA;
		border-color: #657B91;
	}

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

	.noteButton::after {
		content: "";
		width: 60px;
		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;
	}
	.noteButton:hover::after {
		background-color: #657B91;
	}

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

	.businessSection {
		padding: 80px 0 0;
		margin-bottom: 300px;
	}

	.businessInner {
		width: 900px;
		margin-inline: auto;
	}

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

	.businessBody {
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}

	.businessContent {
		padding-top: 76px;
	}

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

	.businessHead {
		margin-top: 24px;
		padding-bottom: 48px;
		position: relative;
		font-size: 2.3rem;
		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: 15px;
		margin-top: 20px;
	}

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

	.businessItem::before {
		content: "";
		width: 35px;
		height: 35px;
		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: 542px;
		height: 505px;
		margin-right: -120px;
		position: relative;
	}

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

	.businessImageWrap div {
		width: 250px;
		height: 250px;
		position: absolute;
		opacity: 0;
	}

	.businessImageWrap div img {
		width: 100%;
	}

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

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

	.businessImage3 {
		bottom: 0;
		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: 24px;
		padding: 20px;
		background: #364C63;
		border-radius: 30px;
	}

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

	.businessPrinciplesInner {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: space-between;
		margin-top: 16px;
	}

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

	.businessPrinciplesItem:nth-child(1) {
		border-end-start-radius: 20px;
	}
	.businessPrinciplesItem:nth-child(3) {
		border-end-end-radius: 20px;
	}

	.businessPrinciplesItemHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		height: 65px;
		padding-bottom: 8px;
		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.5rem;
		line-height: 1.6;
		border-top: 1px dashed #8694A1;
	}

	/*------------------------------------
		achievements
	-------------------------------------*/
	.achievementsSection { 
		margin-bottom: 300px;
		position: relative;
		z-index: 1;
	}

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

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

	#achievements3 {
		position: relative;
	}

	.achievementsBg2 {
		width: 100%;
		height: 625px;
		position: absolute;
		top: 300px;
		left: 0;
		z-index: -4;
		overflow: hidden;
	}

	.achievementsBg2 .parallaxBg {
		height: 625px;
		background: url(../img/achievements_bg2.webp) no-repeat;
		background-size: cover;
		background-position: center;
	}

	.achievementsLine {
		width: 1198px;
		height: 1160px;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		border-right: 2px solid #fff;
		z-index: -2;
	}

	.achievementsLine2 {
		width: 1198px;
		height: 625px;
		position: absolute;
		top: 300px;
		left: 50%;
		transform: translateX(-50%);
		border-right: 2px solid #fff;
		z-index: -2;
	}

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

	.pageNav {
		margin-top: 45px;
	}

	.pageNavList {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 20px;
	}

	.pageNavItem a {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		padding: 16px 16px 16px 18px;
		background: #fff;
		font-size: 1.5rem;
		font-weight: var(--font-w-medium);
		color: #E66A2C;
		border: 2px solid #E66A2C;
		border-radius: 9999px;
		transition: .2s;
	}
	.pageNavItem a:hover {
		background: #FFEDDE;
	}

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

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

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

	.achievementsHead {
		width: calc(100% - 13px);
		margin: 6px 0 0 13px;
		padding: 6px 10px;
		position: relative;
		background: #C4AF69;
		font-size: 1.6rem;
		font-weight: var(--font-w-bold);
		line-height: 1.3;
		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: 2.2rem;
		font-weight: var(--font-w-bold);
		line-height: 1.3;
		color: #364C63;
	}

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

	.achievementsInner {
		margin-top: 20px;
	}

	.achievementsCol {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 34px;
	}

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

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

	.achievementsCol .achievementsCard {
		width: 430px;
	}

	.achievementsCardBg {
		width: 430px;
		padding: 30px 25px 20px;
		background: #F6F1E4;
		border-radius: 15px;
	}

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

	.consultingTitle::before {
		content: "";
		width: 15px;
		height: 15px;
		position: absolute;
		top: 2px;
		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;
	}

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

	.bookBody {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 35px;
	}

	.bookImage {
		width: 200px;
		height: auto;
		box-shadow: 3px 3px 4px rgb(0 0 0 / 25%);
	}

	.bookInfo {
		flex: 1;
		position: relative;
	}

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

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

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

	.bookButtonWrap {
		display: flex;
		margin-top: 26px;
	}

	.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:hover {
		background: #364C63;
		color: #fff;
	}

	.cardButton::after {
		content: "";
		width: 6px;
		height: 12px;
		position: relative;
		top: 1px;
		background-image: url(../img/icons/button_arrow.png), url(../img/icons/button_arrow_w.png);
		background-size: cover, 0 0;
	}
	.cardButton:hover::after {
		background-size: 0 0, cover;
	}

	.moreContent {
		display: none;
	}

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

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

	.moreButton::after {
		content: "";
		width: 20px;
		height: 10px;
		position: relative;
		top: 2px;
		background-image: url(../img/icons/more_arrow.svg), url(../img/icons/more_arrow_over.svg);
		background-size: cover, 0 0;
	}
	.moreButton:hover::after {
		background-size: 0 0, cover;
	}

	.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;
		transition: .2s;
	}
	.advisoryButton:hover {
		background: #364C63;
		color: #fff;
	}

	.advisoryButton::after {
		content: "";
		width: 6px;
		height: 12px;
		position: relative;
		top: 1px;
		background-image: url(../img/icons/button_arrow.png), url(../img/icons/button_arrow_w.png);
		background-size: cover, 0 0;
	}
	.advisoryButton:hover::after {
		background-size: 0 0, cover;
	}


	/*------------------------------------
		greeting
	-------------------------------------*/
	.greetingSection {
		margin-bottom: 300px;
	}

	.greetingSection .sectionDeco p {
		top: 0;
	}

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

	.greetingBody {
		margin-top: 24px;
		position: relative;
	}

	.greetingInfo {
		width: 637px;
	}

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

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

	.greetingImage {
		width: 403px;
		height: auto;
		position: absolute;
		top: 0;
		right: -80px;
	}

	.greetingProfile {
		margin-top: 40px;
		padding-left: 26px;
		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.6rem;
		font-weight: var(--font-w-bold);
	}

	.greetingProfileList {
		margin-top: 15px;
	}

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

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

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

	.companyInner {
		width: 900px;
		margin-inline: auto;
	}

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

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

	.companyTable {
		margin-top: 22px;
	}

	.companyTable th,
	.companyTable td {
		padding-bottom: 16px;
		font-size: 1.6rem;
		font-weight: var(--font-w-medium);
		line-height: 1.8;
		text-align: left;
		letter-spacing: 0.03em;
	}

	.companyTable tr:last-child th,
	.companyTable tr:last-child td {
		padding-bottom: 0;
	}

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

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

	.companyCol {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 28px;
	}

	.mapLink {
		display: inline-block;
		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:hover {
		background: #364C63;
		color: #fff;
	}

	.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;
	}
	.mapLink:hover::after {
		background: url(../img/icons/map_w.svg) no-repeat;
		background-size: contain;
	}

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

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

	/*------------------------------------
		contact
	-------------------------------------*/
	.contactSection {
		padding: 78px 0 70px;
	}

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

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

	.contactInner {
		width: 900px;
		margin-inline: auto;
	}

	.contactText {
		margin-top: 25px;
		font-size: 1.5rem;
		font-weight: var(--font-w-medium);
		line-height: 1.6;
		text-align: center;
	}

	.contactForm {
		margin-top: 38px;
		border-top: 1px solid #D9D9D9;
	}

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

	.formField {
		display: flex;
		flex-wrap: wrap;
	}

	.formLabel {
		width: 300px;
		padding: 40px 32px;
		position: relative;
		background: #EFEFEF;
		font-size: 1.6rem;
		font-weight: var(--font-w-bold);
	}

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

	.formControl {
		flex: 1;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 20px 25px;
		width: 100%;
		padding: 22px 30px;
	}

	.formInput {
		width: 100%;
		padding: 12px 18px;
		font-size: 1.6rem;
		border: 1px solid #222;
		border-radius: 8px;
	}

	.input1 {
		width: 225px;
	}

	.input2 {
		width: 210px;
	}

	.input3 {
		width: 120px;
	}

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

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

	.formRow p {
		margin-right: 13px;
		font-size: 1.6rem;
	}

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

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

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

	.formMail {
		width: 100%;
	}

	.formMail p {
		margin: 24px 0 20px;
		font-size: 1.7rem;
	}

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

	.formPrivacy {
		height: 380px;
		margin-top: 60px;
		padding: 45px 50px 50px;
		border: 1px solid #D9D9D9;
		overflow: auto;
	}

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

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

	.formPrivacyPad {
		padding-left: 25px;
	}

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

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

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

	p.formPrivacyHead2 {
		margin-top: 20px;
		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.5rem;
		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 24px 26px;
		border: 1px solid #222;
	}

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

	.formPrivacyBoxInner {
		margin-top: 10px;
	}

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

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

	.formPrivacyBottom {
		text-align: right;
	}

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

	.formPrivacyAlert {
		width: 100%;
		margin-top: 20px;
		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.6rem;
		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: 295px;
		position: relative;
	}

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

	.customSelectBtn:after {
		content: "";
		width: 24px;
		height: 24px;
		position: absolute;
		top: 50%;
		right: 14px;
		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 18px;
		font-size: 1.6rem;
		cursor: pointer;
	}

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

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

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

	.formAlertBox { 
		margin-top: 30px;
		text-align: center;
	}

	.formAlertBox p {
		display: inline-block;
		padding: 12px 38px 14px;
		background: #FFEEE5;
		font-size: 1.5rem;
		font-weight: var(--font-w-medium);
		color: #E66A2C;
		border-radius: 9999px;
		letter-spacing: 0.03em;
	}

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

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


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

	.pageBody {
		width: 900px;
		margin-inline: auto;
	}

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

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

	.pageText {
		margin-top: 38px;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		text-align: center;
	}

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

	.pageFormField {
		display: flex;
		flex-wrap: wrap;
		gap: 58px;
		padding: 35px 30px;
		border-bottom: 1px solid #D9D9D9;
	}

	.pageFormLabel {
		width: 240px;
		position: relative;
		font-size: 1.6rem;
		font-weight: var(--font-w-bold);
		line-height: 1.6;
	}

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

	.pageFormControl {
		flex: 1;
	}

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

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

	.pageFormPrivacyText::before {
		content: "";
		width: 26px;
		height: 17px;
		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: 42px;
		padding: 66px 20px;
	}

	.pageButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 250px;
		height: 58px;
		background: #364C63;
		font-size: 2rem;
		font-weight: var(--font-w-bold);
		color: #fff;
		border-radius: 9999px;
		padding-bottom: 3px;
	}

	.pageButton.back {
		background: #8694A1;
	}

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

	.pageThanks {
		margin-top: 42px;
		text-align: center;
	}

	.pageThanks p {
		font-size: 1.5rem;

		line-height: 2.4;
	}

	.pageThanks p.annotation {
		margin-top: 36px;
	}


	/*------------------------------------
		footer
	-------------------------------------*/
	/* --------- ページトップボタン ----------- */
	#gPagetop {
		visibility: hidden;
		transition: 0.3s;
	}
	#gPagetop .pagetopBtn {
		display: block;
		width: 70px;
		height: 70px;
		right: 40px;
		background: url(../img/icons/pagetop.svg) no-repeat;
		background-size: contain;
		border-radius: 100%;
		cursor: pointer;
		z-index: 100;
	}

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

	.footerContainer {
		width: 1240px;
		margin-inline: auto;
		padding: 0 20px;
	}

	.footerInner {
		display: flex;
		flex-wrap: wrap;
	}

	.footerLogo {
		width: 110px;
		margin-right: 67px;
	}

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

	.footerNav {
		padding-top: 6px;
		margin-right: auto;
	}

	.footerNavList {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 32px;
	}

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

	.footerNavItem:first-child {
		margin-right: 30px;
		font-size: 1.6rem;
		letter-spacing: 0.05em;
	}

	.footerNavItem a {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		color: #fff;
		transition: .2s;
	}
	.footerNavItem a:hover {
		color: #8694A1;
	}

	.footerNavItem:first-child a::before {
		content: "";
		width: 18px;
		height: 18px;
		background-image: url(../img/icons/home_arrow.svg), url(../img/icons/home_arrow_over.svg);
		background-size: cover, 0 0;
	}
	.footerNavItem:first-child a:hover::before {
		background-size: 0 0, cover;
	}

	.footerContactButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;
		width: 225px;
		height: 65px;
		padding-left: 41px;
		background: #fff;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		color: #364C63;
		border-radius: 9999px;
		transition: .2s;
	}
	.footerContactButton:hover {
		background: #8694A1;
		color: #fff;
	}

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

	.copyright {
		font-size: 1.2rem;
		color: #fff;
		letter-spacing: 0.03em;
	}

	.footerPage {
		text-align: center;
	}

	.footerPageText {
		margin: 20px 0 33px;
		font-size: 1.6rem;
		font-weight: var(--font-w-bold);
		color: #fff;
	}
}
