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

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

	body {
		margin: 70px 0 0;
		font-size: 1.4em;
		overflow: hidden;
	}

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

	.spNone {
		display: none;
	}

	/*------------------------------------
		section共通設定
	-------------------------------------*/
	.sectionCommon {
		padding: 0 5.3vw;
	}

	/*------------------------------------
		header
	-------------------------------------*/
	.headerWrap {
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
		padding: 16px 0 16px 15px;
		background: #fff;
		filter: drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.05));
		z-index: 999;
	}

	.headerLogo {
		width: 227px;
	}

	.headerMenuButton {
		width: 56px;
		height: 70px;
		position: absolute;
		top: 0;
		right: 0;
		background: url(../img/common/menu_button.svg) no-repeat;
		background-size: 26px 24px;
		background-position: center;
	}
	.headerMenuButton.isActive {
		background: url(../img/common/menu_button_close.svg) no-repeat;
		background-size: 21px 21px;
		background-position: center;
	}

	/* --------- ナビゲーション ----------- */
	.headerNav {
		display: none;
		flex-wrap: wrap;
		flex-direction: column-reverse;
		padding: 60px 45px 75px;
		background: #111;
	}
	.headerNav.isActive {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column-reverse;
		width: 100%;
		position: absolute;
		top: 70px;
		left: 0;
		z-index: 999;
	}

	/* --------- ナビゲーション コンタクト ----------- */
	.headerNavContact {
		margin: 50px 0 0;
	}

	.headerNavTel {
		background: #FFE6E6;
	}

	.headerNavTelHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		height: 40px;
		background: #FFC2C2;
		font-size: 1.4rem;
		font-weight: var(--font-w-medium);
	}

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

	.headerNavTelNumber {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		height: 50px;
	}

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

	.headrNavMail {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 10px;
		margin: 30px 0 0;
		height: 50px;
		background: #111;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		color: #fff;
		border: solid 1px #fff;
	}

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

	/* --------- ナビゲーション メニュー ----------- */
	.headerNavMenu {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		justify-content: center;
		gap: 42px;
		text-align: center;
	}

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

	.headerNavMenuItem a {
		color: #fff;
	}

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

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

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

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

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

	/* --------- About ----------- */
	.topAboutWrap {
		padding: 43px 0 60px;
		background: url(../img/top/sp/bg_1.jpg) no-repeat;
		background-size: contain;
		background-position: center bottom;
	}

	.topAboutTextWrap {
		margin: 14px 0 0;
	}

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

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

	.topPickupItemWrap {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		gap: 30px;
		margin: 18px 0 0;
	}

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

	.topPickupImage {
		width: 100%;
		height: 100%;
		/*! aspect-ratio: 304 / 179; */
		overflow: hidden;
	}

	.topPickupText {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		min-height: 40px;
		margin: 14px 0 0;
		padding: 5px 56px 9px 9px;
		position: relative;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
		line-height: 1.5;
		word-break: break-word;
	}

	.topPickupText::before {
		content: "";
		width: 40px;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		background: #FFE5E5;
	}

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

	/* --------- Button ----------- */
	.topButtonWrap {
		margin: 30px 0 0;
	}

	/* --------- Country ----------- */
	.topCountryWrap {
		padding: 42px 0 58px;
		background: url(../img/top/sp/bg_map.jpg) no-repeat;
		background-size: contain;
		background-position: center top;
	}

	.topCountryItemWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin: 34px 0 0;
		gap: 15px 10px;
	}

	.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;
	}

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

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

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

	.topCountryButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		width: 130px;
		height: 40px;
		margin: 22px auto 0;
		padding: 0 0 0 32px;
		position: relative;
		background: #fff;
		font-size: 1.5rem;
		font-weight: var(--font-w-medium);
		line-height: 1.1;
		color: #111;
		border: solid 1px #111;
	}

	.topCountryButton::after {
		content: "";
		width: 12px;
		height: 7px;
		position: absolute;
		top: 50%;
		right: 14px;
		transform: translateY(-50%);
		background: url(../img/top/country/arrow_bottom.svg) no-repeat;
		background-size: 12px 7px;
	}

	.topCountryButton.isExpanded::after {
		transform: translateY(-50%) scaleY(-1);
	}

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

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

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

	/*------------------------------------
		ボタン
	-------------------------------------*/
	.button {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		width: 100%;
		/*height: 56px;*/
		padding: 16px 18px 19px 20px;
		background: #111;
		font-size: 1.5rem;
		font-weight: var(--font-w-medium);
		color: #fff;
	}

	.button::after {
		content: "";
		width: 8px;
		height: 13px;
		/*margin: 0 0 0 auto;*/
		/*position: relative;
		top: 1px;*/
		background: url(../img/common/arrow_white.svg) no-repeat;
		background-size: 8px 13px;
		position: absolute;
		top: 50%;
		right: 18px;
		transform: translateY(-50%);
	}

	/*------------------------------------
		page
	-------------------------------------*/
	.pageMainWrap {
		/*aspect-ratio: 5 / 2;*/
		position: relative;
		height: 150px;
		background: url(../img/common/basic-img/header_image_sp.jpg) no-repeat;
		background-size: cover;
		background-position: center top;
	}

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

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

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

	.breadcrumbList {
		padding: 0 0 0 20px;
	}

	.breadcrumbItem {
		display: inline;
		margin: 0 34px 0 0;
		position: relative;
		font-size: 1.2rem;
		line-height: 1.7;
	}
	.breadcrumbItem:last-child {
		margin-right: 0;
	}

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

	.breadcrumbItem:last-child:after {
		content: none;
	}

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

	.breadcrumbItem a {
		text-decoration: underline;
	}

	/*------------------------------------
		ourpolicy
	-------------------------------------*/
	.ourpolicyWrap {
		padding: 38px 0 115px;
	}

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

	.ourpolicyBody {
		margin: 45px 0 0;
	}

	.ourpolicyHead {
		font-size: 2rem;
		font-weight: var(--font-w-bold);
	}

	.ourpolicyTextWrap {
		margin: 28px 0 0;
	}

	.ourpolicyTextWrap p {
		margin: 0 0 22px;
		font-size: 1.5rem;
		line-height: 1.7;
	}

	.ourpolicyTextWrap p:last-child {
		margin-bottom: 0;
	}

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

	.languageButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 7px;
		height: 30px;
		padding: 0 14px 0 11px;
		background: #fff;
		font-size: 1.3rem;
		border: 1px solid #D5D5D5;
		border-radius: 6px;
		box-shadow: 1px 1px 0px #D5D5D5;
	}

	.languageButton::before {
		content: "";
		width: 19px;
		height: 13px;
		border: solid 1px #DFDFDF;
	}

	.languageButton.ja::before {
		background: url(../img/common/language/ja.svg) no-repeat;
		background-size: 19px 13px;
	}
	.languageButton.cn::before {
		background: url(../img/common/language/cn.svg) no-repeat;
		background-size: 19px 13px;
	}
	.languageButton.en::before {
		background: url(../img/common/language/en.svg) no-repeat;
		background-size: 19px 13px;
	}

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

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

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

	/*------------------------------------
		categorylist
	-------------------------------------*/
	.categorylistWrap {
		margin: 15px 0 0;
		padding: 35px 0 110px;
		background: #F9F9F9;
	}

	.categorylistInner {
		display: flex;
		flex-direction: column;
		gap: 45px;
	}

	.categorylistHead {
		padding: 0 0 0 15px;
		position: relative;
		font-size: 1.7rem;
		font-weight: var(--font-w-bold);
		line-height: 1.6;
	}

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

	.categorylistColumn {
		display: flex;
		flex-direction: column;
		gap: 15px;
		margin: 20px 0 0;
	}

	.categorylistItem {
		width: 100%;
		padding: 12px 50px 15px 20px;
		position: relative;
		background: #fff;
		font-size: 1.5rem;
		line-height: 1.6;
		border: solid 1px #D5D5D5;
	}

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

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

	/*------------------------------------
		article
	-------------------------------------*/
	.articleWrap {
		padding: 38px 0 100px;
	}

	.articleTitle {
		font-size: 2.5rem;
		font-weight: var(--font-w-bold);
		line-height: 1.4;
		text-align: center;
	}

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

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

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

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

	.articleBody {
		margin: 45px 0 0;
	}

	.articleBody p {
		margin: 0 0 30px;
		font-size: 1.5rem;
		line-height: 1.65;
	}

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

	.articleBody img {
		max-width: 100%;
		margin-top: 40px;
		margin-bottom: 40px;
	}

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

	.returnButton {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 20px;
		/*! height: 55px; */
		padding: 15px 55px 19px 20px;
		background: #111;
		font-size: 1.5rem;
		font-weight: var(--font-w-medium);
		color: #fff;
	}

	.returnButton::after {
		content: "";
		width: 16px;
		height: 14px;
		/*position: relative;*/
		background: url(../img/common/return_icon_white.svg) no-repeat;
		background-size: 16px 14px;
		position: absolute;
		top: 50%;
		right: 18px;
		transform: translateY(-50%);
	}

	/*------------------------------------
		contact
	-------------------------------------*/
	.contactTop {
		padding: 38px 5.3vw 60px;
	}

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

	.contactTopHead::before {
		content: "";
		display: block;
		width: 41px;
		height: 34px;
		margin: 0 auto 5px;
		background: url(../img/contact/top_head_icon.svg) no-repeat;
		background-size: 41px 34px;
	}

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

	.contactTopImageWrap {
		margin: 22px 0 0;
	}

	.contactTopTel {
		margin: 30px 0 0;
	}

	.contactTopTelHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 10px;
		height: 50px;
		background: #FFC2C2;
		font-size: 1.7rem;
		font-weight: var(--font-w-bold);
	}

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

	.contactTopTelNumber {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		/*! height: 55px; */
		padding: 15px 15px 17px 15px;
		background: #FFE6E6;
		font-size: 1.6rem;
		font-weight: var(--font-w-bold);
	}

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

	.contact {
		padding: 56px 0 95px;
		background: #F5F5F5;
	}

	.contactSide {
		padding: 50px 25px 0;
	}

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

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

	.contactSideAddress {
		margin: 25px 0 0;
		font-size: 1.5rem;
		line-height: 1.6;
	}

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

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

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

	.contactSideLocation {
		margin: 2px 0 0;
		font-size: 1.5rem;
		line-height: 1.6;
	}

	/* --------- form ----------- */
	.contactFormWrap {
		padding: 35px 25px 53px;
		background: #fff;
	}

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

	.contactFormHead::before {
		content: "";
		width: 30px;
		height: 20px;
		margin: 2px 10px 0 0;
		background: url(../img/common/mail_icon_black.svg) no-repeat;
		background-size: 30px 20px;
	}

	.contactFormHead .required {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		height: 30px;
		margin: 22px 0 0;
		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 27px;
	}
	.formGroup:last-child {
		margin-bottom: 0;
	}

	.formHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		font-size: 1.5rem;
		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: 12px 0 0;
	}

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

	.formCheckboxWrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 15px 20px;
	}

	.formCheckboxWrap .mwform-checkbox-field-text {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		position: relative;
		font-size: 1.5rem;
		line-height: 1.1;
	}

	.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::after {
		content: "";
		width: 13px;
		height: 8px;
		position: absolute;
		top: 50%;
		right: 18px;
		transform: translateY(-50%);
		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 18px;
		font-size: 1.5rem;
		line-height: 1.1;
		color: #111;
		border: solid 1px #666;
		border-radius: 5px;
	}

	.formTextarea {
		min-height: 230px;
	}

	.agreeCheckWrap {
		margin: -8px 0 0;
		padding: 0 0 0 38px;
		position: relative;
	}
	.contactFormConfirm .agreeCheckWrap {
		display: none;
	}
	.agreeCheckWrap input[type=checkbox] {
		display: block;
		width: 28px;
		height: 28px;
		position: absolute;
		top: -3px;
		left: 0;
		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;
	}
	.agreeCheckWrap p {
		font-size: 1.4rem;
		line-height: 1.7;
	}

	.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: 6%;
		margin: 20px 0 0;
	}

	.formButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 55px;
		background: #111;
		font-size: 1.7rem;
		font-weight: var(--font-w-bold);
		color: #fff;
	}
	.formButton.send {
		width: 66%;
	}
	
	.formButtonBack {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 28%;
		height: 55px;
		background: #fff;
		font-size: 1.7rem;
		border: solid 2px #111;
	}

	.formText {
		margin: -2px 0 -6px;
		font-size: 1.5rem;
		line-height: 1.5;
	}
	.agreeConfirmText {
		display: none;
	}
	.contactFormConfirm .agreeConfirmText {
		display: block;
		margin: 50px 0 40px;
		font-size: 1.5rem;
		font-weight: var(--font-w-bold);
	}
	.formMessageBox {
		padding: 14px 20px 17px 20px;
		background: #fff;
		border: solid 3px #111;
	}

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

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

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

	.formErrorItem {
		margin: 12px 0 0;
	}

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

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

	/*------------------------------------
		complete
	-------------------------------------*/
	.completeBox {
		padding: 30px 25px 50px;
		background: #fff;
	}

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

	.completeHead::before {
		content: "";
		width: 30px;
		height: 20px;
		background: url(../img/common/mail_icon_black.svg) no-repeat;
		baseline-shift: 30px 20px;
	}

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

	.completeButtonWrap {
		margin: 78px 0 0;
	}

	.completeButton {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		width: 100%;
		height: 56px;
		padding: 0 50px 0 20px;
		position: relative;
		background: #111;
		font-size: 1.5rem;
		font-weight: var(--font-w-medium);
		color: #fff;
	}

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

	/*------------------------------------
		parts
	-------------------------------------*/
	.contentsWrap {
		padding: 38px 0 100px;
	}
	.contentsTitle {
		font-size: 2.5rem;
		font-weight: var(--font-w-bold);
		line-height: 1.4;
		text-align: center;
	}
	.contentsBody {
		margin: 45px 0 0;
	}
	.contentsBody h2 {
		position: relative;
		margin: 0px 0 30px 0;
		padding: 0 0 0 17px;
		font-size: 2rem;
		font-weight: var(--font-w-bold);
	}
	.contentsBody h2::before {
		content: "";
		width: 6px;
		height: 100%;
		position: absolute;
		top: 1px;
		left: 0;
		background: #111;
	}
	.contentsBody h3 {
		margin: 0px 0 25px 0;
		padding: 0 0 0 0;
		font-size: 1.8rem;
		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 17px 0;
		padding: 0 0 0 0;
		font-size: 1.7rem;
		line-height: 1.5;
		font-weight: var(--font-w-bold);
		text-align: left;
	}
	.contentsBody p {
		margin: 0 0 30px;
		font-size: 1.5rem;
		line-height: 1.65;
	}
	.contentsBody img {
		max-width: 100%;
		margin-top: 40px;
		margin-bottom: 40px;
	}
	.contentsBody ul {
		margin: 0 0 30px;
		font-size: 1.5rem;
		line-height: 1.65;
	}
	.contentsBody ol {
		margin: 0 0 30px;
		padding-left: 2em;
		font-size: 1.5rem;
		line-height: 1.65;
	}
	.contentsBody ul li {
		position: relative;
		margin: 0 0 10px 0;
		padding: 0 0 0 14px;
	}
	.contentsBody ol li {
		position: relative;
		margin: 0 0 10px 0;
		padding: 0 0 0 5px;
	}
	.contentsBody ul li::before {
		content: "";
		position: absolute;
		top: 10px;
		left: 0;
		width: 7px;
		height: 7px;
		background-image: url(../img/contents/icon_dot.svg);
		background-repeat: no-repeat;
		background-size: 7px 7px;
	}
	.contentsBody blockquote {
		margin: 0 0 30px;
		padding: 20px 25px 20px 25px;
		font-size: 1.5rem;
		line-height: 1.65;
		background: #F3F3F3;
	}
	.contentsBody blockquote > p {
		margin-bottom: 0px;
	}
	.contentsBody table {
		margin: 0 0 30px;
		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: 50px 0 22px;
		background: url(../img/common/footer/bg_sp.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 {
		text-align: center;
	}

	.footerContactHead {
		font-size: 2.2rem;
		font-weight: var(--font-w-bold);
		color: #fff;
	}

	.footerContactHead::before {
		content: "";
		display: block;
		width: 43px;
		height: 35px;
		margin: 0 auto 10px;
		background: url(../img/common/footer/head_icon.svg) no-repeat;
		background-size: 43px 35px;
	}

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

	.footerContactBox {
		margin: 40px 0 0;
		padding: 33px 25px 18px;
		background: #fff;
	}

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

	.footerTel {
		width: 100%;
	}

	.footerTelHead {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 6px;
		height: 40px;
		position: relative;
		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;
	}

	.footerTelNumber {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		/*height: 50px;*/
		padding: 13px 10px 16px 10px;
		background: #FFE6E6;
		font-size: 1.5rem;
	}

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

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

	.footerMail::before {
		content: "";
		width: 22px;
		height: 15px;
		margin: 2px 0 0;
		background: url(../img/common/mail_icon.svg) no-repeat;
		background-size: 22px 15px;
	}

	.footerAddress {
		margin: 18px 0 0;
		font-size: 1.45rem;
		line-height: 2;
	}

	.footerAddress a {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 10px;
		margin: 6px;
		text-decoration: underline;
	}

	.footerAddress a::before {
		content: "";
		width: 18px;
		height: 21px;
		position: relative;
		top: 1px;
		background: url(../img/common/footer/map_icon.svg) no-repeat;
		background-size: 18px 21px;
	}

	.footerImageWrap {
		margin: 25px 0 0;
	}

	.profileImage {
		width: 178px;
		margin: 0 auto;
		position: relative;
	}

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

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

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

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

	/* --------- ページトップボタン ----------- */
	#gPagetop {
		transition: 0.3s;
		cursor: pointer;
		visibility: hidden;
	}
	#gPagetop .pagetopBtn {
		position: fixed;
		position: relative;
		right: 10px;
		display: block;
		width: 50px;
		height: 50px;
		border-radius: 100%;
		z-index: 100;
	}
	#gPagetop .pagetopBtn::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0px;
		display: block;
		width: 50px;
		height: 50px;
		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;
	}
}
