@charset "UTF-8";

/* 打消し用 */
.choose._type02 {
	background: none;
	padding: 32px 0;
}

.choose .btn_01 {
	width: auto;
}

.btn_01 {
	background: none;
}

a.btn_01:hover {
	color: inherit;
	background-color: inherit;
	background-image: none;
}

.devices_all .pagetop {
	bottom: 30px;
}
@media screen and (max-width: 800px) {
	.devices_all .pagetop {
		bottom: 140px;
	}
}

@media screen and (max-width: 800px) {
	.devices_all .footer_inner {
		padding-bottom: 90px;
	}
}
/* /打消し用 */


/* 共通値設定用 */
:root {
	--com-theme-color-white: #FFFFFF;
	--com-theme-color-primary: #F27A22;
	--com-theme-color-navy: #3A6AAE;
	--com-heading-color-base: #1D2A36;
	--com-fs-text-notice: 13px;
	--com-fs-text-base: 18px;
	--com-fs-text-middle: 20px;
	--com-fs-text-large: 24px;
	--com-fs-heading-small: 22px;
	--com-fs-heading-base: 36px;
	--com-set-radius: 48px 48px 0 0;
}
@media screen and (max-width: 800px) {
	:root {
		--com-fs-text-base: 16px;
		--com-fs-text-middle: 18px;
		--com-fs-text-large: 20px;
		--com-fs-heading-small: 18px;
		--com-fs-heading-base: 28px;
	}
}
/* //color 共通値設定用 */


/* 共通パーツ */
html { 
	font-size: 62.5%;
}
body {
	/*font-family: 'Zen Kurenaido','Zen Kaku Gothic New','ヒラギノ角ゴシック','Hiragino Sans';*/
	font-feature-settings: "palt";
}
a {
	color: #CC0033;
}
img {
	width: 100%;
	vertical-align: bottom;
}
h2 {
	font-size: 4rem;
	text-align: center;
}
@media screen and (max-width: 800px) {
	h2 {
		font-size: 2.8rem;
	}
}
h3 {
	font-size: 2.4rem;
	text-align: center;
}


/* 余白汎用class（PC） */
.u-mb-0 {
	margin-bottom: 0!important;
}
.u-mb-4 {
	margin-bottom: 4px!important;
}
.u-mb-8 {
	margin-bottom: 8px!important;
}
.u-mb-16 {
	margin-bottom: 16px!important;
}
.u-mb-20 {
	margin-bottom: 20px!important;
}
.u-mb-32 {
	margin-bottom: 32px!important;
}
.u-mb-40 {
	margin-bottom: 40px!important;
}
.u-mb-56 {
	margin-bottom: 56px!important;
}
.u-mr-0 {
	margin-right: 0!important;
}
.u-pt-0 {
	padding-top: 0px!important;
}
.u-pt-40 {
	padding-top: 40px!important;
}
.u-pb-0 {
	padding-bottom: 0!important;
}
.u-pr-0 {
	padding-right: 0!important;
}
.u-pl-8 {
	padding-left: 8px!important;
}
.u-pr-12 {
	padding-right: 12px!important;
}


/* 余白汎用class（SP） */
@media screen and (max-width: 800px) {
	.u-sm-mb-0 {
		margin-bottom: 0px!important;
	}
	.u-sm-mb-8 {
		margin-bottom: 8px!important;
	}
	.u-sm-mb-16 {
		margin-bottom: 16px!important;
	}
	.u-sm-mb-20 {
		margin-bottom: 20px!important;
	}
	.u-sm-mb-40 {
		margin-bottom: 40px!important;
	}
	.u-sm-pr-24 {
		padding-right: 24px!important;
	}
}


/* 通常汎用class（PC） */
.u-d-pc {
	display: block;
}
.u-d-sm {
	display: none;
}
.u-ta-c {
	text-align: center;
}
.u-ta-r {
	text-align: right;
}
.u-ta-l {
	text-align: left;
}


/* 通常汎用class（SP） */
@media screen and (max-width: 800px) {
	.u-d-pc {
	display: none;
	}
	.u-d-sm{
	display: block;
	}
	.u-sm-ta-c {
		text-align: center;
	}
	.u-sm-ta-r {
		text-align: right;
	}
	.u-sm-ta-l {
		text-align: left;
	}
}


/* 共通系 */
.com_btn_link:focus-visible {
	box-shadow: 0px 0 0px 2px #0bc2ef;
}
/* 通常ボタン */
.com_btn_link {
    position: relative;
    display: inline-block;
    padding: 0.9em;
    background-color:#fff;
    color: #CC0033;
    font-weight: bold;
    border: 3px solid #CC0033;
    border-radius: 40px;
    min-width: 320px;
    text-align: center;
    text-decoration: none;
    font-size: 2rem;
    line-height: 1.5;
	transition: 0.3s;
}
@media screen and (max-width: 800px) {
	.com_btn_link {
		width: 100%;
		max-width: 300px;
		min-width: 270px;
	}
}
/* 通常ボタン__アイコン */
.com_btn_link:after {
	position: absolute;
	display: block;
	content: "";
	width: 40px;
	height: 40px;
	right: 0;
	top: 50%;
	transform: translate(-50%,-50%);
	background: url(/special/gemini/img/icon_btn_internal.png) center center no-repeat;
	background-size: 24px;
}
/* CVボタン */
.com_btn_link.com_btn_link_primary,
.com_btn_link.com_btn_link_primary:hover {
	background-color: #CC0033;
	color: #ffffff;
	opacity: 1;
}
@media screen and (max-width: 800px) {
	.com_btn_link.com_btn_link_primary,
	.com_btn_link.com_btn_link_primary:hover {
		width: 100%;
		max-width: 300px;
		min-width: 270px;
	}
}
/* CVボタン__アイコン */
.com_btn_link.com_btn_link_primary:after {
	background: url("/special/gemini/img/icon_btn_conversion.png") center center no-repeat;
	background-size: 24px;
}
/* 「予約へすすむ」ボタン */
.main {
	position: sticky;
	bottom: 0;
	z-index: 2;
	background: rgba(255,255,255,0.8);
}
.choose._type02 {
	position: relative;
}
/* 注釈 */
.c-noticeList .c-noticeList__item {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 1.4rem;
	line-height: 1.75;
}


/* KVエリア */
.p-kv {
	max-width: none;
	padding: 0;
}
@media screen and (min-width: 801px) {
	.p-kv {
		background: url(/special/gemini/img/kv_bg_pc.png) repeat-x left top 100%;
	}
}
.p-kv__headingLv1 {
	max-width: 1100px;
	margin: 0 auto;
}


/* 導入エリア */
.p-lead__bg {
	padding: 100px 0 150px
}
@media screen and (max-width: 800px) {
	.p-lead__bg {
		padding: 72px 0px;
	}
}
.p-lead {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0;
}
@media screen and (max-width: 800px) {
	.p-lead {
		padding: 0 24px;
	}
}
.p-lead__leadTxt {
	margin-bottom: 68px;
	text-align: center;
	line-height: 2.25;
	font-size: 2.4rem;
	font-weight: bold;
}
@media screen and (max-width: 800px) {
	.p-lead__leadTxt {
		margin-bottom: 56px;
		line-height: 1.75;
		font-size: 2.4rem;
		font-size: clamp(2rem, 6.000000vw, 2.4rem);
	}
}


/* 講座概要 */
.p-summary__bg {
	padding: 120px 0;
	background-color:#F9F5F9;
}
@media screen and (max-width: 800px) {
	.p-summary__bg {
		padding: 60px 24px;
	}
}
.p-summary {
	width: 96%;
	max-width: 860px;
	margin: 0 auto;
	padding: 80px;
	border: 6px solid #B181B1;
	border-radius: 20px;
	background-color: #fff;
}
@media screen and (max-width: 800px) {
	.p-summary {
		width: 100%;
		padding: 40px 24px;
		border-radius: 24px;
	}
}
.p-summary__headingLv2 {
	margin-bottom: 64px;
}
@media screen and (max-width: 800px) {
	.p-summary__headingLv2 {
		margin-bottom: 28px;
	}
}
.p-summary__detailsWrap {
	width: 100%;
	margin: 0 auto;
}
.p-summary__detailsWrap * {
	font-size: 2rem;
}
@media screen and (max-width: 800px) {
	.p-summary__detailsWrap * {
		font-size: 1.6rem;
	}
}
.p-summary__detailsBox {
	display: flex;
	margin-bottom: 24px;
}
@media screen and (max-width: 800px) {
	.p-summary__detailsBox {
		margin-bottom: 28px;
		flex-direction: column;
}
}
.p-summary__detailsBox__heading {
	width: 40%;
	padding-right: 32px;
	color: #893F8C;
	font-weight: bold;
}
@media screen and (max-width: 800px) {
	.p-summary__detailsBox__heading {
		width: 100%;
		margin-bottom: 8px;
	}
}
.p-summary__detailsBox .p-summary__detailsBox__txt {
	width: 60%;
}
@media screen and (max-width: 800px) {
	.p-summary__detailsBox .p-summary__detailsBox__txt {
		width: 100%;
	}
}


/* 専門用語解説 */
.p-explanation__bg {
	padding: 120px 0 30px;
}
@media screen and (max-width: 800px) {
	.p-explanation__bg {
		padding: 60px 0 0;
	}
}
.p-explanation__bg--color {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 60px;
	padding: 16px;
	border-radius: 12px;
	background-color: #FAF7F2;
}
@media screen and (max-width: 800px) {
	.p-explanation__bg--color {
		margin-bottom: 40px;
		border-radius: 24px;
	}
}
.p-explanation__bg--dashed {
	padding: 70px 60px;
	border: 4px dashed #CC0033;
	border-radius: 12px;
	background-color: #FAF7F2;
	position: relative;
}
@media screen and (max-width: 800px) {
	.p-explanation__bg--dashed {
		padding: 36px 24px;
		border: 2px dashed #CC0033;
		border-radius: 16px;
	}
}
.p-explanation__bg--dashed::before {
	content: "";
	width: 16px;
	height: 16px;
	background-color:#CC0033;
	border-radius: 20px;
	position: absolute;
	left: 12px;
	top: 12px;
}
.p-explanation__bg--dashed::after {
	content: "";
	width: 16px;
	height: 16px;
	background-color:#CC0033;
	border-radius: 20px;
	position: absolute;
	right: 12px;
	top: 12px;
}
.p-explanation {
	width: 96%;
	max-width: 1100px;
	margin: 0 auto;
}
@media screen and (max-width: 800px) {
	.p-explanation {
		width: 100%;
		padding: 0 24px;
	}
}
.p-explanation__detailsWrap {
	width: 100%;
	margin: 0 auto;
}
@media screen and (max-width: 800px) {
	.p-explanation__detailsWrap p {
		font-size: 1.6rem;
	}
}
.p-explanation__headingLv2 {
	margin-bottom: 64px;
}
@media screen and (max-width: 800px) {
	.p-explanation__headingLv2 {
		margin-bottom: 28px;
	}
}
.p-explanation__img3col {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 min(2.7vw, 48px);
}
@media screen and (max-width: 800px) {
	.p-explanation__img3col {
		grid-template-columns: 1fr;
		gap: 0;
	}
}
.p-explanation__img3col__item {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 1;
}
@media screen and (max-width: 800px) {
	.p-explanation__img3col__item{
		margin-bottom: 24px;
	}
}
@media screen and (max-width: 800px) {
	.p-explanation__img3col__item img {
		width: 100%;
		max-width: 440px;
		margin: 0 auto;
	}
}


/* 講座の流れ */
.p-flow__bg {
	padding: 120px 0 160px;
}
@media screen and (max-width: 800px) {
	.p-flow__bg {
		padding: 60px 0 80px;
	}
}
.p-flow {
	width: 96%;
	max-width: 1100px;
	margin: 0 auto;
}
@media screen and (max-width: 800px) {
	.p-flow {
		width: 100%;
		padding: 0 24px;
	}
}
.p-flow__detailsWrap {
	width: 100%;
	margin: 0 auto;
}
.p-flow__headingLv2 {
	margin-bottom: 64px;
}
@media screen and (max-width: 800px) {
	.p-flow__headingLv2 {
		margin-bottom: 28px;
	}
}
.p-flow__detailsBox3col {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 min(2.5vw, 48px);
	margin-bottom: 80px;
}
@media screen and (max-width: 800px) {
	.p-flow__detailsBox3col {
		grid-template-columns: 1fr;
		gap: 0;
		margin-bottom: 40px;
	}
}
.p-flow__detailsBox3col__item {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
}
@media screen and (max-width: 800px) {
	.p-flow__detailsBox3col__item {
		width: 100%;
		margin-bottom: 48px;
	}
}
.p-flow__headingLv3 {
	display: flex;
	margin-bottom: 4px;
	text-align: left;
}
@media screen and (max-width: 800px) {
	.p-flow__headingLv3 {
		margin-bottom: 8px;
		font-size: 2rem;
	}
}
.p-flow__icon__number {
	width: 28px;
	min-width: 28px;
	height: 28px;
	margin-top: 2px;
	font-size: 2rem;
	color: #FFFFFF;
	background-color: #893f8c;
	text-align: center;
	border-radius: 50%;
}
@media screen and (max-width: 800px) {
	.p-flow__icon__number {
		width: 24px;
		min-width: 24px;
		height: 24px;
		font-size: 1.6rem;
	}
}
.p-flow__detailsBox__txt {
	font-size: 1.8rem;
	margin-top: min(2.25vw, 60px);
}
@media screen and (max-width: 800px) {
	.p-flow__detailsBox__txt {
		margin: 0 0 24px;
		font-size: 1.6rem;
	}
}
.p-flow__detailsBox__img {
	width: 100%;
	max-width: 240px;
	margin: min(3.3vw, 56px) auto 0;
}
@media screen and (max-width: 800px) {
	.p-flow__detailsBox__img {
		max-width: 220px;
		margin: 0 auto;
	}
}


/* 講座に参加した方の例 */
.p-feedback__bg {
	background-color: #FAF7F2;
	padding: 120px 0;
}
@media screen and (max-width: 800px) {
	.p-feedback__bg {
		background-color: #FAF7F2;
		padding: 60px 0;
	}
}
.p-feedback {
	width: 96%;
	max-width: 1100px;
	margin: 0 auto;
}
@media screen and (max-width: 800px) {
	.p-feedback {
		width: 100%;
		padding: 0 24px;
	}
}
.p-feedback__headingLv2 {
	margin-bottom: 72px;
}
@media screen and (max-width: 800px) {
	.p-feedback__headingLv2 {
		margin-bottom: 32px;
	}
}
.p-feedback__detailsBox2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 min(2.5vw, 48px);
}
@media screen and (max-width: 800px) {
	.p-feedback__detailsBox2col {
		grid-template-columns: 1fr;
	}
}
.p-feedback__detailsBox2col__item {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	padding: 40px;
	border: 4px solid #B081B1;
	border-radius: 8px;
	background-color: #fff;
	position: relative;
}
@media screen and (max-width: 800px) {
	.p-feedback__detailsBox2col__item {
		width: 100%;
		margin-bottom: 24px;
		padding: 28px 24px;
	}
}
.p-feedback__icon__triangle {
	width: 32px;
	height: 32px;
	background-color: #B080B1;
	position: absolute;
	top: -2px;
	left: -2px;
	clip-path: polygon(0 0, 100% 0, 0 100%);
	border-top-left-radius: inherit;
}
.p-feedback__detailsBox2col__item p {
	font-size: 1.8rem;
}
@media screen and (max-width: 800px) {
	.p-feedback__detailsBox2col__item p {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 800px) {
	.p-feedback__detailsBox {
		padding: 32px 20px;
	}
}
.p-feedback__detailsBox__heading {
	margin-bottom: 20px;
	color: #B081B1;
	text-align: left;
}
@media screen and (max-width: 800px) {
	.p-feedback__detailsBox__heading {
		margin-bottom: 20px;
		font-size: 2rem;
	}
}
.p-feedback__detailsBox__flex {
	align-items: center;
	padding: 0 20px;
}
.p-feedback__detailsBox__left {
	width: 70%;
	padding-right: 32px;
}
.p-feedback__detailsBox__right {
	width: 30%;
}


/* お申込み方法 */
.p-apply__bg {
	padding: 120px 0 180px;
}
@media screen and (max-width: 800px) {
	.p-apply__bg {
		padding: 60px 0 100px;
	}
}
.p-apply {
	width: 96%;
	max-width: 780px;
	margin: 0 auto;
	padding: 0;
}
@media screen and (max-width: 800px) {
	.p-apply {
		padding: 0 20px;
	}
}
.p-apply__headingLv2 {
	margin-bottom: 72px;
}
@media screen and (max-width: 800px) {
	.p-apply__heading {
		margin-bottom: 32px;
	}
}
.p-apply__detailsBox {
	margin-bottom: 56px;
}
.p-apply__detailsBox p {
	font-size: 1.8rem;
}
@media screen and (max-width: 800px) {
	.p-apply__detailsBox p {
		font-size: 1.6rem;
	}
}
.p-apply__headingLv3 {
	margin-bottom: 40px;
	padding-left: 16px;
	text-align: left;
	background-image: url(/special/gemini/img/p-apply__icon__img01.png);
	background-repeat: no-repeat;
	background-position: left top 50%;
	background-size: 4px;
}
@media screen and (max-width: 800px) {
	.p-apply__headingLv3 {
		margin-bottom: 28px;
		font-size: 2rem;
	}
}
.p-deco {
	position: relative;
}
@media screen and (max-width: 1100px) {
	.p-deco {
		position: initial;
	}
}
.p-deco > .p-deco__img01 {
	width: clamp(220px, 8vw, 260px);
	position: absolute;
	left: 0;
	bottom: 40px;
	z-index: 10;
}
@media screen and (min-width: 1921px) {
	.p-deco > .p-deco__img01 {
		display: none;
		position: initial;
	}
}
@media screen and (max-width: 1280px) {
	.p-deco > .p-deco__img01 {
		display: none;
		position: initial;
	}
}
.p-deco > .p-deco__img02 {
	width: clamp(220px, 8vw, 260px);
	position: absolute;
	right: 0;
	bottom: 12.555555%;
	z-index: 10;
}
@media screen and (min-width: 1921px) {
	.p-deco > .p-deco__img02 {
		display: none;
		position: initial;
	}
}
@media screen and (max-width: 1280px) {
	.p-deco > .p-deco__img02 {
		display: none;
		position: initial;
	}
}