@charset "utf-8";

:root {
	--font_sans_serif: 'Noto Sans JP', sans-serif;
	--font_serif: 'Outfit', sans-serif;
	--white: #fff;
	--black: #333;
	--green: #71945B;
	--red: #D11924;
	--blue: #242489;
	--gray: #F6F6F6;
	--gold: #C99E03;
	/*--gray_dark: #333;*/
	--max_w: 960px;
	--cubic-bezier: cubic-bezier(.8, 0, .4, 1);
	--border-size: 1px;
	--border-radius: 12px;
}

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}

ol,
ul {
	list-style: none;
}


/* 
* Utility
* ==================================================================================================== */
.u-contents {
	margin: 110px 0 0;
	position: relative;
}

.g-main > .u-contents:nth-of-type(1) {
	margin-top: 0;
}

.u-inner {
	max-width: calc(var(--max_w) + (40px * 2));
	margin-right: auto;
	margin-left: auto;
	position: relative;
}

.u-show_mobile {
	display: none !important;
}

.u-hide_mobile {
	display: block !important;
}

.u-show_tablet {
	display: none !important;
}

.u-hide_tablet {
	display: block !important;
}

.u-cover {
	background: rgba(50, 50, 50, .7);
	position: fixed;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: .4s var(--cubic-bezier);
	transition: .4s var(--cubic-bezier);
	z-index: 500;
	inset: 0;
}

.active-modal .u-cover {
	opacity: 1;
	visibility: visible;
}

.u-font_sans_serif {
	font-family: var(--font_sans_serif);
}

.u-font--10 {
	font-size: 1rem !important;
}

.u-font--11 {
	font-size: 1.1rem !important;
}

.u-font--12 {
	font-size: 1.2rem !important;
}

.u-font--13 {
	font-size: 1.3rem !important;
}

.u-font--14 {
	font-size: 1.4rem !important;
}

.u-font--15 {
	font-size: 1.5rem !important;
}

.u-font--16 {
	font-size: 1.6rem !important;
}

.u-font--17 {
	font-size: 1.7rem !important;
}

.u-font--18 {
	font-size: 1.8rem !important;
}

.u-font--19 {
	font-size: 1.9rem !important;
}

.u-font--20 {
	font-size: 2rem !important;
}

.u-font--21 {
	font-size: 2.1rem !important;
}

.u-font--22 {
	font-size: 2.2rem !important;
}

.u-font--23 {
	font-size: 2.3rem !important;
}

.u-font--24 {
	font-size: 2.4rem !important;
}

.u-font--25 {
	font-size: 2.5rem !important;
}

.u-font--26 {
	font-size: 2.6rem !important;
}

.u-font--27 {
	font-size: 2.7rem !important;
}

.u-font--28 {
	font-size: 2.8rem !important;
}

.u-font--29 {
	font-size: 2.9rem !important;
}

.u-font--30 {
	font-size: 3rem !important;
}

.u-font--light {
	font-weight: 300 !important;
}

.u-font--normal {
	font-weight: 400 !important;
}

.u-font--middle {
	font-weight: 500 !important;
}

.u-font--bold {
	font-weight: 700 !important;
}

.u-font--italic {
	font-style: italic;
}

.u-font--rl {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.u-align_right {
	text-align: right !important;
}

.u-align_center {
	text-align: center !important;
}

.u-align_left {
	text-align: left !important;
}

.u-box_center {
	margin-right: auto;
	margin-left: auto;
}

.u-vertical-align__top {
	vertical-align: top !important;
}

.u-float__right {
	float: right !important;
}

.u-float__left {
	float: left !important;
}

.u-display--block {
	display: block;
}

.u-display--inline-block {
	display: inline-block;
}

.u-display--none {
	display: none;
}

.u-color_white {
	color: var(--white) !important;
}

.u-color_black {
	color: var(--black) !important;
}

.u-color_gray {
	color: #666 !important;
}

.u-color_green {
	color: var(--green) !important;
}

.u-color_red {
	color: var(--red) !important;
}

.u-color_orange {
	color: #e1521b !important;
}

.u-indent {
	text-indent: -1.5em;
	padding-left: 1.5em;
}

.u-indentM {
	text-indent: -2em;
	padding-left: 2em;
}

.u-indentL {
	text-indent: -2.5em;
	padding-left: 2.5em;
}

.u-title {
	text-align: center;
	display: inline-block;
	/*display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 1em;*/
	position: relative;
	margin-bottom: 88px;
}

.u-title:before,
.u-title:after {}

.u-title:before {}

.u-title:after {}

.u-title h2 {
	font-size: 3.6rem;
	color: #2B2B80;
	font-weight: bold;
	letter-spacing: .06em;
	line-height: 1.85;
	display: inline;
	background-image: radial-gradient(circle, #2B2B80 3px, transparent 4px);
	background-position: left .5em bottom;
	background-repeat: repeat-x;
	background-size: 23px 8px;
	padding: 0 0 .5em;
}

.u-title h2:before {}

.u-title h2 .dots {}


/*
 * Layout
 * ==================================================================================================== */
#risoco {
	font-family: var(--font_sans_serif);
	font-optical-sizing: auto;
	font-size: 1.6rem;
	font-weight: normal;
	font-style: normal;
	font-variation-settings: "slnt"0;
	/*font-feature-settings: "palt";*/
	color: var(--black) !important;
	line-height: 1;
	letter-spacing: 0;
	overflow-x: clip;
}

.g-wrapper {
	position: relative;
}

.g-container {
	position: relative;
}

.g-main {
	position: relative;
}

/*header*/
.g-header {
	width: 100%;
}

/*footer*/
.g-footer {
	text-align: center;
	position: relative;
}

.g-footer .footer-content {
	position: relative;
	margin-inline: auto;
	max-width: 960px;
}

.g-footer .footer-root {
	display: block;
	position: absolute;
	top: 0;
	right: -52px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 52px;
	aspect-ratio: 1;
}

.footer-root.l-link_02 {
	display: block;
	position: relative;
	-ms-transform: translateY(-50%);
	width: auto;
	position: relative;
	aspect-ratio: auto;
	right: auto;
	top: auto;
	z-index: 10000;
}

.g-footer .footer-main {
	padding: 75px 0 35px;
}

.g-footer .footer-logo {
	width: 180px;
	margin: 0 auto 35px auto;
}

.g-footer .copy {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-block: 14px 16px;
	font-size: 1.1rem;
	line-height: 1.417;
	letter-spacing: 0.03em;
	font-family: var(--font_serif);
	border-top: var(--border-size) solid #DDD;
}

/* MV */
.l-mv {
	width: 100vw;
	position: relative;
	background-image: url("../image/l-mv_bg.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	padding-top: 25px;
	padding-bottom: 100px;
}

.l-mv_copy {
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
}

.l-mv_name {
	margin-bottom: 45px;
	max-width: 700px;
}

.l-mv_textArea {}

.l-mv_textArea .l-top_text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	z-index: 50;
	position: relative;
	margin-top: -460px;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
}

.l-mv_textArea .l-top_image {
	width: 75%;
	margin-left: auto;
	margin-right: 0;
}

.l-mv_textArea .l-top_photo {
	width: 60%;
}

.l-mv_textArea .l-top_copy {
	width: 40%;
	padding-left: 30px;
}

.l-mv_textArea .l-top_copy figcaption {
	font-size: 1.3rem;
	color: #fff;
	padding-left: 20px;
	padding-top: 10px;
	padding-bottom: 0;
}

.l-mv_textArea .l-top_image img {
	width: 100%;
}

.l-mv_textArea .l-btn_area {
	position: relative;
}

.l-mv_textArea .l-btn_area {
	z-index: 100;
	margin-top: -3%;
	margin-right: 0;
	margin-left: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.l-btn_01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	text-decoration: none;
	border: 3px solid #2C2C74;
	background-color: #fff;
	border-radius: 42px;
	padding: 26px 50px;
	color: #2B2B80;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	max-width: 434px;
	position: relative;
	-webkit-box-shadow: 0px 4px 13px 0px rgba(0, 0, 0, 0.16);
	box-shadow: 0px 4px 13px 0px rgba(0, 0, 0, 0.16);
}

.l-btn_01:after {
	content: "";
	background: url(../image/l-arrow_orrange.svg) no-repeat center / 100% auto;
	width: 13px;
	height: 12px;
	position: absolute;
	top: 43%;
	bottom: auto;
	right: 7%;
}

.l-btn_01:hover {
	color: #FFDF2C;
	border-color: 3px solid #fff;
	background-color: #2C2C74;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	-webkit-transform: translateY(-8px);
	-ms-transform: translateY(-8px);
	transform: translateY(-8px);
}

.l-btn_01:hover:after {
	background: url(../image/l-arrow_yellow.svg) no-repeat center / 100% auto;
}

.l-btn_01 .l-btn_text {
	font-size: 2.6rem;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	font-weight: bold;
}

.l-btn_01 .l-btn_text span {
	font-size: 1.7rem;
}


/* PLAN */
.l-plan {
	padding: 88px 0 97px;
	text-align: center;
}

.l-plan .u-inner {
	max-width: none;
}

.l-plan img {
	margin: 0 auto;
	max-width: 100%;
}

.l-plan__title {
	margin-bottom: 26px;
}

.l-plan__btn {
	font-size: 2rem;
	font-weight: bold;
	text-decoration: none;
	color: var(--red);
	width: 272px;
	aspect-ratio: 272 / 60;
	position: relative;
	display: inline-grid;
	grid-template-columns: auto auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-radius: 50vh;
	border: 2px solid var(--red);
	background-color: var(--white);
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	padding-inline: 30px 15px;
	margin: 37px auto 0;
	cursor: pointer;
}

.l-plan__btn:hover {
	color: var(--white);
	background-color: var(--red);
}

.l-plan__btn:after {
	content: "";
	display: inline-block;
	justify-self: end;
	inline-size: 26px;
	aspect-ratio: 1;
	background: url(../img/plus_red.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.l-plan__btn:hover:hover:after {
	background-image: url(../img/plus_white.svg);
}

/* CP */
.l-cp {
	background: #FC6730;
	padding: 235px 0 165px;
	margin-top: -210px;
	position: relative;
}

.l-cp__block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.l-cp_text {
	color: #fff;
	font-size: 2rem;
	line-height: 2;
	padding-left: 60px;
}

.l-text_color {
	color: #FFDF2C;
	font-weight: bold;
}

.l-link_01 {
	color: #fff;
	position: relative;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	text-decoration: none;
}

.l-link_01:hover {
	text-decoration: underline;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

.l-link_01:after {
	content: "";
	background: url(../image/l-arrow-02.svg) no-repeat center / 100% auto;
	width: 27px;
	height: 28px;
	position: absolute;
	top: 5%;
	bottom: auto;
	right: -40px;
}

.l-link_right {
	text-align: right;
	display: block;
	margin-left: auto;
	margin-right: 0;
}

.l-link_02 {
	color: #2B2B80;
	-webkit-transform: 0.2s;
	-ms-transform: 0.2s;
	transform: 0.2s;
	position: relative;
}

.l-link_02:hover {
	text-decoration: underline;
	-webkit-transform: 0.2s;
	-ms-transform: 0.2s;
	transform: 0.2s;
}

.l-link_02 p {
	position: relative;
	display: inline-block;
}

.l-link_02 p:after {
	content: "";
	background: url(../image/l-arrow_blank.svg) no-repeat center / 100% auto;
	width: 17px;
	height: 17px;
	position: absolute;
	top: 0;
	bottom: auto;
	right: -30px;
}


.l-link_02 span {
	position: relative;
	display: inline-block;
}

.l-link_02 span:after {
	content: "";
	background: url(../image/l-arrow_blank.svg) no-repeat center / 100% auto;
	width: 17px;
	height: 17px;
	position: absolute;
	top: 0;
	bottom: auto;
	right: -30px;
}


.l-cp_point {
	text-align: center;
	color: #fff;
	padding-top: 60px;
	max-width: 1040px;
	margin-right: auto;
	margin-left: auto;
}

.l-cp_copy {
	font-size: 3.8rem;
	line-height: 2;
	padding-top: 20px;
	padding-bottom: 40px;
}

.l-cp_figure_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-right: -45px;
}

.l-cp_figure_list .l-cp_figure_item {
	width: calc(100% / 3);
	padding-right: 45px;
}

.l-cp__block {}

.l-cp__block:after {}

.l-cp__title {}

.l-cp__title img {
	max-width: 490px;
}

.l-cpLists {}

.l-cpList {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.8;
	position: relative;
	padding: 1.25em 0 1.25em 90px;
	background-image: radial-gradient(circle, #DDD 1.5px, transparent 1.5px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 12px 3px;
}

.l-cpList:last-child {
	background: none;
}

.l-cpList:before {
	content: "";
	display: block;
	width: 62px;
	height: 75px;
	background: url("../img/cpList_01.png");
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.l-cpList:nth-child(2):before {
	background-image: url("../img/cpList_02.png");
}

.l-cpList:nth-child(3):before {
	background-image: url("../img/cpList_03.png");
}

.l-cpList b {
	font-size: 2.4rem;
	font-weight: bold;
	color: var(--red);
}

.l-cpList__note {
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.5;
}

.l-cpList__note > * {
	text-indent: -1em;
	padding-left: 1em;
}

.l-cpPresent {
	padding: 0 46px;
	position: relative;
}

.l-cpPresent__inner {
	background: #F7F2E9;
	padding: 34px 45px 20px;
	border-radius: calc(var(--border-radius) / 2);
	position: relative;
}

@media screen and (max-width: 450px) {
	.l-cpPresent__inner {
		padding: 40px 12px 60px !important;
	}
}

.l-cpPresent__inner:after {
	content: "";
	display: block;
	width: 125px;
	height: 78px;
	background: url("../img/cpPresent_img.png");
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	bottom: -6px;
	right: -8px;
}

.l-cpPresent__title {
	position: absolute;
	top: -8px;
	left: 43px;
}

.l-cpPresent__title img {
	width: 100px;
}

.l-cpPresent__text {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.6;
}

.l-cpPresent__text a {
	font-size: 1.6rem;
	color: var(--blue) !important;
	display: inline-block;
	margin-top: 1em;
}

.l-cpBtn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-column-gap: 40px;
	column-gap: 40px;
	margin-top: 44px;
}

.l-cpBtn > * {
	font-size: 2rem;
	font-weight: bold;
	text-decoration: none;
	color: var(--red);
	width: 272px;
	aspect-ratio: 272 / 60;
	position: relative;
	display: inline-grid;
	grid-template-columns: auto auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-radius: 50vh;
	border: 2px solid var(--red);
	background-color: var(--white);
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	padding-inline: 30px 15px;
}

.l-cpBtn > *:after {
	content: "";
	display: inline-block;
	justify-self: end;
	inline-size: 26px;
	aspect-ratio: 1;
	background: url(../img/arrow_red.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.l-cpBtn > *:hover {
	color: var(--white);
	background-color: var(--red);
}

.l-cpBtn > *:hover:after {
	background-image: url(../img/arrow_white.svg);
}


/* POINT */
.l-point {
	padding: 100px 0 120px;
	text-align: center;
}

.l-point__title {
	margin-bottom: 62px;
}

.l-point__title img {
	margin: 0 auto;
}

.l-pointItems {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	gap: 68px 0;
	margin: 0 auto;
}

.l-pointItem {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 50%;
	/*padding: 0 48px;*/
	padding: 0 5%;
	position: relative;
}

.l-pointItems:after {
	content: "";
	display: inline-block;
	inline-size: 168px;
	block-size: 133px;
	aspect-ratio: 1;
	background: url(../img/point_img.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	left: 0;
	bottom: -70px;
}

.l-pointItem__inner {
	background: var(--white);
	border-radius: var(--border-radius);
	-webkit-box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1);
	position: relative;
}

.l-pointItem__icon {
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	color: var(--white);
	display: block;
	background: var(--gold);
	width: 84px;
	height: 84px;
	border-radius: 50vh;
	position: absolute;
	left: -16px;
	top: -28px;
	padding-top: 1.5em;
	z-index: 1;
}

.l-pointItem__icon:after {
	content: attr(data-number);
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
	color: var(--white);
	display: block;
	position: relative;
	left: 0;
	top: .1em;
}

.l-pointItem figure {}

.l-pointItem figure img {
	border-top-left-radius: var(--border-radius);
	border-top-right-radius: var(--border-radius);
	width: 100%;
}

.l-pointItem figcaption {
	font-weight: bold;
	line-height: 2;
	text-align: left;
	padding: 1.5em 2.5em 2em;
}

.l-pointItem figcaption em {
	font-size: 2rem;
	font-style: normal;
	line-height: 1.8;
	display: block;
	text-align: center;
	margin-bottom: .25em;
}


/* SIGNUP */
.l-signup {
	background: url("../img/signup_bg.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	text-align: center;
	position: relative;
}

.l-signup .u-inner {
	padding: 50px 30px;
}

.l-signup .u-inner:after {
	content: "";
	display: block;
	inline-size: 191px;
	block-size: 106px;
	aspect-ratio: 1;
	background: url(../img/signup_img.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	left: calc(50% + 171px);
	bottom: 0;
}

.l-signup__title {
	font-size: 2.3rem;
	font-weight: 800;
	line-height: 1.5;
	color: var(--blue);
	margin-bottom: 1.25em;
}

.l-btn_block_sp {
	display: none;
}

.l-btn_sp {
	position: fixed;
	bottom: 20px;
	left: 0;
	right: 0;
	cursor: pointer;
	-webkit-transition: .3s;
	transition: .3s;
	z-index: 5500;
	/*デフォルトで非表示にする*/
	opacity: 0;
	visibility: hidden;
}

.l-signup__btn {
	position: fixed;
	bottom: 20px;
	left: 0;
	right: 0;
	text-align: center;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0;
	z-index: 50;
	padding: 0 15px;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.l-btn_active {
	opacity: 1;
	visibility: visible;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.l-signup__btn a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	text-decoration: none;
	border: 3px solid #2C2C74;
	background-color: #fff;
	border-radius: 42px;
	padding: 26px 50px;
	color: #2B2B80;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	max-width: 434px;
	position: relative;
}

.l-signup__btn a:hover {
	color: #FFDF2C;
	border-color: 3px solid #fff;
	background-color: #2C2C74;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	-webkit-transform: translateY(-8px);
	-ms-transform: translateY(-8px);
	transform: translateY(-8px);
}

.l-signup__btn a:after {
	content: "";
	background: url(../image/l-arrow_orrange.svg) no-repeat center / 100% auto;
	width: 13px;
	height: 12px;
	position: absolute;
	top: 43%;
	bottom: auto;
	right: 7%;
}

.l-signup__btn a:hover:after {
	background: url(../image/l-arrow_yellow.svg) no-repeat center / 100% auto;
}

.l-signup__btn span {
	font-size: 2.6rem;
	font-weight: 900;
	text-align: center;
	padding-left: 41px;
}

.l-signup__btn small {
	font-size: 1.8rem;
}

.l-signup__text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	/*justify-content: center;*/
	margin: 1.5em auto 0;
	padding-left: 6%;
	max-width: 680px;
}

.l-signup__text em {
	font-size: 2.6rem;
	font-weight: bold;
	font-style: normal;
	color: var(--white);
	line-height: 51px;
	text-align: center;
	background: var(--blue);
	border-radius: calc(var(--border-radius) / 3);
	width: 122px;
	display: block;
	margin-right: .75em;
}

.l-signup__text b {
	font-family: var(--font_serif);
	font-size: 3.6rem;
	font-weight: bold;
	letter-spacing: .01em;
}

.l-signup__text span {
	font-size: 5.2rem;
	color: var(--red);
	letter-spacing: .04em;
	margin-right: .05em;
}

.l-signup__text span small {
	font-size: 4.8rem;
}


/* RECOMMEND */
.l-recommend {
	padding: 100px 0;
	text-align: center;
	background-color: #E7F0F7;
}

.l-recommendItems {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 90%;
	margin: 0 auto;
	gap: 40px 0;
}

.l-recommendItem {
	text-align: center;
	line-height: 1.8;
	width: 50%;
	/*padding: 0 35px;*/
	padding: 0 4%;
	position: relative;
}

.l-recommendItem:before {
	content: "";
	display: inline-block;
	inline-size: 42px;
	aspect-ratio: 1;
	background: url(../image/arrow-01.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	top: -21px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 1;
}

.l-recommendItem:after {
	content: "";
	display: inline-block;
	inline-size: 90px;
	aspect-ratio: 1;
	background: url(../image/section_04-1.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	bottom: 0;
	right: 3%;
	z-index: 1;
}

.l-recommendItem:nth-child(2):after {
	background-image: url(../image/section_04-2.svg);
}

.l-recommendItem:nth-child(3):after {
	background-image: url(../image/section_04-3.svg);
}

.l-recommendItem:nth-child(4):after {
	background-image: url(../image/section_04-4.svg);
}

.l-recommendItem:nth-child(5):after {
	background-image: url(../image/section_04-5.svg);
}

.l-recommendItem:nth-child(6):after {
	background-image: url(../image/section_04-6.svg);
}

.l-recommendItem__inner {
	border: 3px solid #fff;
	border-radius: 8px;
	padding: 30px 0;
	background-color: #fff;
}

.l-recommendItem__title {
	color: var(--red);
	font-size: 1.8rem;
	font-weight: bold;
	background-image: repeating-linear-gradient(90deg, #2B2B80, #2B2B80 3px, transparent 3px, transparent 6px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 100% 1px;
	display: inline-block;
	padding-bottom: .25em;
	margin-bottom: .5em;
}

.l-recommendNote {
	background: #F7F2E9;
	border-radius: var(--border-radius);
	padding: 80px 48px 60px;
	position: relative;
	margin-top: 115px;
}

.l-recommendNote__title {
	font-size: 2.8rem;
	position: absolute;
	top: -1em;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
}

.l-recommendNote__title:before,
.l-recommendNote__title:after {
	content: "";
	display: block;
	width: 17px;
	height: 62px;
	background: url("../img/recommendNote_title.svg");
	background-repeat: no-repeat;
	background-size: contain;
}

.l-recommendNote__title:before {
	margin-right: 1.5em;
}

.l-recommendNote__title:after {
	margin-left: 1.5em;
	-webkit-transform: scale(-1, 1);
	-ms-transform: scale(-1, 1);
	transform: scale(-1, 1);
}

.l-recommendNote__block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.l-recommendNote__block > * {
	width: calc(100% / 2);
}

.l-recommendNote__figure {
	padding-left: 35px;
}

.l-recommendNote__figure img {
	width: 100%;
	border-top-right-radius: calc(var(--border-radius) / 2);
	border-bottom-right-radius: calc(var(--border-radius) / 2);
}

.l-recommendNote__text {
	text-align: left;
}

.l-recommendNote__text h4 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 2.4rem;
	margin-bottom: .5em;
}

.l-recommendNote__text h4:before {
	content: "";
	display: block;
	width: 57px;
	height: 33px;
	background: url("../img/recommendNote_icon.svg");
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: .5em;
}

.l-recommendNote__text .e-text {
	line-height: 2;
}

.l-recommendNote__text .e-text2 {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.7;
	background: var(--white);
	border: 2px solid var(--red);
	border-radius: calc(var(--border-radius) / 3);
	padding: .5em 1em;
	margin-top: 1em;
}

.l-recommendNote__text .e-note {
	line-height: 1.8;
	text-indent: -1em;
	padding-left: 1em;
	margin-top: .5em;
}


/* STEP */
.l-step {
	background: #fff;
	padding: 100px 0;
	text-align: center;
}

.l-stepLists {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: stretch;
	-ms-flex-pack: stretch;
	justify-content: stretch;
	width: 90%;
	margin: 0 auto;
}

.l-stepList {
	width: calc(100% / 3);
	position: relative;
}

.l-stepList:after {
	content: "";
	display: block;
	width: 3px;
	height: 100%;
	background-image: radial-gradient(circle, #DDD 1.5px, transparent 1.5px);
	background-position: right top;
	background-repeat: repeat-y;
	background-size: 3px 12px;
	position: absolute;
	right: 0;
	top: 0;
}

.l-stepList:last-child:after {
	display: none;
}

.l-stepList figure {
	text-align: center;
}

.l-stepList figure img {
	width: 180px;
	display: block;
	margin: 0 auto;
}

.l-stepList figcaption {
	line-height: 1.8;
}

.l-stepList figcaption em {
	font-size: 1.8rem;
	font-weight: bold;
	font-style: normal;
	color: #2B2B80;
	display: block;
	margin-top: .75em;
	margin-bottom: .5em;
}

.l-step .l-link_02 {
	margin-top: 40px;
	display: block;
	position: relative;
}

/* DETAIL */
.l-detail {
	background: var(--gray);
	padding: 100px 0;
}

.l-detail__title {
	font-size: 2.8rem;
	text-align: center;
	margin-bottom: 32px;
}

.l-detail__block {
	border: var(--border-size) solid #DDD;
	border-radius: var(--border-radius);
	background: var(--white);
	padding: 44px 48px;
}

.l-detail__block > *:last-child {
	margin-bottom: 0;
}

.l-detail__box {
	margin-bottom: 30px;
}

.l-detail__subTitle {
	font-size: 1.8rem;
	line-height: 1.8;
	margin-bottom: .25em;
}

.l-detail__lead {
	font-size: 1.8rem;
	line-height: 1.8;
}

.l-detail__text {
	line-height: 1.8;
	margin-bottom: 10px;
}

.l-detail__text:last-child {
	margin-bottom: 0;
}

.l-detail__text em {
	font-weight: bold;
	font-style: normal;
	display: block;
}

.l-detail__text small {
	font-size: 85%;
}

.l-detail__note {
	font-weight: bold;
	color: var(--red);
	line-height: 1.8;
}

.l-detail__note em {
	font-style: normal;
	display: block;
}

.l-detail__list {
	margin-bottom: 10px;
}

.l-detail__list > * {
	line-height: 1.8;
	position: relative;
	/*margin-bottom: .5em;*/
	padding-left: 1.5em;
}

/*.l-detail__list > *:last-child {
	margin-bottom: 0;
}*/

.l-detail__list > *:before {
	content: '・';
	content: '・';
	display: block;
	position: absolute;
	top: 0;
	left: .25em;
}

/* ABOUT */
.l-about {
	text-align: center;
	background: #FFE9AD;
	padding: 160px 0 0;
	position: relative;
}

.l-about:after {
	content: "";
	position: absolute;
	height: 87px;
	width: 100%;
	-webkit-clip-path: polygon(45% 0, 0 100%, 100% 100%);
	clip-path: polygon(50% 0, 0 100%, 100% 100%);
	background-color: #FFE9AD;
	left: 0;
	top: -86px;
	/* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
}

.l-about .l-section_title {
	text-align: center;
	display: block;
	font-size: 6rem;
	color: #2B2B80;
	padding-bottom: 80px;
}

.l-about:after {}

.l-about_block {
	max-width: 1040px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	z-index: 55;
}

.l-about_block_01 {
	position: relative;
	z-index: 10;
}

.l-about_block_01:before {
	content: "";
	background: url(../image/section02-2.png) no-repeat center / 100% auto;
	width: 234px;
	height: 266px;
	position: absolute;
	top: -229px;
	bottom: auto;
	left: auto;
	z-index: 1;
	right: 20px;
}

.l-about_block_01:after {
	content: "";
	background: url(../image/section02-1.png) no-repeat center / 100% auto;
	width: 238px;
	height: 138px;
	position: absolute;
	top: -209px;
	bottom: auto;
	left: 0;
	z-index: 1;
	right: 0;
}

.l-about_block_02 {
	position: relative;
	z-index: 15;
}

.l-about_block_02:before {
	content: "";
	background: url(../image/section02-11.png) no-repeat center / 100% auto;
	width: 132px;
	height: 212px;
	position: absolute;
	top: auto;
	bottom: -70px;
	left: -44px;
}

.l-about_block_02:after {
	content: "";
	background: url(../image/section02-4.svg) no-repeat center / 100% auto;
	width: 152px;
	height: 152px;
	position: absolute;
	top: -40px;
	bottom: auto;
	left: auto;
	right: -40px;
}

.l-about_block img {
	width: 100%;
}

.l-about_datail {
	background-color: #FFB100;
	max-width: 1154px;
	margin-right: auto;
	margin-left: auto;
	color: #111111;
	padding-top: 180px;
	padding-bottom: 80px;
	padding-left: 80px;
	padding-right: 80px;
	position: relative;
	z-index: 5;
	margin-top: -95px;
	border-radius: 8px;
}

.l-about__title {
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1.5;
}

.l-about_datail_items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-line-pack: center;
	align-content: center;
}

.l-about_datail_item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.l-datail_point {
	padding-left: 0;
	padding-right: 60px;
}

.l-about_caption {
	text-align: left;
	line-height: 1.6;
	padding-left: 1em;
	text-indent: -1em;
	padding-top: 10px;
}

.l-aboutItems {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 10px;
	margin-top: 30px;
}

.l-aboutItems > * {
	width: calc(100% / 3);
}

.l-aboutItem figcaption {
	font-size: 1.8rem;
	font-weight: bold;
	padding: 19px 0 16px;
	background: #fff;
	border: 2px solid #c99e03;
	border-radius: 50vh;
	position: relative;
	margin-bottom: 26px;
}

.l-aboutItem figcaption:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 12px 8px 0 8px;
	border-color: #c99e03 transparent transparent;
	translate: -50% 100%;
}

.l-aboutItem figcaption:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 8.4px 5.6px 0 5.6px;
	border-color: #fff transparent transparent;
	translate: -50% 100%;
}

.l-aboutItem img {
	width: 92%;
}

.l-section_block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	padding-top: 60px;
	padding-bottom: 70px;
}

.l-section_block .l-btn_area {
	margin-top: 35px;
}

.l-section_block img {
	width: 100%;
}

.l-about_text_inner {
	background-color: #fff;
	margin-right: auto;
	margin-left: auto;
	color: #333333;
	padding: 40px;
	position: relative;
	z-index: 25;
	margin-top: 0;
	border-radius: 8px;
	text-align: left;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.8;
}

.l-about_text_block h4 {
	color: #2B2B80;
	font-size: 2.2rem;
	text-align: center;
	padding-bottom: 15px;
}

.l-about_text_block h4 span {
	font-size: 1.8rem;
}

.l-about_copy {
	font-size: 1.8rem;
}

.l-about_text_block h5 {
	padding-top: 30px;
	font-weight: bold;
	font-size: 1.8rem;
	padding-bottom: 5px;
}

.l-about_list_num {
	list-style-type: none;
	counter-reset: number;
}

.l-about_list_num li {
	position: relative;
	padding-left: 25px;
	padding-bottom: 15px;
}

.l-about_list_num li:before {
	content: counter(number);
	counter-increment: number;
	padding: 0 0.2em;
	position: absolute;
	left: 4px;
	top: 6px;
	font-size: 1.1rem;
}

.l-about_list_num li:after {
	content: '';
	position: absolute;
	display: block;
	top: 16px;
	left: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 1.1em;
	height: 1.1em;
	border: 1px solid #333;
	border-radius: 50%;
}


.l-about_text_block .l-about_list_dot {
	list-style-type: none;
}

.l-about_text_block .l-about_list_dot li {
	padding: .3em .3em .3em 20px;
}

.l-about_text_block .l-about_list_dot li:before {
	content: none;
}

.l-about_text_block .l-about_list_dot li:after {
	content: "・";
	border: none;
}

.l-about_text_block .l-about_list_dot li:marker {}

.l-about_text_block .l-about_text_red {
	color: #D11924;
	font-weight: bold;
	padding-top: 20px;
}

.l-about_text_block .l-about_text_red span {
	font-size: 1.8rem;
}

.l-btn_block-02 {
	padding-top: 28%;
	margin-top: -28%;
	background-color: #FC6730;
	position: relative;
	z-index: 5;
}

.l-btn_block-02 .l-btn_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.l-btn_large {
	background-color: #FC6730;
}

.l-section_block.l-btn_large {
	padding-bottom: 100px;
}

.l-btn_large .l-btn_01 {
	padding: 40px 90px;
	max-width: 790px;
	border-radius: 70px;
	margin-right: auto;
	margin-left: auto;
}

.l-btn_large .l-btn_01 .l-btn_text {
	font-size: 4.6rem;
}

.l-btn_large .l-btn_01 .l-btn_text span {
	font-size: 3rem;
}

.l-btn_large .l-btn_01:after {
	width: 23px;
	height: 22px;
}

/*
 * MODAL
 * ==================================================================================================== */
body.modal-open {
	overflow: hidden;
}

.modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9999;
}

.modal-content {
	background: #E1EBF5;
	padding: 45px 25px 35px;
	width: 81%;
	max-width: 1040px;
	max-height: 95%;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	overflow-y: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.modal-content::-webkit-scrollbar {
	display: none;
}

.close-modal {
	position: absolute;
	top: 30px;
	right: 30px;
	background: #fff;
	border: 1px solid var(--black);
	border-radius: 50vh;
	width: 52px;
	height: 52px;
	cursor: pointer;
}

.close-modal:before,
.close-modal:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	margin: auto;
	background-color: var(--black);
	border-radius: 50vh;
	width: 2px;
	height: 32px;
}

.close-modal:before {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	-ms-transform: translate(-50%, -50%) rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg);
}

.close-modal:after {
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	-ms-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
}

.modal-title {
	width: 260px;
	margin: 0 auto;
	padding: 0 0 35px;
}

.modal-notes {
	padding: 40px 0 0;
}

.modal-notes li {
	font-size: 1.4rem;
	line-height: 1.35;
	text-align: left;
	margin: 5px 0 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.modal-notes li i {
	font-style: normal;
	white-space: nowrap;
	padding: 0 .5em 0 0;
}

/*
* QA
* ==================================================================================================== */

#risoco .c-section-group .c-section-ttl {
	font-size: 32px;
	letter-spacing: 0.04em;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
}

#risoco .c-section-group .c-section-txt {
	font-size: 15px;
	letter-spacing: 0.04em;
	font-weight: 700;
	font-family: "Outfit", sans-serif;
	color: rgb(214, 10, 19);
	text-align: center;
	margin-bottom: 15px;
}

#risoco.subpage .l-faq {
	padding-block: 80px 0;
	background-color: rgb(255, 255, 255);
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq {
		padding-top: calc(80 * calc(1 / 1280 * 100vw));
		padding-bottom: calc(40 * calc(1 / 1280 * 100vw));

	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq {
		padding-top: calc(80 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		padding-bottom: calc(40 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq {
		padding-top: calc(44 * calc(1 / 375 * 100vw));
		padding-bottom: calc(20 * calc(1 / 375 * 100vw));
		padding-bottom: 0;
	}
}

#risoco.subpage .l-faq .faq-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	row-gap: 40px;
	margin-block: 72px 80px;
	margin-inline: auto;
	max-width: 800px;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-nav {
		row-gap: calc(40 * calc(1 / 1280 * 100vw));
		margin-top: calc(72 * calc(1 / 1280 * 100vw));
		margin-bottom: calc(80 * calc(1 / 1280 * 100vw));
		max-width: unset;
		width: calc(800 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-nav {
		row-gap: calc(40 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		margin-top: calc(72 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		margin-bottom: calc(80 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		max-width: unset;
		width: calc(800 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-nav {
		row-gap: calc(20 * calc(1 / 375 * 100vw));
		margin-top: calc(40 * calc(1 / 375 * 100vw));
		margin-bottom: calc(52 * calc(1 / 375 * 100vw));
		max-width: unset;
		width: calc(351 * calc(1 / 375 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-nav::after {
		--_border-size: 1px;
		content: "";
		width: 33%;
		height: calc(24 * calc(1 / 375 * 100vw));
		border-left: var(--_border-size) solid rgb(221, 221, 221);
	}
}

#risoco.subpage .l-faq .faq-nav li {
	--_border-size: 1px;
	position: relative;
	width: 25%;
	border-left: var(--_border-size) solid rgb(221, 221, 221);
	text-align: center;
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-nav li {
		width: 33%;
	}
}

#risoco.subpage .l-faq .faq-nav li:nth-child(4) {
	--_border-size: 1px;
	border-right: var(--_border-size) solid rgb(221, 221, 221);
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-nav li:nth-child(4) {
		border-right-color: transparent;
	}
}

#risoco.subpage .l-faq .faq-nav li:nth-child(8) {
	--_border-size: 1px;
	border-right: var(--_border-size) solid rgb(221, 221, 221);
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-nav li:nth-child(8) {
		border-right-color: transparent;
	}
}

@media screen and (max-width: 768px) {

	#risoco.subpage .l-faq .faq-nav li:nth-child(3),
	#risoco.subpage .l-faq .faq-nav li:nth-child(6) {
		--_border-size: 1px;
		border-right: var(--_border-size) solid rgb(221, 221, 221);
	}
}

#risoco.subpage .l-faq .faq-nav li a {
	display: block;
	padding: 4px;
	font-size: 18px;
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-decoration: none;
	color: #333;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-nav li a {
		padding: calc(4 * calc(1 / 1280 * 100vw));
		font-size: calc(18 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-nav li a {
		padding: calc(4 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		font-size: calc(18 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-nav li a {
		padding: calc(4 * calc(1 / 375 * 100vw));
		font-size: calc(16 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-nav li a:focus-visible {
	opacity: 0.5;
}

@media (any-hover: hover) {
	#risoco.subpage .l-faq .faq-nav li a:where(:-webkit-any-link, :enabled, summary):hover {
		opacity: 0.5;
	}

	#risoco.subpage .l-faq .faq-nav li a:where(:-moz-any-link, :enabled, summary):hover {
		opacity: 0.5;
	}

	#risoco.subpage .l-faq .faq-nav li a:where(:any-link, :enabled, summary):hover {
		opacity: 0.5;
	}
}

@media (pointer: coarse),
(hover: none) {
	@supports (touch-action: none) {
		#risoco.subpage .l-faq .faq-nav li a.touch-active {
			opacity: 0.5;
		}
	}
}

#risoco.subpage .l-faq .faq-content {
	background-color: rgb(247, 245, 241);
	padding-block: 80px;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content {
		max-width: unset;
		padding-block: calc(80 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content {
		max-width: unset;
		padding-block: calc(80 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content {
		max-width: unset;
		padding-block: calc(52 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group {
	margin-inline: auto;
	max-width: 800px;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group {
		max-width: unset;
		width: calc(800 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group {
		max-width: unset;
		width: calc(800 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group {
		max-width: unset;
		width: calc(351 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group:not(:last-child) {
	margin-bottom: 44px;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group:not(:last-child) {
		margin-bottom: calc(44 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group:not(:last-child) {
		margin-bottom: calc(44 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group:not(:last-child) {
		margin-bottom: calc(32 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group .ttl {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	-webkit-column-gap: 14px;
	column-gap: 14px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 16px;
	font-size: 18px;
	line-height: 1.778;
	font-weight: 700;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group .ttl {
		-webkit-column-gap: calc(14 * calc(1 / 1280 * 100vw));
		column-gap: calc(14 * calc(1 / 1280 * 100vw));
		margin-bottom: calc(16 * calc(1 / 1280 * 100vw));
		font-size: calc(18 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group .ttl {
		-webkit-column-gap: calc(14 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		column-gap: calc(14 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		margin-bottom: calc(16 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		font-size: calc(18 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group .ttl {
		-webkit-column-gap: calc(8 * calc(1 / 375 * 100vw));
		column-gap: calc(8 * calc(1 / 375 * 100vw));
		margin-bottom: calc(10 * calc(1 / 375 * 100vw));
		font-size: calc(15 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group .ttl::before {
	--_border-radius: 100vmax;
	content: "";
	width: 6px;
	aspect-ratio: 1;
	border-radius: var(--_border-radius);
	background-color: rgb(214, 10, 19);
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group .ttl::before {
		width: calc(6 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group .ttl::before {
		width: calc(6 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group .ttl::before {
		width: calc(4 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	row-gap: 16px;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list {
		row-gap: calc(16 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list {
		row-gap: calc(16 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list {
		row-gap: calc(12 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item {
	--_border-radius: 8px;
	background-color: rgb(255, 255, 255);
	border-radius: var(--_border-radius);
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item {
		--_border-radius: calc(8 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item {
		--_border-radius: calc(8 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item {
		--_border-radius: calc(6 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button {
	position: relative;
	display: inline-grid;
	grid-template-columns: auto 1fr auto;
	-webkit-column-gap: 20px;
	column-gap: 20px;
	padding: 26px 22px;
	width: 100%;
	font-size: 16px;
	line-height: 1.667;
	font-weight: 700;
	color: rgb(51, 51, 51);
	text-align: left;
	z-index: 15000;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button {
		-webkit-column-gap: calc(20 * calc(1 / 1280 * 100vw));
		column-gap: calc(20 * calc(1 / 1280 * 100vw));
		padding-block: calc(26 * calc(1 / 1280 * 100vw));
		padding-inline: calc(22 * calc(1 / 1280 * 100vw));
		font-size: calc(16 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button {
		-webkit-column-gap: calc(20 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		column-gap: calc(20 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		padding-block: calc(26 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		padding-inline: calc(22 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		font-size: calc(16 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button {
		-webkit-column-gap: calc(12 * calc(1 / 375 * 100vw));
		column-gap: calc(12 * calc(1 / 375 * 100vw));
		padding-block: calc(20 * calc(1 / 375 * 100vw));
		padding-inline: calc(12 * calc(1 / 375 * 100vw));
		font-size: calc(15 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button::before {
	content: "Q";
	inline-size: 20px;
	font-size: 24px;
	line-height: 1.25;
	font-weight: 700;
	font-family: "Outfit", sans-serif;
	color: rgb(214, 10, 19);
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button::before {
		inline-size: calc(20 * calc(1 / 1280 * 100vw));
		font-size: calc(24 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button::before {
		inline-size: calc(20 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		font-size: calc(24 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button::before {
		inline-size: calc(18 * calc(1 / 375 * 100vw));
		font-size: calc(22 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button::after {
	content: "";
	inline-size: 30px;
	aspect-ratio: 1;
	background: url("/../assets/img/g-accordion-open.svg");
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button::after {
		inline-size: calc(30 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button::after {
		inline-size: calc(30 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button::after {
		inline-size: calc(26 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-heading button[aria-expanded=true]::after {
	background: url("/../assets/img/g-accordion-close.svg");
	background-repeat: no-repeat;
	background-size: contain;
}

#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body {
	overflow: hidden;
	max-height: 0;
	padding-inline: 22px;
	-webkit-transition: max-height 0.2s ease;
	transition: max-height 0.2s ease;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body {
		padding-inline: calc(22 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body {
		padding-inline: calc(22 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body {
		padding-inline: calc(12 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body p {
	--_linear-gradient-size: 2px;
	--_linear-gradient-interval: 8px;
	position: relative;
	display: inline-grid;
	grid-template-columns: auto 1fr auto;
	-webkit-column-gap: 20px;
	column-gap: 20px;
	padding: 0;
	width: 100%;
	font-size: 16px;
	line-height: 1.667;
	background-image: -webkit-gradient(linear, left top, right top, from(rgb(221, 221, 221)), to(transparent));
	background-image: linear-gradient(to right, rgb(221, 221, 221) var(--_linear-gradient-size), transparent var(--_linear-gradient-size));
	background-size: var(--_linear-gradient-interval) var(--_linear-gradient-size);
	background-repeat: repeat-x;
	background-position: left top;
	-webkit-transition: padding-top 0.2s ease;
	transition: padding-top 0.2s ease;
	opacity: 0;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body p {
		--_linear-gradient-size: calc(2 * calc(1 / 1280 * 100vw));
		--_linear-gradient-interval: calc(8 * calc(1 / 1280 * 100vw));
		-webkit-column-gap: calc(20 * calc(1 / 1280 * 100vw));
		column-gap: calc(20 * calc(1 / 1280 * 100vw));
		font-size: calc(16 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body p {
		--_linear-gradient-size: calc(2 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		--_linear-gradient-interval: calc(8 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		-webkit-column-gap: calc(20 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		column-gap: calc(20 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		font-size: calc(16 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body p {
		--_linear-gradient-size: calc(2 * calc(1 / 375 * 100vw));
		--_linear-gradient-interval: calc(8 * calc(1 / 375 * 100vw));
		-webkit-column-gap: calc(12 * calc(1 / 375 * 100vw));
		column-gap: calc(12 * calc(1 / 375 * 100vw));
		font-size: calc(15 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body p::before {
	content: "A";
	inline-size: 20px;
	font-size: 24px;
	line-height: 1.25;
	font-weight: 700;
	font-family: "Outfit", sans-serif;
	color: rgb(214, 10, 19);
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body p::before {
		inline-size: calc(20 * calc(1 / 1280 * 100vw));
		font-size: calc(24 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body p::before {
		inline-size: calc(20 * calc((1 * 1024 / 1280) / 1024 * 100vw));
		font-size: calc(24 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body p::before {
		inline-size: calc(18 * calc(1 / 375 * 100vw));
		font-size: calc(22 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body p::after {
	content: "";
	inline-size: 30px;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body p::after {
		inline-size: calc(30 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body p::after {
		inline-size: calc(30 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item .faq-item-body p::after {
		inline-size: calc(26 * calc(1 / 375 * 100vw));
	}
}

#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item:has(.faq-item-heading button[aria-expanded=true]) .faq-item-body p {
	padding: 26px 0;
	opacity: 1;
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item:has(.faq-item-heading button[aria-expanded=true]) .faq-item-body p {
		padding-block: calc(26 * calc(1 / 1280 * 100vw));
	}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item:has(.faq-item-heading button[aria-expanded=true]) .faq-item-body p {
		padding-block: calc(26 * calc((1 * 1024 / 1280) / 1024 * 100vw));
	}
}

@media screen and (max-width: 768px) {
	#risoco.subpage .l-faq .faq-content .faq-group .faq-group-list .faq-item:has(.faq-item-heading button[aria-expanded=true]) .faq-item-body p {
		padding-block: calc(18 * calc(1 / 375 * 100vw));
	}
}
