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

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

	body {
		margin: 105px 0 0;
		font-size: 1.6em;
		min-width: 1200px;
	}

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

	.pcNone {
		display: none;
	}

	/*------------------------------------
		section共通
	-------------------------------------*/
	.sectionCommon {
		width: 1200px;
		margin: 0 auto;
	}

	/*------------------------------------
		header
	-------------------------------------*/
	.headerWrap {
		width: 100%;
		min-width: 1200px;
		position: fixed;
		top: 0;
		left: 0;
		background: #fff;
		box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.05);
		z-index: 999;
	}

	.headerInner {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		padding: 0 0 0 45px;
	}

	.headerLogo {
		margin: 0 auto 0 0;
	}

	/* --------- ナビゲーション コンタクト ----------- */
	.headerNav {
		padding: 0 0 14px;
	}

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

	.headerNavTel {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		height: 45px;
		background: #FFE6E6;
	}

	.headerNavTelHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		width: 210px;
		height: 45px;
		position: relative;
		padding: 0 30px 1px 0;
		font-size: 1.4rem;
		font-weight: var(--font-w-medium);
		z-index: 1;
	}

	.headerNavTelHead::before {
		content: "";
		width: 21px;
		height: 21px;
		margin: 0 6px 0 0;
		background: url(../img/common/tel_icon.svg) no-repeat;
		background-size: 21px;
	}

	.headerNavTelHead::after {
		content: "";
		width: 210px;
		height: 45px;
		position: absolute;
		top: 49%;
		left: 0;
		transform: translateY(-50%);
		background: url(../img/common/header/tel_bg.png) no-repeat;
		background-size: 210px auto;
		z-index: -1;
	}

	.headerNavTelNumber {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		padding: 0 24px 2px 14px;
	}

	.headerNavTelNumber a:first-child::after {
		content: "/";
		margin: 0 4px;
	}

	.headrNavMail {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		height: 45px;
		padding: 0 38px 1px 38px;
		background: #111;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		color: #fff;
	}
	.headrNavMail:hover {
		background: #BA0003;
	}

	.headrNavMail::before {
		content: "";
		width: 22px;
		height: 15px;
		margin: 0 10px 0 0;
		position: relative;
		top: 1px;
		background: url(../img/common/mail_icon.svg) no-repeat;
		background-size: 22px auto;
	}

	/* --------- ナビゲーション メニュー ----------- */
	.headerNavMenu {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		gap: 62px;
		margin: 19px 0 0;
		padding: 0 46px 0 0;
	}

	.headerNavMenuItem {
		font-size: 1.7rem;
		font-weight: var(--font-w-medium);
	}

	.headerNavMenuItem a {
		padding: 0 0 3px;
		position: relative;
	}
	.headerNavMenuItem a::after {
		content: "";
		width: 100%;
		height: 2px;
		position: absolute;
		bottom: -1px;
		left: 0;
		transition: 0.2s;
	}
	.headerNavMenuItem a:hover::after {
		background: #111;
	}
	.headerNavMenuItem a.current {
		color: #FF7A7A;
		pointer-events: none;
	}
	.headerNavMenuItem a.current::after {
		background: #FF7A7A;
	}


	/*------------------------------------
		top
	-------------------------------------*/
	/* --------- メインイメージ ----------- */	
	.mainImageSlider {
		width: 100%;
		aspect-ratio: 34 / 15;
		position: relative;
		overflow: hidden;
	}

	.mainImageSlider img {
		display: none;
		width: 100%;
		height: auto;
		position: absolute;
		top: 0;
		left: 0;
	}

	/* --------- Title ----------- */
	.topTitle1 {
		position: relative;
		font-size: 3.6rem;
		font-weight: var(--font-w-bold);
		text-align: center;
	}

	.topTitle1::after {
		content: "";
		display: block;
		width: 19px;
		height: 19px;
		margin: 17px auto 0;
		background: url(../img/common/title_icon.svg) no-repeat;
		background-size: 19px;
	}

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

	/* --------- About ----------- */
	.topAboutWrap {
		padding: 74px 0 78px;
		background: url(../img/top/pc/bg_1.jpg) no-repeat;
		/*! background-size: cover; */
		background-position: center top;
	}
	.topAboutTextWrap {
		width: fit-content;
		margin: 18px auto 0;
	}

	.topAboutTextWrap p {
		font-size: 1.7rem;
		line-height: 1.8;
	}

	/* --------- Pickup ----------- */
	.topPickupWrap {
		padding: 66px 0 78px;
		background: #F5F5ED;
	}

	.topPickupItemWrap {
		display: flex;
		flex-wrap: wrap;
		gap: 45px;
		margin: 30px 0 0;
	}

	.topPickupItem {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		width: 370px;
		padding: 14px 14px 14px;
		background: #fff;
		border: solid 1px #E8E1C6;
	}

	.topPickupImage {
		width: 340px;
		height: 200px;
		overflow: hidden;
	}

	.topPickupImage img {
		width: 100%;
		height: auto;
		transition: transform 0.2s ease;
		transform-origin: center center;
	}

	.topPickupItem:hover .topPickupImage img {
		transform: scale(1.10);
	}

	.topPickupText {
		flex-grow: 1;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin: 14px 0 0;
		padding: 6px 64px 10px 10px;
		position: relative;
		font-size: 1.7rem;
		font-weight: var(--font-w-bold);
		line-height: 1.5;
		word-break: break-word;
	}

	.topPickupText::before {
		content: "";
		width: 45px;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		background: #FFE5E5;
		transition: 0.2s;
	}
	.topPickupItem:hover .topPickupText::before {
		background: #111;
	}

	.topPickupText::after {
		content: "";
		width: 7px;
		height: 11px;
		background: url(../img/common/arrow_black.svg) no-repeat;
		background-size: 7px 11px;
		position: absolute;
		top: 50%;
		right: 18px;
		transform: translateY(-50%);
	}
	.topPickupItem:hover .topPickupText::after {
		background: url(../img/common/arrow_white.svg) no-repeat;
		background-size: 7px 11px;
	}

	/* --------- Button ----------- */
	.topButtonWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin: 45px 0 0;
	}

	/* --------- Country ----------- */
	.topCountryWrap {
		padding: 80px 0 70px;
		background: url(../img/top/pc/bg_map.jpg) no-repeat;
		background-size: cover;
		background-position: center top;
	}

	.topCountryItemWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin: 56px 0 0;
		gap: 25px 19px;
	}

	.topCountryItem {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		width: 155px;
		gap: 10px;
	}

	.topCountryImage {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 35px;
		height: 35px;
	}

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

	.topCountryName {
		flex: 1;
		font-size: 1.3rem;
		font-weight: var(--font-w-bold);
	}
	
	#toggleCountryList {
		display: none;
	}

	.topCountryMessage {
		margin: 46px 0 0;
		text-align: center;
	}

	.topCountryMessage p {
		font-size: 1.6rem;
		font-weight: var(--font-w-bold);
		line-height: 1.7;
	}

	/* --------- Note ----------- */
	.topNoteWrap {
		padding: 80px 0 140px;
		border-top: solid 1px #E8E8E8;
	}

	.topNoteTextWrap p {
		font-size: 1.4rem;
		line-height: 2;
	}

	.topNoteTextWrap a:hover {
		text-decoration: underline;
	}


	/*------------------------------------
		ボタン
	-------------------------------------*/
	.button {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		/*height: 55px;*/
		padding: 13px 20px 16px 30px;
		background: #111;
		font-size: 1.6rem;
		font-weight: var(--font-w-medium);
		color: #fff;
		border: solid 2px #111;
	}
	.button:hover {
		background: #fff;
		color: #111;
	}

	.button::after {
		content: "";
		width: 8px;
		height: 13px;
		margin: 0 0 0 28px;
		position: relative;
		top: 1px;
		background: url(../img/common/arrow_white.svg) no-repeat;
		background-size: 8px 13px;
	}
	.button:hover::after {
		background: url(../img/common/arrow_black.svg) no-repeat;
		background-size: 8px 13px;
	}

	/*------------------------------------
		page
	-------------------------------------*/
	.pageMainWrap {
		height: 250px;
		position: relative;
		background: url(../img/common/basic-img/header_image_pc.jpg) no-repeat;
		background-size: cover;
		background-position: center top;
	}

	.pageMainContact {
		background: url(../img/contact/pc/header_image.jpg) no-repeat;
		background-size: cover;
		background-position: center top;
	}

	.pageMainTitle {
		position: absolute;
		top: 52%;
		left: 50%;
		width: 1200px;
		transform: translate(-50%, -50%);
		font-family: "Libre Baskerville", serif;
    font-weight: 700;
    font-style: normal;
		font-size: 3.8rem;
		color: #fff;
		text-align: center;
		text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
	}

	/*------------------------------------
		breadcrumb
	-------------------------------------*/
	.breadcrumbWrap {
		padding: 15px 0 17px 0;
		background: #F5F3E7;
	}

	.breadcrumbList {
		text-align: center;
		padding: 0 0 0 15px;
	}

	.breadcrumbItem {
		display: inline;
		margin: 0 44px 0 0;
		position: relative;
		font-size: 1.4rem;
	}
	.breadcrumbItem:last-child {
		margin-right: 0;
	}

	.breadcrumbItem::after {
		content: ">>";
		display: block;
		position: absolute;
		top: 50%;
		right: -30px;
		transform: translateY(-50%);
	}
	.breadcrumbItem:last-child:after {
		content: none;
	}

	.breadcrumbItem:first-child::before {
		content: "";
		width: 14px;
		height: 14px;
		position: absolute;
		top: 3.5px;
		left: -22px;
		background: url(../img/common/home_icon.svg) no-repeat;
		block-size: 14px;
	}

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

	/*------------------------------------
		ourpolicy
	-------------------------------------*/
	.ourpolicyWrap {
		padding: 75px 0 216px;
	}

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

	.ourpolicyBody {
		margin: 46px 0 0;
	}

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

	.ourpolicyTextWrap {
		margin: 40px 0 0;
	}

	.ourpolicyTextWrap p {
		margin: 0 0 34px;
		font-size: 1.7rem;
		line-height: 1.8;
	}
	.ourpolicyTextWrap p:last-child {
		margin-bottom: 0;
	}

	/*------------------------------------
		language button
	-------------------------------------*/
	.languageButtonWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		gap: 19px;
		margin: 30px 0 0;
	}

	.languageButton {
		display: flex;
		flex-wrap: wrap;
		/*! align-items: center; */
		gap: 10px;
		/*height: 35px;*/
		padding: 6px 16px 7px 13px;
		background: #fff;
		font-size: 1.4rem;
		border: 1px solid #D5D5D5;
		border-radius: 6px;
		box-shadow: 1px 1px 0px #D5D5D5;
	}

	.languageButton::before {
		content: "";
		width: 21px;
		height: 14px;
		position: relative;
		top: 2px;
		border: solid 1px #DFDFDF;
	}
	.languageButton.ja::before {
		background: url(../img/common/language/ja.svg) no-repeat;
		background-size: 21px 14px;
	}
	.languageButton.cn::before {
		background: url(../img/common/language/cn.svg) no-repeat;
		background-size: 21px 14px;
	}
	.languageButton.en::before {
		background: url(../img/common/language/en.svg) no-repeat;
		background-size: 21px 14px;
	}

	/*------------------------------------
		VISA CASES
	-------------------------------------*/
	.visacasesWrap {
		padding: 56px 0 0;
	}

	.visacasesTitle {
		position: relative;
		font-size: 4rem;
		font-weight: var(--font-w-bold);
		text-align: center;
	}

	.visacasesTitle::after {
		content: "";
		display: block;
		width: 20px;
		height: 20px;
		margin: 13px auto 0;
		background: url(../img/common/title_icon.svg) no-repeat;
		background-size: 20px;
	}

	/*------------------------------------
		categorylist
	-------------------------------------*/
	.categorylistWrap {
		margin: 25px 0 0;
		padding: 62px 0 135px;
		background: #F9F9F9;
	}

	.categorylistInner {
		display: flex;
		flex-direction: column;
		gap: 62px;
	}
	
	.categorylistHead {
		padding: 0 0 0 20px;
		position: relative;
		font-size: 2rem;
		font-weight: var(--font-w-bold);
	}

	.categorylistHead::before {
		content: "";
		width: 6px;
		height: 30px;
		position: absolute;
		top: 0;
		left: 0;
		background: #111;
	}

	.categorylistColumn {
		display: flex;
		flex-wrap: wrap;
		gap: 25px 30px;
		margin: 25px 0 0;
	}

	.categorylistItem {
		display: flex;
		width: 585px;
		padding: 18px 70px 22px 28px;
		position: relative;
		background: #fff;
		font-size: 1.7rem;
		border: solid 1px #D5D5D5;
		align-items: center;
	}

	.categorylistItem::before {
		content: "";
		width: 40px;
		height: calc(100% - 18px);
		position: absolute;
		top: 50%;
		right: 9px;
		transform: translateY(-50%);
		background: #FFE5E5;
		transition: 0.2s;
	}

	.categorylistItem:hover::before {
		background: #111;
	}

	.categorylistItem::after {
		content: "";
		width: 7px;
		height: 11px;
		background: url(../img/common/arrow_black.svg) no-repeat;
		background-size: 7px 11px;
		position: absolute;
		top: 50%;
		right: 24px;
		transform: translateY(-50%);
	}

	.categorylistItem:hover::after {
		background: url(../img/common/arrow_white.svg) no-repeat;
		background-size: 7px 11px;
	}

	/*------------------------------------
		article
	-------------------------------------*/
	.articleWrap {
		padding: 75px 0 165px;
	}

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

	.articleDate {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin: 16px 0 0;
	}

	.articleDate::before {
		content: "";
		width: 18px;
		height: 18px;
		margin: 3px 10px 0 0;
		background: url(../img/article/clock_icon.svg) no-repeat;
		background-size: 18px;
	}

	.articleDate p,
	.articleDate time {
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		color: #929292;
	}

	.articleDate p {
		margin: 0 3px 0 0;
	}

	.articleBody {
		margin: 50px 0 0;
	}

	.articleBody p {
		margin: 0 0 40px;
		font-size: 1.7rem;
		line-height: 1.7;
	}

	.articleBody h2 {
		position: relative;
		margin: 0px 0 40px 0;
		padding: 0 0 0 20px;
		font-size: 3rem;
		font-weight: var(--font-w-bold);
		text-align: left;
	}
	.articleBody h2::before {
		content: "";
		width: 6px;
		height: 100%;
		position: absolute;
		top: 1px;
		left: 0;
		background: #111;
	}

	.articleBody img {
		margin-top: 48px;
		margin-bottom: 48px;
	}

	.returnButtonWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin: 80px 0 0;
	}

	.returnButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 20px;
		/*height: 55px;*/
		padding: 13px 28px 16px 30px;
		background: #111;
		font-size: 1.6rem;
		font-weight: var(--font-w-medium);
		color: #fff;
		border: solid 2px #111;
	}
	.returnButton:hover {
		background: #fff;
		color: #111;
	}

	.returnButton::after {
		content: "";
		width: 17px;
		height: 15px;
		position: relative;
		top: 2px;
		background: url(../img/common/return_icon_white.svg) no-repeat;
		background-size: 17px 15px;
	}
	.returnButton:hover::after {
		background: url(../img/common/return_icon_black.svg) no-repeat;
		background-size: 17px 15px;
	}

	/*------------------------------------
		contact
	-------------------------------------*/
	.contactTop {
		padding: 80px 0 130px;
	}

	.contactTopInfo {
		width: 910px;
		position: relative;
	}

	.contactTopHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 15px;
		font-size: 3rem;
		font-weight: var(--font-w-bold);
	}

	.contactTopHead::before {
		content: "";
		width: 45px;
		height: 37px;
		background: url(../img/contact/top_head_icon.svg) no-repeat;
		background-size: 45px 37px;
	}

	.contactTopText {
		margin: 46px 0 0;
		font-size: 1.7rem;
		line-height: 1.9;
	}

	.contactTopImageWrap {
		position: absolute;
		top: 0;
		right: -290px;
	}

	.contactTopTel {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin: 40px 0 0;
	}

	.contactTopTelHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 14px;
		height: 75px;
		position: relative;
		padding: 0 12px 0 32px;
		background: #FFC2C2;
		font-size: 2.2rem;
		font-weight: var(--font-w-bold);
	}

	.contactTopTelHead::before {
		content: "";
		width: 30px;
		height: 30px;
		background: url(../img/common/tel_icon.svg) no-repeat;
		background-size: 30px;
	}

	.contactTopTelHead::after {
		content: "";
		width: 0;
		height: 0;
		position: absolute;
		top: 0;
		right: -63px;
		border-style: solid;
		border-width: 0 0 75px 63px;
		border-color: transparent transparent transparent #FFC2C2;
	}

	.contactTopTelNumber {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		height: 75px;
		padding: 0 88px 0 68px;
		background: #FFE6E6;
		font-size: 2.2rem;
		font-weight: var(--font-w-bold);
	}

	.contactTopTelNumber a:first-child::after {
		content: "/";
		margin: 0 4px;
	}

	.contact {
		width: 100%;
		padding: 80px 0 120px;
		background: #F5F5F5;
	}

	.contactInner {
		display: flex;
		flex-wrap: wrap;
		gap: 100px;
	}

	.contactSide {
		flex: 1;
		padding: 48px 0 0;
	}

	.contactSideHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 16px;
		font-size: 2.5rem;
		font-weight: var(--font-w-bold);
	}

	.contactSideHead::before {
		content: "";
		width: 26px;
		height: 32px;
		background: url(../img/contact/office_icon.svg) no-repeat;
		background-size: 26px 32px;
	}

	.contactSideAddress {
		margin: 40px 0 0;
		font-size: 1.7rem;
		line-height: 1.7;
	}

	.contactSideMapLink {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin: 6px 0 0;
		gap: 7px;
		font-size: 1.8rem;
		text-decoration: underline;
	}

	.contactSideMapLink:hover {
		text-decoration: none;
	}

	.contactSideMapLink::before {
		content: "";
		width: 20px;
		height: 25px;
		background: url(../img/common/footer/map_icon.svg) no-repeat;
		background-size: 20px 25px;
	}

	.contactSideLocationHead {
		margin: 48px 0 5px;
		font-size: 1.8rem;
		font-weight: var(--font-w-bold);
		line-height: 1.7;
	}

	.contactSideLocation {
		font-size: 1.7rem;
		line-height: 1.7;
	}

	/* --------- form ----------- */
	.contactFormWrap {
		width: 750px;
		padding: 50px 60px 60px;
		background: #fff;
	}

	.contactFormHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin: 0 0 40px;
		font-size: 2.5rem;
		font-weight: var(--font-w-bold);
	}

	.contactFormHead::before {
		content: "";
		width: 34px;
		height: 23px;
		margin: 1px 14px 0 0;
		background: url(../img/common/mail_icon_black.svg) no-repeat;
		background-size: 34px 23px;
	}

	.contactFormHead .required {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		height: 30px;
		margin: 0 0 0 32px;
		padding: 0 17px 0 15px;
		background: #FFF3CC;
		font-size: 1.4rem;
		font-weight: var(--font-w-regular);
		color: #FF3333;
	}

	.contactFormHead .required::before {
		content: "";
		width: 11px;
		height: 11px;
		margin: 0 8px 0 0;
		background: url(../img/contact/required_icon.svg) no-repeat;
		background-size: 11px;
	}

	.formGroup {
		margin: 0 0 35px;
	}

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

	.formHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		font-size: 1.7rem;
		font-weight: var(--font-w-bold);
	}

	.formHead::after {
		content: "";
		width: 11px;
		height: 11px;
		margin: 0 0 0 6px;
		background: url(../img/contact/required_icon.svg) no-repeat;
		background-size: 11px;
	}

	.formItem {
		margin: 14px 0 0;
	}

	.formControl {
		width: 100%;
		padding: 13px;
		font-size: 1.7rem;
		border: solid 2px #C6C6C6;
	}

	.formCheckboxWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 15px 30px;
	}
	.formCheckboxWrap .mwform-checkbox-field-text {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		position: relative;
		font-size: 1.7rem;
	}

	.formCheckboxWrap .mwform-checkbox-field-text::before {
		content: "";
		width: 28px;
		height: 28px;
		background: #fff;
		border: solid 1px #666;
		border-radius: 5px;
	}

	.formCheckboxWrap input[type=checkbox]:checked + .mwform-checkbox-field-text::before {
		background: #111;
	}

	.formCheckboxWrap input[type=checkbox]:checked + .mwform-checkbox-field-text::after {
		content: "";
		display: block;
		width: 19px;
		height: 16px;
		position: absolute;
		top: 50%;
		left: 5px;
		transform: translateY(-50%);
		background: url(../img/contact/form_check.svg) no-repeat;
		background-size: 19px 16px;
	}

	.formSelectWrap {
		display: inline-block;
		position: relative;
		z-index: 1;
	}

	.formSelectWrap::before {
		content: "";
		width: 13px;
		height: 8px;
		position: absolute;
		top: calc(50%);
		right: 18px;
		background: url(../img/contact/form_arrow.svg) no-repeat;
		background-size: 13px 8px;
		z-index: -1;
	}
	.contactFormConfirm .formSelectWrap::before {
		display: none;
	}
	.formSelect {
		padding: 15px 50px 15px 20px;
		font-size: 1.7rem;
		line-height: 1;
		border: solid 1px #666;
		border-radius: 5px;
	}

	.formTextarea {
		min-height: 230px;
	}

	.agreeCheckWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;
		margin: -10px 0 0;
	}
	.contactFormConfirm .agreeCheckWrap {
		display: none;
	}

	.agreeCheckWrap input[type=checkbox] {
		display: block;
		width: 28px;
		height: 28px;
		position: relative;
		background: #fff;
		border: solid 1px #666;
		border-radius: 5px;
		cursor: pointer;
	}

	.agreeCheckWrap input[type=checkbox]:checked {
		background: #111;
	}

	.agreeCheckWrap input[type=checkbox]:checked::after {
		content: "";
		display: block;
		width: 19px;
		height: 16px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background: url(../img/contact/form_check.svg) no-repeat;
		background-size: 19px 16px;
	}
	.agreeCheckWrap label span {
		display: none;
	}
	.contentsBody .agreeCheckWrap p {
		margin-bottom: 0px;
		font-size: 1.6rem;
	}

	.agreeCheckWrap p a {
		font-weight: var(--font-w-bold);
		text-decoration: underline;
	}
	.agreeCheckWrap p a:hover {
		text-decoration: none;
	}
	
	.formButtonWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 20px;
		margin: 30px 0 0;
	}
	
	.formButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 300px;
		height: 60px;
		background: #111;
		font-size: 1.8rem;
		font-weight: var(--font-w-bold);
		color: #fff;
		transition: 0.2s;
	}
	
	.formButton:hover {
		background: #BA0003;
	}
	
	.formButtonBack {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 150px;
		height: 60px;
		background: #fff;
		font-size: 1.8rem;
		border: solid 2px #111;
	}

	.formText {
		margin: -6px 0;
		font-size: 1.7rem;
		line-height: 1.6;
	}

	.agreeConfirmText {
		display: none;
	}
	.contactFormConfirm .agreeConfirmText {
		display: block;
		margin: 50px 0 50px;
		font-size: 1.7rem;
		font-weight: var(--font-w-bold);
	}
	.formMessageBox {
		padding: 29px 30px;
		background: #fff;
		border: solid 3px #111;
	}

	.formMessageBox.error {
		background: #FFF5B1;
		border-color: #FFF5B1;
	}

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

	.formMessageBox.error p {
		color: #FF3333;
	}

	.formErrorItem {
		margin: 13px 0 0;
	}

	span.error {
		display: inline-block;
		margin-top: 13px;
		font-size: 1.7rem;
		font-weight: var(--font-w-bold);
		color: #FF3333;
	}

	span.error::before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		margin-top: -4px;
		margin-right: 10px;
		width: 25px;
		height: 25px;
		background: url(../img/contact/form_error.svg) no-repeat;
		background-size: 25px;
	}

	/*------------------------------------
		complete
	-------------------------------------*/
	.completeBox {
		width: 100%;
		padding: 54px 20px 86px;
		background: #fff;
		text-align: center;
	}

	.completeHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 14px;
		font-size: 2.5rem;
		font-weight: var(--font-w-bold);
	}

	.completeHead::before {
		content: "";
		width: 34px;
		height: 23px;
		margin: 2px 0 0;
		background: url(../img/common/mail_icon_black.svg) no-repeat;
		baseline-shift: 34px 23px;
	}

	.completeText {
		margin: 40px 0 0;
		font-size: 1.7rem;
		line-height: 1.6;
	}

	.completeButtonWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin: 100px 0 0;
	}

	.completeButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 28px;
		height: 55px;
		padding: 0 20px 0 30px;
		background: #111;
		font-size: 1.6rem;
		font-weight: var(--font-w-medium);
		color: #fff;
	}

	.completeButton::after {
		content: "";
		width: 8px;
		height: 13px;
		position: relative;
		top: 1px;
		background: url(../img/common/arrow_white.svg) no-repeat;
		background-size: 8px 13px;
	}

	/*------------------------------------
		parts
	-------------------------------------*/
	.contentsWrap {
		padding: 75px 0 165px;
	}
	.contentsTitle {
		font-size: 4rem;
		font-weight: var(--font-w-bold);
		text-align: center;
	}
	.contentsBody {
		margin: 50px 0 0;
	}
	.contentsBody img {
		max-width: 100%;
		height: auto;
	}
	.contentsBody h2 {
		position: relative;
		margin: 0px 0 40px 0;
		padding: 0 0 0 20px;
		font-size: 3rem;
		font-weight: var(--font-w-bold);
		text-align: left;
	}
	.contentsBody h2::before {
		content: "";
		width: 6px;
		height: 100%;
		position: absolute;
		top: 1px;
		left: 0;
		background: #111;
	}
	.contentsBody h3 {
		margin: 0px 0 35px 0;
		padding: 0 0 0 0;
		font-size: 2.5rem;
		line-height: 1.4;
		font-weight: var(--font-w-bold);
		text-align: left;
	}
	.contentsBody h3::after {
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		margin-top: 10px;
		border-bottom: 1px solid #B0B0B0;
	}
	.contentsBody h4 {
		margin: 0px 0 22px 0;
		padding: 0 0 0 0;
		font-size: 2.2rem;
		line-height: 1.5;
		font-weight: var(--font-w-bold);
		text-align: left;
	}
	.contentsBody p {
		margin: 0 0 40px;
		font-size: 1.7rem;
		line-height: 1.7;
	}
	.contentsBody img {
		margin-top: 48px;
		margin-bottom: 48px;
	}
	.contentsBody ul {
		margin: 0 0 40px;
		font-size: 1.7rem;
		line-height: 1.7;
	}
	.contentsBody ol {
		margin: 0 0 40px;
		padding-left: 2em;
		font-size: 1.7rem;
		line-height: 1.7;
	}
	.contentsBody ul li {
		position: relative;
		margin: 0 0 8px 0;
		padding: 0 0 0 16px;
	}
	.contentsBody ol li {
		position: relative;
		margin: 0 0 8px 0;
		padding: 0 0 0 5px;
	}
	.contentsBody ul li::before {
		content: "";
		position: absolute;
		top: 12px;
		left: 0;
		width: 8px;
		height: 8px;
		background-image: url(../img/contents/icon_dot.svg);
		background-repeat: no-repeat;
		background-size: 8px 8px;
	}
	.contentsBody blockquote {
		margin: 0 0 40px;
		padding: 35px 40px 35px 40px;
		font-size: 1.7rem;
		line-height: 1.7;
		background: #F3F3F3;
	}
	.contentsBody blockquote > p {
		margin-bottom: 0px;
	}
	.contentsBody table {
		margin: 0 0 40px;
		border-top: 1px solid #777777;
		border-left: 1px solid #777777;
	}
	.contentsBody table th,
	.contentsBody table td {
		padding: 15px;
		border-bottom: 1px solid #777777;
		border-right: 1px solid #777777;
	}
	.contentsBody table th {
		background: #F3F3F3;
		font-weight: var(--font-w-bold);
		text-align: left;
	}



	/*------------------------------------
		footer
	-------------------------------------*/
	.footerWrap {
		padding: 70px 0 25px;
		background: url(../img/common/footer/bg_pc.jpg) no-repeat;
		background-size: cover;
		background-position: center top;
	}

	.contactFooterWrap {
		padding-top: 1px;
		background: #333;
	}

	.footerItem {
		display: flex;
		flex-wrap: wrap;
		gap: 50px;
	}
	.footerContactWrap {
		width: 900px;
		position: relative;
		text-align: center;
	}

	.footerContactHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 16px;
		font-size: 2.8rem;
		font-weight: var(--font-w-bold);
		color: #fff;
	}

	.footerContactHead::before {
		content: "";
		width: 45px;
		height: 37px;
		background: url(../img/common/footer/head_icon.svg) no-repeat;
		background-size: 45px 37px;
	}

	.footerContactText {
		margin: 24px 0 0;
		font-size: 2rem;
		font-weight: var(--font-w-medium);
		line-height: 1.8;
		color: #fff;
	}

	.footerContactBox {
		margin: 35px 0 0;
		padding: 35px 20px;
		background: #fff;
	}

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

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

	.footerTelHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 6px;
		height: 60px;
		position: relative;
		padding: 0 2px 0 23px;
		background: #FFC2C2;
		font-size: 1.4rem;
		font-weight: var(--font-w-medium);
	}

	.footerTelHead::before {
		content: "";
		width: 21px;
		height: 21px;
		background: url(../img/common/tel_icon.svg) no-repeat;
		background-size: 21px;
	}

	.footerTelHead::after {
		content: "";
		width: 0;
		height: 0;
		position: absolute;
		top: 0;
		right: -50px;
		border-style: solid;
		border-width: 0 0 60px 50px;
		border-color: transparent transparent transparent #FFC2C2;
	}

	.footerTelNumber {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		height: 60px;
		padding: 0 26px 2px 53px;
		background: #FFE6E6;
		font-size: 1.6rem;
	}

	.footerTelNumber a:first-child::after {
		content: "/";
		margin: 0 4px;
	}

	.footerMail {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 10px;
		width: 200px;
		height: 60px;
		background: #111;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		color: #fff;
	}

	.footerMail:hover {
		background: #BA0003;
	}

	.footerMail::before {
		content: "";
		width: 23px;
		height: 20px;
		background: url(../img/common/mail_icon.svg) no-repeat;
		background-size: 23px 15px;
		background-position: 0px 3px;
	}

	.footerAddress {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 20px;
		margin: 25px 0 0;
		font-size: 1.8rem;
	}

	.footerAddress a {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 7px;
		text-decoration: underline;
	}
	.footerAddress a:hover {
		text-decoration: none;
	}

	.footerAddress a::before {
		content: "";
		width: 20px;
		height: 25px;
		background: url(../img/common/footer/map_icon.svg) no-repeat;
		background-size: 20px 25px;
	}

	.footerImageWrap {
		position: absolute;
		top: 0;
		right: -300px;
	}

	.profileImage {
		width: 250px;
		position: relative;
	}

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

	.profileImageName {
		width: 100%;
		position: absolute;
		bottom: 12px;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		color: #fff;
	}

	.profileImageName p:nth-child(1) {
		font-size: 1.4rem;
		font-weight: var(--font-w-medium);
	}

	.profileImageName p:nth-child(2) {
		font-size: 1.9rem;
		font-weight: var(--font-w-bold);
	}

	.copyright {
		display: block;
		margin: 130px 0 0;
		text-align: center;
		font-size: 1.5rem;
		color: #fff;
	}

	/* --------- ページトップボタン ----------- */
	#gPagetop {
		transition: 0.2s;
		cursor: pointer;
		visibility: hidden;
	}
	#gPagetop .pagetopBtn {
		position: fixed;
		position: relative;
		right: 30px;
		display: block;
		width: 69px;
		height: 69px;
		border-radius: 100%;
		z-index: 100;
	}
	#gPagetop .pagetopBtn::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0px;
		display: block;
		width: 69px;
		height: 69px;
		border-radius: 100%;
		background-image: url(../img/common/pagetop_icon.svg);
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		transition: all 0.2s ease;
		z-index: 100;
	}
}
