@charset "UTF-8";

/* =======================================
   base / reset
   ======================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 62.5%; background: var(--bg-outer, #111); }
body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	color: #111;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	max-width: 1440px;
	margin: 0 auto;
	overflow-x: hidden;
}
img { display: block; width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
.pc-only-inline { display: inline; }
.pc-only-block { display: block; }
.sp-only-inline { display: none; }
.sp-only-block { display: none; }
@media (max-width: 768px) {
	.pc-only-inline { display: none; }
	.pc-only-block { display: none; }
	.sp-only-inline { display: inline; }
	.sp-only-block { display: block; }
}
button { font: inherit; border: none; background: none; cursor: pointer; }
ul, ol { list-style: none; }

/* =======================================
   header
   ======================================= */
#header {
	width: 100%;
	padding: calc(15/1440*100vw) 0 calc(10/1440*100vw);
	background: #fff;
}
#header .contentIn {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 calc(40/1440*100vw);
}
#header .title { display: flex; align-items: center; }
#header .weLogo { width: calc(259/1440*100vw); }

@media (min-width: 1441px) {
	#header { padding: 15px 0 10px; }
	#header .contentIn { padding: 0 40px; }
	#header .weLogo { width: 259px; }
}
@media (max-width: 768px) {
	#header { padding: calc(12/390*100vw) 0; }
	#header .contentIn { padding: 0 calc(20/390*100vw); }
	#header .weLogo { width: calc(95/390*100vw); }
}

/* =======================================
   FV（ファーストビュー）
   ======================================= */
.fv {
	width: 100%;
	background: url('../images/fv_bg.jpg');
	background-repeat: no-repeat;
	background-size: 100%;
	height: auto;
	display: flex;
	flex-direction: column;
	position: relative;
}
.fv__inner {
	max-width: 1440px;
	width: 100%;
	margin: 0 auto;
	padding: calc(100/1440*100vw) calc(40/1440*100vw) 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/* 冒頭テキスト */
.fv__lead {
	font-size: calc(24/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	margin-bottom: calc(20/1440*100vw);
}

/* H1 見出し */
.fv__title {
	font-size: calc(64/1440*100vw);
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	margin-bottom: calc(30/1440*100vw);
	text-decoration: underline;
	text-underline-offset: 0.15em;
	text-decoration-thickness: 3px;
	text-decoration-color: #FFF;
}

/* サブテキスト */
.fv__sub {
	font-size: calc(28/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF600;
	margin-bottom: calc(60/1440*100vw);
}

.fv__cta-label {
	font-size: calc(28/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #111;
	background-color: #FFF600;
	padding: calc(12/1440*100vw) calc(32/1440*100vw);
	display: inline-block;
	margin-bottom: calc(-2/1440*100vw);
}
/* CTAグループ — FV最下部に配置 */
.fv__cta-group {
	width: 100%;
	text-align: center;
}

/* CTAラベル */


/* CTAバー（グラデーション） */
.fv__cta-bar {
	background: linear-gradient(90deg, #DFD700 0%, #FFF600 20%, #FFF600 80%, #DFD700 100%);
	padding: calc(20/1440*100vw) calc(32/1440*100vw);
	width: 100%;
	height: calc(140/1440*100vw);
	max-width: 1440px;
	margin: 0 auto;
	margin-top: calc(-7/1440*100vw);
}

/* 価格行 */
.fv__price-line {
	font-size: calc(44/1440*100vw);
	letter-spacing: 0.02em;
	line-height: 1;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #111;
	margin-bottom: calc(20/1440*100vw);
}
.fv__price-num {
	font-size: calc(80/1440*100vw);
	letter-spacing: -0.04em;
	vertical-align: bottom;
	line-height: 66%;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
}

/* CTA下テキスト */
.fv__cta-text {
	font-size: calc(28/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1;
	font-weight: 600;
	font-family: "Noto Sans JP", sans-serif;
	color: #111;
}

/* ------- 1441px以上 ------- */
@media (min-width: 1441px) {
	.fv__inner { padding: 100px 40px 0; }
	.fv__lead {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.fv__title {
		font-size: 64px;
		margin-bottom: 30px;
	}
	.fv__sub {
		font-size: 28px;
		margin-bottom: 60px;
	}
	.fv__cta-label {
		font-size: 28px;
		padding: 12px 32px;
		margin-bottom: -2px;
	}
	.fv__cta-bar {
		padding: 40px 32px;
		margin-top: -6px;
	}
	.fv__price-line {
		font-size: 44px;
		margin-bottom: 20px;
		
	}
	.fv__price-num {
		font-size: 80px;
		line-height: 64%;
	}
	.fv__cta-text {
		font-size: 28px;
	}
}

/* ------- 768px以下 ------- */
@media (max-width: 768px) {
	.fv {
		background-position: center;
		background-size: cover;
	}
	.fv__inner {
		padding: calc(100/390*100vw) calc(15/390*100vw) 0;
	}
	.fv__lead {
		font-size: calc(14/390*100vw);
		margin-bottom: calc(40/390*100vw);
	}
	.fv__title {
		font-size: calc(30/390*100vw);
		margin-bottom: calc(40/390*100vw);
		text-decoration-thickness: 2px;
	}
	.fv__sub {
		font-size: calc(15/390*100vw);
		margin-bottom: calc(40/390*100vw);
	}
	.fv__cta-label {
		font-size: calc(15/390*100vw);
		padding: calc(8/390*100vw) calc(16/390*100vw);
		display: inline-flex;
		justify-content: center;
		margin-top: calc(102/390*100vw);
	}
	.fv__cta-bar {
		padding: calc(20/390*100vw) calc(16/390*100vw);
		height: auto;
	}
	.fv__price-line {
		font-size: calc(22/390*100vw);
		margin-bottom: calc(20/390*100vw);
		line-height: 1.8;
		
	}
	.fv__price-num {
		font-size: calc(40/390*100vw);
		line-height: 100%;
	}
	.fv__cta-text {
		font-size: calc(14/390*100vw);
	}
}

/* =======================================
   診療報酬改定（revision）
   ======================================= */
.revision {
	width: 100%;
	background: #111;
	padding: calc(80/1440*100vw) 0;
}
.revision__inner {
	max-width: 1440px;
	margin: 0 auto;
	text-align: center;
}

/* タイトル */
.revision__title {
	color: #FFF;
	line-height: 1;
	margin-bottom: calc(40/1440*100vw);
}
.revision__num {
	font-size: calc(80/1440*100vw);
	letter-spacing: 0.04em;
	font-weight: 500;
	font-family: "Roboto", sans-serif;
}
.revision__unit {
	font-size: calc(40/1440*100vw);
	letter-spacing: 0.04em;
	font-weight: 900;
	font-family: "Noto Sans JP", sans-serif;
}
.revision__kanji {
	font-size: calc(60/1440*100vw);
	font-weight: 900;
	font-family: "Noto Sans JP", sans-serif;
}

/* リスト */
.revision__list {
	margin-bottom: calc(50/1440*100vw);
}
.revision__list li {
	font-size: calc(32/1440*100vw);
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	line-height: 1.28;
	letter-spacing: 0;
	padding: calc(4/1440*100vw) 0;
}
.revision__list li::before {
	content: "・";
}

/* 画像エリア */
.revision__images {
	width: calc(1100/1440*100vw);
	margin: 0 auto calc(80/1440*100vw);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.revision__img-group:first-child {
	width: calc(630/1440*100vw);
}
.revision__img-group:last-child {
	width: calc(434/1440*100vw);
}
.revision__img {
	margin-bottom: calc(10/1440*100vw);
}
.revision__img-group:last-child .revision__img {
	width: calc(350/1440*100vw);
	margin-left: auto;
	margin-right: auto;
}
.revision__img img {
	width: 100%;
	height: auto;
}
.revision__caption {
	font-size: calc(12/1440*100vw);
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #aaa;
	text-align: left;
}

/* 下部テキスト */
.revision__bottom-text {
	font-size: calc(40/1440*100vw);
	letter-spacing: 0.02em;
	line-height: 2;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF600;
}

/* ------- revision 1441px以上 ------- */
@media (min-width: 1441px) {
	.revision { padding: 80px 0 100px; }
	.revision__title { margin-bottom: 60px; }
	.revision__num { font-size: 80px; }
	.revision__unit { font-size: 40px; }
	.revision__kanji { font-size: 60px; }
	.revision__list { margin-bottom: 50px; }
	.revision__list li { font-size: 32px; padding: 4px 0; }
	.revision__images { width: 1100px; margin-bottom: 80px; }
	.revision__img-group:first-child { width: 630px; }
	.revision__img-group:last-child { width: 434px; }
	.revision__img-group:last-child .revision__img { width: 350px; }
	.revision__img { margin-bottom: 10px; }
	.revision__caption { font-size: 12px; }
	.revision__bottom-text { font-size: 40px; }
}

/* ------- revision 768px以下 ------- */
@media (max-width: 768px) {
	.revision { padding: calc(50/390*100vw) 0 calc(60/390*100vw); }
	.revision__inner { padding: 0 calc(20/390*100vw); }
	.revision__title { margin-bottom: calc(30/390*100vw); }
	.revision__num { font-size: calc(36/390*100vw); }
	.revision__unit { font-size: calc(20/390*100vw); }
	.revision__kanji { font-size: calc(28/390*100vw); }
	.revision__list { margin-bottom: calc(30/390*100vw); }
	.revision__list li { font-size: calc(16/390*100vw); padding: calc(2/390*100vw) 0; }
	.revision__images {
		width: 100%;
		flex-direction: column;
		align-items: center;
		gap: calc(24/390*100vw);
		margin-bottom: calc(40/390*100vw);
	}
	.revision__img-group:first-child,
	.revision__img-group:last-child { width: 100%; }
	.revision__img-group:last-child .revision__img { width: 100%; }
	.revision__img { margin-bottom: calc(6/390*100vw); }
	.revision__caption { font-size: calc(8/390*100vw); text-align: center;}
	.revision__bottom-text { font-size: calc(18/390*100vw); }
}

/* =======================================
   倒産過去最多（risk）
   ======================================= */
.risk {
	width: 100%;
	height: calc(1300/1440*100vw);
	background: url('../images/risk_bg.jpg');
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding: calc(80/1440*100vw) 0 calc(80/1440*100vw);
}

/* --- upper（背景画像エリア） --- */
.risk__inner {
	width: calc(1175/1440*100vw);
	margin: 0 auto;
	padding: 0 calc(40/1440*100vw);
}

/* タイトル */
.risk__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(20/1440*100vw);
	margin-bottom: calc(40/1440*100vw);
}
.risk__line {
	display: block;
	width: calc(100/1440*100vw);
	height: calc(16/1440*100vw);
	border-top: calc(4/1440*100vw) solid #fff;
	border-bottom: calc(4/1440*100vw) solid #fff;
	flex-shrink: 0;
	margin-top: calc(6/1440*100vw);
}
.risk__title-text {
	font-size: calc(36/1440*100vw);
	letter-spacing: 0;
	font-weight: 900;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	white-space: nowrap;
}
.risk__highlight {
	color: #111;
	background-color: #FFF;
	padding: 0 0.3em calc(3/1440*100vw);
	font-weight: 900;
	display: inline-flex;
	align-items: center;
	height: calc(46/1440*100vw);
}

/* チェックリスト */
.risk__checklist {
	margin-bottom: calc(40/1440*100vw);
}
.risk__check-item {
	margin-bottom: 0;
}
.risk__check-head {
	display: flex;
	align-items: center;
	gap: calc(12/1440*100vw);
	margin-bottom: calc(-10/1440*100vw);
}
.risk__check-icon {
	width: calc(24/1440*100vw) !important;
	height: calc(24/1440*100vw);
	flex-shrink: 0;
}
.risk__check-title {
	font-size: calc(28/1440*100vw);
	letter-spacing: 0;
	line-height: 2;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF600;
}
.risk__check-desc {
	font-size: calc(20/1440*100vw);
	letter-spacing: 0;
	line-height: 2;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	padding-left: calc(36/1440*100vw);
}

/* upper下部テキスト */
.risk__upper-bottom {
	font-size: calc(32/1440*100vw);
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	text-align: center;
}

/* --- lower --- */
.risk__lower {
	padding: calc(120/1440*100vw) 0 calc(100/1440*100vw);
	text-align: center;
}

/* リードテキスト */
.risk__lead {
	font-size: calc(32/1440*100vw);
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	margin-bottom: calc(60/1440*100vw);
}

/* 青い矢印 */
.risk__arrow {
	margin: 0 auto calc(40/1440*100vw);
	width: calc(58/1440*100vw);
}
.risk__arrow img {
	width: 100%;
	height: auto;
}

/* メイン見出し */
.risk__main-heading {
	font-size: calc(40/1440*100vw);
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	margin: 0 auto;
	margin-bottom: calc(30/1440*100vw);
	text-align: start;
	width: calc(520/1440*100vw);
}
.risk__main-heading .risk__highlight {
	font-size: calc(52/1440*100vw);
	color: #111;
	background-color: #FFF;
	font-weight: 700;
	height: calc(62/1440*100vw);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* 説明文 */
.risk__description {
	font-size: calc(20/1440*100vw);
	letter-spacing: 0.02em;
	line-height: 2.2;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
}

/* ------- risk 1441px以上 ------- */
@media (min-width: 1441px) {
	.risk { height: 1300px; padding: 80px 0; }
	.risk__inner { width: 1175px; padding: 0 40px; }
	.risk__title { gap: 20px; margin-bottom: 40px; }
	.risk__line { width: 100px; height: 16px; margin-top: 6px; }
	.risk__title-text { font-size: 36px; }
	.risk__highlight { height: 46px; padding-bottom: 3px; }
	.risk__checklist { margin-bottom: 40px; }
	.risk__check-item { margin-bottom: 0; }
	.risk__check-head { gap: 12px; margin-bottom: -10px; }
	.risk__check-icon { width: 24px !important; height: 24px; }
	.risk__check-title { font-size: 28px; }
	.risk__check-desc { font-size: 20px; padding-left: 36px; }
	.risk__upper-bottom { font-size: 32px; }
	.risk__lower { padding: 120px 0 100px; }
	.risk__lead { font-size: 32px; margin-bottom: 60px; }
	.risk__arrow { width: 58px; margin-bottom: 40px; }
	.risk__main-heading { font-size: 40px; margin-bottom: 30px; width: 520px; }
	.risk__main-heading .risk__highlight { font-size: 52px; height: 62px; }
	.risk__description { font-size: 20px; }
}

/* ------- risk 768px以下 ------- */
@media (max-width: 768px) {
	.risk { height: auto; padding: calc(60/390*100vw) 0 calc(40/390*100vw); background-size: calc(1440/390*100vw) auto;
		background-position: center center;}
	.risk__upper { padding: calc(0/390*100vw) 0 calc(20/390*100vw); }
	.risk__inner { padding: 0 calc(15/390*100vw); width: 100%; }
	.risk__title { gap: calc(10/390*100vw); margin-bottom: calc(36/390*100vw); }
	.risk__line { width: calc(40/390*100vw); height: calc(10/390*100vw); border-top-width: 2px; border-bottom-width: 2px; }
	.risk__title-text { font-size: calc(18/390*100vw); white-space: normal; }
	.risk__highlight { height: calc(26/390*100vw); padding-bottom: calc(2/390*100vw); }
	.risk__checklist { margin-bottom: calc(30/390*100vw); }
	.risk__check-item { margin-bottom: calc(16/390*100vw); }
	.risk__check-head { gap: calc(8/390*100vw); }
	.risk__check-icon { width: calc(18/390*100vw) !important; height: calc(18/390*100vw); }
	.risk__check-title { font-size: calc(16/390*100vw); }
	.risk__check-desc { font-size: calc(13/390*100vw); padding-left: calc(26/390*100vw); }
	.risk__upper-bottom { font-size: calc(18/390*100vw); }
	.risk__lower { padding: calc(30/390*100vw) 0 calc(50/390*100vw); }
	.risk__lead { font-size: calc(18/390*100vw); margin-bottom: calc(30/390*100vw); letter-spacing: -0.05em;}
	.risk__arrow { width: calc(36/390*100vw); margin-bottom: calc(24/390*100vw); }
	.risk__main-heading { width: 80%; font-size: calc(22/390*100vw); margin-bottom: calc(36/390*100vw); }
	.risk__main-heading .risk__highlight { height: calc(36/390*100vw); font-size: calc(28/390*100vw); margin-bottom: calc(4/390*100vw);}
	.risk__description { font-size: calc(14/390*100vw); line-height: 2; }
}

/* =======================================
   5つの革新的ベネフィット（benefit）
   ======================================= */
.benefit {
	width: 100%;
	background: #111;
	padding: 0 0 calc(80/1440*100vw);
}
.benefit__inner {
	max-width: 1440px;
	margin: 0 auto;
	text-align: center;
}

/* タイトル */
.benefit__title {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: calc(60/1440*100vw);
}
.benefit__title-num {
	font-size: calc(120/1440*100vw);
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 500;
	font-family: "Roboto", sans-serif;
	color: #FFF;
}
.benefit__title-tsu {
	font-size: calc(44/1440*100vw);
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
}
.benefit__title-main {
	font-size: calc(52/1440*100vw);
	letter-spacing: 0;
	line-height: 1.4;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	border-bottom: 4px solid #FFF;
	padding-bottom: 0;
}

/* 概要図 */
.benefit__overview {
	width: calc(1194/1440*100vw);
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* カード列 */
.benefit__cards-left,
.benefit__cards-right {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: calc(492/1440*100vw);
}

/* カード共通 */
.benefit__card {
	display: flex;
	align-items: center;
	border: none;
	border-radius: 0;
	background-color: #414141;
	position: relative;
	text-align: left;
}

/* 小カード（1,2,3） */
.benefit__card--sm {
	width: calc(434/1440*100vw);
	height: calc(150/1440*100vw);
	padding-left: calc(31/1440*100vw);
}

/* 大カード（4,5） */
.benefit__card--lg {
	width: calc(434/1440*100vw);
	height: calc(236.5/1440*100vw);
	padding-left: calc(38/1440*100vw);
}

/* アイコン */
.benefit__card-icon {
	width: calc(100/1440*100vw) !important;
	height: calc(100/1440*100vw);
	flex-shrink: 0;
}

/* テキストエリア */
.benefit__card--sm .benefit__card-body {
	width: calc(256/1440*100vw);
	flex-shrink: 0;
	margin-left: auto;
	margin-right: calc(20/1440*100vw);
}
.benefit__card--lg .benefit__card-body {
	width: calc(240/1440*100vw);
	flex-shrink: 0;
	margin-left: auto;
	margin-right: calc(20/1440*100vw);
}

/* カードヘッダー */
.benefit__card-heading {
	font-size: calc(24/1440*100vw);
	letter-spacing: 0;
	line-height: 1.4;
	font-weight: 900;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	margin-bottom: calc(20/1440*100vw);
}

/* カード説明文 */
.benefit__card-desc {
	font-size: calc(16/1440*100vw);
	letter-spacing: 0;
	line-height: 1.5;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
}

/* 矢印（左カード → 中央） */
.benefit__cards-left .benefit__card::after {
	content: '';
	position: absolute;
	right: calc(-50/1440*100vw);
	top: 50%;
	transform: translateY(-50%);
	width: calc(56/1440*100vw);
	height: calc(56/1440*100vw);
	background: url('../images/benefit_arrow.png') no-repeat center;
	background-size: contain;
	z-index: 2;
}

/* 矢印（中央 ← 右カード） */
.benefit__cards-right .benefit__card::before {
	content: '';
	position: absolute;
	left: calc(-50/1440*100vw);
	top: 50%;
	transform: translateY(-50%) scaleX(-1);
	width: calc(56/1440*100vw);
	height: calc(56/1440*100vw);
	background: url('../images/benefit_arrow.png') no-repeat center;
	background-size: contain;
	z-index: 2;
}

/* 中央プライスエリア */
.benefit__center {
	width: calc(288/1440*100vw);
	height: calc(492/1440*100vw);
	background: #1a1a1a;
	border: solid 4px #FFF;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.benefit__center-content {
	width: calc(260/1440*100vw);
	text-align: center;
}

/* 中央タイトル */
.benefit__center-title {
	font-size: calc(32/1440*100vw);
	letter-spacing: 0;
	line-height: 1.5;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF600;
	margin-bottom: calc(20/1440*100vw);
}
.benefit__center-title-sub {
	font-size: calc(26/1440*100vw);
}

/* 中央サブテキスト */
.benefit__center-sub {
	font-size: calc(20/1440*100vw);
	letter-spacing: 0;
	line-height: 1.4;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	margin-bottom: calc(10/1440*100vw);
}

/* 中央プライス */
.benefit__center-price {
	display: flex;
	align-items: baseline;
	justify-content: center;
	margin-bottom: calc(5/1440*100vw);
}
.benefit__price-label {
	font-size: calc(14/1440*100vw);
	letter-spacing: 0;
	line-height: 1.4;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
}
.benefit__price-num {
	font-size: calc(32/1440*100vw);
	letter-spacing: 0;
	line-height: 1.4;
	font-weight: 500;
	font-family: "Roboto", sans-serif;
	color: #FFF;
}

/* 中央注記 */
.benefit__center-note {
	font-size: calc(14/1440*100vw);
	letter-spacing: 0;
	line-height: 1.4;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
}

/* 個別ベネフィット詳細 */
.benefit__details {
	width: calc(1200/1440*100vw);
	margin: calc(40/1440*100vw) auto 0;
}
.benefit__detail-item {
	padding: calc(25/1440*100vw) 0;
}
.benefit__detail-header {
	display: flex;
	align-items: center;
	gap: calc(16/1440*100vw);
	margin-bottom: calc(32/1440*100vw);
}
.benefit__detail-num {
	width: calc(92/1440*100vw) !important;
	height: calc(60/1440*100vw);
	flex-shrink: 0;
}
.benefit__detail-title {
	font-size: calc(48/1440*100vw);
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
}
.benefit__detail-row {
	display: flex;
	align-items: center;
	margin-bottom: calc(10/1440*100vw);
}
.benefit__detail-row:last-child {
	margin-bottom: 0;
}
.benefit__detail-label {
	width: calc(440/1440*100vw);
	flex-shrink: 0;
	background-color: #FFF600;
	font-size: calc(32/1440*100vw);
	letter-spacing: -0.05em;
	line-height: 1.28;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #111;
	padding: calc(0/1440*100vw) calc(16/1440*100vw)calc(3/1440*100vw);
	display: flex;
	align-items: center;
	justify-content: center;
	height: calc(39/1440*100vw);
}
.benefit__detail-text {
	font-size: calc(18/1440*100vw);
	letter-spacing: 0;
	line-height: 1.4;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	margin-left: calc(20/1440*100vw);
}

/* ------- benefit 1441px以上 ------- */
@media (min-width: 1441px) {
	.benefit { padding: 0 0 80px; }
	.benefit__title { margin-bottom: 60px; }
	.benefit__title-num { font-size: 120px; }
	.benefit__title-tsu { font-size: 44px; }
	.benefit__title-main { font-size: 52px; }
	.benefit__overview { width: 1194px; }
	.benefit__cards-left,
	.benefit__cards-right { height: 492px; }
	.benefit__card--sm { width: 434px; height: 150px; padding-left: 31px; }
	.benefit__card--lg { width: 434px; height: 236.5px; padding-left: 38px; }
	.benefit__card-icon { width: 100px !important; height: 100px; }
	.benefit__card--sm .benefit__card-body { width: 256px; margin-right: 20px; }
	.benefit__card--lg .benefit__card-body { width: 240px; margin-right: 20px; }
	.benefit__card-heading { font-size: 24px; margin-bottom: 20px; }
	.benefit__card-desc { font-size: 16px; }
	.benefit__cards-left .benefit__card::after { width: 56px; height: 56px; right: -50px; }
	.benefit__cards-right .benefit__card::before { width: 56px; height: 56px; left: -50px; }
	.benefit__center { width: 288px; height: 492px; }
	.benefit__center-content { width: 260px; }
	.benefit__center-title { font-size: 32px; margin-bottom: 20px; }
	.benefit__center-title-sub { font-size: 26px; }
	.benefit__center-sub { font-size: 20px; margin-bottom: 10px; }
	.benefit__center-price { margin-bottom: 5px; }
	.benefit__price-label { font-size: 14px; }
	.benefit__price-num { font-size: 32px; }
	.benefit__center-note { font-size: 14px; }
	.benefit__details { width: 1200px; margin-top: 40px; }
	.benefit__detail-item { padding: 25px 0; }
	.benefit__detail-header { gap: 16px; margin-bottom: 32px; }
	.benefit__detail-num { width: 92px !important; height: 60px; }
	.benefit__detail-title { font-size: 48px; }
	.benefit__detail-row { margin-bottom: 10px; }
	.benefit__detail-label { width: 440px; font-size: 32px; padding: 0 16px 3px; height: 39px; }
	.benefit__detail-text { font-size: 18px; margin-left: 20px; }
}

/* ------- benefit 768px以下 ------- */
@media (max-width: 768px) {
	.benefit {
		padding: calc(0/390*100vw) calc(15/390*100vw) calc(50/390*100vw);
	}
	.benefit__title {
		margin-bottom: calc(10/390*100vw);
	}
	.benefit__title-num {
		font-size: calc(60/390*100vw);
	}
	.benefit__title-tsu {
		font-size: calc(22/390*100vw);
	}
	.benefit__title-main {
		font-size: calc(26/390*100vw);
	}
	.benefit__overview {
		width: 100%;
		flex-direction: column;
		align-items: center;
		gap: 0;
	}
	.benefit__cards-left,
	.benefit__cards-right {
		flex-direction: row;
		height: auto;
		width: 100%;
		gap: calc(8/390*100vw);
		justify-content: center;
	}
	.benefit__cards-left {
		margin-bottom: calc(12/390*100vw);
	}
	.benefit__cards-right {
		margin-top: calc(12/390*100vw);
	}
	.benefit__card {
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: calc(12/390*100vw) calc(6/390*100vw);
	}
	.benefit__card--sm {
		width: calc(115/390*100vw);
		height: calc(173/390*100vw);
		padding-left: 0;
	}
	.benefit__card--lg {
		width: calc(172/390*100vw);
		height: calc(199/390*100vw);
		padding-left: 0;
	}
	.benefit__card-icon {
		width: calc(60/390*100vw) !important;
		height: calc(60/390*100vw);
		margin-bottom: calc(8/390*100vw);
	}
	.benefit__card--sm .benefit__card-body,
	.benefit__card--lg .benefit__card-body {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	.benefit__card-heading {
		font-size: calc(11/390*100vw);
		letter-spacing: 0;
		line-height: 1.3;
		font-weight: 900;
		margin-bottom: calc(8/390*100vw);
	}
	.benefit__card-desc {
		font-size: calc(11/390*100vw);
		letter-spacing: 0;
		line-height: 1.2;
		font-weight: 500;
	}
	.benefit__cards-left .benefit__card::after {
		display: block;
		right: auto;
		left: 50%;
		top: auto;
		bottom: calc(-30/390*100vw);
		transform: translateX(-50%) rotate(90deg);
		width: calc(30/390*100vw);
		height: calc(30/390*100vw);
	}
	.benefit__cards-right .benefit__card::before {
		display: block;
		left: 50%;
		right: auto;
		top: calc(-30/390*100vw);
		bottom: auto;
		transform: translateX(-50%) rotate(-90deg);
		width: calc(30/390*100vw);
		height: calc(30/390*100vw);
	}
	.benefit__center {
		width: 100%;
		height: auto;
		border-width: 2px;
	}
	.benefit__center-content {
		width: calc(300/390*100vw);
		padding: calc(24/390*100vw) 0;
	}
	.benefit__center-title {
		font-size: calc(20/390*100vw);
		margin-bottom: calc(10/390*100vw);
	}
	.benefit__center-title-sub {
		font-size: calc(20/390*100vw);
	}
	.benefit__center-sub {
		font-size: calc(14/390*100vw);
		margin-bottom: calc(8/390*100vw);
	}
	.benefit__price-label {
		font-size: calc(14/390*100vw);
	}
	.benefit__price-num {
		font-size: calc(32/390*100vw);
	}
	.benefit__center-note {
		font-size: calc(12/390*100vw);
	}
	.benefit__details {
		width: 100%;
		margin-top: calc(30/390*100vw);
	}
	.benefit__detail-item {
		padding: calc(16/390*100vw) 0;
	}
	.benefit__detail-header {
		gap: calc(10/390*100vw);
		margin-bottom: calc(16/390*100vw);
		text-align: start;
	}
	.benefit__detail-num {
		width: calc(70/390*100vw) !important;
		height: calc(50/390*100vw);
	}
	.benefit__detail-title {
		font-size: calc(22/390*100vw);
	}
	.benefit__detail-row {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: calc(10/390*100vw);
	}
	.benefit__detail-label {
		width: auto;
		font-size: calc(16/390*100vw);
		padding: 0 calc(6/390*100vw) calc(2/390*100vw);
		height: auto;
		margin-bottom: calc(6/390*100vw);
	}
	.benefit__detail-text {
		font-size: calc(13/390*100vw);
		margin-left: 0;
		text-align: start;
	}
}

/* =======================================
   なぜホワイトエッセンスなら負けないのか（strength）
   ======================================= */
.strength {
	width: 100%;
	background: #333;
	padding: calc(80/1440*100vw) 0;
}
.strength__inner {
	max-width: 1440px;
	margin: 0 auto;
}

/* タイトル */
.strength__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(20/1440*100vw);
	margin-bottom: calc(60/1440*100vw);
}
.strength__line {
	display: block;
	width: calc(100/1440*100vw);
	height: calc(16/1440*100vw);
	border-top: calc(4/1440*100vw) solid #fff;
	border-bottom: calc(4/1440*100vw) solid #fff;
	flex-shrink: 0;
}
.strength__title-text {
	font-size: calc(36/1440*100vw);
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	white-space: nowrap;
}
.strength__highlight {
	color: #111;
	background-color: #FFF;
	padding: 0 0.3em;
	font-weight: 900;
	height: calc(46/1440*100vw);
	display: inline-flex;
	align-items: center;
}

/* コンテンツブロック */
.strength__blocks {
	width: 100%;
}
.strength__block {
	display: flex;
	gap: calc(42/1440*100vw);
	align-items: center;
}
.strength__block--text-left {
	margin-bottom: calc(32/1440*100vw);
}

/* 画像 */
.strength__img {
	width: calc(710/1440*100vw);
	flex-shrink: 0;
}
.strength__img img {
	width: 100%;
	height: auto;
}

/* テキストエリア */
.strength__text-area {
	flex: 1;
}
.strength__block--text-left .strength__text-area {
	padding-left: calc(120/1440*100vw);
}
.strength__block--img-left .strength__text-area {
	padding-right: calc(120/1440*100vw);
}

/* ヘディング */
.strength__heading {
	display: flex;
	align-items: center;
	gap: calc(12/1440*100vw);
	margin-bottom: calc(20/1440*100vw);
}
.strength__num {
	font-size: calc(36/1440*100vw);
	letter-spacing: 0;
	line-height: 1.4;
	font-weight: 500;
	font-family: "Roboto", sans-serif;
	color: #FFF600;
	padding-top: calc(8/1440*100vw);
}
.strength__heading-text {
	font-size: calc(40/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.4;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
}

/* 説明文 */
.strength__desc {
	font-size: calc(24/1440*100vw);
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	margin-bottom: calc(30/1440*100vw);
}

/* 注釈 */
.strength__note {
	font-size: calc(12/1440*100vw);
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
	color: #AAA;
}

/* ------- strength 1441px以上 ------- */
@media (min-width: 1441px) {
	.strength { padding: 80px 0; }
	.strength__title { gap: 20px; margin-bottom: 60px; }
	.strength__line { width: 100px; height: 16px; border-top-width: 4px; border-bottom-width: 4px; }
	.strength__title-text { font-size: 36px; }
	.strength__highlight { height: 46px; }
	.strength__block { gap: 42px; }
	.strength__block--text-left { margin-bottom: 32px; }
	.strength__img { width: 710px; }
	.strength__block--text-left .strength__text-area { padding-left: 120px; }
	.strength__block--img-left .strength__text-area { padding-right: 120px; }
	.strength__heading { gap: 12px; margin-bottom: 20px; }
	.strength__num { font-size: 36px; padding-top: 8px; }
	.strength__heading-text { font-size: 40px; }
	.strength__desc { font-size: 24px; margin-bottom: 30px; }
	.strength__note { font-size: 12px; }
}

/* ------- strength 768px以下 ------- */
@media (max-width: 768px) {
	.strength { padding: calc(50/390*100vw) calc(15/390*100vw); }
	.strength__inner { padding: 0; }
	.strength__title { gap: calc(10/390*100vw); margin-bottom: calc(30/390*100vw); }
	.strength__line { width: calc(40/390*100vw); height: calc(10/390*100vw); border-top-width: 2px; border-bottom-width: 2px; }
	.strength__title-text { font-size: calc(18/390*100vw); white-space: normal; text-align: center; }
	.strength__highlight { height: auto; padding: 0 0.2em; }
	.strength__block {
		flex-direction: column;
		gap: calc(20/390*100vw);
	}
	.strength__block--text-left {
		margin-bottom: calc(30/390*100vw);
	}
	.strength__block--text-left .strength__text-area {
		padding: 0 calc(20/390*100vw);
		order: 2;
	}
	.strength__block--text-left .strength__img {
		order: 1;
	}
	.strength__block--img-left .strength__text-area {
		padding: 0 calc(20/390*100vw);
	}
	.strength__img { width: 100%; }
	.strength__heading { gap: calc(8/390*100vw); margin-bottom: calc(12/390*100vw); }
	.strength__num { font-size: calc(20/390*100vw); padding-top: calc(4/390*100vw); }
	.strength__heading-text { font-size: calc(22/390*100vw); }
	.strength__desc { font-size: calc(14/390*100vw); margin-bottom: calc(16/390*100vw); }
	.strength__note { font-size: calc(10/390*100vw); }
}

/* =======================================
   2ヶ月間私たちのお金で試してください（try）
   ======================================= */
.try {
	width: 100%;
	position: relative;
	background: url('../images/try_bg.jpg') no-repeat center center;
	background-size: cover;
	padding: calc(80/1440*100vw) 0 calc(80/1440*100vw) calc(120/1440*100vw);
}
.try::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.1) 100%);
}
.try__inner {
	position: relative;
	z-index: 1;
}
.try__title {
	font-size: calc(60/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.4;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	margin-bottom: calc(30/1440*100vw);
}
.try__sub {
	font-size: calc(24/1440*100vw);
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	margin-bottom: calc(64/1440*100vw);
}
.try__highlight {
	display: flex;
	align-items: center;
	gap: calc(12/1440*100vw);
	margin-bottom: calc(20/1440*100vw);
}
.try__check-icon {
	width: calc(32/1440*100vw);
	height: calc(32/1440*100vw);
	flex-shrink: 0;
}
.try__highlight-text {
	font-size: calc(32/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.4;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF600;
}
.try__desc {
	font-size: calc(20/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
}

/* ------- try 1441px以上 ------- */
@media (min-width: 1441px) {
	.try { padding: 80px 0 80px 120px; }
	.try__title { font-size: 60px; margin-bottom: 30px; }
	.try__sub { font-size: 24px; margin-bottom: 64px; }
	.try__highlight { gap: 12px; margin-bottom: 20px; }
	.try__check-icon { width: 32px; height: 32px; }
	.try__highlight-text { font-size: 32px; }
	.try__desc { font-size: 20px; }
}

/* ------- try 768px以下 ------- */
@media (max-width: 768px) {
	.try {
		padding: calc(50/390*100vw) calc(20/390*100vw) calc(50/390*100vw) calc(20/390*100vw);
		background-position: right center;
	}
	.try::before {
		background: linear-gradient(to right, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.55) 60%, rgba(0,0,0,0.35) 100%);
	}
	.try__title {
		font-size: calc(30/390*100vw);
		margin-bottom: calc(16/390*100vw);
	}
	.try__sub {
		font-size: calc(14/390*100vw);
		margin-bottom: calc(36/390*100vw);
	}
	.try__highlight {
		gap: calc(8/390*100vw);
		margin-bottom: calc(12/390*100vw);
	}
	.try__check-icon {
		width: calc(18/390*100vw);
		height: calc(18/390*100vw);
	}
	.try__highlight-text {
		font-size: calc(18/390*100vw);
	}
	.try__desc {
		font-size: calc(13/390*100vw);
	}
}

/* =======================================
   先着30名限定セミナー（seminar）
   ======================================= */
.seminar {
	width: 100%;
	background-color: #333;
	padding: calc(120/1440*100vw) 0;
	text-align: center;
}
.seminar__inner {
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.seminar__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(300/1440*100vw);
	height: calc(46/1440*100vw);
	background-color: #FFF600;
	font-size: calc(36/1440*100vw);
	letter-spacing: 0;
	line-height: 2;
	font-weight: 900;
	font-family: "Noto Sans JP", sans-serif;
	color: #111;
	margin-bottom: calc(16/1440*100vw);
	padding-bottom: calc(3/1440*100vw);;

}
.seminar__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(20/1440*100vw);
	margin-bottom: calc(46/1440*100vw);
}
.seminar__line {
	width: calc(52/1440*100vw);
	height: calc(16/1440*100vw);
	border-top: 4px solid #FFF;
	border-bottom: 4px solid #FFF;
	margin-top: calc(5/1440*100vw);
}
.seminar__title-text {
	font-size: calc(36/1440*100vw);
	letter-spacing: 0;
	line-height: 2;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	white-space: nowrap;
}
.seminar__desc {
	font-size: calc(20/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
	margin-bottom: calc(50/1440*100vw);
}
.seminar__free {
	font-size: calc(28/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF600;
	margin-bottom: calc(60/1440*100vw);
}
.seminar__map-icon {
	width: calc(17/1440*100vw);
	height: calc(23/1440*100vw);
	vertical-align: middle;
	margin-left: calc(4/1440*100vw);
}
.seminar__card {
	width: calc(805/1440*100vw);
	background-color: #FFF;
	border: calc(8/1440*100vw) solid #111;
	padding: calc(60/1440*100vw) calc(40/1440*100vw) calc(40/1440*100vw);
	margin-bottom: calc(70/1440*100vw);
}
.seminar__date {
	margin-bottom: calc(-30/1440*100vw);
	color: #004EA2;
}
.seminar__date-num {
	font-size: calc(80/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-family: "Roboto", sans-serif;
	font-weight: 500;
}
.seminar__date-unit {
	font-size: calc(40/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 900;
}
.seminar__venue {
	font-size: calc(40/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #004EA2;
	margin-bottom: calc(5/1440*100vw);
}
.seminar__address {
	font-size: calc(24/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #004EA2;
}
.seminar__address a {
	color: #004EA2;
	text-decoration: underline;
	display: inline-flex;
	align-items: center;
}
.seminar__access {
	font-size: calc(24/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #004EA2;
	margin-bottom: calc(10/1440*100vw);
}
.seminar__timetable {
	display: inline-flex;
	flex-direction: column;
	gap: calc(4/1440*100vw);
}
.seminar__time-row {
	display: flex;
	align-items: center;
	border: calc(2/1440*100vw) solid #004EA2;
}
.seminar__time-label {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(123/1440*100vw);
	height: calc(38/1440*100vw);
	background-color: #004EA2;
	font-size: calc(24/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #FFF;
}
.seminar__time-value {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(159/1440*100vw);
	height: calc(38/1440*100vw);
	border: 1px solid #111;
	font-size: calc(24/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 1.6;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #004EA2;
}
.seminar__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(900/1440*100vw);
	height: calc(110/1440*100vw);
	background-color: #FFF600;
	text-decoration: none;
	gap: calc(50/1440*100vw);
}
.seminar__cta-text {
	font-size: calc(32/1440*100vw);
	letter-spacing: 0.04em;
	line-height: 2.4;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	color: #111;
}
.seminar__cta-icon {
	width: calc(52/1440*100vw);
	height: calc(52/1440*100vw);
}

/* ------- seminar 1441px以上 ------- */
@media (min-width: 1441px) {
	.seminar { padding: 120px 0; }
	.seminar__badge { width: 300px; height: 46px; font-size: 36px; margin-bottom: 16px; padding-bottom: 3px; }
	.seminar__title { gap: 20px; margin-bottom: 46px; }
	.seminar__line { width: 52px; height: 16px; margin-top: 5px; }
	.seminar__title-text { font-size: 36px; }
	.seminar__desc { font-size: 20px; margin-bottom: 50px; }
	.seminar__free { font-size: 28px; margin-bottom: 60px; }
	.seminar__card { width: 805px; border-width: 8px; padding: 60px 40px 40px; margin-bottom: 70px; }
	.seminar__date { margin-bottom: -30px; }
	.seminar__date-num { font-size: 80px; }
	.seminar__date-unit { font-size: 40px; }
	.seminar__venue { font-size: 40px; margin-bottom: 5px; }
	.seminar__address { font-size: 24px; }
	.seminar__access { font-size: 24px; margin-bottom: 10px; }
	.seminar__timetable { gap: 4px; }
	.seminar__time-row { border-width: 2px; }
	.seminar__time-label { width: 123px; height: 38px; font-size: 24px; }
	.seminar__map-icon { width: 17px; height: 23px; margin-left: 4px; }
	.seminar__time-value { width: 159px; height: 38px; font-size: 24px; }
	.seminar__cta { width: 900px; height: 110px; gap: 50px; }
	.seminar__cta-text { font-size: 32px; }
	.seminar__cta-icon { width: 52px; height: 52px; }
}

/* ------- seminar 768px以下 ------- */
@media (max-width: 768px) {
	.seminar {
		padding: calc(60/390*100vw) calc(20/390*100vw);
	}
	.seminar__badge {
		width: calc(200/390*100vw);
		height: calc(32/390*100vw);
		font-size: calc(22/390*100vw);
		margin-bottom: calc(10/390*100vw);
		padding-bottom: calc(2/390*100vw);
	}
	.seminar__title {
		gap: calc(10/390*100vw);
		margin-bottom: calc(24/390*100vw);
	}
	.seminar__line {
		width: calc(30/390*100vw);
		height: calc(10/390*100vw);
		border-top-width: calc(2/390*100vw);
		border-bottom-width: calc(2/390*100vw);
		margin-top: calc(3/390*100vw);
	}
	.seminar__title-text {
		font-size: calc(18/390*100vw);
		white-space: normal;
		line-height: 1.6;
	}
	.seminar__desc {
		font-size: calc(13/390*100vw);
		margin-bottom: calc(30/390*100vw);
	}
	.seminar__free {
		font-size: calc(15/390*100vw);
		margin-bottom: calc(30/390*100vw);
	}
	.seminar__map-icon {
		width: calc(12/390*100vw);
		height: calc(16/390*100vw);
		margin-left: calc(3/390*100vw);
	}
	.seminar__card {
		width: 100%;
		border-width: calc(4/390*100vw);
		padding: calc(30/390*100vw) calc(20/390*100vw) calc(24/390*100vw);
		margin-bottom: calc(30/390*100vw);
	}
	.seminar__date {
		margin-bottom: calc(-16/390*100vw);
	}
	.seminar__date-num {
		font-size: calc(50/390*100vw);
	}
	.seminar__date-unit {
		font-size: calc(24/390*100vw);
	}
	.seminar__venue {
		font-size: calc(22/390*100vw);
		margin-bottom: calc(4/390*100vw);
	}
	.seminar__address {
		font-size: calc(13/390*100vw);
	}
	.seminar__address a {
		letter-spacing: 0;
	}
	.seminar__access {
		font-size: calc(13/390*100vw);
		margin-bottom: calc(10/390*100vw);
	}
	.seminar__timetable {
		gap: calc(3/390*100vw);
	}
	.seminar__time-row {
		border-width: 1px;
	}
	.seminar__time-label {
		width: calc(90/390*100vw);
		height: calc(30/390*100vw);
		font-size: calc(14/390*100vw);
	}
	.seminar__time-value {
		width: calc(120/390*100vw);
		height: calc(30/390*100vw);
		font-size: calc(14/390*100vw);
	}
	.seminar__cta {
		width: 100%;
		height: calc(70/390*100vw);
		gap: calc(20/390*100vw);
	}
	.seminar__cta-text {
		font-size: calc(18/390*100vw);
	}
	.seminar__cta-icon {
		width: calc(36/390*100vw);
		height: calc(36/390*100vw);
	}
}

/*-----------------------------------------------------------------------
	footer
-----------------------------------------------------------------------*/
#footer .contentIn {
	max-width: 820px;
  }
  #footer .navi {
	padding: 100px 0 100px;
  }
  #footer .navi .list {
	font-size: 17px;
	line-height: 1.2;
  }
  #footer .navi .item:nth-child(n+2) {
	margin-top: 40px;
  }
  #footer .navi .item.top {
	letter-spacing: 0.04em;
  }
  #footer .navi .item.products {
	letter-spacing: 0.04em;
  }
  #footer .navi .item.demo {
	letter-spacing: 0.08em;
  }
  #footer .navi .item.seminar span:nth-child(1) {
	letter-spacing: 0.03em;
  }
  #footer .navi .item.seminar span:nth-child(2) {
	letter-spacing: 0.02em;
  }
  #footer .navi a {
	position: relative;
	width: fit-content;
	padding-left: 35px;
  }
  #footer .navi a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 14px;
	height: 2px;
	background: #004E9D;
  }
  #footer .foot {
	padding: 30px 0;
	background: #fff;
	color: #fff;
  }
  @media screen and (max-width: 834px) {
	#footer .foot {
	  padding: 12px 0;
	}
  }
  #footer .foot .contentIn {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin: 0 auto;
  }
  @media screen and (max-width: 834px) {
	#footer .foot .contentIn {
	  justify-content: center;
	}
  }
  #footer .foot .logo {
	width: 259px;
	height: 38px;
	margin: 0 auto;
  }
  #footer .foot .links {
	flex: 0 1 auto;
	display: flex;
	flex-wrap: wrap;
	font-size: 13px;
	letter-spacing: 0.06em;
	line-height: 1.3;
  }
  @media screen and (max-width: 834px) {
	#footer .foot .links {
	  font-size: 10px;
	}
  }
  #footer .foot .links .item {
	display: flex;
	align-items: center;
  }
  #footer .foot .links .item:nth-child(n+2) {
	margin-left: 0.8em;
  }
  #footer .foot .links .item:nth-child(n+2)::before {
	content: "";
	flex: 0 0 auto;
	display: block;
	width: 1px;
	height: 70%;
	margin-right: 0.8em;
	background: currentColor;
  }
  #footer .copyArea {
	padding: 20px 0 25px;
  }
  #footer .copyArea .copy {
	color: #333;
	font-size: 12px;
	text-align: center;
	letter-spacing: 0.06em;
  }
/* =======================================
   フローティングCTAボタン
   ======================================= */
.fl-btn__wrap {
	position: fixed;
	display: flex;
	width: 100%;
	height: calc(116/1440*100vw);
	bottom: calc(0/1440*100vw);
	left: 50%;
	transform: translateX(-50%);
	z-index: 99;
}
.fl-btn__wrap a{
	width: 100%;
}
#fl-btn {
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
}
#fl-btn.active {
	opacity: 1;
	pointer-events: auto;
}
@media (min-width: 1441px) {
	.fl-btn__wrap {
		width: 1440px;
		height: 116px;
		bottom: 0px;
	}
}
@media (max-width: 768px) {
	.fl-btn__wrap {
		width: 100%;
		height: calc(70/390*100vw);
		bottom: calc(0/390*100vw);
	}
}

/* =======================================
   コンタクトフォーム（section-title含む）
   ======================================= */
.section-title__wrap {
	position: relative;
}
.section-title__wrap h2 {
	width: clamp(calc(453px/3), calc(453/1440*100vw), 453px);
	height: clamp(calc(71px/3), calc(71/1440*100vw), 71px);
	margin: 0 auto;
}
.section-title__wrap h4 {
	position: absolute;
	font-size: clamp(calc(20px/3), calc(20/1440*100vw), 20px);
	color: #004EA2;
	border: solid clamp(calc(2px/3), calc(2/1440*100vw), 2px) #004EA2;
	text-align: center;
	width: clamp(calc(271px/3), calc(271/1440*100vw), 271px);
	height: clamp(calc(39px/3), calc(39/1440*100vw), 39px);
	border-radius: clamp(calc(100px/3), calc(100/1440*100vw), 100px);
	background-color: #fff;
	left: 50%;
	transform: translateX(-50%);
	top: calc(50/1440*100vw);
	display: inline;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.1rem;
	font-weight: 600;
}
.section-title__wrap p {
	text-align: center;
	font-size: calc(16/1440*100vw);
	color: #353535;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.03rem;
	margin-bottom: calc(30/1440*100vw);
}
.section-title__wrap .-p__red {
	color: #DE3B3B;
	margin-bottom: 0;
}
.section-title__wrap .-p__red:last-child {
	margin-bottom: calc(50/1440*100vw);
}

@media (min-width: 1441px) {
	.section-title__wrap h2 {
		width: 453px;
		height: 71px;
	}
	.section-title__wrap h4 {
		font-size: 20px;
		font-weight: 700;
		border: solid 2px #004EA2;
		padding: 0 36px;
		height: 39px;
		top: 50px;
	}
}
@media (max-width: 768px) {
	.section-title__wrap h2 {
		width: calc(145/390*100vw);
		height: calc(23/390*100vw);
	}
	.section-title__wrap h4 {
		font-size: calc(12/390*100vw);
		border: solid calc(1/390*100vw) #004EA2;
		width: calc(160/390*100vw);
		height: auto;
		top: 5vw;
		letter-spacing: 0.05rem;
		font-weight: 700;
	}
	.section-title__wrap p {
		font-size: calc(12/390*100vw);
		margin-bottom: calc(30/390*100vw);
	}
	.section-title__wrap .-p__red:last-child {
		margin-bottom: calc(50/390*100vw);
	}
}

/* --- contact section --- */
.contact {
	width: 100%;
	padding: calc(70/1440*100vw) 0 calc(110/1440*100vw) 0;
	background-color: #F5F5F5;
	position: relative;
}
.contact .__wrap {
	margin: 0 auto;
	width: clamp(calc(1020px/3), calc(1020/1440*100vw), 1020px);
	max-width: 1440px;
}
.contact .text__line {
	font-size: clamp(calc(48px/3), calc(48/1440*100vw), 48px);
	font-weight: 700;
	text-align: center;
	color: #004EA2;
	margin: clamp(calc(40px/3), calc(40/1440*100vw), 40px) 0 calc(20/1440*100vw) 0;
	letter-spacing: 0.5rem;
}
.contact .text__line .br-pc__none {
	display: none;
}
.contact .form__wrap {
	display: flex;
	flex-direction: column;
	width: clamp(calc(1020px/3), calc(1020/1440*100vw), 1020px);
	margin: 0 auto;
}
.contact .form__wrap .input__wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: clamp(calc(28px/3), calc(28/1440*100vw), 28px);
}
.contact .form__wrap .input__wrap p {
	font-size: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
	color: #353535;
	font-weight: 400;
	letter-spacing: 0.05rem;
	white-space: nowrap;
}
.contact .form__wrap .input__wrap p span {
	font-size: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
	background-color: #004EA2;
	color: #fff;
	border-radius: clamp(calc(3px/3), calc(3/1440*100vw), 3px);
	margin-right: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
	height: clamp(calc(28px/3), calc(28/1440*100vw), 28px);
	width: clamp(calc(49px/3), calc(49/1440*100vw), 49px);
	display: inline-flex;
	justify-content: center;
	align-items: center;
}
.contact .form__wrap .input__wrap p .card__color {
	background-color: #353535;
}
.contact .form__wrap .input__wrap input,
.contact .form__wrap .input__wrap .select-like {
	padding: calc(18/1440*100vw) calc(20/1440*100vw);
	width: clamp(calc(800px/3), calc(800/1440*100vw), 800px);
	height: clamp(calc(48px/3), calc(48/1440*100vw), 48px);
	border-radius: clamp(calc(6px/3), calc(6/1440*100vw), 6px);
	border: solid 1px #717171;
	font-size: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
	background-color: #fff;
	display: flex;
	align-items: center;
}
.contact .form__wrap .input__wrap input[type="radio"] {
	width: clamp(calc(48px/3), calc(48/1440*100vw), 48px);
	height: clamp(calc(48px/3), calc(48/1440*100vw), 48px);
	margin-right: clamp(calc(8px/3), calc(8/1440*100vw), 8px);
}
.contact .form__wrap .input__wrap .select-like {
	position: relative;
}
.contact .form__wrap .input__wrap .select-like[open] summary {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.contact .form__wrap .input__wrap .select-like ul {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	max-height: clamp(calc(200px/3), calc(200/1440*100vw), 200px);
	overflow-y: auto;
	background: #fff;
	z-index: 10;
	border: solid 1px #717171;
	border-radius: 0 0 clamp(calc(6px/3), calc(6/1440*100vw), 6px) clamp(calc(6px/3), calc(6/1440*100vw), 6px);
	padding: calc(10/1440*100vw);
}
.contact .form__wrap .input__wrap .select-like ul li {
	padding: 0;
	cursor: pointer;
}
.contact .form__wrap .input__wrap .select-like ul li:hover {
	background: #004E9D;
	color: #fff;
}
.contact .form__wrap .input__wrap .select-like ul .li__under {
	padding-bottom: calc(20/1440*100vw);
}
.contact .form__wrap .input__wrap .select-like > summary {
	list-style: none;
	cursor: pointer;
	border-radius: clamp(calc(4px/3), calc(4/1440*100vw), 4px);
	width: 100%;
	background: #fff url('../images/sankaku_icon.png') no-repeat right .8rem center;
	background-size: clamp(calc(10px/3), calc(10/1440*100vw), 10px);
	appearance: none;
	box-sizing: border-box;
}
.contact .form__wrap .input__wrap .select-like > summary.placeholder {
	color: #717171;
}
.contact .form__wrap .input__wrap .select-like > summary:focus {
	outline: none;
	border-color: #004E9D;
}
.contact .form__wrap .input__wrap select {
	width: calc(800/1440*100vw);
	height: calc(48/1440*100vw);
	border-radius: clamp(calc(6px/3), calc(6/1440*100vw), 6px);
	border: solid 1px #717171;
	font-size: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
	background-color: #fff;
	display: flex;
	align-items: center;
	padding-left: calc(16/1440*100vw);
}
.contact .form__wrap .input__wrap div {
	width: clamp(calc(800px/3), calc(800/1440*100vw), 800px);
	height: calc(48/1440*100vw);
	display: flex;
	align-items: center;
}
.contact .form__wrap .input__wrap div .--contents {
	display: flex;
}
.contact .form__wrap .last__item {
	justify-content: flex-start;
	margin-left: calc(223/1440*100vw);
}
.contact .form__wrap .last__item .partner-line {
	color: #004EA2;
	font-weight: 600;
	font-size: calc(16/1440*100vw);
}
.contact .form__wrap .input__wrap:last-child {
	margin-bottom: clamp(calc(60px/3), calc(60/1440*100vw), 60px);
}
.contact .form__wrap .input-margin__bottom ul {
	padding-left: 1vw;
}
.contact .form__wrap .pp {
	width: clamp(calc(1020px/3), calc(1020/1440*100vw), 1020px);
	background-color: #fff;
	height: calc(152/1440*100vw);
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: calc(30/1440*100vw);
	flex-direction: column;
	border-radius: calc(8/1440*100vw);
}
.contact .form__wrap .pp .pp__wrap {
	width: clamp(calc(285px/3), calc(285/1440*100vw), 285px);
	display: flex;
	align-items: center;
	justify-content: center;
}
.contact .form__wrap .pp .pp__wrap input[type="checkbox"] {
	width: clamp(calc(24px/3), calc(24/1440*100vw), 24px);
	height: clamp(calc(24px/3), calc(24/1440*100vw), 24px);
	border: solid 1px #717171;
	border-radius: 0.3vw;
	appearance: none;
	position: relative;
}
.contact .form__wrap .pp .pp__wrap input[type="checkbox"]:checked {
	background: #fff;
}
.contact .form__wrap .pp .pp__wrap input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	width: calc(8/1440*100vw);
	height: calc(16/1440*100vw);
	border-right: 2px solid #004EA2;
	border-bottom: 2px solid #004EA2;
	transform: translate(-50%, -50%) rotate(45deg);
	top: 47%;
	left: 50%;
}
.contact .form__wrap .pp .pp__wrap p {
	width: clamp(calc(245px/3), calc(245/1440*100vw), 245px);
	display: flex;
	margin-left: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
	letter-spacing: 0.01rem;
	line-height: 2;
	font-size: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
}
.contact .form__wrap .pp .pp__wrap p a {
	text-decoration: underline;
}
.contact .form__wrap .pp .pp__wrap:first-child {
	margin-bottom: calc(10/1440*100vw);
}
.contact .form__wrap .important {
	margin-bottom: calc(40/1440*100vw);
}
.contact .form__wrap .important .__wrap {
	width: calc(1020/1440*100vw);
}
.contact .form__wrap .important .__wrap .-head__wrap {
	height: calc(85/1440*100vw);
	background-color: #353535;
	display: flex;
	justify-content: center;
	align-items: center;
}
.contact .form__wrap .important .__wrap .-head__wrap .-card__wrap {
	background-color: #FFF476;
	width: calc(89/1440*100vw);
	height: calc(45/1440*100vw);
	padding: calc(12/1440*100vw) calc(15/1440*100vw);
	margin-right: calc(40/1440*100vw);
}
.contact .form__wrap .important .__wrap .-head__wrap .-card__wrap h3 {
	color: #353535;
	font-size: calc(28/1440*100vw);
	line-height: 0.7;
	font-weight: 700;
}
.contact .form__wrap .important .__wrap .-head__wrap h3 {
	font-size: calc(32/1440*100vw);
	font-weight: 700;
	color: #FFF476;
	letter-spacing: 0.05rem;
}
.contact .form__wrap .important .__wrap .-message__wrap {
	margin-top: -0.3vw;
	border: solid calc(4/1440*100vw) #353535;
	padding: calc(24/1440*100vw) calc(40/1440*100vw);
}
.contact .form__wrap .important .__wrap .-message__wrap p {
	font-size: calc(16/1440*100vw);
	line-height: 1.6;
	letter-spacing: 0.02rem;
	font-weight: 500;
}
.contact .form__wrap button[type="submit"] {
	text-indent: 0.75rem;
	margin: 0 auto;
	width: clamp(calc(310px/3), calc(310/1440*100vw), 310px);
	height: clamp(calc(68px/3), calc(68/1440*100vw), 68px);
	font-size: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
	background-color: #004EA2;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: clamp(calc(100px/3), calc(100/1440*100vw), 100px);
	letter-spacing: 0.5rem;
	text-align: center;
	border: none;
	cursor: pointer;
	margin-bottom: calc(50/1440*100vw);
}
.contact .form__wrap .tn__wrap {
	text-align: center;
	margin: 0 auto;
}
.contact .form__wrap .tn__wrap .-head__wrap {
	width: calc(243/1440*100vw);
	height: calc(32/1440*100vw);
	border: solid calc(2/1440*100vw) #353535;
	margin: 0 auto;
}
.contact .form__wrap .tn__wrap .-head__wrap h4 {
	font-size: calc(16/1440*100vw);
	color: #353535;
	font-weight: 500;
	letter-spacing: 0.03rem;
	text-align: center;
	/* reset section-title styles for this context */
	position: static;
	border: none;
	width: auto;
	height: auto;
	border-radius: 0;
	background-color: transparent;
	transform: none;
	top: auto;
}
.contact .form__wrap .tn__wrap h2 {
	font-size: calc(62/1440*100vw);
	font-weight: 500;
	color: #353535;
	letter-spacing: 0.03rem;
}
.contact .form__wrap .tn__wrap p {
	font-size: calc(16/1440*100vw);
	color: #353535;
	font-weight: 500;
	letter-spacing: 0.03rem;
}

/* --- contact 1441px以上 --- */
@media (min-width: 1441px) {
	.contact {
		padding: 70px 0 110px 0;
	}
	.contact .__wrap {
		width: 1020px;
	}
	.contact .text__line {
		font-size: 48px;
		font-weight: 500;
		margin: 40px 0 30px 0;
	}
	.contact .form__wrap {
		width: 1020px;
	}
	.contact .form__wrap .input__wrap {
		margin-bottom: 28px;
	}
	.contact .form__wrap .input__wrap p {
		font-size: 16px;
	}
	.contact .form__wrap .input__wrap p span {
		font-size: 16px;
		border-radius: 3px;
		margin-right: 16px;
		height: 28px;
		width: 49px;
		padding-bottom: 0.1vw;
	}
	.contact .form__wrap .input__wrap input,
	.contact .form__wrap .input__wrap .select-like {
		padding: 18px 20px;
		width: 800px;
		height: 48px;
		border-radius: 6px;
		font-size: 16px;
	}
	.contact .form__wrap .input__wrap .select-like ul {
		max-height: 200px;
		border-radius: 0 0 6px 6px;
		padding: 10px;
	}
	.contact .form__wrap .input__wrap .select-like ul li { padding: 0; }
	.contact .form__wrap .input__wrap .select-like ul .li__under { padding-bottom: 20px; }
	.contact .form__wrap .input__wrap .select-like > summary {
		border-radius: 4px;
		background-size: 10px;
	}
	.contact .form__wrap .input__wrap select {
		width: 800px;
		height: 48px;
		border-radius: 6px;
		font-size: 16px;
		padding-left: 16px;
	}
	.contact .form__wrap .last__item {
		justify-content: center;
		margin-left: -210px;
	}
	.contact .form__wrap .last__item .partner-line { font-size: 16px; }
	.contact .form__wrap .input__wrap:last-child { margin-bottom: 60px; }
	.contact .form__wrap .input-margin__bottom ul { padding-left: 16px; }
	.contact .form__wrap .pp {
		width: 1020px;
		height: 152px;
		margin-bottom: 48px;
	}
	.contact .form__wrap .pp .pp__wrap {
		width: 285px;
	}
	.contact .form__wrap .pp .pp__wrap input[type="checkbox"] {
		width: 24px;
		height: 24px;
	}
	.contact .form__wrap .pp .pp__wrap input[type="checkbox"]:checked::after {
		width: 6px;
		height: 12px;
	}
	.contact .form__wrap .pp .pp__wrap p {
		width: 245px;
		margin-left: 16px;
		letter-spacing: 0.03rem;
		font-size: 16px;
	}
	.contact .form__wrap .pp .pp__wrap:first-child { margin-bottom: 10px; }
	.contact .form__wrap .important { margin-bottom: 40px; }
	.contact .form__wrap .important .__wrap { width: 1020px; }
	.contact .form__wrap .important .__wrap .-head__wrap { height: 85px; }
	.contact .form__wrap .important .__wrap .-head__wrap .-card__wrap {
		width: 89px; height: 45px; padding: 12px 16px; margin-right: 40px;
	}
	.contact .form__wrap .important .__wrap .-head__wrap .-card__wrap h3 { font-size: 28px; }
	.contact .form__wrap .important .__wrap .-head__wrap h3 { font-size: 32px; }
	.contact .form__wrap .important .__wrap .-message__wrap {
		border: solid 4px #353535; padding: 24px 40px;
	}
	.contact .form__wrap .important .__wrap .-message__wrap p { font-size: 16px; }
	.contact .form__wrap button[type="submit"] {
		width: 310px; height: 68px; font-size: 16px;
		margin-bottom: 50px;
	}
	.contact .form__wrap .tn__wrap .-head__wrap {
		width: 243px; height: 32px; border: solid 2px #353535;
	}
	.contact .form__wrap .tn__wrap .-head__wrap h4 { font-size: 16px; }
	.contact .form__wrap .tn__wrap h2 { font-size: 62px; }
	.contact .form__wrap .tn__wrap p { font-size: 16px; }
}

/* --- contact 768px以下 --- */
@media (max-width: 768px) {
	.contact {
		padding: calc(36/390*100vw) 0 calc(60/390*100vw) 0;
	}
	.contact .__wrap {
		width: 100%;
		max-width: 100%;
	}
	.contact .contact-title__wrap h4 {
		top: 5vw;
		height: calc(25/390*100vw);
		display: flex;
		padding: 1.3vw 0 1.5vw 0;
	}
	.contact .text__line {
		font-size: calc(28/390*100vw);
		margin: calc(40.7/390*100vw) 0 calc(26.3/390*100vw) 0;
		letter-spacing: 0.1rem;
		line-height: 1.4;
	}
	.contact .text__line .br-pc__none { display: inline; }
	.contact .form__wrap {
		width: 100%;
		padding: 0 calc(20/390*100vw);
	}
	.contact .form__wrap .input__wrap {
		justify-content: start;
		align-items: start;
		flex-direction: column;
		margin-bottom: calc(24/390*100vw);
	}
	.contact .form__wrap .input__wrap p {
		font-size: calc(14/390*100vw);
		margin-bottom: calc(16/390*100vw);
	}
	.contact .form__wrap .input__wrap p span {
		font-size: calc(14/390*100vw);
		border-radius: calc(3/390*100vw);
		margin-right: calc(16/390*100vw);
		height: calc(26/390*100vw);
		width: calc(45/390*100vw);
	}
	.contact .form__wrap .input__wrap input,
	.contact .form__wrap .input__wrap .select-like {
		padding: calc(18/390*100vw) calc(20/390*100vw);
		width: 100%;
		height: calc(48/390*100vw);
		border-radius: calc(6/390*100vw);
		font-size: calc(16/390*100vw);
	}
	.contact .form__wrap .input__wrap input[type="radio"] {
		width: calc(48/390*100vw);
		height: calc(48/390*100vw);
		margin-right: calc(8/390*100vw);
	}
	.contact .form__wrap .input__wrap .select-like {
		display: flex;
	}
	.contact .form__wrap .input__wrap .select-like ul {
		max-height: calc(600/390*100vw);
		border-radius: 0 0 calc(6/390*100vw) calc(6/390*100vw);
		padding: calc(10/390*100vw);
	}
	.contact .form__wrap .input__wrap .select-like ul li { padding: 0; }
	.contact .form__wrap .input__wrap .select-like ul .li__under { padding-bottom: calc(20/390*100vw); }
	.contact .form__wrap .input__wrap .select-like > summary {
		padding: 0;
		border-radius: calc(4/390*100vw);
		background-size: calc(10/390*100vw);
		display: flex;
		align-items: center;
	}
	.contact .form__wrap .input__wrap select,
	.contact .form__wrap .input__wrap div {
		width: 100%;
		height: 12.8vw;
		border-radius: 1.6vw;
		font-size: calc(16/390*100vw);
		padding-left: calc(16/390*100vw);
	}
	.contact .form__wrap .input__wrap div {
		padding-left: 0;
	}
	.contact .form__wrap .input__wrap div .--contents {
		width: max-content;
		padding-right: calc(10/390*100vw);
	}
	.contact .form__wrap .last__item {
		justify-content: flex-start;
		margin-left: 0;
		margin-bottom: calc(10/390*100vw);
	}
	.contact .form__wrap .last__item .partner-line {
		font-size: calc(14/390*100vw);
	}
	.contact .form__wrap .input__wrap:last-child { margin-bottom: 0; }
	.contact .form__wrap .input-margin__bottom {
		margin-bottom: calc(-10/390*100vw);
	}
	.contact .form__wrap .input-margin__bottom ul { padding-left: 4vw; }
	.contact .form__wrap .pp {
		width: 100%;
		height: calc(112/390*100vw);
		margin-bottom: calc(32/390*100vw);
		padding: 0 calc(20/390*100vw);
	}
	.contact .form__wrap .pp .pp__wrap {
		width: 100%;
	}
	.contact .form__wrap .pp .pp__wrap input[type="checkbox"] {
		width: calc(24/390*100vw);
		height: calc(24/390*100vw);
	}
	.contact .form__wrap .pp .pp__wrap input[type="checkbox"]:checked::after {
		width: calc(8/390*100vw);
		height: calc(16/390*100vw);
		top: 45%;
	}
	.contact .form__wrap .pp .pp__wrap p {
		width: calc(214/390*100vw);
		margin-left: calc(16/390*100vw);
		letter-spacing: 0.01rem;
		font-size: calc(14/390*100vw);
	}
	.contact .form__wrap .pp .pp__wrap:first-child { margin-bottom: calc(10/390*100vw); }
	.contact .form__wrap .important { margin-bottom: calc(40/390*100vw); }
	.contact .form__wrap .important .__wrap { width: 100%; }
	.contact .form__wrap .important .__wrap .-head__wrap {
		height: calc(107/390*100vw);
		padding-top: calc(10/390*100vw);
		flex-direction: column;
	}
	.contact .form__wrap .important .__wrap .-head__wrap .-card__wrap {
		width: calc(53/390*100vw);
		height: calc(24/390*100vw);
		padding: calc(6/390*100vw) calc(10/390*100vw);
		margin-right: 0;
		margin-bottom: calc(10/390*100vw);
	}
	.contact .form__wrap .important .__wrap .-head__wrap .-card__wrap h3 {
		font-size: calc(16/390*100vw);
	}
	.contact .form__wrap .important .__wrap .-head__wrap h3 {
		font-size: calc(20/390*100vw);
		letter-spacing: 0.03rem;
		text-align: center;
		line-height: 1.4;
	}
	.contact .form__wrap .important .__wrap .-message__wrap {
		border: solid calc(2/390*100vw) #353535;
		padding: calc(20/390*100vw);
	}
	.contact .form__wrap .important .__wrap .-message__wrap p {
		font-size: calc(14/390*100vw);
	}
	.contact .form__wrap button[type="submit"] {
		width: calc(310/390*100vw);
		height: calc(68/390*100vw);
		font-size: calc(16/390*100vw);
		margin-bottom: calc(30/390*100vw);
	}
	.contact .form__wrap .tn__wrap .-head__wrap {
		width: calc(243/390*100vw);
		height: calc(32/390*100vw);
		border: solid calc(2/390*100vw) #353535;
		margin-bottom: calc(6/390*100vw);
	}
	.contact .form__wrap .tn__wrap .-head__wrap h4 {
		font-size: calc(16/390*100vw);
		position: static;
		border: none;
		width: auto;
		height: auto;
		border-radius: 0;
		background-color: transparent;
		transform: none;
		top: auto;
	}
	.contact .form__wrap .tn__wrap h2 {
		font-size: calc(40/390*100vw);
		letter-spacing: 0.3rem;
	}
	.contact .form__wrap .tn__wrap p {
		font-size: calc(16/390*100vw);
	}
}

/* =======================================
   確認画面（confirm）
   ======================================= */
.confirm .form__wrap {
	display: flex;
	flex-direction: column;
	width: clamp(calc(1020px/3), calc(1020/1440*100vw), 1020px);
	margin: 0 auto;
}
.confirm .form__wrap .input__wrap {
	display: flex;
	justify-content: start !important;
	align-items: center;
	margin-bottom: clamp(calc(28px/3), calc(28/1440*100vw), 28px);
}
.confirm .form__wrap .input__wrap p {
	font-size: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
	color: #353535;
	font-weight: 400;
	letter-spacing: 0.05rem;
	width: calc(220/1440*100vw);
}
.confirm .form__wrap .input__wrap p span {
	font-size: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
	background-color: #004EA2;
	color: #fff;
	border-radius: clamp(calc(3px/3), calc(3/1440*100vw), 3px);
	margin-right: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
	height: clamp(calc(28px/3), calc(28/1440*100vw), 28px);
	width: clamp(calc(49px/3), calc(49/1440*100vw), 49px);
	display: inline-flex;
	justify-content: center;
	align-items: center;
}
.confirm .form__wrap .input__wrap .-input__value {
	width: 300px;
}
.confirm .text__line {
	font-size: 32px;
}
.confirm .form__wrap .-btn__wrap {
	width: calc(604/1440*100vw);
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	margin-top: calc(20/1440*100vw);
}
.confirm .form__wrap .-btn__wrap button {
	text-indent: 0.6rem;
	width: clamp(calc(274px/3), calc(274/1440*100vw), 274px);
	height: clamp(calc(68px/3), calc(68/1440*100vw), 68px);
	font-size: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
	background-color: #004EA2;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: clamp(calc(100px/3), calc(100/1440*100vw), 100px);
	letter-spacing: 0.5rem;
	text-align: center;
	border: none;
	cursor: pointer;
}
.confirm .form__wrap .-btn__wrap button:nth-child(1) {
	background-color: #A9A9A9;
}

@media (min-width: 1441px) {
	.confirm .form__wrap .input__wrap p { width: 220px; }
	.confirm .form__wrap .-btn__wrap { width: 604px; margin-top: 20px; }
	.confirm .form__wrap .-btn__wrap button { width: 274px; height: 68px; font-size: 16px; }
	.confirm .form__wrap .-btn__wrap button:nth-child(1) { width: 274px; }
}
@media (max-width: 768px) {
	.confirm .form__wrap .input__wrap p { width: 100%; }
	.confirm .form__wrap .-btn__wrap {
		width: 100%;
		display: flex;
		justify-content: start;
		flex-direction: column;
	}
	.confirm .form__wrap .-btn__wrap button {
		width: calc(310/390*100vw);
		height: calc(68/390*100vw);
		font-size: calc(16/390*100vw);
	}
	.confirm .form__wrap .-btn__wrap button:nth-child(1) {
		margin-bottom: calc(10/390*100vw);
	}
}

/* =======================================
   完了画面（complete）
   ======================================= */
.complete .complete__wrap {
	width: clamp(calc(1100px/3), calc(1100/1440*100vw), 1100px);
	margin: 0 auto;
}
.complete .complete__wrap .text__line {
	font-size: 32px;
}
.complete .complete__wrap .form__wrap p {
	font-size: 16px;
	margin-bottom: calc(40/1440*100vw);
	text-align: center;
}
.complete .complete__wrap .form__wrap p .br-pc__none { display: none; }
.complete .complete__wrap .form__wrap p a {
	display: inline;
	color: #004EA2;
	text-decoration: underline;
}
.complete .complete__wrap .complete-btn__wrap {
	display: flex;
	justify-content: center;
	margin: calc(20/1440*100vw) auto 0;
}
.complete .complete__wrap .complete-btn__wrap button {
	text-indent: 0.6rem;
	width: clamp(calc(274px/3), calc(274/1440*100vw), 274px);
	height: clamp(calc(68px/3), calc(68/1440*100vw), 68px);
	font-size: clamp(calc(16px/3), calc(16/1440*100vw), 16px);
	background-color: #A9A9A9;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: clamp(calc(100px/3), calc(100/1440*100vw), 100px);
	letter-spacing: 0.5rem;
	text-align: center;
	border: none;
	cursor: pointer;
}

@media (min-width: 1441px) {
	.complete .complete__wrap { width: 1100px; }
	.complete .complete__wrap .form__wrap p { margin-bottom: 40px; }
	.complete .complete__wrap .complete-btn__wrap { margin-top: 20px; }
	.complete .complete__wrap .complete-btn__wrap button { width: 274px; height: 68px; font-size: 16px; }
}
@media (max-width: 768px) {
	.complete .complete__wrap { width: 100%; }
	.complete .complete__wrap .form__wrap p {
		font-size: calc(14/390*100vw);
		margin-bottom: calc(20/390*100vw);
		letter-spacing: 0.6vw;
	}
	.complete .complete__wrap .form__wrap p .br-pc__none { display: inline; }
	.complete .complete__wrap .complete-btn__wrap button {
		width: calc(310/390*100vw);
		height: calc(68/390*100vw);
		font-size: calc(16/390*100vw);
	}
}
