@charset "utf-8";
/*
Theme Name: online-clinical
Theme URI: https://online-clinical.com/
Version: 1.0
*/

/* common
---------------------------------------------------------------------------*/
@import url("css/easing.css");

:root {
	--color-text: #423025;
	--color-bg: #FFFFFF;
	--color-bg-beige: #FAF5EF;
	--color-bg-beige-light: #FBF8F3;
	--color-border: #D2D2D2;
	--color-border-gray-dark: #666666;
	--color-border-white: rgba(255,255,255,0.5);
	--color-orange: #E75C2F;
	--color-yellow: #EABC3C;
	--color-yellow-marker: #FFEBB4;

	--font-gothic-jp-r: 'TazuganeGothicStdN-Regular{pm}', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-gothic-jp-b: 'TazuganeGothicStdN-Book{pm}', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-gothic-jp-m: 'TazuganeGothicStdN-Medium{pm}', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-gothic-jp-m-v: 'TazuganeGothicStdN-Medium', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-serif-jp: 'FOT-筑紫明朝 Pr6 D{pm}', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-gothic-jp-device: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	
	--font-avenir-r: 'AvenirNextLTPro-Regular', sans-serif;
	--font-avenir-m: 'AvenirNextLTPro-Medium', sans-serif;
	--font-optima-r: 'OptimaLTPro-Roman', sans-serif;
	--font-optima-nova-r: 'OptimaNovaLTPro-Regular', sans-serif;
	--font-optima-nova-m: 'OptimaNovaLTPro-Medium', sans-serif;

	--width-min: 360px;
	--width-mid: 375;
	--width-max: 9999px;
}

html {
  font-size: clamp(calc(var(--width-min)/var(--width-mid)), calc(100vw/var(--width-mid)), calc(var(--width-max)/var(--width-mid)));
}

body {
	overflow-y: scroll;
	background-color: var(--color-bg);
	color: var(--color-text);
	font-size: 15rem;
	font-family: var(--font-serif-jp);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: none !important;
}

body.noscroll { position: fixed; width: 100%; }

::-moz-selection { background: #EBEBEB; color: var(--color-text); }
::selection { background: #EBEBEB; color: var(--color-text); }

p { font-size: 15rem; line-height: 2; letter-spacing: 0.1em; margin-bottom: 1em; }
p:last-child { margin-bottom: 0 !important; }
address,i { font-style: normal; }
img { max-width: none; }
figure img { width: 100%; }

.block { display: inline-block !important; }
.wide { display: none !important; }
.narrow { display: inline-block !important; }

/* #loading
------------------------------------*/
#loading {
	display: block;
	opacity: 1;
	position: fixed;
	top: 50vh;
	left: 50vw;
	border: 2rem solid var(--color-orange);
	border-top-color: transparent;
	border-radius: 50%;
	width: 20rem;
	height: 20rem;
	margin: -10rem 0 0 -10rem;
	z-index: 99999;
	animation: spin .5s infinite linear;
}
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* txt
------------------------------------*/
.stretch {
  display: inline-block;
	transform-origin: left center;
	transform: scaleX(1.04);
	width: 96%;
}

.stretch.left { width: auto; transform: scaleX(1.04) translateX(0); }
.stretch.center { width: auto; transform: scaleX(1.04) translateX(-2%); }

/* link
------------------------------------*/
a { color: var(--color-text); text-decoration: none; -webkit-transform: translateZ(0); }

p a {
	text-decoration: underline !important;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.1em;
}

.line { display: inline-block; position: relative; padding-bottom: max(1rem, 1px); line-height: 1; }
.line:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-text);
	width: 100%;
	height: max(1rem, 1px);
}

/* .btn
------------------------------------*/
.btn-link a,
.btn-link > span {
	display: block;
	background: var(--color-orange) url(img/share/bg-pattern-orange.jpg) repeat left top / 200rem auto;
	border-radius: 100rem;
	padding: 19rem 20rem 19rem 25rem;
	color: #FFFFFF;
	font-family: var(--font-gothic-jp-m);
	font-size: 15rem;
	letter-spacing: 0.1em;
	text-align: center;
	cursor: pointer;
}

.btn-link.size-s a,
.btn-link.size-s > span {
	font-size: 13rem;
	padding: 9rem 20rem 10rem 22rem;
}

.btn-link.size-w a,
.btn-link.size-w > span { display: block; }

.btn-link.size-l a,
.btn-link.size-l > span {
	padding-top: 34rem;
	padding-bottom: 30rem;
	font-size: 25rem;
}

.btn-link a i,
.btn-link > span i {
	display: inline-block;
	background: url(img/share/ico-arrow-white.svg) no-repeat left top / 100% auto;
	width: 20rem;
	height: 14rem;
	margin-left: 12rem;
	transform: translateY(max(2rem, 2px));
}

.btn-link.size-s a i,
.btn-link.size-s > span i {
	width: 16rem;
	margin-left: 8rem;
	transform: translateY(4rem);
}

.btn-link.size-l a i,
.btn-link.size-l > span i {
	margin-left: 20rem;
	transform: translateY(-2rem);
}

.link-txt a,
.link-txt > span {
	display: inline-block;
	background: url(img/share/ico-arrow-orange-s.svg) no-repeat right top 5rem / 22rem auto;
	padding: 5rem 33rem 5rem 0;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 17rem;
	letter-spacing: 0.06em;
	text-decoration: underline;
	/* text-decoration-color: #FFFFFF; */
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.1em;
}

/* .btn-nav
------------------------------------*/
.btn-nav {
	position: fixed;
	top: 0;
	right: 0;
	width: 95rem;
	height: 95rem;
	z-index: 10000;
	opacity: 0;
}

.btn-nav.fix,
.btn-nav.active {
	position: fixed !important;
	top: 0 !important;
}

body.top .btn-nav {
	position: absolute;
	top: 645rem;
}

.btn-nav div, .btn-nav span {
	display: block;
	transition: .1s ease-out;
}

.btn-nav div {
	position: relative;
	width: 39rem;
	height: 9rem;
	margin: 56rem 0 0 15rem;
}

.btn-nav span {
	position: absolute;
	left: 0;
	background-color: #000000;
	width: 100%;
	height: max(1rem, 1px);
	-webkit-transform: translateZ(0);
}

.btn-nav span:nth-of-type(1) { top: 0; }
.btn-nav span:nth-of-type(2) { bottom: 0; }

/* .btn-nav.active
------------------------------------*/
.btn-nav.active span { background-color: #FFFFFF; }
.btn-nav.active span:nth-of-type(1) { transform: translateY(4rem) rotate(-15deg); }
.btn-nav.active span:nth-of-type(2) { transform: translateY(-4rem) rotate(15deg); }

/* .nav-sp
------------------------------------*/
.nav-sp {
	position: fixed;
	top: 0;
	right: 0;
	background: var(--color-orange) url(img/share/bg-pattern-orange.jpg) repeat left top / 200rem auto;
	width: calc(100% - 44rem);
	height: 100vh;
	height: 100dvh;
	z-index: 9999;
	display: none;
	opacity: 0;
}

.nav-sp .inner {
	overflow-y: scroll;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	padding: 20dvh 0 47rem 47rem;
	white-space: nowrap;
}

.nav-sp nav li a,
.nav-sp .ul-l > li > span {
	display: inline-block;
	padding: 0 10rem 5rem 0;
	color: #FFFFFF;
}

.nav-sp .ul-s {
	margin-bottom: 6.5vh;
}

.nav-sp .ul-s > li {
	font-family: var(--font-gothic-jp-r);
	font-size: 10rem;
	letter-spacing: 0.16em;
}

.nav-sp .ul-l > li {
	/*margin-bottom: 18rem;*/
	margin-bottom: clamp(16rem, 2.2dvh, 18rem);
	/*font-size: 20rem;*/
	font-size: clamp(18rem, 2.5dvh, 20rem);
	letter-spacing: 0.1em;
}

.nav-sp .ul-m {
	padding: clamp(24rem, 3.5dvh, 28rem) 0 clamp(8rem, 1dvh, 10rem) 25rem;
}

.nav-sp .ul-m > li {
	margin-bottom: 11rem;
	font-size: 16rem;
	letter-spacing: 0.08em;
}

.nav-sp .sns {
	margin: 8dvh 0 0 -2rem;
	font-family: var(--font-gothic-jp-b);
}

.nav-sp .sns li { margin-bottom: 12rem; }
.nav-sp .sns li a { display: block; position: relative; white-space: nowrap; color: #FFFFFF; }
.nav-sp .sns li i { display: inline-block; transform: translateY(3rem); }
.nav-sp .sns li img { display: none; }
.nav-sp .sns li img.white { display: block; width: 26rem; }

.nav-sp .sns li span {
	display: inline-block;
	margin-left: 6rem;
	font-size: 15rem;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
	transform: translateY(-5rem);
}

.nav-sp .sns li em {
	display: inline-block;
	margin-left: 7rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 10rem;
	letter-spacing: 0.1em;
	transform: translateY(-4rem);
}

.nav-sp .sns li em.wide { display: inline-block !important; }
.nav-sp .sns li em.narrow { display: none !important; }


/* #wrap
---------------------------------------------------------------------------*/
#wrap {
	overflow: hidden;
	position: relative;
	min-width: var(--width-min);
}


/* header
---------------------------------------------------------------------------*/
header {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 80rem 0 60rem 33rem;
	white-space: nowrap;
	z-index: 2;
	opacity: 0;
}

body.top header {
	position: absolute;
	top: 0;
	left: 0;
}

body.top header .logo {
	position: absolute;
	top: 665rem;
	left: 33rem;
	opacity: 0;
}

body.top header .pic3 {
	display: none;
}

header .logo { position: relative; width: 181rem; z-index: 2; }
header .logo a { display: block; position: relative; }
header .logo img { width: 100%; }
header .logo img.white { display: block; position: absolute; top: 0; left: 0; opacity: 0; }

.header-inner,
.mnav-wrap { display: none !important; }

header .pic { display: block; position: absolute; z-index: 1; pointer-events: none; opacity: 0; }
header .pic img { display: block; width: 100%; }
header .pic1 { top: 148rem; left: -10rem; width: 50rem; }
header .pic2 { top: -12rem; left: 4rem; width: 74rem; transform: rotate(90deg); }
header .pic3,
body.top header .pic1 { top: 95rem; left: auto; right: 20rem; width: 68rem; }
header .pic4 { top: -15rem; right: -20rem; width: 70rem; transform: rotate(-90deg); }

/* .nav-service-list
------------------------------------*/
.nav-service-list .inner:not(:last-of-type) { margin-bottom: 30rem;	 }
.nav-service-list .inner a { display: flex; color: #FFFFFF; }

.nav-service-list .inner figure {
	width: 110rem;
	min-width: 110rem;
	margin-right: 18rem;
}

.nav-service-list .inner .txt {
	width: 100%;
	margin-top: 6rem;
}

.nav-service-list .inner em {
	display: block;
	margin-bottom: 11rem;
	font-family: var(--font-avenir-m);
	font-size: 9rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.nav-service-list .inner h3 {
	margin-bottom: 10rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.nav-service-list .inner h2 {
	font-family: var(--font-gothic-jp-b);
	font-size: 19rem;
	letter-spacing: 0.06em;
}

.nav-service-list .inner h2 i { display: inline-block; margin: 0 8rem 0 0; transform: translateY(-2rem); }
.nav-service-list .inner h2 i.color { display: none; }
.nav-service-list .inner h2 i img { width: 12.5rem; vertical-align: top; }

.nav-service-list .inner .btn-link { display: none; }

/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0;
	padding: 340rem 0 0;
	font-family: var(--font-gothic-jp-b);
	white-space: nowrap;
	opacity: 0;
}

footer .copy { position: absolute; top: 110rem; right: 26rem; }
footer .copy img { width: 54rem; }

.footer-scroll-wrap {
	overflow: hidden;
	width: 100%;
	padding-bottom: 12rem;
	white-space: nowrap;
}

.footer-scroll-wrap .hidden {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	opacity: 0 !important;
	pointer-events: none;
}

.footer-scroll {
	display: flex;
	width: max-content;
  white-space: nowrap;
  animation: scroll linear infinite;
	will-change: transform;
  animation-duration: 30s;
}

@keyframes scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.footer-scroll .inner {
	overflow: hidden;
	width: 480rem !important;
	min-width: 480rem !important;
}

.footer-scroll .inner a {
	display: flex;
	padding-right: 20rem;
	opacity: 1 !important;
}

.footer-scroll .inner h2,
.footer-scroll-wrap .hidden .en {
	padding-top: 8rem;
	color: var(--color-orange);
	font-family: var(--font-avenir-r);
	font-size: 48rem;
	letter-spacing: -0.02em;
}

.footer-scroll .inner h2 {
	position: relative;
	z-index: 0;
}

footer .footer-scroll h2 span.char {
  display: inline-block;
  will-change: transform, opacity;
	margin-left: -1rem;
}

footer .footer-scroll h2.let-l span.char { margin-left: -1.5rem; }
footer .footer-scroll h2.let-s span.char { margin-left: -0.5rem; }

.footer-scroll .inner h3 {
	display: none !important;
}

.footer-scroll .img {
	position: relative;
	overflow: hidden;
	border-radius: 3.5rem;
	width: 100rem !important;
	min-width: 100rem !important;
	height: 61rem;
	margin-right: 20rem;
}

.footer-scroll .img-inner {
	position: absolute;
	top: 115rem;
	right: -30rem;
	transform: rotate(-45deg);
	transform-origin: right top;
	transition: .8s var(--easeInOutCubic); /* js */
	z-index: 0;
}

.footer-scroll .img-inner.before {
	z-index: 1 !important;
}

.footer-scroll .img-inner.current {
	top: 0;
	right: 0;
	transform: rotate(0deg);
	z-index: 2;
}

.footer-scroll .img-inner img {
	border-radius: 3.5rem;
	width: 100rem !important;
}

.footer-inner {
	position: relative;
	border-top: max(1rem, 1px) solid #EBEBEB;
	padding: 85rem 35rem 75rem;
}

.footer-inner .logo { margin: 0 0 46rem -2rem; }
.footer-inner .logo img { width: 220rem; }

.footer-inner .info {
	margin-bottom: 30rem;
}

.footer-inner .info h2 {
	color: var(--color-orange);
	margin-bottom: 20rem;
	font-family: var(--font-avenir-m);
	font-size: 12rem;
	letter-spacing: 0.04em;
}

.footer-inner .info h1 {
	margin-bottom: 12rem;
	font-size: 19rem;
	letter-spacing: 0.06em;
}

.footer-inner .info .mail {
	font-family: var(--font-avenir-m);
	font-size: 15rem;
	letter-spacing: 0.03em;
}

.footer-gnav h2,
.footer-sns h2 {
	margin-bottom: 20rem;
	font-family: var(--font-avenir-m);
	font-size: 14rem;
	letter-spacing: 0.04em;
}

.footer-gnav nav { margin-right: 65rem; }
.footer-gnav nav:first-of-type { margin-bottom: 40rem; }
.footer-gnav nav .sub { margin-top: 24rem; }
.footer-gnav nav:nth-of-type(2) ul:not(:last-of-type) { margin-bottom: 54rem; }
.footer-gnav nav:nth-of-type(2) ul:last-of-type { position: absolute; bottom: 46rem; left: 35rem; }
.footer-gnav nav li { margin-bottom: 14rem; }
.footer-gnav nav .sub li { margin-bottom: 6rem; }

.footer-gnav nav li a {
	display: inline-block;
	padding: 0 10rem 7rem 0;
	font-size: 18rem;
	letter-spacing: 0.06em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.1em;
}

.footer-gnav nav .sub li a {
	padding-bottom: 8rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.footer-gnav nav .sub.size-s li a {
	font-size: 13rem;
	letter-spacing: 0.08em;
}

.footer-sns { position: absolute; top: 76rem; right: 30rem; }
.footer-sns li { margin-bottom: 9rem; }
.footer-sns li a { display: block; position: relative; }
.footer-sns li img { width: 32rem; opacity: 0; }
.footer-sns li img.color { position: absolute; top: 0; left: 0; opacity: 1; }
.footer-sns li img.white { display: none; }

.footer-sns li span {
	display: none;
	/*display: inline-block;
	margin-left: 8rem;
	font-size: 16rem;
	letter-spacing: 0.06em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
	transform: translateY(-7rem);*/
}

.footer-sns li em {
	display: block;
	position: absolute;
	top: 5rem;
	left: -17rem;
	margin: 0;
	padding: 0;
	color: #000000;
	font-family: var(--font-gothic-jp-b);
	font-size: 10rem;
	letter-spacing: 0.2em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

footer .pic { display: block; position: absolute; pointer-events: none; }
footer .pic1 { top: 140rem; left: 25rem; width: 72rem; }
footer .pic2 { top: 446rem; right: 130rem; width: 55rem; }
footer .pic3 { bottom: 338rem; right: 16rem; width: 94rem; transform: rotate(-90deg); }
footer .pic4 { bottom: 0; right: 38rem; width: 46rem; }

.copyright {
	position: absolute;
	bottom: 35rem;
	left: 35rem;
	font-family: var(--font-avenir-m);
	font-size: 10rem;
	letter-spacing: 0.07em;
}

footer .hidden {
	display: none !important;
	font-family: var(--font-gothic-jp-m);
}

/* .plist
------------------------------------*/
.plist {
	display: flex;
	flex-wrap: wrap;
	position: absolute;
	bottom: -320rem;
	left: 16rem;
	font-family: var(--font-gothic-jp-b);
	z-index: 1;
}

.plist li {
	position: relative;
	margin-right: 20rem;
}

.plist li:after {
	display: block;
	content: '';
	position: absolute;
	top: 13rem;
	right: -14rem;
	background-color: var(--color-border-gray-dark);
	width: 12rem;
	height: max(0.5rem, 1px);
}

.plist li:last-of-type:after { display: none; }

.plist li a,
.plist li span {
	display: inline-block;
	padding: 4rem 8rem 6rem;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.plist li a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}


/* contents
---------------------------------------------------------------------------*/
#mainContents {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

.contents { position: relative; opacity: 0; }

/* .title-page
------------------------------------*/
.title-page {
	margin: 0 auto 32rem;
	padding-left: 32rem;
}

#aboutContents .title-page {
	margin-bottom: 25rem;
}

#faqContents .title-page {
	margin-bottom: 40rem;
}

.title-page em {
	display: block;
	margin: 0 0 12rem max(1rem, 1px);
	font-family: var(--font-avenir-r);
	font-size: 12rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.title-page h1,
.title-page h2 {
	margin-left: -1rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 26rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

#newsContents .title-page h1,
#newsContents .title-page h2,
#aboutContents .title-page h1 {
	font-size: 19rem;
}

#danranContents .title-page h1,
#instructorContents .title-page h1,
#instructorContents .title-page h2,
#privacyContents .title-page h1 {
	letter-spacing: 0.02em;
}

.title-page h1 .ruby {
	display: block;
	position: absolute;
	top: -7rem;
	left: 5rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 8rem;
	letter-spacing: 1.4em;
	white-space: nowrap;
}

.title-page p {
	margin-bottom: 33rem !important;
	font-family: var(--font-gothic-jp-r);
	font-size: 13rem !important;
	line-height: 1.9;
	letter-spacing: 0.1em !important;
}

.title-page.size-m p,
.online-advisor-record > p {
	margin-top: 16rem;
	font-family: var(--font-serif-jp);
	font-size: 14rem;
	line-height: 2.1;
	letter-spacing: 0.06em !important;
	text-align: justify;
}

.title-page.size-m p br,
.online-advisor-record > p br {
	display: none;
}

/* title line
------------------------------------*/
.news-list article:before,
.about-common:before,
.advisor-record-list:before,
.advisor-do-list dl:before,
.advisor-record-list dl:before,
.aspiration-care-service1-news:before,
.faq-list dl:before,
.news-table tr:before {
	display: block;
	content: '';
	position: absolute;
	top: -2rem;
	left: 0;
	background-color: var(--color-orange);
	width: 44rem;
	height: 2rem;
}

/* .dot-list
------------------------------------*/
.dot-list li,
ol li {
	position: relative;
	margin: 0 0 6rem 4rem;
	padding-left: 14rem;
	font-size: 14rem;
	line-height: 1.9;
	letter-spacing: 0.04em;
}

.dot-list.mb li { margin-bottom: 10rem; }
.dot-list li:last-of-type { margin-bottom: 0; }
.dot-list li:before { display: block; content: '・'; position: absolute; top: 0; left: 0; }

.dot-list.circle li:before {
	display: block;
	content: '';
	position: absolute;
	top: 10rem;
	left: 0;
	background-color: var(--color-text);
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
}

.modal .dot-list.circle li:before { background-color: #FFFFFF; }

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin: 0 0 10rem;
	padding-left: 20rem;
	font-size: 15rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.attention-list li:last-of-type { margin-bottom: 0; }
.attention-list li:before { display: block; content: '※'; position: absolute; top: 0; left: 0; }

/* ol
------------------------------------*/
ol li {
	list-style: decimal;
	margin: 0 0 6rem;
	padding-left: 0;
}

/* .link-list
------------------------------------*/
.link-list li:not(:last-of-type) { margin-bottom: 2rem; }

.link-list li a {
	display: inline-block;
	background: url(img/share/ico-arrow-orange-s.svg) no-repeat left 3rem top 10rem / 15rem auto;
	padding: 0 0 6rem 28rem;
	font-size: 13rem;
	line-height: 2.1;
	letter-spacing: 0.06em;
	text-decoration: underline;
	text-decoration-color: var(--color-orange);
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.4em;
}

_::-webkit-full-page-media, _:future, :root .link-list li a {
	background-position: left 3rem top 9rem;
}

/* .modal
------------------------------------*/
.modal {
	display: none;
	background: var(--color-orange) url(img/share/bg-pattern-orange.jpg) repeat left top / 200rem auto;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10010;
	opacity: 0;
}

.modal-inner {
	display: none;
	overflow-y: scroll;
	height: 100%;
	opacity: 0;
}

.modal-inner::-webkit-scrollbar,
.modal-advisor-interview-inner .txt::-webkit-scrollbar { width: 2px; }
.modal-inner::-webkit-scrollbar-track,
.modal-advisor-interview-inner .txt::-webkit-scrollbar-track { border-radius: 2px; background: none; }
.modal-inner::-webkit-scrollbar-thumb,
.modal-advisor-interview-inner .txt::-webkit-scrollbar-thumb { border-radius: 2px; background: #FFFFFF; }

.modal-close-btn {
	position: fixed;
	top: 0;
	right: 0;
	padding: 20rem;
	z-index: 2;
}

.modal-close-btn img {
	width: 34rem;
}


/* news archive
---------------------------------------------------------------------------*/
.news-list {
	margin: 0 27rem;
	font-family: var(--font-gothic-jp-b);
}

.news-list article {
	position: relative;
	border-top: 2rem solid var(--color-border);
}

.news-list article a {
	display: block;
	position: relative;
	padding: 23rem 0 15rem 117rem;
}

.news-list figure {
	position: absolute;
	top: 21rem;
	left: 3rem;
	width: 94rem;
}

.news-list figure:before {
	display: block;
	content: '';
	position: absolute;
	top: -6rem;
	left: -6rem;
	background: url(img/share/pic19.svg) no-repeat left top / 100% auto;
	width: 20rem;
	height: 26rem;
}

.news-list figure:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -12rem;
	right: -10rem;
	background: url(img/share/pic6.svg) no-repeat left top / 100% auto;
	width: 28rem;
	height: 28rem;
	transform: rotate(90deg);
}

.news-list figure picture {
	position: relative;
	display: block;
}

.news-list figure picture:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	border: max(2rem, 2px) solid var(--color-orange);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.news-list time {
	display: block;
	margin-bottom: 7rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 11rem;
	letter-spacing: 0.06em;
}

.news-list h3 {
	color: var(--color-orange);
	font-size: 16rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.news-list .category { margin-top: 9rem; }

.news-list .category span,
.news-title .post-categories li a {
	display: inline-block;
	border: max(1rem, 1px) solid var(--color-border-gray-dark);
	border-radius: 28rem;
	margin: 0 5rem 7rem 0;
	padding: 4rem 8rem 4rem 9rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 12rem;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

_::-webkit-full-page-media, _:future, :root .news-list .category span,
_::-webkit-full-page-media, _:future, :root .news-title .post-categories li a {
	padding-bottom: 2rem;
}


/* news single
---------------------------------------------------------------------------*/
.news-area {
	margin: 0 28rem;
}

/* .news-title
------------------------------------*/
.news-title {
	margin-bottom: 30rem;
	padding: 0 0 0 5rem;
	font-family: var(--font-gothic-jp-r);
}

.news-title time {
	display: inline-block;
	margin: 0 10rem 10rem 0;
	margin-left: 2rem;
	font-size: 12rem;
	letter-spacing: 0.08em;
}

.news-title .post-categories {
	display: inline-block;
	position: relative;
	margin-bottom: 4rem;
	transform: translateY(-1rem);
}

.news-title .post-categories li { display: inline-block; }

.news-title h1 {
	padding-top: 11rem;
	font-family: var(--font-gothic-jp-r);
	color: var(--color-orange);
	font-size: 19rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
	text-align: justify;
}

/* .post-main
------------------------------------*/
.post-main > * {
	font-family: var(--font-serif-jp) !important;
	padding: 0 5rem;
}

.post-main, .post-main h2, .post-main p {
	font-size: 14rem;
	line-height: 2;
	letter-spacing: 0.08em;
}

.post-main h2,
.news-table h3 {
	margin: 45rem 0 17rem;
	font-family: var(--font-serif-jp);
	color: var(--color-orange);
	font-size: 17rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.post-main > h2:first-child {
	margin-top: 0;
}

.post-main p {
	margin-bottom: 15rem;
	text-align: justify;
	word-break: break-all;
}

.post-main p:last-child { margin-bottom: 0; }
.post-main a { text-decoration: underline; word-break: break-all; }
/*.post-main strong { font-weight: bold; }*/
.post-main em { font-style: italic; }
.post-main del { text-decoration: line-through; }

.post-main img {
	display: block;
	max-width: calc(100% + 6rem);
	height: auto;
	margin: 35rem -3rem 30rem !important;
}

.faq-main img {
	margin: 25rem -3rem 20rem !important;
}

.post-main .wp-caption { max-width: 100%; margin-bottom: 40rem; }
.post-main .wp-caption-text { margin: -30rem 0 0; font-size: 12rem; }

.post-main .gallery > dl { width: 49.5% !important; margin-right: 1% !important; }
.post-main .gallery > dl:nth-child(even) { margin-right: 0 !important; }
.post-main .gallery a { pointer-events: none; }
.post-main .gallery img { border: none !important; width: 100% !important; margin: 0 !important; }

.post-main ul, .post-main ol { margin: 16rem 0 30rem; }
.post-main ul ul,
.post-main ul ol,
.post-main ol ul,
.post-main ol ol { margin: 6rem 0 16rem; }
.post-main ul { margin-left: 20rem; }
.post-main ol { margin-left: 10rem; }
.post-main ul li { list-style: disc; margin: 0 0 8rem 18rem; }
.post-main ol li { list-style: decimal; margin: 0 0 8rem 24rem; }
.post-main ul li li,
.post-main ol li li { margin-bottom: 3rem; }
.post-main ul li:last-of-type,
.post-main ol li:last-of-type { margin-bottom: 0; }
.post-main li:has(li) { margin-top: 22rem; }

.post-main blockquote { background: var(--color-bg-beige); margin: 30rem 0; padding: 18rem 24rem; text-align: justify; }
.post-main blockquote p { font-size: 13rem; line-height: 1.9; }

.post-main iframe { width: 840rem; height: 476rem; }
/*.post-main iframe { width: 100%; height: calc(85vw * 0.5625); }*/

/* .news-table
------------------------------------*/
.news-table {
	margin-top: 75rem;
	padding: 0 5rem;
}

.news-table h3 { margin: 80rem 0 20rem; }
.news-table h3:first-child { margin-top: 0; }

.news-table table {
	width: 100%;
	margin: 0 0 40rem;
}

.news-table table,
.news-table table p {
	font-size: 14rem;
	line-height: 1.85;
	letter-spacing: 0.08em;
}

.news-table tr {
	position: relative;
	display: block;
	border-top: max(1rem, 1px) solid var(--color-border);
}

.news-table tr:before { width: 30rem; }

.news-table th, .news-table td {
	padding-right: 5rem;
	padding-left: 5rem;
}

.news-table th {
	display: block;
	position: relative;
	margin-bottom: 8rem;
	padding-top: 8rem;
	text-align: left;
}

.news-table td {
	display: block;
	padding-bottom: 24rem;
}

.news-table table.right td { text-align: right; }

.news-table-attention {
	margin-top: -50rem;
	padding: 5rem 0;
	font-size: 12rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

/* .news-link
------------------------------------*/
.news-table + .post-link { margin-top: 40rem; }
.post-link { margin-top: 45rem; }
.post-link li { margin: 0 0 12rem; }
.post-link li a { display: block; }

/* .news-nav
------------------------------------*/
.news-nav {
	background: url(img/share/line-dot-black.svg) repeat-x left top / 6px auto;
	margin-top: 75rem;
	padding: 18rem 5rem 0;
}

.news-nav ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 35rem;
}

.news-nav li.next { text-align: right; }
.news-nav li a { display: inline-block; }

.news-nav li p {
	margin-bottom: 4rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 13rem;
	letter-spacing: 0.06em;
}

.news-nav li h2 {
	font-family: var(--font-gothic-jp-b);
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.1em;
}

/* .news-other
------------------------------------*/
.news-other {
	position: relative;
	margin: 120rem auto 0;
}

.news-other > h2 {
	margin: 0 0 30rem 27rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 16rem;
	letter-spacing: 0.1em;
}

.news-other .txt-link {
	position: absolute;
	top: -2rem;
	right: 27rem;
}

.news-other .txt-link a {
	display: inline-block;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-b);
	font-size: 14rem;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.2em;
	white-space: nowrap;
}


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin: 80rem 0 0 20rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 15rem;
	letter-spacing: 0.04em;
}

.wp-pagenavi,
.wp-pagenavi a { color: var(--color-orange); }
.wp-pagenavi .extend { display: none; }
.wp-pagenavi a { margin: 0 4rem; padding: 5rem; }

.wp-pagenavi .current {
	display: inline-block;
	border-bottom: max(1rem, 1px) solid var(--color-orange);
	margin: 0 8rem;
	padding: 5rem 0 2rem;
}


/* page top
---------------------------------------------------------------------------*/
body.top header,
#topContents .top-news-head,
#topContents .footer-scroll-wrap { opacity: 0; pointer-events: none; }

.top-main,
.top-policy {
	max-width: var(--scale-break-point);
	font-size: clamp(calc(var(--width-min)/var(--width-mid)), calc(100vw/var(--width-mid)), calc(var(--scale-break-point)/var(--width-mid)));
}

/* .top-sec-title
------------------------------------*/
.top-sec-title {
	position: relative;
	border-top: 2px solid #C9C9C9;
	margin: 0 27.5rem 35rem;
	padding: 35rem 0 0;
}

.top-sec-title:before {
	display: block;
	content: '';
	position: absolute;
	top: -2px;
	left: 0;
	background-color: var(--color-orange);
	width: 44rem;
	height: 2px;
}

.top-sec-title em {
	display: block;
	margin-bottom: 18rem;
	font-family: var(--font-avenir-r);
	font-size: 23rem;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.top-sec-title strong {
	display: block;
	font-family: var(--font-gothic-jp-r);
	color: var(--color-orange);
	font-size: 13rem;
	letter-spacing: 0.1em;
}

/* .top-main
------------------------------------*/
.top-main {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 75rem 0 160rem;
}

.slider-top1 {
	margin: 0 30rem 40rem 0;
	opacity: 0;
}

.slider-top2 {
	overflow: hidden;
	position: absolute !important;
	bottom: 93rem;
	right: 32rem;
	width: 100rem;
	height: 100rem;
	z-index: 0;
	opacity: 0;
}


.slider-top1,
.slider-top2 { clip-path: inset(50% 50% 50% 50%); }

.slider-top1.active,
.slider-top2.active { animation: top_main_img_mask 1.2s var(--easeInOutQuart) forwards; }

@keyframes top_main_img_mask {
	0% { clip-path: inset(50% 50% 50% 50%); }
	100% { clip-path: inset(0% 0% 0% 0%); }
}

.slider-top1 img,
.slider-top2 img { display: block; transform-origin: center center; transform: scale(0.6); }

.slider-top1.active img,
.slider-top2.active img { animation: top_main_img_mask_img 1.2s var(--easeOutQuart) .2s forwards; }

@keyframes top_main_img_mask_img {
	0% { scale: 0.8; }
	100% { transform: scale(1); }
}




.top-main h2 {
	margin: 0 0 13rem 35rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 21rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
	opacity: 0;
}

.top-main p {
	margin-left: 35rem;
	line-height: 2;
	letter-spacing: 0.14em;
	opacity: 0;
}

.top-main .pic { display: block; position: absolute; opacity: 0; }
.top-main .pic1 { top: 286rem; left: 0; }
.top-main .pic1 img { width: 55rem; }
.top-main .pic2 { bottom: 176rem; right: -12rem; }
.top-main .pic2 span { display: block; transform: rotate(180deg); }
.top-main .pic2 img { width: 65rem; }

/* .top-news-head
------------------------------------*/
.top-news-head {
	position: relative;
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 26rem;
	padding: 16rem 0 17rem;
}

.top-news-head-list {
	display: flex;
	overflow: hidden;
}

.top-news-head-list a {
	display: block;
	padding-right: 26rem;
	white-space: nowrap;
}

.top-news-head-list time {
	display: inline-block;
	margin-right: 7rem;
	color: var(--color-orange);
	font-family: var(--font-avenir-m);
	font-size: 15rem;
	letter-spacing: 0.08em;
}

.top-news-head-list h3 {
	display: inline-block;
	font-size: 14rem;
	letter-spacing: 0.08em;
}

/* .top-bg-wrap
------------------------------------*/
.top-bg-wrap {
	/*background: var(--color-orange) url(img/share/bg-pattern-orange.jpg) repeat left top / 200rem auto;*/
	background: var(--color-orange) url(img/share/bg-pattern-orange-dark.jpg) repeat left top / 200rem auto;
	margin: 15rem 0 75rem;
	opacity: 0;
}

/* .top-policy
------------------------------------*/
.top-policy {
	position: relative;
	margin: 0 auto 45rem;
	padding: 60rem 0rem 0;
	text-align: center;
	color: #FFFFFF;
}

.top-policy .txt h2 {
	margin-bottom: 30rem;
	font-size: 23rem;
	line-height: 1.75;
	letter-spacing: 0.16em;
	opacity: 0;
}

.top-policy .txt p {
	margin-bottom: 18rem;
	padding: 0 48rem;
	letter-spacing: 0.08em;
	text-align: justify;
	opacity: 0;
}

.top-policy .txt p br {
	display: none;
}

.policy-list {
	position: relative;
	margin: 42rem auto 80rem;
}

.policy-list li {
	position: relative;
	background-color: #FFFFFF;
	box-shadow: 1rem 4rem 17rem rgba(0, 0, 0, 0.15);
	border-radius: 11rem;
	padding: 19rem 18rem 17rem 22rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 13rem;
	line-height: 1.75;
	letter-spacing: 0.1em;
	text-align: justify;
	opacity: 0;
}

.policy-list li:before {
	display: block;
	content: '';
	position: absolute;
	bottom: -12rem;
	left: 26rem;
	background: #FFFFFF;
	width: 24rem;
	height: calc(tan(56deg) * 24rem / 2);
	clip-path: polygon(0% 0, 100% 0%, 0 100%);
}

.policy-list li:nth-of-type(1) { width: 213rem; margin: 0 0 30rem 136rem; }
.policy-list li:nth-of-type(2) { width: 247rem; margin: 0 0 30rem 26rem; }
.policy-list li:nth-of-type(3) { width: 239rem; margin: 0 0 35rem 95rem; }
.policy-list li:nth-of-type(4) { width: 341rem; margin: 0 0 30rem 17rem; }
.policy-list li:nth-of-type(5) { width: 274rem; margin: 0 0 40rem 83rem; }
.policy-list li:nth-of-type(6) { width: 322rem; margin: 0 0 40rem 29rem; }
.policy-list li:nth-of-type(7) { width: 246rem; margin: 0 0 45rem 82rem; }
.policy-list li:nth-of-type(8) { width: 313rem; margin: 0 0 0 31rem; }

.top-policy h3 {
	font-family: var(--font-gothic-jp-r);
	font-size: 19rem;
	line-height: 2.2;
	letter-spacing: 0.1em;
	text-align: center;
	text-decoration: underline;
	text-decoration-thickness: 1.5rem;
	text-underline-offset: 0.3em;
	opacity: 0;
}

/* .top-service
------------------------------------*/
.top-service {
	overflow: hidden;
	color: #FFFFFF;
}

.top-service > figure {
	max-width: var(--scale-break-point);
	margin: 0 auto 23rem;
}

.top-service-inner {
	max-width: var(--scale-break-point);
	margin: 0 auto;
}

.top-service-inner > h2 {
	margin: 0 0 26rem 21.5rem;
	font-family: var(--font-avenir-r);
	font-size: 21rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.top-service-inner > h2 em {
	display: block;
	margin-bottom: 0;
	font-family: var(--font-avenir-r);
	font-size: 25rem;
	letter-spacing: 0.15em;
}

.top-service-inner > h2 strong {
	display: block;
	font-family: var(--font-gothic-jp-r);
	font-size: 15rem;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.top-service-inner > p {
	margin-left: 48.5rem;
	line-height: 2.15;
	letter-spacing: 0.1em;
}

.top-service .nav-service-list {
	position: relative;
	margin-top: 60rem;
	padding: 0 20rem 10rem 30rem;
	gap: 0;
}

.top-service .nav-service-list .inner {
	display: block;
	position: relative;
	margin: 0 0 50rem;
	padding: 0;
}

.top-service .nav-service-list .inner a {
	display: block;
	position: relative;
	width: 100%;
	padding: 28rem 0 10rem;
}

.top-service .nav-service-list .inner figure {
	position: absolute;
	top: 0;
	right: 0;
	width: 150rem;
	margin: 0;
	z-index: 0;
}

.top-service .nav-service-list .inner figure:before {
	display: block;
	content: '';
	position: absolute;
	inset: 0;
	background: #FFFF7C;
	z-index: 2;
	opacity: 0.1;
	mix-blend-mode: overlay;
}

.top-service .nav-service-list .inner figure img {
	display: block;
	mix-blend-mode: overlay;
	position: relative;
	z-index: 1;
}

.top-service .nav-service-list .inner figure:after {
	display: block;
	content: '';
	position: absolute;
	inset: 0;
	background: var(--color-orange) url(img/share/bg-pattern-orange.jpg) repeat left top / 200rem auto;
	z-index: 0;
}

.top-service .nav-service-list .inner .txt {
	position: relative;
	z-index: 2;
}

.top-service .nav-service-list .inner em {
	margin-bottom: 14rem;
	font-family: var(--font-avenir-m);
	font-size: 10rem;
}

.top-service .nav-service-list .inner h3 {
	margin-bottom: 16rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 13rem;
}

.top-service .nav-service-list .inner h2 {
	display: inline-block;
	font-size: 19rem;
	letter-spacing: 0.06em;
}

.top-service .nav-service-list .inner h2 i {
	position: absolute;
	top: -53rem;
	right: 14rem;
	margin: 0;
	z-index: 2;
}

.top-service .nav-service-list .inner h2 i img {
	width: 23rem;
}

.top-service .nav-service-list .inner h2 b {
	font-size: 14rem;
}

.top-service .nav-service-list .inner h2 span {
	position: relative;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.2em;
}

.top-service .nav-service-list .inner h2 span:after {
	display: block;
	content: '';
	position: absolute;
	top: 2rem;
	right: -27rem;
	background: url(img/share/ico-arrow-white.svg) no-repeat left top / 100% auto;
	width: 20rem;
	height: 16rem;
}

.top-service .nav-service-list .inner .btn-link {
	display: none;
}

/* .top-message
------------------------------------*/
.top-message {
	margin: 0 auto 85rem;
}

.top-message figure {
	margin: 0 21rem 34rem;
}

.top-message .txt {
	padding: 0 37.5rem;
}

.top-message h2 {
	margin: 0 0 16rem 7rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 21rem;
	line-height: 1.85;
	letter-spacing: 0.1em;
	text-align: center;
}

.top-message p {
	text-align: justify;
}

.top-message p br {
	display: none;
}

.top-message .name {
	margin: 42rem 0 0;
}

.top-message .name h3 {
	margin-bottom: 20rem;
	font-size: 17rem;
	letter-spacing: 0.12em;
}

.top-message .name h4 {
	font-size: 14rem;
	line-height: 1.75;
	letter-spacing: 0.1em;
}

/* .top-voice
------------------------------------*/
.top-voice {
	overflow: hidden;
	margin: 0 auto 80rem;
}

.top-voice-list {
	position: relative;
	left: 0%;
	margin-left: 0rem;
	opacity: 0;
}

.voice-list-slide .slick-list {
	padding-left: 27.5rem;
}

.voice-list-slide .slick-arrow {
	position: absolute;
	top: -96rem;
	background: url(img/share/btn-arrow-orange.svg) no-repeat left top / 100% auto;
	width: 36rem;
	height: 36rem;
	text-indent: -9999px;
	opacity: 0;
}

.voice-list-slide .slick-prev { left: 266rem; transform: scaleX(-1) !important; }
.voice-list-slide .slick-next { left: 310rem; }

.voice-list-slide .slick-track {
	display: flex;
	align-items: flex-end;
}

.top-voice .voice-list article {
	width: 280rem !important;
	min-width: 280rem !important;
	margin-right: 35rem;
}

.top-voice .voice-list article .txt {
	position: relative;
	background-color: #F2F2F1;
	border-radius: 17rem;
	margin: 0 0 37rem;
	padding: 22rem 25rem 23rem;
}

.top-voice .voice-list article .txt:before {
	display: block;
	content: '';
	position: absolute;
	bottom: -20rem;
	left: 41rem;
	background: #F2F2F1;
	width: 23rem;
	height: calc(tan(60deg) * 30rem / 2);
	clip-path: polygon(0% 0, 100% 0%, 0 100%);
}

.top-voice .voice-list article .txt p {
	font-size: 13rem;
	line-height: 1.85;
	letter-spacing: 0.03em;
	text-align: justify;
}

.top-voice .voice-list article .profile {
	display: flex;
	align-items: center;
}

.top-voice .voice-list article .profile figure {
	align-self: flex-start;
	width: 92rem;
	min-width: 92rem;
	margin-right: 22rem;
}

.top-voice .voice-list article .profile figure img {
	border-radius: 50%;
}

.top-voice .voice-list article .profile h3 {
	margin-bottom: 5rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 11rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.top-voice .voice-list article .profile h4 {
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 17rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.top-voice .voice-list article .profile h5 {
	margin-top: 3rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 12rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

/* .top-news
------------------------------------*/
.top-news {
	overflow: hidden;
	margin: 0 auto;
}

.top-news .news-list {
	margin: -20rem 25rem 0;
}

.top-news .news-list article:before {
	display: none;
}

.top-news .news-list article:first-of-type {
	border-top: none;
}

.top-news > .btn-link {
	margin: 20rem 27.5rem 0;
}


/* page news
---------------------------------------------------------------------------*/
#newsContents {
	position: relative;
	z-index: 2;
}

/* .news-header
------------------------------------*/
.news-header {
	margin-bottom: 50rem;
}

.news-header .title-page {
	width: auto;
	margin: 0 45rem 0 0;
	white-space: nowrap;
}

.news-header .btn-select {
	overflow: hidden;
	position: absolute;
	top: 23rem;
	right: 27rem;
}

.news-header .btn-select select {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	cursor: pointer !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 2;
}

.news-header .btn-select .customSelect {
	display: block;
	width: 100%;
	font-family: var(--font-gothic-jp-b);
	font-size: 14rem;
	letter-spacing: 0.08em;
	text-align: left;
}

.news-header .btn-select .customSelect .customSelectInner {
	background: url(img/share/ico-search.svg) no-repeat left 12rem center / 14rem auto;
  border: max(1rem, 1px) solid var(--color-text);
	border-radius: 20rem;
	width: 100% !important;
	padding: 7rem 9rem 5rem 32rem;
	/* transform-origin: right bottom; */
	/* transform: scale(0.75); */
}


/* page about
---------------------------------------------------------------------------*/

/* .about-lead
------------------------------------*/
.about-lead {
	position: relative;
	margin: 0 auto 90rem;
	padding: 150rem 0 0 34rem;
}

.about-lead h2 {
	position: absolute;
	top: 0;
	right: 36rem;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.about-lead h2 strong {
	display: block;
}

.about-lead h2 strong img {
	width: 62rem;
}

.about-lead h2 em {
	display: block;
	position: absolute;
	top: 1rem;
	left: -35rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 15rem;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.about-lead p {
	margin-bottom: 13rem;
	font-family: var(--font-serif-jp);
	line-height: 1.9;
	letter-spacing: 0.13em;
}

/* .about-common
------------------------------------*/
.about-common {
	position: relative;
	border-top: 2rem solid var(--color-border);
	width: 320rem;
	margin: 0 auto 60rem;
	padding: 20rem 0 0;
}

.about-common:last-of-type { margin-bottom: 0; }

.about-common h2 {
	margin-bottom: 38rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 18rem;
	letter-spacing: 0.04em;
}

.about-common-inner {
	padding: 0 17rem 0 19rem;
}

.about-common-inner p,
.about-value .inner .box li {
	margin-bottom: 10rem;
	font-size: 14rem;
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: justify;
}

.about-common-inner p br { display: none; }

/* .about-value
------------------------------------*/
.about-value {
	margin-bottom: 70rem;
}

.about-value .inner {
	position: relative;
	margin-right: -10rem;
}

.about-value .inner button {
	display: block;
	width: 100%;
	margin-bottom: 14rem;
	text-align: left;
}

.about-value .inner h3 {
	position: relative;
	border-bottom: 1px solid var(--color-border);
	padding: 8rem 0 9rem 30rem;
}

.about-value .inner h3 .num {
	display: block;
	position: absolute;
	top: 12rem;
	left: 5rem;
	font-family: var(--font-optima-r);
	font-size: 19rem;
	letter-spacing: 0.06em;
	transform: translateY(-2rem);
}

_::-webkit-full-page-media, _:future, :root .about-value .inner h3 .num {
	transform: translateY(max(1rem, 1px));
}

.about-value .inner .btn-ac .plus {
	position: absolute;
	top: 12rem;
	right: 10rem;
	width: 13rem;
	height: 13rem;
	transition: .8s var(--easeOutQuint);
	transform: rotate(0deg);
}

.about-value .inner .btn-ac.active .plus { transform: rotate(225deg); }

.about-value .inner .btn-ac .plus:before,
.about-value .inner .btn-ac .plus:after {
	display: block;
	content: '';
	position: absolute;
	background-color: var(--color-orange);
}

.about-value .inner .btn-ac .plus:before { top: 0; left: 6rem; width: max(1rem, 1px); height: 100%; }
.about-value .inner .btn-ac .plus:after { top: 6rem; left: 0; width: 100%; height: max(1rem, 1px); }

.about-value .inner h3 strong {
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 16rem;
	letter-spacing: 0.06em;
}

.about-value .inner .detail { display: none; padding: 0 0 50rem 30rem; }
.about-value .inner:last-child .detail { padding-bottom: 0; }
.about-value .inner .detail > p { line-height: 1.9; }
.about-value .inner .detail > p:first-child { padding-top: 10rem; }

.about-value .inner .box {
	border: max(1rem, 1px) solid var(--color-border);
	border-radius: 6rem;
	margin-top: 34rem;
	padding: 28rem 25rem 15rem 25rem;
}

.about-value .inner .box h4 {
	margin-bottom: 18rem;
	color: var(--color-orange);
	font-size: 15rem;
	letter-spacing: 0.12em;
}

.about-value .inner .box li {
	margin-bottom: 10rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

/* .about-activities
------------------------------------*/
.about-activities {
	margin-bottom: 65rem;
}

.about-activities ul {
	margin-top: 40rem;
}

.about-activities li {
	margin-bottom: 22rem;
}

.about-activities li a {
	display: block;
	position: relative;
	padding: 4rem 0 0 38rem;
}

.about-activities li i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/ico-arrow-orange.svg) no-repeat left top / 100% auto;
	width: 25rem;
	height: 25rem;
}

.about-activities li span { display: inline-block; }

.about-activities li strong {
	display: block;
	margin-bottom: -4rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 17rem;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.2em;
}

.about-activities li em {
	display: block;
	font-family: var(--font-gothic-jp-r);
	font-size: 13rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.about-activities li:last-of-type em { white-space: nowrap; }

/* .about-us
------------------------------------*/
.about-us h2 {
	margin-bottom: 45rem;
}

.about-us .inner {
	position: relative;
	border-top: 1px solid var(--color-border);
	margin: 0 -17rem 0 0;
	padding: 60rem 20rem 50rem 20rem;
}

.about-us .inner:last-of-type { padding-bottom: 0; }

.about-us .inner h3 {
	position: absolute;
	top: 12rem;
	left: 0;
	color: var(--color-orange);
	font-size: 15rem;
	letter-spacing: 0.12em;
}

/* .about-us .career
------------------------------------*/
.about-us .career dl {
	margin-bottom: 14rem;
	font-size: 14rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.about-us .career dl:last-child { margin-bottom: 0; }

.about-us .career dt {
	font-size: 12rem;
	opacity: 0.4;
}

/* .about-us .sns
------------------------------------*/
.about-us .sns dl { position: relative; }
.about-us .sns dl:not(:last-of-type) { margin-bottom: 38rem; }

.about-us .sns dt {
	position: absolute;
	top: 8rem;
	left: -60rem;
	font-family: var(--font-avenir-m);
	font-size: 13rem;
	letter-spacing: 0.06em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.about-us .sns dd .link-list {
	margin-top: 14rem;
}

/* .about-us .outline
------------------------------------*/
.about-us .outline {
	padding-top: 64rem;
}

.about-us .outline .txt h4 {
	margin-bottom: 18rem;
	font-size: 14rem;
	letter-spacing: 0.08em;
}

.about-us .outline .txt dl + h4 {
	margin-top: 35rem;
}

.about-us .outline .txt dl {
	display: flex;
	margin-bottom: 4rem;
	font-size: 14rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.about-us .outline .txt dt {
	width: 65rem;
	min-width: 65rem;
	opacity: 0.4;
}

.about-us .outline .txt .btn-link {
	margin-top: 30rem;
}

.about-us .outline .profile {
	position: relative;
	margin-top: 60rem;
	padding: 56rem 0 0 134rem;
	white-space: nowrap;
}

.about-us .outline .profile figure {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 115rem;
}

.about-us .outline .profile figure img {
	border-radius: 4rem;
}

.about-us .outline .profile h4 {
	margin: 0 0 8rem;
	font-size: 16rem;
	letter-spacing: 0.08em;
}

.about-us .outline .profile h5 {
	margin-left: -1rem;
	font-size: 12rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.about-us .outline .profile h5:not(:last-child) {
	margin-bottom: 8rem;
}


/* page service
---------------------------------------------------------------------------*/
#service-faq { margin-top: -1rem; padding-top: 1rem; }
#service-news { margin-top: -1rem; padding-top: 1rem; }

/* .service-lead
------------------------------------*/
.service-lead {
	position: relative;
	margin: 0 auto;
	padding: 0;
}

.service-lead .title-page {
	width: auto;
	margin-bottom: 18rem;
	padding-top: 20rem;
}

.service-lead > h2,
.service-lead > p {
	padding: 0 30rem 0 32rem;
}

.service-lead > h2 {
	margin: 0 0 14rem -2rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 20rem;
	line-height: 1.7;
	letter-spacing: 0.02em;
}

.service-lead > h2:not(:first-of-type) { margin-top: 50rem; }

.service-lead > p {
	margin-bottom: 10rem;
	font-size: 14rem;
	letter-spacing: 0.06em;
	text-align: justify;
}

.service-lead > p br {
	display: none;
}

/* .service-nav-page
------------------------------------*/
.service-nav-page {
	display: block !important;
	margin: 0 32rem 50rem;
	white-space: nowrap;
}

.service-nav-page ul {
	display: inline-block;
	vertical-align: top;
}

.service-nav-page ul:first-of-type {
	margin-right: 5rem;
}

.service-nav-page li {
	margin-bottom: 3rem;
}

.service-nav-page li a {
	display: inline-block;
	background: url(img/share/ico-arrow-down-line.svg) no-repeat left 2rem top 9rem / 12rem auto;
	padding: 2rem 8rem 5rem 23rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.1em;
}

/* .service-common
------------------------------------*/
.service-common {
	position: relative;
	padding: 42rem 0 0;
}

.service-common .title-page {
	width: auto;
}

.service-common .title-page em { font-size: 12rem; }
.service-common .title-page h2 { font-size: 21rem; letter-spacing: 0.04em; }
.service-common .title-page .link { margin-top: 26rem; }

.service-common .title-page .link a {
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	letter-spacing: 0.12em;
	text-decoration: none !important;
}

.service-common .title-page .link a span {
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.1em;
	white-space: nowrap;
}

/* .service-faq
------------------------------------*/
.service-faq { margin: 50rem auto 0; }
.service-faq .faq-list { margin: 0 30rem; }

/* .service-news
------------------------------------*/
.service-news { margin: 35rem auto 0; }
.service-news .title-page { margin-bottom: 28rem; }

.service-news .title-page .link {
	position: absolute;
	top: 47rem;
	right: 35rem;
}

.service-news .news-list { gap: 0 33rem; width: auto; }
.service-news .news-list .category { display: none; }

/* .service-nav
------------------------------------*/
.service-nav {
	border-top: max(1rem, 1px) solid var(--color-border);
	margin: 70rem auto 0;
	padding: 70rem 37rem 0;
}

.service-nav > h2 {
	margin-bottom: 21rem;
	color: var(--color-orange);
	font-family: var(--font-avenir-r);
	font-size: 23rem;
	letter-spacing: 0.12em;
}

.service-nav > p {
	font-size: 14rem;
	letter-spacing: 0.08em;
	text-align: justify;
}

.service-nav .nav-service-list {
	margin-top: 34rem;
}

.service-nav .nav-service-list .inner a {
	color: var(--color-text);
	white-space: nowrap;
}

.service-nav .nav-service-list .inner h2 {
	color: var(--color-orange);
}

.service-nav .nav-service-list .inner h2 span {
	display: inline-block;
	position: relative;
	padding-bottom: 1px;
}

.service-nav .nav-service-list .inner h2 span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-orange);
	width: calc(100%);
	height: 1px;
}

.service-nav .nav-service-list .inner h2 span b {
	font-size: 12rem;
}

.service-nav .nav-service-list .inner h2 i { display: none; }

/* .bnr-contact
------------------------------------*/
.bnr-contact { margin: 80rem 20rem 0; }
.bnr-contact img { width: 100%; }


/* page danran
---------------------------------------------------------------------------*/
#danran-lead {
	margin-top: -15rem;
	padding-top: 15rem;
}

#danran-job {
	margin-top: -100rem;
	padding-top: 100rem;
}

#danran-point {
	margin-top: 0rem;
	padding-top: 0rem;
}

#danran-graduate {
	margin-top: -80rem;
	padding-top: 80rem;
}

#danran-profile {
	margin-top: -20rem;
	padding-top: 20rem;
}

#danran-sns {
	margin-top: -20rem;
	padding-top: 20rem;
}

/* .danran-lead
------------------------------------*/
.danran-lead {
	margin-bottom: 80rem;
}

.danran-lead .box {
	position: relative;
	background: url(img/share/bg-pattern-grid.jpg) repeat left top / 37rem auto;
	border-radius: 6rem;
	margin: 40rem 25rem 0;
	padding: 50rem 32rem 50rem;
}

.danran-lead .box h3 {
	margin-bottom: 25rem;
	font-family: var(--font-gothic-jp-m);
	color: var(--color-orange);
	font-size: 18rem;
	letter-spacing: 0.04em;
}

.danran-lead .box h4 {
	margin: 0 0 13rem;
}

.danran-lead .box h4 img {
	width: 66rem;
}

.danran-lead .box .dot-list {
	margin-bottom: 22rem;
}

.danran-lead .box p {
	margin-left: 7rem;
	font-size: 17rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

/* .danran-job
------------------------------------*/
.danran-job {
	margin: 0 0 100rem;
	text-align: center;
}

.danran-job-inner {
	margin: 0 auto;
}

.danran-job h2 {
	margin-bottom: 7rem;
	margin-left: -4rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 27rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.danran-job h2 strong {
	display: inline-block;
  background-image: repeating-linear-gradient(90deg, var(--color-orange), var(--color-orange) 4px, transparent 4px, transparent 6px), repeating-linear-gradient(180deg, var(--color-orange), var(--color-orange) 4px, transparent 4px, transparent 6px), repeating-linear-gradient(90deg, var(--color-orange), var(--color-orange) 4px, transparent 4px, transparent 6px), repeating-linear-gradient(180deg, var(--color-orange), var(--color-orange) 4px, transparent 4px, transparent 6px);
  background-position: left -2px top, right top -4px, left -2px bottom, left top -2px;
  background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
  background-size: calc(100% * 6) 2px, 2px calc(100% * 6), calc(100% * 6) 2px, 2px calc(100% * 6);
	padding: 8rem 12rem 2rem 13rem;
	line-height: 1;
	letter-spacing: 0.08em;
}

_::-webkit-full-page-media, _:future, :root .danran-job h2 strong {
	padding-top: 6rem;
}

.danran-job h2 i { padding: 0 4rem 0 7rem; }
.danran-job h2 .stretch { width: auto; }

.danran-job-inner > p {
	font-family: var(--font-gothic-jp-m);
	line-height: 1.9;
	letter-spacing: 0.06em;
}

.danran-job .job-list {
	margin: 40rem 37rem 0;
	text-align: left;
}

.danran-job .job-list .inner {
	position: relative;
	padding: 0 5rem;
}

.danran-job .job-list .inner:not(:last-child) {
	margin-bottom: 55rem;
}

.danran-job .job-list figure {
	border: 3rem solid #000000;
	margin: 0 -5rem 26rem;
}

.danran-job .job-list h3 {
	margin-bottom: 6rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 20rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.danran-job .job-list h4 {
	margin-bottom: 15rem;
	margin-left: 1rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 15rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.danran-job .job-list h4 i {
	display: none;
}

.danran-job .job-list h3 span,
.danran-job .job-list h4 span {
	transform: scaleX(1.04) translateX(0);
}

.danran-job .job-list li {
	margin-bottom: 0rem;
	letter-spacing: 0.08em;
}

.danran-job .job-list .attention {
	margin-top: 10rem;
	font-size: 13rem;
	text-align: left;
}

/* .danran-point
------------------------------------*/
.danran-point,
.aspiration-care-service-inner {
	position: relative;
	background-color: var(--color-bg-beige);
	border-radius: 40rem;
	margin: 0 auto 80rem;
	padding: 80rem 20rem 60rem;
}

.danran-point-inner,
.aspiration-care-service-inner section {
	position: relative;
	padding: 20rem 10rem 80rem;
}

.danran-point-inner:not(:first-child),
.aspiration-care-service-inner section:not(:first-child) { border-top: 3rem solid var(--color-orange); }

.danran-point-inner h2 {
	margin: 0 0 30rem;
}

.danran-point-inner h2 strong {
	display: block;
	margin-left: -1rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 24rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
	width: 94%;
	transform-origin: left center;
	transform: scaleX(1.04);
}

.danran-point-inner h2 strong.let { letter-spacing: 0; }

.danran-point-inner h2 em {
	display: block;
	margin-top: 12rem;
	margin-left: 1rem;
	font-family: var(--font-avenir-m);
	font-size: 13.5rem;
	letter-spacing: 0.06em;
}

.danran-point-inner .pic { display: block; position: absolute; }

.danran-point-inner h3 {
	margin-bottom: 48rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 17rem;
	line-height: 1.75;
	letter-spacing: 0.02em;
	text-align: justify;
}

/* .danran-point1
------------------------------------*/
.danran-point1 {
	padding-bottom: 70rem;
}

.danran-point1 table { width: 100%; }

.danran-point1 th {
	font-family: var(--font-gothic-jp-m);
}

.danran-point1 thead th {
	padding: 0 0 14rem 4rem;
	font-size: 16rem;
	letter-spacing: 0.04em;
}

.danran-point1 thead th:nth-of-type(2) {
	display: none;
}

.danran-point1 thead th i {
	display: inline-block;
	margin-right: 10rem;
}

.danran-point1 tbody tr {
	border-top: max(1rem, 1px) solid #000000;
}

.danran-point1 tbody th {
	display: block;
	background: url(img/share/pic-check-box.svg) no-repeat left 6rem top 14rem / 18rem auto;
	padding: 12rem 0 18rem 35rem;
	font-size: 15rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.danran-point1 tbody td {
	display: block;
	padding: 0 10rem 40rem 6rem;
}

.danran-point1 tbody tr:last-of-type td {
	padding-bottom: 0;
}

.danran-point1 tbody td h4 {
	margin: 0 0 12rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 13rem;
	letter-spacing: 0.04em;
}

.danran-point1 tbody td h4 i {
	display: inline-block;
	margin-right: 5rem;
}

.danran-point1 tbody td h4 span {
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.1em;
}

.danran-point1 tbody td li {
	margin-left: 5rem;
	margin-bottom: 2rem;
	line-height: 1.6;
	text-align: justify;
}

.danran-point1 .pic1 { top: -90rem; left: -20rem; width: 58rem; }
.danran-point1 .pic2 { bottom: 570rem; right: -40rem; width: 58rem; }

/* .danran-point2
------------------------------------*/
.danran-point2 h4 {
	margin: 0 0 18rem -1rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 15rem;
	letter-spacing: 0.1em;
}

.danran-point2 h4 i {
	display: inline-block;
	font-size: 18rem;
	transform: translateY(max(1rem, 1px));
}

.danran-point2 h4 i:first-of-type { padding-right: 8rem; }
.danran-point2 h4 i:last-of-type { padding-left: 10rem; }

.danran-point2 .flow {
	background-color: #FFFFFF;
	border: max(1rem, 1px) solid var(--color-border);
	border-radius: 12rem;
	margin: 0 -10rem;
	padding: 46rem 34rem 46rem;
}

.danran-point2 .list > div {
	position: relative;
	margin-bottom: 36rem;
	padding: 0 0 0 28rem;
}

.danran-point2 .list i {
	display: block;
	position: absolute;
	top: 24rem;
	left: 0;
}

.danran-point2 .list i img { width: 12rem; }

.danran-point2 .list h5 {
	margin: 0 0 9rem -2rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 12rem;
	letter-spacing: 0.12em;
}

.danran-point2 .list h6 {
	margin-bottom: 7rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 17rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.danran-point2 .list ul {
	margin-right: -20rem;
	margin-left: -2rem;
}

.danran-point2 .list li {
	margin-bottom: 0;
	font-size: 15rem;
	white-space: nowrap;
}

.danran-point2 .list li span,
.danran-point2 .list2 li span {
	font-size: 11rem;
	letter-spacing: 0.04em;
}

.danran-point2 .list2 {
	background: url(img/share/line-dot-black.svg) repeat-x left top / 6rem auto;
	margin: 45rem -8rem 0;
	padding: 18rem 2rem 0;
}

.danran-point2 .list2 h5 {
	margin-bottom: 17rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 15rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.danran-point2 .list2 .list-wrap ul:first-of-type { margin-right: 35rem; }

.danran-point2 .list2 li {
	margin-bottom: 1rem;
}

.danran-point2 .list2 .message {
	display: inline-block;
	margin: 35rem 0 0;
	font-size: 16rem;
	letter-spacing: 0.1em;
}

.danran-point2 .list2 .message strong {
	display: block;
	margin-top: 14rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 22rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.danran-point2 .list2 .message strong span {
	text-decoration: underline;
	text-decoration-thickness: max(2rem, 2px);
	text-underline-offset: 0.2em;
}

.danran-point2 .pic1,
.danran-point2 .pic2 { display: none; }

/* .danran-point3
------------------------------------*/
.danran-point3 .inner1 {
	padding: 10rem 0 35rem 10rem;
}

.danran-point3 .inner1 h3 { margin-bottom: 8rem; }
.danran-point3 .inner1 h3:not(:first-of-type) { margin-top: 25rem; }

.danran-point3 .inner1 h3 strong {
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 16rem;
	letter-spacing: 0.06em;
}

.danran-point3 .inner1 .num {
	font-size: 19rem;
	letter-spacing: 0.08em;
}

.danran-point3 .inner1 .num strong {
	display: inline-block;
	margin-right: 5rem;
	font-family: var(--font-optima-nova-r);
	font-size: 36rem;
	letter-spacing: 0;
}

.danran-point3 .inner1 .num strong i {
	padding: 0 2rem;
}

.danran-point3 .inner1 .num span {
	padding-left: 8rem;
	font-size: 14rem;
}

.danran-point3 .inner1 p {
	margin-top: 12rem;
	font-family: var(--font-gothic-jp-r);
	line-height: 1.75;
}

.danran-point3 .inner1 .list-wrap ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 0;
}

.danran-point3 .inner1 li {
	margin-bottom: 0;
	margin-left: 0;
	padding-left: 10rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 14rem;
}

.danran-point3 .inner2 {
	align-self: flex-start;
	background-color: #FFFFFF;
	border: max(1rem, 1px) solid var(--color-border);
	border-radius: 12rem;
	margin: 0 5rem;
	padding: 34rem 42rem 22rem 32rem;
}

.danran-point3 .inner2 h3 {
	margin-bottom: 25rem;
}

.danran-point3 .inner2 h3 strong {
	font-size: 18rem;
	letter-spacing: 0.06em;
}

.danran-point3 .inner2 h3 em {
	display: block;
	margin-left: 1rem;
	color: var(--color-text);
	font-family: var(--font-avenir-m);
	font-size: 12rem;
	letter-spacing: 0.08em;
}

.danran-point3 .inner2 ol {
	margin: 0 -3rem 0 -2rem;
}

.danran-point3 .inner2 li {
	position: relative;
	list-style: none;
	margin-bottom: 12rem;
	padding: 0 0 0 24rem;
	font-size: 16rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-align: justify;
}

.danran-point3 .inner2 li i {
	display: block;
	position: absolute;
	top: 2rem;
	left: 0;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 17rem;
}

.danran-point3 .inner2 li strong {
	display: inline-block;
	background-color: var(--color-yellow-marker);
	line-height: 1;
}

.danran-point3 .inner2 li span {
	display: block;
	margin-top: 2rem;
	font-size: 12rem;
}

.danran-point3 .pic1 { top: 87rem; right: -20rem; width: 68rem; }

/* .danran-graduate
------------------------------------*/
.danran-graduate {
	border: max(1rem, 1px) solid #000000;
	margin: 0 auto;
}

.danran-graduate h2 {
	background-color: #FFF6E7;
	padding: 22rem 20rem 19rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 17rem;
	letter-spacing: 0.04em;
	border-bottom: max(1rem, 1px) solid #000000;
}

.danran-graduate .list {
	background-color: #FFFFFF;
}

.danran-graduate .list > div:not(:last-of-type) { border-bottom: max(1rem, 1px) solid #000000; }

.danran-graduate .list > div {
	position: relative;
	padding: 30rem 20rem 25rem 127rem;
}

.danran-graduate .list figure {
	position: absolute;
	top: 25rem;
	left: 20rem;
	width: 85rem;
}

.danran-graduate .list h3 {
	margin-bottom: 14rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 16rem;
	letter-spacing: 0.04em;
}

.danran-graduate .list h3 em {
	padding-left: 6rem;
	font-size: 16rem;
}

.danran-graduate .list h4 {
	margin: 0 0 9rem 1rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 12rem;
	line-height: 1.55;
	letter-spacing: 0.04em;
}

/* .danran-graduate .list h4 strong {
	color: var(--color-orange);
} */

.danran-graduate .list p {
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: justify;
}

.danran-graduate .list .btn-link {
	width: 100%;
	margin: 5rem 0 0;
}

/* .modal-danran-graduate
------------------------------------*/
.modal-danran-graduate * {
	color: #FFFFFF;
}

.modal-danran-graduate-inner figure {
	position: relative;
}

.modal-danran-graduate-inner figure:before {
  content: '';
  position: absolute;
  inset: 0;
  background: #FFFF7C;
	z-index: 2;
  opacity: 0.3;
	mix-blend-mode: overlay;
	transition: .6s ease-out;
}

.modal-danran-graduate-inner figure:after {
	display: block;
	content: '';
	position: absolute;
	inset: 0;
	background: var(--color-orange) url(img/share/bg-pattern-orange.jpg) repeat left top / 200rem auto;
	z-index: 0;
	opacity: 0;
	transition: .6s ease-out;
}

.modal-danran-graduate-inner figure.overlay:after { opacity: 1; }
.modal-danran-graduate-inner figure.overlay.color:before,
.modal-danran-graduate-inner figure.overlay.color:after { opacity: 0; }

.modal-danran-graduate-inner figure:nth-of-type(1).overlay.color:after { transition: .6s ease-out 0s; }
.modal-danran-graduate-inner figure:nth-of-type(2).overlay.color:after { transition: .6s ease-out .1s; }
.modal-danran-graduate-inner figure:nth-of-type(3).overlay.color:after { transition: .6s ease-out .2s; }
.modal-danran-graduate-inner figure:nth-of-type(4).overlay.color:after { transition: .6s ease-out .3s; }
.modal-danran-graduate-inner figure:nth-of-type(5).overlay.color:after { transition: .6s ease-out .4s; }
.modal-danran-graduate-inner figure:nth-of-type(6).overlay.color:after { transition: .6s ease-out .5s; }
.modal-danran-graduate-inner figure:nth-of-type(7).overlay.color:after { transition: .6s ease-out .6s; }
.modal-danran-graduate-inner figure:nth-of-type(8).overlay.color:after { transition: .6s ease-out .7s; }
.modal-danran-graduate-inner figure:nth-of-type(9).overlay.color:after { transition: .6s ease-out .8s; }
.modal-danran-graduate-inner figure:nth-of-type(10).overlay.color:after { transition: .6s ease-out .9s; }

.modal-danran-graduate-inner .profile figure:before,
.modal-danran-nav .list button figure:before { border-radius: 50%; }

.modal-danran-graduate-inner figure img { display: block; position: relative; z-index: 1; }
.modal-danran-graduate-inner figure.overlay img { mix-blend-mode: overlay; }

.modal-danran-graduate h2 {
	position: fixed;
	top: 80rem;
	right: 20rem;
	font-family: var(--font-gothic-jp-m-v);
	font-size: 17rem;
	letter-spacing: 0;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	z-index: 2;
}

.modal-danran-graduate h2:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -15rem;
	right: -11rem;
	background: url(img/share/pic-voice.svg) no-repeat left top / 100% auto;
	width: 7rem;
	height: 35rem;
}

.modal-danran-graduate-inner {
	display: none;
	overflow-y: scroll;
	min-width: var(--width-min);
	padding: 75rem 54rem 52rem 30rem;
	opacity: 0;
}

.modal-danran-graduate-inner .profile {
	display: flex;
	align-items: center;
	margin-bottom: 30rem;
}

.modal-danran-graduate-inner .profile figure {
	border-radius: 50%;
	width: 90rem;
	min-width: 90rem;
	margin-right: 20rem;
	margin-left: -10rem;
}

.modal-danran-graduate-inner .profile figure img {
	width: 100%;
	border-radius: 50%;
}

.modal-danran-graduate-inner .profile h3 {
	margin-top: 4rem;
}

.modal-danran-graduate-inner .profile h3 strong {
	display: block;
	margin-bottom: 12rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 20rem;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.modal-danran-graduate-inner .profile h3 strong b {
	display: inline-block;
	border: 1px solid #FFFFFF;
	margin-bottom: 14rem;
	margin-right: 16rem;
	padding: 5rem 4rem 2rem 5rem;
	font-size: 12rem;
	letter-spacing: 0.05em;
}

.modal-danran-graduate-inner .profile h3 strong span {
	padding-left: 5rem;
	font-size: 13rem;
}

.modal-danran-graduate-inner .profile h3 em {
	display: block;
	font-family: var(--font-gothic-jp-r);
	font-size: 13rem;
	letter-spacing: 0.08em;
}

.modal-danran-graduate-inner .txt p {
	font-size: 14rem;
	line-height: 1.9;
	letter-spacing: 0.04em;
	text-align: justify;
}

.modal-danran-graduate-inner .txt > p {
	padding-right: 25rem;
}

.modal-danran-graduate-inner .txt .dot-list li {
	margin-bottom: 4rem;
}

.modal-danran-graduate-inner .dl {
	margin: 45rem 0 60rem;
}

.modal-danran-graduate-inner dl {
	padding-left: 38rem;
}

.modal-danran-graduate-inner dl:not(:last-child) {
	margin-bottom: 24rem;
}

.modal-danran-graduate-inner dt {
	position: relative;
	font-family: var(--font-gothic-jp-m);
	margin-bottom: 7rem;
	font-size: 15rem;
	line-height: 1.75;
	letter-spacing: 0.1em;
}

.modal-danran-graduate-inner dt:before {
	display: block;
	content: '';
	position: absolute;
	top: 3rem;
	left: -36rem;
	background: url(img/share/ico-q-yellow.svg) no-repeat left top / 100% auto;
	width: 23rem;
	height: 18rem;
}

.modal-danran-graduate-inner .link-work {
	position: relative;
	margin: 45rem 0 0;
	padding: 5rem 0 0 80rem;
	font-family: var(--font-gothic-jp-m);
}

.modal-danran-graduate-inner .link-work i {
	display: block;
	position: absolute;
	top: 15rem;
	left: -10rem;
}

.modal-danran-graduate-inner .link-work i img {
	width: 70rem;
}

.modal-danran-graduate-inner .link-work h4 {
	margin-bottom: 8rem;
	font-size: max(11rem, 11px);
	letter-spacing: 0.12em;
}

.modal-danran-graduate-inner .link-work h5 {
	margin-bottom: 8rem;
	font-size: 15rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.modal-danran-graduate-inner .link-work li {
	display: inline-block;
	margin: 0 2rem 6rem 0;
}

.modal-danran-graduate-inner .link-work li a {
	font-size: 12rem;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.modal-danran-nav {
	margin: 80rem 0 0;
	font-family: var(--font-gothic-jp-m);
}

.modal-danran-nav.narrow {
	display: block !important;
}

.modal-danran-nav h3 {
	margin: 0 0 25rem -4rem;
	font-size: 15rem;
	letter-spacing: 0.15em;
}

.modal-danran-nav .list {
	margin-bottom: 30rem;
}

.modal-danran-nav .list button {
	position: relative;
	width: 100%;
	text-align: left;
	white-space: nowrap;
}

.modal-danran-nav .list button:not(:last-of-type) {
	background: url(img/share/line-dot-white.svg) repeat-x left bottom / 6px auto;
	margin-bottom: 22rem;
	padding-bottom: 24rem;
}

.modal-danran-nav .list button > span {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.modal-danran-nav .list button h4 {
	width: 100%;
}

.modal-danran-nav .list button h4 em {
	display: block;
	margin: 0 0 10rem 1rem;
	font-size: 12rem;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.modal-danran-nav .list button h4 em br { display: none; }

.modal-danran-nav .list button h4 strong {
	display: inline-block;
	position: relative;
	padding-bottom: max(1rem, 1px);
	font-size: 19rem;
	letter-spacing: 0.08em;
}

.modal-danran-nav .list button h4 strong:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: max(1rem, 1px);
}

.modal-danran-nav .list button h4 strong:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFFFFF;
	width: 0;
	height: max(1rem, 1px);
	transition: .3s var(--easeOutQuart);
}

.modal-danran-nav .list button h4 span {
	font-size: 10rem;
	letter-spacing: 0.04em;
}

.modal-danran-nav .list button figure {
	width: 78rem;
	min-width: 78rem;
	margin-right: 20rem;
}

.modal-danran-nav .list button figure:after { transition: .3s var(--easeOutQuad); }

.modal-danran-nav .list button figure img { border-radius: 50%; }

.modal-danran-nav .modal-close {
	border: 1px solid #FFFFFF;
	width: 100%;
	padding: 15rem 12rem 11rem 15rem;
	font-size: 16rem;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
}

.modal-danran-graduate-inner .img {
	
}

.modal-danran-graduate-inner .img figure:not(:last-child) { margin-bottom: 10rem; }

/* .danran-profile
------------------------------------*/
.danran-profile {
	overflow: hidden;
	width: 100%;
}

.danran-profile .img {
	position: relative;
	margin: 0 auto 55rem;
	padding: 0;
}

.danran-profile .img1 {
	position: absolute;
	top: 283rem;
	right: -33rem;
	width: 340rem;
	z-index: 1;
}

.danran-profile .img2 {
	display: none;
}

.danran-profile .img3 {
	position: absolute;
	bottom: 0;
	left: -20rem;
	width: 160rem;
	z-index: 2;
}

.danran-profile .img .txt {
	background: var(--color-orange) url(img/share/bg-pattern-orange.jpg) repeat left top / 200rem auto;
	margin-bottom: 160rem;
	width: 345rem;
	padding: 36rem 0 136rem 24rem;
	color: #FFFFFF;
	z-index: 1;
}

.danran-profile .img .txt h2 {
	margin-bottom: 18rem;
}

.danran-profile .img .txt h2 strong {
	display: block;
	margin-bottom: 2rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 23rem;
	letter-spacing: 0.12em;
}

.danran-profile .img .txt h2 em {
	padding-left: max(1rem, 1px);
	font-family: var(--font-optima-nova-m);
	font-size: 13rem;
	letter-spacing: 0.08em;
}

.danran-profile .img .txt h3 {
	margin-bottom: 18rem;
	font-size: 14rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.danran-profile .img .txt p {
	margin-bottom: 8rem;
	font-family: var(--font-optima-nova-m);
	font-size: 10.5rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.danran-profile .img > p {
	margin: 0 30rem 0 165rem;
	font-size: 13rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: justify;
}

.danran-profile .img > p span {
	display: block;
	margin-top: 6rem;
	font-size: 12rem;
	letter-spacing: 0.01em;
}

.danran-profile .inner > h2,
.danran-profile .inner > p {
	padding: 0 38rem;
}

.danran-profile .inner h2,
.danran-profile .inner h3 {
	margin-bottom: 15rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 18rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.danran-profile .inner h2 {
	white-space: nowrap;
}

.danran-profile .inner p {
	margin-bottom: 12rem;
	font-size: 14rem;
	letter-spacing: 0.04em;
	text-align: justify;
}

.danran-profile .inner p br {
	display: none;
}

.danran-profile .sns {
	border-top: 1px solid var(--color-border);
	margin: 60rem 0 0;
	padding: 60rem 30rem 0;
}

.danran-profile .sns h3 {
	margin-bottom: 25rem;
	font-size: 16rem;
	letter-spacing: 0.05em;
	text-align: justify;
	line-height: 1.8;
}

.danran-profile .sns-list {
	margin-bottom: 60rem;
}

.danran-profile .sns-list-inner {
	position: relative;
	border: max(1rem, 1px) solid var(--color-border);
	margin-bottom: 14rem;
	padding: 27rem 20rem 25rem 65rem;
}

.danran-profile .sns-list > div .sns-list-inner + .sns-list-inner {
	margin-bottom: 0;
}

.danran-profile .sns-list-inner b {
	display: block;
	position: absolute;
	top: 20rem;
	right: 16rem;
}

.danran-profile .sns-list-inner b img {
	width: 67rem;
}

.danran-profile .sns-list i {
	display: block;
	position: absolute;
	top: 25rem;
	left: 20rem;
}

.danran-profile .sns-list i img { width: 26rem; }

.danran-profile .sns-list h4 {
	margin-bottom: 10rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 16rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.danran-profile .sns-list h4:has(+ .link-txt) {
	margin-bottom: 22rem;
}

.danran-profile .sns-list > div .sns-list-inner h4:has(+ .link-txt) {
	margin-bottom: 6rem;
}

.danran-profile .sns-list p {
	margin-bottom: 18rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 13rem;
	line-height: 2;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.danran-profile .sns-list .link-txt + .link-txt {
	margin-top: 4rem;
}

.danran-profile .sns-list .link-txt a {
	background-size: 20rem auto;
	padding-right: 30rem;
	font-size: 15rem;
}

.danran-profile .sns-list .link-txt a em {
	display: inline-block;
	margin-left: 5rem;
	font-size: 12rem;
	text-decoration: none;
}

/* .bnr-workshop
------------------------------------*/
.bnr-workshop {
	position: relative;
	background: var(--color-bg-beige);
	border-radius: 20rem;
	margin: 0 -15rem;
	padding: 55rem 41rem 32rem;
}

.bnr-workshop h4 {
	margin-bottom: 20rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 15rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.bnr-workshop h4 i {
	padding-left: 2rem;
}

.bnr-workshop h5 {
	margin-bottom: 22rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 32rem;
	letter-spacing: 0.08em;
}

.bnr-workshop h5 span {
	text-decoration: underline;
	text-decoration-thickness: 3rem;
	text-underline-offset: 0.2em;
}

.danran-profile .inner .bnr-workshop p {
	line-height: 1.9;
}

.bnr-workshop .btn-link {
	margin: 30rem -10rem 0;
}

.bnr-workshop .logo {
	display: none;
}

.bnr-workshop .pic {
	display: block;
	position: absolute;
}

.bnr-workshop .pic1 { bottom: 89rem; left: -15rem; width: 50rem; }
.bnr-workshop .pic2 { top: -32rem; right: -8rem; width: 106rem; }
.bnr-workshop .pic3,
.bnr-workshop .pic4,
.bnr-workshop .pic5 { display: none; }


/* page online-advisor
---------------------------------------------------------------------------*/
#online-advisorContents .service-lead > p {
	letter-spacing: 0.07em;
}

#online-advisor-showcase,
#online-advisor-do,
#online-advisor-interview {
	margin-top: -80rem;
	padding-top: 80rem;
}

.online-advisor-point-inner .title-page,
.online-advisor-showcase .title-page,
.online-advisor-do .title-page,
.online-advisor-interview .title-page {
	margin-bottom: 30rem;
	padding-left: 0;
}

.online-advisor-point-inner .title-page h2,
.online-advisor-showcase .title-page h2,
.online-advisor-do .title-page h2,
.online-advisor-interview .title-page h2 {
	font-size: 21rem;
}

/* .online-advisor-lead
------------------------------------*/
.online-advisor-lead .box {
	background-color: var(--color-bg-beige-light);
	margin: 40rem 24rem 0;
	padding: 30rem 24rem 28rem 28rem;
}

.online-advisor-lead .box h3 {
	margin-bottom: 10rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 15rem;
	line-height: 1.75;
	letter-spacing: 0.1em;
}

.online-advisor-lead .box li {
	margin-bottom: 0;
	font-size: 13rem;
	letter-spacing: 0.06em;
}

/* .online-advisor-point
------------------------------------*/
.online-advisor-point {
	margin: 80rem 12rem 80rem;
}

.online-advisor-point > figure {
	margin-bottom: 35rem;
}

.online-advisor-point-inner {
	position: relative;
	padding: 0 18rem;
}

.online-advisor-point .title-page {
	width: auto;
	margin-bottom: -10rem;
	z-index: 2;
}

.online-advisor-point .txt-wrap {
	margin: 0 auto;
	padding: 25rem 0 0;
}

.online-advisor-point .txt {
	order: 2;
}

.online-advisor-point .txt h3 {
	position: relative;
	margin: 55rem 0 12rem;
	white-space: nowrap;
}

.online-advisor-point .txt h3 i {
	display: block;
	margin: 0 0 6rem;
	font-family: var(--font-optima-r);
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.online-advisor-point .txt h3 strong {
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 17rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.online-advisor-point .txt p,
.advisor-do-list dd p,
.advisor-do-contact p {
	margin-bottom: 10rem;
	font-size: 14rem;
	letter-spacing: 0.05em;
	text-align: justify;
}

.online-advisor-point .txt p br,
.advisor-do-list dd p br,
.advisor-do-contact p br {
	display: none;
}

.online-advisor-point .phone {
	order: 1;
	width: 277rem;
	min-width: 277rem;
	height: 574rem;
	margin: 65rem auto 0;
	padding: 0;
	opacity: 0;
}

.online-advisor-point .phone:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/online-advisor/pic-phone-frame.png) no-repeat left top / 100% 100%;
	width: 100%;
	height: 100%;
	z-index: 2;
	pointer-events: none;
}

.online-advisor-point .phone-inner {
	overflow: hidden;
	position: relative;
	background-color: #FFFBED;
	border-radius: 60rem;
	width: 100%;
	height: 100%;
	padding: 455rem 30rem 0;
}

.online-advisor-point .phone .left,
.online-advisor-point .phone .right {
	opacity: 0;
}

.online-advisor-point .phone .left {
	margin-left: -6rem;
	margin-bottom: 12rem;
}

.online-advisor-point .phone .left img {
	width: 188rem;
}

.online-advisor-point .phone .left2 {
	margin-left: 0;
}

.online-advisor-point .phone .left2 img {
	width: 182rem;
}

.online-advisor-point .phone .right {
	position: relative;
	margin-left: 34rem;
	margin-bottom: 10rem;
}

.online-advisor-point .phone .right1 {
	margin-bottom: 8rem;
}

.online-advisor-point .phone .right2 {
	margin-bottom: 14rem;
}

.online-advisor-point .phone .right3 {
	margin-bottom: 14rem;
}

.online-advisor-point .phone .right img {
	width: 182rem;
}

.online-advisor-point .phone .right .right0 {
	position: absolute;
	top: 0;
	right: 0;
	width: 39rem;
}

.online-advisor-point .phone .right:has(.right0) img:not(.right0) {
	opacity: 0;
}

.online-advisor-point .phone .right .img {
	position: absolute;
	bottom: -19rem;
	right: -11rem;
	width: 34rem;
}

/* .online-advisor-role
------------------------------------*/
.online-advisor-role {
	position: relative;
	border-top: max(1rem, 1px) solid var(--color-border);
	margin: 0 auto 120rem;
	padding: 140rem 120rem 0 35rem;
}

.online-advisor-role h2 {
	position: absolute;
	top: 20rem;
	left: 15rem;
	color: var(--color-orange);
	font-family: var(--font-avenir-m);
	font-size: 16rem;
	letter-spacing: 0.01em;
}

.online-advisor-role .inner {
	margin: 0 auto;
}

.online-advisor-role .inner h3 {
	position: absolute;
	top: 54rem;
	right: 27rem;
}

.online-advisor-role .inner h3 img {
	width: 54rem;
}

.online-advisor-role .inner p {
	font-size: 14rem;
	line-height: 1.95;
	letter-spacing: 0.06em;
	text-align: justify;
}

.online-advisor-role .inner p br {
	display: none;
}

/* .online-advisor-showcase
------------------------------------*/
.online-advisor-showcase {
	position: relative;
	margin-bottom: 90rem;
}

.online-advisor-showcase .title-page {
	margin: 0 30rem 40rem;
}

.advisor-showcase-list {
	margin: 0 auto;
}

.advisor-showcase-list > div {
	position: relative;
	border-bottom: max(1rem, 1px) solid var(--color-border);
	padding: 35rem 30rem 33rem 35rem;
}

.advisor-showcase-list > div:first-of-type {
	border-top: max(1rem, 1px) solid var(--color-border);
}

.advisor-showcase-list > div:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-orange) url(img/share/bg-pattern-orange.jpg) repeat left top / 200rem auto;
	width: 5rem;
	height: calc(100%);
}

.advisor-showcase-list .arrow {
	display: none;
}

.online-advisor-showcase .bg-modal-movie {
	display: none;
	position: absolute;
	top: -100vh;
	left: 0;
	background: rgba(0,0,0,0.6);
	width: 100%;
	height: 9999px;
	z-index: 10010;
	opacity: 0;
}

.advisor-showcase-list .movie {
	position: relative;
	/*overflow: hidden;*/
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	margin-bottom: 18rem;
}

.advisor-showcase-list .movie.active {
	z-index: 10011;
}

.advisor-showcase-list .movie > div {
	position: absolute;
	/*top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;*/
	left: 0rem;
	width: 100%;
	height: 100%;
	/*transform-origin: center center;*/
	transition: .3s var(--easeOutQuart);
}

.advisor-showcase-list .movie.active > div {
	left: -35rem;
	width: calc(100% + 65rem);
	padding-bottom: calc((100% + 65rem) * 0.5625);
}

.advisor-showcase-list .movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.advisor-showcase-list figure {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
}

.advisor-showcase-list figure i {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	width: 50rem;
	z-index: 1;
}

.advisor-showcase-list figure i img {
	width: 100%;
}

.advisor-showcase-list h3 {
	font-family: var(--font-gothic-jp-r);
	margin-bottom: 4rem;
	color: var(--color-orange);
	font-size: 17rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.advisor-showcase-list h4 {
	font-size: 14rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

/* .modal-advisor-showcase
------------------------------------*/
.modal-advisor-showcase {
	background: #FFFFFF;
}

.modal-advisor-showcase .pic { display: none; position: absolute; pointer-events: none; }
/*.modal-advisor-showcase .pic1 { top: -12rem; left: 260rem; width: 100rem; }
.modal-advisor-showcase .pic2 { bottom: 110rem; left: -36rem; width: 120rem; }
.modal-advisor-showcase .pic3 { bottom: 340rem; right: -10rem; width: 108rem; }*/

.modal-advisor-showcase .movie {
	position: absolute;
	top: 52%;
	left: 0;
	transform: translate(0,-48%) !important;
}

.modal-advisor-showcase .movie iframe {
	width: 100vw;
	height: 56.25vw;
	max-height: calc(100vh - 200rem);
}

.modal-advisor-showcase .movie h3 {
	margin: 25rem 20rem 0;
	color: var(--color-orange);
}

.modal-advisor-showcase .movie h3 b {
	display: inline-block;
	border: max(1rem, 1px) solid var(--color-orange);
	border-radius: 30rem;
	margin-right: 2rem;
	margin-bottom: 6rem;
	padding: 3rem 6rem 3rem 8rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 12rem;
	letter-spacing: 0.04em;
}

_::-webkit-full-page-media, _:future, :root .modal-advisor-showcase .movie h3 b {
	padding-top: 4rem;
	padding-bottom: 2rem;
	transform: translateY(-1rem);
}

.modal-advisor-showcase .movie h3 strong {
	display: block;
	margin-bottom: 10rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 16rem;
	letter-spacing: 0.1em;
}

.modal-advisor-showcase .movie h3 em {
	display: inline-block;
	font-size: 13rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.modal-advisor-showcase nav button {
	position: absolute;
	bottom: 20rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 15rem;
	letter-spacing: 0.08em;
	text-decoration: underline !important;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.2em;
	white-space: nowrap;
}

.modal-advisor-showcase nav button:nth-of-type(1) { left: 25rem; padding-left: 30rem; }
.modal-advisor-showcase nav button:nth-of-type(2) { right: 25rem; padding-right: 30rem; }

.modal-advisor-showcase nav button em {
	display: none;
}

.modal-advisor-showcase nav button i {
	display: block;
	position: absolute;
	top: 0;
	background: url(img/share/ico-arrow-orange-s.svg) no-repeat left top / 100% auto;
	width: 20rem;
	height: 13rem;
}

.modal-advisor-showcase nav button:nth-of-type(1) i { left: 0; transform: scaleX(-1); }
.modal-advisor-showcase nav button:nth-of-type(2) i { right: 0; }

/* .online-advisor-do
------------------------------------*/
.online-advisor-do {
	margin: 0 30rem 80rem;
}

.online-advisor-do .title-page {
	margin-bottom: 30rem;
}

.online-advisor-do .title-page p {
	margin-top: 10rem;
	white-space: nowrap;
}

.advisor-do-list dl {
	position: relative;
	border-top: 2rem solid var(--color-border);
	margin: 0 -6rem;
	padding: 26rem 2rem 34rem 6rem;
}

.advisor-do-list dt {
	margin-bottom: 6rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 16rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
	transform: translateY(-4rem);
}

.advisor-do-list dt span {
	display: block;
	font-size: 13rem;
}

.advisor-do-list dd {
	width: 100%;
}

.advisor-do-list dd p {
	text-align: justify;
}

.advisor-do-list dd .ul-wrap li {
	margin-bottom: 1rem;
	letter-spacing: 0.06em;
}

.advisor-do-contact {
	border-top: max(1rem, 1px) solid var(--color-border);
	border-bottom: max(1rem, 1px) solid var(--color-border);
	margin: 10rem -5rem 0;
	padding: 20rem 10rem 28rem;
}

.advisor-do-contact p {
	line-height: 1.95;
}

.advisor-do-contact .btn-link {
	margin: 20rem -2rem 0;
}

/* .online-advisor-record
------------------------------------*/
#online-advisor-record {
	margin-top: -80rem;
	padding-top: 80rem;
}

.online-advisor-record {
	margin: 0 25rem 20rem;
}

.online-advisor-record h2 {
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 17rem;
	letter-spacing: 0.08em;
}

.advisor-record-list {
	position: relative;
	margin-top: 40rem;
}

.advisor-record-list:before {
	display: none;
}

.advisor-record-list ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 22rem 0rem;
}

.advisor-record-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.advisor-record-list li figure {
	align-self: start;
	/*border: max(1rem, 1px) solid var(--color-border);*/
	width: 80rem;
	min-width: 80rem;
	height: 80rem;
	margin-right: 20rem;
}

.advisor-record-list li .txt {
	width: 100%;
	padding: 6rem 0 0;
}

.advisor-record-list li address {
	font-family: var(--font-gothic-jp-m);
	margin-bottom: 10rem;
	font-size: 10rem;
	letter-spacing: 0.1em;
}

.advisor-record-list li h4 {
	font-family: var(--font-gothic-jp-r);
	margin-bottom: 14rem;
	font-size: 16rem;
	letter-spacing: 0.04em;
}

.advisor-record-list li h4 a {
	color: var(--color-orange);
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.1em;
}

.advisor-record-list li h4 span {
	display: inline-block;
	font-size: 12rem;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.15em;
	white-space: nowrap;
}

.advisor-record-list li h4 span:has(+br) {
	margin-bottom: 11rem;
}

.advisor-record-list li h5 {
	display: inline-block;
	border: max(1rem, 1px) solid var(--color-border-gray-dark);
	border-radius: 20rem;
	margin: 0 4rem 5rem 0;
	padding: 3rem 5rem 2rem 6rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 11rem;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

/* .online-advisor-interview
------------------------------------*/
.online-advisor-interview {
	margin: 0 25rem 80rem;
}

.advisor-interview-list > div {
	opacity: 0;
}

.advisor-interview-list > div:not(:last-child) {
	margin-bottom: 40rem;
}

.advisor-interview-list > div > span {
	display: block;
	position: relative;
	padding: 0 5rem 0 28rem;
}

.advisor-interview-list figure {
	position: relative;
	margin-bottom: 22rem;
}

.advisor-interview-list figure.border:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid var(--color-border);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.advisor-interview-list figure .ico {
	display: block;
	position: absolute;
	bottom: -22rem;
	right: 12rem;
	width: 44rem;
	z-index: 2;
	opacity: 0;
}

.advisor-interview-list address {
	position: absolute;
	top: 0;
	left: 1rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m-v);
	font-size: 14rem;
	letter-spacing: 0.1em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.advisor-interview-list h3 {
	margin-bottom: 17rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 17rem;
	letter-spacing: 0.08em;
}

.advisor-interview-list h4 {
	display: inline-block;
	border: max(1rem, 1px) solid var(--color-border-gray-dark);
	border-radius: 20rem;
	margin-right: 5rem;
	margin-left: -1rem;
	padding: 5rem 9rem 3rem 11rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 12rem;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

/* .modal-advisor-interview
------------------------------------*/
.modal-advisor-interview {
	overflow-y: scroll;
}

.modal-advisor-interview * {
	color: #FFFFFF;
}

.modal-advisor-interview .modal-close-btn {
	position: absolute;
	top: 56.25vw;
	padding: 17rem;
}

.modal-advisor-interview .modal-close-btn.fix {
	position: fixed;
	top: 0;
}

.modal-advisor-interview .modal-close-btn img {
	width: 24rem;
}

.modal-advisor-interview h2.narrow {
	display: block !important;
	margin: 100rem 0 0 33rem;
	font-family: var(--font-avenir-r);
	font-size: 10rem;
	letter-spacing: 0.24em;
	text-align: center;
	white-space: nowrap;
	text-decoration: underline;
	text-decoration-color: var(--color-border-white);
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.5em;
}

.modal-advisor-interview-inner {
	overflow: initial;
}

.modal-advisor-interview-inner > div {
	position: relative;
	height: 100%;
}

.modal-advisor-interview-inner .movie {
	width: 100vw;
	height: 56.25vw;
	z-index: 2;
}

.modal-advisor-interview-inner .txt {
	padding: 70rem 58rem 25rem 25rem;
	font-family: var(--font-gothic-jp-b);
	z-index: 1;
}

.modal-advisor-interview-inner .profile {
	display: flex;
	align-items: center;
	margin-bottom: 25rem;
}

.modal-advisor-interview-inner .profile figure {
	align-self: flex-start;
	width: 90rem;
	min-width: 90rem;
}

.modal-advisor-interview-inner .profile > div {
	margin: 3rem 0 0 20rem;
}

.modal-advisor-interview-inner .profile address {
	margin: 0 0 8rem -2rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 12rem;
	letter-spacing: 0.1em;
}

.modal-advisor-interview-inner .profile h3 {
	margin-bottom: 10rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 18rem;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.modal-advisor-interview-inner .profile h4 {
	display: inline-block;
	border: max(1rem, 1px) solid #FFFFFF;
	border-radius: 20rem;
	margin-right: 4rem;
	margin-bottom: 5rem;
	padding: 5rem 9rem 4rem 10rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 11rem;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.modal-advisor-interview-inner .txt > p {
	font-size: 14rem;
	line-height: 1.9;
	letter-spacing: 0.02em;
	text-align: justify;
}

.modal-advisor-interview-inner .dl {
	margin-top: 40rem;
}

.modal-advisor-interview-inner dl {
	border-top: 1px solid var(--color-border-white);
	margin-top: 30rem;
	padding: 9rem 0 0 2rem;
}

.modal-advisor-interview-inner dt {
	margin-bottom: 20rem;
	font-size: 13rem;
	letter-spacing: 0.08em;
}

.modal-advisor-interview-inner dd {
	padding-left: 11rem;
}

.modal-advisor-interview-inner dd,
.modal-advisor-interview-inner dd p,
.modal-advisor-interview-inner dd li {
	font-size: 14rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.modal-advisor-interview-inner dd li {
	margin-bottom: 1rem;
	padding-left: 14rem;
}

.modal-advisor-interview-inner dd h4 {
	margin-bottom: 8rem;
	font-size: 16rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
}


/* page aspiration-care
---------------------------------------------------------------------------*/
#aspiration-careContents .title-page em {
	margin-bottom: 16rem;
}

#aspiration-care-goen {
	margin-top: -60rem;
	padding-top: 60rem;
}

/* .aspiration-care-lead
------------------------------------*/
.aspiration-care-lead .goen {
	position: relative;
	margin: 50rem 0 95rem;
	padding: 0 30rem;
}

.aspiration-care-lead .goen h3 strong {
	display: block;
	position: absolute;
	top: 5rem;
	right: 35rem;
}

.aspiration-care-lead .goen h3 strong img {
	width: 18rem;
}

.aspiration-care-lead .goen h3 em {
	display: block;
	position: absolute;
	bottom: 5rem;
	right: 25rem;
}

.aspiration-care-lead .goen h3 em img {
	width: 103rem;
}

.aspiration-care-lead .goen h4 {
	display: block;
	position: absolute;
	top: 4rem;
	right: 70rem;
}

.aspiration-care-lead .goen h4 img {
	width: 52rem;
}

.aspiration-care-lead .goen p {
	padding-right: 130rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 12rem;
	letter-spacing: 0.05em;
	text-align: justify;
}

.aspiration-care-lead .inner1 {
	position: relative;
	margin: 0 30rem 80rem;
	padding: 30rem 0 0;
}

.aspiration-care-lead .inner1:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-orange);
	width: 40rem;
	height: 2rem;
}

.aspiration-care-lead .inner1 h3 {
	margin-bottom: 14rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 19rem;
	line-height: 1.65;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.aspiration-care-lead .inner1 h4 {
	margin: 36rem 0 16rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 17rem;
	letter-spacing: 0.04em;
}

.aspiration-care-lead .inner1 h4 strong {
	display: inline-block;
	background-color: var(--color-orange);
	margin-left: 4rem;
	padding: 4rem 0 max(1rem, 1px) 4rem;
	color: #FFFFFF;
}

.aspiration-care-lead p,
.aspiration-care-service p {
	margin-bottom: 10rem;
	font-size: 14rem;
	letter-spacing: 0.06em;
	text-align: justify;
}

.aspiration-care-lead p br,
.aspiration-care-service p br {
	display: none;
}

.aspiration-care-lead .inner1 .box {
	background-color: var(--color-bg-beige-light);
	margin-top: 28rem;
	padding: 18rem 26rem 22rem;
}

.aspiration-care-lead .inner1 .box h5 {
	display: block;
	margin-bottom: 12rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 15rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
	transform: translateY(5rem);
}

.aspiration-care-lead .inner1 .box .ul-wrap { display: flex; }

.aspiration-care-lead .inner1 .box .ul-wrap li {
	margin-bottom: 0;
	font-size: 13rem;
	white-space: nowrap;
}

.aspiration-care-lead .inner2 {
	position: relative;
	margin: 0 30rem;
}

.aspiration-care-lead .inner2 h2 {
	margin-bottom: 22rem;
}

.aspiration-care-lead .inner2 h2 em {
	display: block;
	margin-bottom: 20rem;
	font-family: var(--font-optima-nova-m);
	font-size: 12rem;
	letter-spacing: 0.08em;
}

.aspiration-care-lead .inner2 h2 strong {
	display: block;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 21rem;
	letter-spacing: 0.08em;
}

/* .aspiration-care-service
------------------------------------*/
.aspiration-care-service {
	border-top: max(1rem, 1px) solid var(--color-border);
  margin: 70rem 0 0;
  padding-top: 70rem;
}

.aspiration-care-service .lead {
	margin: 0 34rem 85rem;	
}

.aspiration-care-service .lead h2 {
	margin-bottom: 13rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 23rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
	text-align: center;
}

.aspiration-care-service .lead nav {
	margin-top: 22rem;
}

.aspiration-care-service .lead nav li {
	border-bottom: 1px solid var(--color-orange);
}

.aspiration-care-service .lead nav li a {
	display: block;
	background: url(img/share/ico-arrow-down-orange-s2.svg) no-repeat left 3rem top 24rem / 18rem auto;
	padding: 26rem 0 12rem 35rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 17rem;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

_::-webkit-full-page-media, _:future, :root .aspiration-care-service .lead nav li a {
	background-position: left 3rem top 20rem;
}

/* .aspiration-care-service-inner
------------------------------------*/
.aspiration-care-service-inner {
	position: relative;
	margin-bottom: 0;
	padding: 50rem 12rem 0;
}

.aspiration-care-service-inner section {
	padding: 40rem 0rem 90rem;
}

.aspiration-care-service-inner .title {
	margin-bottom: 35rem;
	padding: 0 18rem;
	font-family: var(--font-gothic-jp-m);
}

.aspiration-care-service-inner .title h4 {
	display: inline-block;
	border-bottom: max(1.5rem, 1.5px) solid var(--color-text);
	margin-bottom: 17rem;
	font-size: 15rem;
	letter-spacing: 0.06em;
}

.aspiration-care-service-inner .title h4.h4-line {
	margin-bottom: 16rem;
	letter-spacing: 0.12em;
}

.aspiration-care-service-inner .title h4.h4-line span {
	display: inline-block;
	font-size: 14rem;
}

.aspiration-care-service-inner .title h4.h4-line span:first-of-type {
	padding-right: 4rem;
}

.aspiration-care-service-inner .title h3 {
	margin-bottom: 8rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 24rem;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

.aspiration-care-service-inner .title p {
	font-size: 15rem;
	line-height: 1.75;
	letter-spacing: 0.08em;
}

.aspiration-care-service-inner h4.h4-line + h3 + p {
	font-weight: 600;
	line-height: 1.7;
}

.aspiration-care-service-inner .title p.attention {
	margin-top: -6rem;
	font-family: var(--font-serif-jp);
	font-size: 12rem;
	line-height: 1.7;
}

.aspiration-care-service-inner .pic { display: block; position: absolute; }

/* #aspiration-care-service1
------------------------------------*/
#aspiration-care-service1 > .btn-link.size-w {
	margin: 80rem 0 0;
}

#aspiration-care-service1 > .pic1 { top: -84rem; left: -12rem; width: 58rem; }
#aspiration-care-service1 > .pic2 { display: none; }

/* .aspiration-care-service1-about
------------------------------------*/
.aspiration-care-service1-about {
	margin: 35rem 0 60rem;
	padding: 0 10rem;
}

.aspiration-care-service1-about h3 .logo { display: block; margin-bottom: 13rem; }
.aspiration-care-service1-about h3 .logo img { width: 160rem; }

.aspiration-care-service1-about h3 strong {
	display: block;
	padding: 0 6rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 15rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.aspiration-care-service1-about blockquote {
	display: block;
	position: relative;
	margin: 20rem 5rem 0;
	padding: 0 22rem;
	text-align: justify;
}

.aspiration-care-service1-about blockquote:before,
.aspiration-care-service1-about blockquote:after {
	display: block;
	content: '';
	position: absolute;
	top: 5rem;
	background-color: #000000;
	width: max(1rem, 1px);
	height:calc(100% - 8rem);
}

.aspiration-care-service1-about blockquote:before { left: 0; }
.aspiration-care-service1-about blockquote:after { right: 0; }

.aspiration-care-service1-about blockquote p {
	font-size: 14rem;
	line-height: 2;
	letter-spacing: 0.06em;
}

/* .aspiration-care-service1-place
------------------------------------*/
.aspiration-care-service1-place {
	position: relative;
	margin: 0 13rem 35rem;
}

.aspiration-care-service1-place h4 {
	margin: 0 0 18rem 8rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 20rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.aspiration-care-service1-place dl {
	position: relative;
	border-top: max(1rem, 1px) solid var(--color-border);
	padding: 16rem 10rem 25rem;
}

.aspiration-care-service1-place dt {
	margin-bottom: 7rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 17rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.aspiration-care-service1-place dt i {
	display: block;
	margin: 0 0 5rem;
	color: var(--color-orange);
	font-family: var(--font-optima-r);
	font-size: 16rem;
	letter-spacing: 0.12em;
}

.aspiration-care-service1-place dd p {
	line-height: 2;
}

.aspiration-care-service1-place .pic { display: none; }

/* .aspiration-care-service1-voice
------------------------------------*/
.aspiration-care-service1-voice {
	position: relative;
	margin-bottom: 90rem;
}

.aspiration-care-service1-voice h3 {
	display: inline-block;
	margin: 0 0 0 -12rem;
}

.aspiration-care-service1-voice h3 + p {
	display: inline-block;
	position: absolute;
	top: -4rem;
	left: 180rem;
	width: 144rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
	transform: rotate(-17deg);
}

.aspiration-care-service1-voice h3 + p br {
	display: none;
}

.aspiration-care-service1-voice ul {
	position: relative;
	margin-top: -20rem;
}

.aspiration-care-service1-voice li {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 11rem;
	padding: 27rem 28rem 24rem 32rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-b);
	font-size: 15rem;
	line-height: 1.8;
	letter-spacing: 0.02em;
	text-align: justify;
}

.aspiration-care-service1-voice li:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -14rem;
	left: 30rem;
	background: #FFFFFF;
	width: 24rem;
	height: calc(tan(60deg) * 24rem / 2);
	clip-path: polygon(0 0, 100% 0, 0 100%);
}

.aspiration-care-service1-voice li:nth-of-type(1) { width: 236rem; margin: 0 0 28rem 18rem; }
.aspiration-care-service1-voice li:nth-of-type(2) { width: 255rem; margin: 0 0 38rem 82rem; }
.aspiration-care-service1-voice li:nth-of-type(3) { width: 291rem; margin: 0 0 28rem 18rem; }
.aspiration-care-service1-voice li:nth-of-type(4) { width: 223rem; margin: 0 0 38rem 118rem; }
.aspiration-care-service1-voice li:nth-of-type(5) { width: 279rem; margin: 0 0 0 18rem; }

.aspiration-care-service1-voice .pic {
	bottom: 170rem;
	left: 5rem;
	width: 75rem;
}

/* .aspiration-care-service1-news
------------------------------------*/
.aspiration-care-service1-news {
	position: relative;
	border-top: 2rem solid var(--color-border);
	margin: 0 12rem 90rem;
	padding: 20rem 0 0;
}

.aspiration-care-service1-news h3 {
	margin-bottom: 5rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 19rem;
	line-height: 1.6;
	letter-spacing: 0.03em;
}

.aspiration-care-service1-news .workshop-list {
	margin: 0 10rem;
}

.aspiration-care-service1-news .workshop-list article:not(:last-of-type) {
	background: url(img/share/line-dot-black.svg) repeat-x left bottom / 5px auto;
}

.aspiration-care-service1-news .workshop-list article a {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 28rem 0 26rem;
}

.aspiration-care-service1-news .workshop-list figure {
	align-self: flex-start;
	overflow: hidden;
	position: relative;
	width: 80rem;
	min-width: 80rem;
	height: 61rem;
	margin: 0 25rem 0 0;
}

.aspiration-care-service1-news .workshop-list figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.aspiration-care-service1-news .workshop-list h3 {
	margin-bottom: 3rem;
	font-size: 17rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
	text-align: justify;
}

.aspiration-care-service1-news .workshop-list p {
	font-size: 13rem;
	line-height: 1.85;
	letter-spacing: 0.02em;
	text-align: justify;
}

.aspiration-care-service1-news .btn-link {
	display: block !important;
	margin: 5rem 0 0;
}

.aspiration-care-service1-news .pic { display: none; }

/* .aspiration-care-service1-event
------------------------------------*/
.aspiration-care-service1-event {
	margin: 0 13rem;
}

.aspiration-care-service1-event > h3,
.aspiration-care-service1-event > p {
	padding: 0 8rem;
}

.aspiration-care-service1-event h3 {
	margin-bottom: 16rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 23rem;
	line-height: 1.55;
	letter-spacing: 0.02em;
}

.aspiration-care-service1-event h3 em {
	display: block;
	margin-bottom: 8rem;
	color: var(--color-text);
	font-size: 16rem;
}

.aspiration-care-service1-event > p {
	margin-bottom: 10rem;
	letter-spacing: 0.04em;
	text-align: justify;
}

.aspiration-care-service .txt-box {
	position: relative;
	margin: 45rem 23rem 50rem;
}

.aspiration-care-service .txt-box .txt h4,
.aspiration-care-service1-event .inner2 .txt h4,
#aspiration-care-service2 .inner3 h4 {
	margin-bottom: 10rem;
	margin-left: -1rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 20rem;
	line-height: 1.65;
	letter-spacing: 0.06em;
}

.aspiration-care-service .inner2.txt-box .txt h4 {
	letter-spacing: 0;
	white-space: nowrap;
}

.aspiration-care-service .txt-box .txt p,
.aspiration-care-service1-event .inner2 .txt p {
	margin-bottom: 14rem;
	letter-spacing: 0.04em;
	text-align: justify;
}

.aspiration-care-service .txt-box .txt p.attention {
	margin-top: -4rem;
	font-size: 12rem;
	line-height: 1.8;
}

.aspiration-care-service .txt-box .box {
	background-color: #FFFFFF;
	border: max(1rem, 1px) solid var(--color-border);
	border-radius: 7rem;
	margin: 26rem -7rem 0;
	padding: 22rem 22rem 21rem 24rem;
}

.aspiration-care-service .txt-box .box h4 {
	margin-bottom: 15rem;
	padding-top: 4rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 15rem;
	letter-spacing: 0.06em;
}

.aspiration-care-service .txt-box .box .even {
	display: flex;
	justify-content: space-between;
}

.aspiration-care-service .txt-box .box li {
	line-height: 1.8;
}

.aspiration-care-service1-event .inner2 {
	flex-direction: row-reverse;
}

.aspiration-care-service1-event .inner2 figure {
	margin-bottom: 25rem;
}

.aspiration-care-service1-event .inner2 .txt {
	padding: 0 5rem;
}

/* #aspiration-care-service2
------------------------------------*/
#aspiration-care-service2 {
	margin-right: 13rem;
	margin-left: 13rem;
}

.aspiration-care-service-inner #aspiration-care-service2 .title {
	padding-right: 10rem;
	padding-left: 10rem;
}

#aspiration-care-service2 > figure {
	margin-right: -7rem;
	margin-left: -7rem;
}

#aspiration-care-service2 .inner1 {
	position: relative;
	margin: 35rem 10rem 60rem;
}

#aspiration-care-service2 .inner1 h4 {
	margin-bottom: 12rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 21rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

#aspiration-care-service2 .inner1 p {
	letter-spacing: 0.05em;
}

#aspiration-care-service2 .inner1 .pic {
	display: none;
}

.aspiration-care-service1-event .inner1.txt-box,
#aspiration-care-service2 .inner2.txt-box {
	margin-right: 10rem;
	margin-left: 10rem;
}

#aspiration-care-service2 .inner2.txt-box .txt {
	position: relative;
	padding: 32rem 0 0;
}

#aspiration-care-service2 .inner2.txt-box .txt:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-orange);
	width: 40rem;
	height: 2rem;
}

#aspiration-care-service2 .inner2.txt-box .box {
	display: flex;
	flex-wrap: wrap;
}

#aspiration-care-service2 .inner2.txt-box .box ul:nth-child(even) {
	margin-left: 24rem;
}

#aspiration-care-service2 .inner2.txt-box .box ul:nth-of-type(3) {
	margin-top: 2rem;
}

#aspiration-care-service2 .inner2.txt-box .box li {
	margin-bottom: 3rem;
}

#aspiration-care-service2 .inner3 figure {
	margin-bottom: 28rem;
}

#aspiration-care-service2 .inner3 .txt {
	padding: 0 7rem;
}

.aspiration-care-service-inner .btn-set {
	margin: 30rem 13rem 0;
}

#aspiration-care-service2 > .btn-set {
	margin-right: 0;
	margin-left: 0;
}

.aspiration-care-service-inner .btn-set .btn-link:not(:last-of-type) {
	margin-bottom: 10rem;
}

#aspiration-care-service2 > .pic {
	position: absolute;
	top: -46rem;
	right: -4rem;
	width: 74rem;
	transform: rotate(180deg);
}

/* #aspiration-care-service3
------------------------------------*/
#aspiration-care-service3 {
	padding-bottom: 55rem;
}

#aspiration-care-service3 .inner1 {
	margin: 30rem 22rem 55rem;
}

#aspiration-care-service3 .inner2 {
	margin: 0 18rem 45rem;
}

#aspiration-care-service3 .inner2 h4.narrow {
	display: block !important;
}

#aspiration-care-service3 .inner2 h4.narrow {
	margin-bottom: 10rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 21rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

#aspiration-care-service3 .inner2 figure {
	margin-bottom: 25rem;
}

#aspiration-care-service3 .inner2 .txt {
	padding: 0 5rem;
}

#aspiration-care-service3 .txt-box .box {
	padding: 30rem 42rem 26rem 28rem;
}

#aspiration-care-service3 .txt-box .box li {
	margin-bottom: 0;
	letter-spacing: 0.1em;
}

#aspiration-care-service3 .inner3 .pic {
	bottom: 140rem;
	left: -428rem;
	width: 105rem;
	transform: scaleX(-1) rotate(90deg);
}

#aspiration-care-service3 .inner4 {
	margin-top: 100rem;
}

#aspiration-care-service3 .inner4 figure {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 0;
	margin-bottom: 32rem;
}

#aspiration-care-service3 .inner4 figure picture {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
}

#aspiration-care-service3 .inner4 figure picture img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

#aspiration-care-service3 .inner4 figure .pic {
	position: absolute;
	top: -56rem;
	right: 0;
	width: 63rem;
}

#aspiration-care-service3 .inner4 h4 {
	margin-bottom: 12rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 21rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
	text-align: center;
}

#aspiration-care-service3 .inner4 p {
	padding: 0 20rem;
}


/* page instructor
---------------------------------------------------------------------------*/
#instructor-wrap {
	margin-top: -80rem;
	padding-top: 80rem;
}

/* .instructor-list-wrap
------------------------------------*/
.instructor-list-head {
	margin-bottom: 54rem;
	padding: 0 32rem;
}

#instructorContents.single .instructor-list-head {
	margin-bottom: 45rem;
}

.instructor-list-head h2 {
	margin-bottom: 20rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 16rem;
	line-height: 1.9;
	letter-spacing: 0.07em;
}

#instructorContents.single .instructor-list-head h2 {
	margin-bottom: 7rem;
	font-size: 21rem;
	letter-spacing: 0.1em;
}

.instructor-list-category {
	margin: 0 0 13rem -2rem;
	white-space: nowrap;
}

.instructor-list-category .btn-select {
	display: inline-block;
	position: relative;
	overflow: hidden;
	margin-right: 14rem;
}

.instructor-list-category .btn-select select {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	cursor: pointer !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 2;
}

.instructor-list-category .btn-select .customSelect {
	display: block;
	width: 100%;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 16rem;
	letter-spacing: 0.06em;
	text-align: center;
}

.instructor-list-category .btn-select .customSelect .customSelectInner {
	position: relative;
	width: 100% !important;
	min-height: 25rem;
	padding: 8rem 0 max(1rem, 1px) 26rem;
	font-size: 15rem;
}

.instructor-list-category .btn-select .customSelect .customSelectInner:before {
	display: block;
	content: '';
	position: absolute;
	top: 5.5rem;
	left: 0;
	background: url(img/share/ico-arrow-down-orange.svg) no-repeat left top / 100% auto;
	width: 19rem;
	height: 19rem;
}

.instructor-list-category .btn-select .customSelect .customSelectInner:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	right: max(1rem, 1px);
	background-color: var(--color-orange);
	width: calc(100% - 26rem);
	height: 2px;
}

.instructor-list-category .btn-select .customSelect .customSelectInner span {
	display: inline-block;
	padding-left: max(1rem, 1px);
	/*font-size: 13rem !important;
	transform-origin: left bottom;
	transform: scale(0.75) !important;*/
}

.instructor-list-wrap .btn-link {
	margin: 38rem 26rem 0;
}

.instructor-nav .btn-link a,
.instructor-list-wrap .btn-link a {
	padding: 20rem 20rem 20rem 28rem;
	font-size: 15rem;
}

.instructor-nav .btn-link a i,
.instructor-list-wrap .btn-link a i {
	width: 19rem;
	margin-left: 10rem;
	transform: translateY(2rem);
}

/* .instructor-list
------------------------------------*/
.instructor-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 38rem 18rem;
	padding: 0 18rem;
}

.instructor-list figure {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	margin-bottom: 12rem;
}

.instructor-list figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.instructor-list .name { position: relative; }

.instructor-list .name .area {
	display: inline-block;
	margin: 0 4rem 12rem max(1rem, 1px);
	font-size: 12rem;
	letter-spacing: 0.1em;
}

.instructor-list .name h3,
.instructor-profile .profile .name h1 {
	color: var(--color-orange);
	font-size: 16rem;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.2em;
}

.instructor-list .name .job {
	padding-top: 5rem;
	white-space: nowrap;
}

.instructor-list .name .job span,
.instructor-profile .profile .name .job span {
	display: inline-block;
	border: max(1rem, 1px) solid var(--color-border-gray-dark);
	border-radius: 30rem;
	padding: 8rem 6rem 9rem 7rem;
	color: #000000;
	font-size: 13rem;
	line-height: 0;
	letter-spacing: 0.06em;
}

.instructor-list .name .job span {
	padding: 7rem 6rem 8rem 7rem;
	font-size: 11rem;
	opacity: 0.7;
	transform: translateY(-0.5rem);
}

.instructor-profile .profile .name .job span {
	margin: 0 0 7rem;
}

.instructor-list .txt,
.instructor-list .txt p {
	margin-bottom: 0;
	font-size: 12rem;
	line-height: 1.85;
	letter-spacing: 0.02em;
	text-align: justify;
}

.instructor-list .txt { margin-top: 12rem; }

/* .instructor-list.sub
------------------------------------*/
.instructor-list.sub {
	display: block;
	background: url(img/share/line-dot-black.svg) repeat-x left top / 4px auto;
	margin: 45rem 30rem 0;
	padding: 0;
}

.instructor-list.sub:empty { margin-top: 0; }

.instructor-list.sub article {
	background: url(img/share/line-dot-black.svg) repeat-x left bottom / 4px auto;
}

.instructor-list.sub article a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 16rem 0;
}

.instructor-list.sub article a:before {
	display: block;
	content: '';
	position: absolute;
	top: 20rem;
	right: 10rem;
	background: url(img/share/ico-arrow-down-orange.svg) no-repeat left top / 100% auto;
	width: 21rem;
	height: 21rem;
	transform: rotate(-90deg);
}

.instructor-list.sub figure {
	align-self: flex-start;
	width: 80rem;
	min-width: 80rem;
	margin: 0;
	padding-bottom: 80rem;
}

.instructor-list.sub .name {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	padding: 0 0 0 15rem;
}

.instructor-list.sub .name .area {
	order: 1;
	display: block;
	width: 100%;
	margin-bottom: 5rem;
}

.instructor-list.sub .name .job {
	order: 3;
	display: block;
	width: 100%;
}

.instructor-list.sub .name .inner {
	order: 2;
	display: block;
	width: 100%;
	margin-bottom: 8rem;
}

.instructor-list.sub .txt { display: none; }

/* .instructor-profile
------------------------------------*/
.instructor-profile {
	position: relative;
	margin: 0 auto 120rem;
	padding: 40rem 0 0;
}

.instructor-profile .profile {
	margin: 0 auto;
}

.instructor-profile .profile .img {
	position: relative;
	width: 240rem;
	margin: 0 auto 40rem;
}

.instructor-profile .profile .img:before,
.instructor-profile .profile .img:after { display: block; content: ''; position: absolute; }

.instructor-profile .profile .img:before {
	top: -35rem;
	left: -26rem;
	background: url(img/share/pic1.svg) no-repeat left top / 100% auto;
	width: 70rem;
	height: 75rem;
}

.instructor-profile .profile .img:after {
	bottom: -32rem;
	right: -36rem;
	background: url(img/share/pic6.svg) no-repeat left top / 100% auto;
	width: 104rem;
	height: 90rem;
	transform: rotate(90deg);
}

.instructor-sns,
.instructor-profile .profile .name {
	padding: 0 38rem;
}

.instructor-sns {
	margin: 0 0 14rem -3rem;
}	

.instructor-sns li { display: inline-block; }
.instructor-sns li a { display: block; padding: 2rem; }
.instructor-sns li a img { width: 23rem; }

.instructor-profile .profile .name .area {
	margin: 0 0 6rem;
	color: #000000;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.instructor-profile .profile .name h1 {
	margin-bottom: 23rem;
	font-size: 22rem;
}

.instructor-profile .profile .name h1 em {
	margin-left: -5rem;
	font-size: 15rem;
}

.instructor-profile .profile .name .job {
	display: inline;
	margin-left: -2rem;
}

.instructor-profile .profile .name .job-sub { margin-left: 0; }

.instructor-profile .message {
	order: 1;
	position: relative;
	margin: 0 10rem 40rem 24rem;
	z-index: 0;
}

.instructor-profile .message .inner,
.instructor-profile .message:before,
.instructor-profile .message:after {
	background-color: #FFFFFF;
	border: 2px solid var(--color-orange);
	border-radius: 3rem;
}

.instructor-profile .message:before,
.instructor-profile .message:after {
	display: block;
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
}

.instructor-profile .message:before { top: -7rem; left: -7rem; z-index: 1; }
.instructor-profile .message:after { top: -14rem; left: -14rem; z-index: 0; }

.instructor-profile .message .inner {
	position: relative;
	padding: 4rem 3rem 0;
	height: 100%;
	z-index: 2;
}

.instructor-profile .message .inner:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	right: 3rem;
	background-color: #FFFFFF;
	width: 2px;
	height: 4rem;
	z-index: 1;
}

.instructor-profile .message .inner > div {
	overflow-y: scroll;
	height: 100%;
	padding: 34rem 28rem;
}

.instructor-profile .message .inner > div::-webkit-scrollbar { width: 2px; }
.instructor-profile .message .inner > div::-webkit-scrollbar-track { background: #FFFFFF; }
.instructor-profile .message .inner > div::-webkit-scrollbar-thumb { background: #AAAAAA; }

.instructor-profile .message h2 {
	margin-bottom: 22rem;
	color: var(--color-orange);
	font-family: var(--font-serif-jp);
	font-size: 18rem;
	line-height: 1.85;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.1em;
}

.instructor-profile .message p {
	font-size: 14rem;
	letter-spacing: 0.06em;
	text-align: justify;
}

.instructor-nav {
	display: flex;
	flex-wrap: wrap;
	margin: 60rem 0 0;
}

.instructor-nav ul {
	order: 3;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 30rem;
	background: url(img/share/line-dot-black.svg) repeat-x left top / 4px auto;
	width: 100%;
	margin: 0 20rem;
	padding: 22rem 0 0;
	font-family: var(--font-gothic-jp-m);
}

.instructor-nav li:first-of-type {
	position: relative;
}

.instructor-nav li:first-of-type:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -15rem;
	background: url(img/share/line-dot-v-black.svg) repeat-y left top / 1px auto;
	width: 1px;
	height: 100%;
}

.instructor-nav li a {
	display: block;
	position: relative;
	min-height: 80rem;
	padding: 34rem 0 0 56rem;
}

.instructor-nav li p {
	position: absolute;
	top: 0;
	left: 4rem;
	color: var(--color-orange);
	font-family: var(--font-avenir);
	font-size: 12rem;
	line-height: 1;
	letter-spacing: 0.05em;
}

.instructor-nav li figure {
	position: absolute;
	top: 27rem;
	left: 0;
	overflow: hidden;
	border-radius: 50%;
	width: 46rem;
	height: 46rem;
}

.instructor-nav li .area {
	margin-bottom: 4rem;
	font-size: 11rem;
	letter-spacing: 0.08em;
}

.instructor-nav li h2 {
	margin-right: -5rem;
	font-size: 14rem;
	line-height: 1.45;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.2em;
	letter-spacing: 0;
}

.instructor-nav li h2 em {
	font-size: 9rem;
}

.instructor-nav .btn-link {
	order: 2;
	width: 100%;
	margin: 0 22rem 45rem;
}

.instructor-nav .btn-link a {
	letter-spacing: 0.05em;
	white-space: nowrap;
}


/* page faq
---------------------------------------------------------------------------*/

/* .faq-wrap
------------------------------------*/
.faq-wrap {
	position: relative;
	padding: 0 28rem;
}

.faq-wrap .category-btn {
	display: block;
	position: relative;
	background-color: #FFFFFF;
	border: 1px solid var(--color-border);
	border-radius: 100rem;
	width: 100%;
	padding: 24rem 60rem 22rem 27rem;
	margin-bottom: 50rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 16rem;
	line-height: 0;
	letter-spacing: 0.1em;
	text-align: left;
	white-space: nowrap;
}

.faq-wrap .category-btn:before {
	display: block;
	content: '';
	position: absolute;
	top: 20rem;
	right: 21rem;
	background-color: var(--color-orange);
	width: 8rem;
	height: 6rem;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	z-index: 1;
	pointer-events: none;
}

.faq-wrap .category-btn:after {
	display: block;
	content: '';
	position: absolute;
	top: 9rem;
	right: 48rem;
	background-color: var(--color-border);
	width: max(1rem, 1px);
	height: calc(100% - 18rem);
}

.faq-wrap .category-btn.fix {
	position: fixed;
	bottom: 0;
	right: 22rem;
	box-shadow: 2rem 3rem 8rem rgba(0, 0, 0, 0.15);
	border: none;
	width: 160rem;
	margin: 0;
	padding-left: 22rem;
	font-size: 15rem;
	z-index: 9;
	opacity: 0;
	pointer-events: none;
	transition: .4s var(--easeOutQuart);
}

.faq-wrap .category-btn.fix.active {
	bottom: 16rem;
	opacity: 1;
	pointer-events: all;
}

.faq-wrap aside {
	/*display: none;*/
	position: absolute;
	top: 60rem;
	left: 28rem;
	background: #FFFFFF;
	border: 1px solid #E75C2F;
	box-shadow: 0rem 4rem 15rem rgba(170, 170, 170, 0.25);
	border-radius: 10rem;
	width: calc(100% - 56rem);
	padding: 22rem 25rem 13rem;
	z-index: 10;
	opacity: 0;
	pointer-events: none;
}

.faq-wrap aside.active {
	pointer-events: all;
}

.faq-wrap aside.fix {
	position: fixed;
	top: inherit;
	left: inherit;
	bottom: 75rem;
	right: 20rem;
	border: none;
	width: 225rem;
	padding: 18rem 18rem 12rem 22rem;
}

.faq-wrap aside li {
	margin-bottom: 3rem;
}

.faq-wrap aside li a {
	display: inline-block;
	background: url(img/share/ico-arrow-down-line.svg) no-repeat left 0rem top 9rem / 12rem auto;
	padding: 2rem 10rem 5rem 23rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.1em;
}

.faq-wrap aside.fix li a {
	letter-spacing: 0.06em;
	text-align: justify;
}

/* .faq-inner
------------------------------------*/
.faq-inner { width: 100%; }
.faq-inner .post { margin-top: -70rem; padding-top: 70rem; }
.faq-inner .post:not(:last-of-type) { margin-bottom: 50rem; }

.faq-inner .post h2 {
	margin: 0 0 15rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 17rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

/* .faq-list
------------------------------------*/
.faq-list h3 {
	margin-bottom: 16rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.faq-list h3:not(:first-child) { margin-top: 45rem; }

.faq-list dl {
	position: relative;
  border-top: 2rem solid var(--color-border);
}

.faq-list dl:before {
	width: 27rem;
}

.faq-list dt button {
  position: relative;
  width: 100%;
  padding: 16rem 46rem 18rem 33rem;
	font-family: var(--font-gothic-jp-r);
  font-size: 14rem;
  line-height: 1.75;
  letter-spacing: 0.04em;
  text-align: justify;
}

.faq-list dt button .q {
  position: absolute;
  top: 11rem;
  left: 2rem;
	color: var(--color-orange);
	font-family: var(--font-avenir-r);
	font-size: 18rem;
	white-space: nowrap;
}

.faq-list .btn-ac .ico {
	display: block;
	position: absolute;
	top: 10rem;
	right: 2rem;
	background: url(img/share/ico-arrow-down-line.svg) no-repeat center center / 10rem auto;
	width: 30rem;
	height: 30rem;
	transition: .2s var(--easeOutCubic);
	transform: rotate(0deg);
}

.faq-list .btn-ac.active .ico {
	background: none;
	transform: rotate(180deg);
}

.faq-list .btn-ac .ico:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/ico-arrow-down-orange-s.svg) no-repeat center center / 30rem auto;
	width: 30rem;
	height: 30rem;
	opacity: 0;
	transition: .2s var(--easeOutCubic);
}

.faq-list .btn-ac.active .ico:after { opacity: 1; }

.faq-list dd {
  display: none;
  padding: 0 2rem 38rem 33rem;
}

.faq-list dd,
.faq-list dd p {
	font-size: 14rem;
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: justify;
}

.faq-list dd p { margin-bottom: 10rem; padding: 0; }
.faq-list dd .faq-link { margin-top: 25rem; }
.faq-list dd .faq-link li a { font-size: 14rem; }


/* page contact
---------------------------------------------------------------------------*/

/* .contact-lead
------------------------------------*/
.contact-lead {
	margin: 0 auto -20rem;
	padding: 0 32rem;
}

.contact-lead p {
	font-size: 14rem;
	letter-spacing: 0.06em;
	text-align: justify;
}

.contact-lead p br { display: none; }

.contact-lead p.attention {
	margin-top: 20rem;
	font-size: 13rem;
}

/* .form-wrap
------------------------------------*/
.form-wrap {
	margin: 0 auto;
	padding: 0 32rem;
	font-family: var(--font-gothic-jp-b);
}

.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { margin-bottom: 22rem; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }
.form-wrap dl div.hidden { display: none; }

.form-wrap dt {
	position: relative;
	margin-bottom: 5rem;
}

.form-wrap dt,
.form-wrap dt p {
	font-size: 15rem;
	letter-spacing: 0.06em;
}

.form-wrap dt.must:before {
	display: block;
	content: '';
	position: absolute;
	top: -5rem;
	left: -7rem;
	background-color: var(--color-yellow);
	border-radius: 50%;
	width: 5rem;
	height: 5rem;
}

.form-wrap dt.pt.must:before {
	top: 1rem;
}

.form-wrap dt span {
	padding-left: 4rem;
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.form-wrap dd {
	min-height: 48rem;
}

.form-wrap dd p {
	font-size: 12rem;
	line-height: 1.7;
	text-align: justify;
}

/* input
------------------------------------*/
.wpcf7-form-control-wrap {
	display: inline-block;
	position: relative;
	width: 100%;
}

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap textarea {
	font-family: var(--font-gothic-jp-device);
}

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap select,
.form-wrap textarea,
.form-wrap .btn-select .customSelect {
	display: inline-block;
	background-color: #FFFFFF;
	border: max(1rem, 1px) solid var(--color-border);
	border-radius: 4rem;
	width: 100%;
	min-height: 48rem;
	padding: 11rem 60rem 11rem 18rem;
	font-size: 16rem;
	letter-spacing: 0.06em;
}

.form-wrap select { appearance: none; position: relative; cursor: pointer; z-index: 1; }
.btn-select .wpcf7-form-control-wrap .customSelect { position: relative; z-index: 0; }

.btn-select .wpcf7-form-control-wrap .customSelect:before {
	display: block;
	content: '';
	position: absolute;
	top: 21rem;
	right: 17rem;
	background-color: var(--color-orange);
	width: 8rem;
	height: 6rem;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	z-index: 1;
	pointer-events: none;
}

.btn-select .wpcf7-form-control-wrap .customSelect:after {
	display: block;
	content: '';
	position: absolute;
	top: 9rem;
	right: 43rem;
	background-color: var(--color-border);
	width: max(1rem, 1px);
	height: calc(100% - 18rem);
}

.form-wrap textarea {
	height: 300rem;
	padding: 16rem 18rem;
	line-height: 1.8;
}

::-webkit-input-placeholder { display: none; font-size: 0; }
:-moz-placeholder { display: none; font-size: 0; }
::-moz-placeholder { display: none; font-size: 0; }
:placeholder-shown { display: none; font-size: 0; }

/* .privacy-check
------------------------------------*/
.privacy-check { margin: 15rem 0 0; }
.privacy-check p { font-size: 14rem; }

.privacy-check .wpcf7-form-control-wrap {
	width: auto;
	margin-right: 16rem;
  transform-origin: left center;
}

@supports (-webkit-appearance: none) and (not (-webkit-touch-callout: none)) {
	.privacy-check .wpcf7-form-control-wrap {
		transform: scale(1.3) translateY(2rem);
	}
}

_::-webkit-full-page-media, _:future, :root .privacy-check .wpcf7-form-control-wrap {
	transform: scale(1.2) translateY(max(1rem, 1px));
}

/* .btn-submit
------------------------------------*/
.btn-submit {
	position: relative;
	display: block;
	margin: 35rem 0 0;
}

.btn-submit:after {
	display: block;
	content: '';
	position: absolute;
	top: calc(50% - 7rem);
	right: calc(50% - 105rem);
	background: url(img/share/ico-arrow-white.svg) no-repeat left top / 100% auto;
	width: 20rem;
	height: 14rem;
	pointer-events: none;
}

.btn-submit input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	position: relative;
	background: var(--color-orange);
	border: none;
	border-radius: 100rem;
	width: 100%;
	margin: 0;
	padding: 18rem 45rem 16rem 25rem;
	color: #FFFFFF;
	font-family: var(--font-gothic-jp-m);
	font-size: 15rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
}

/* error
------------------------------------*/
.form-wrap .txt-error,
.wpcf7-not-valid-tip,
.txt-response,
.wpcf7-response-output { display: block; }

.form-wrap .txt-error,
.wpcf7-not-valid-tip {
	margin: 9rem 0 0;
	padding: 0;
	color: var(--color-orange);
	font-size: 13rem;
	line-height: 1.6;
}

.screen-reader-response { display: none; }

.txt-response,
.wpcf7-response-output {
	margin: 34rem 0 0;
	color: var(--color-orange);
	font-size: 15rem;
	line-height: 1.9;
	letter-spacing: 0.08em;
}

.wpcf7-response-output:first-child { margin: 0 0 40rem; padding-top: 80rem; }
.wpcf7-response-output:empty { margin: 0; }

/* recaptcha
------------------------------------*/
.grecaptcha-badge { pointer-events: none; z-index: -999; opacity: 0; transition: .15s ease-out; }
body.contact .grecaptcha-badge { pointer-events: auto; z-index: 0; opacity: 1; }


/* page privacy
---------------------------------------------------------------------------*/

/* .privacy-lead
------------------------------------*/
.privacy-lead {
	margin: 0 auto 75rem;
	padding: 0 32rem;
}

.privacy-lead p {
	font-size: 14rem;
	letter-spacing: 0.06em;
	text-align: justify;
}

.privacy-lead p br {
	display: none;
}

/* .privacy-sec
------------------------------------*/
.privacy-sec {
	margin: 0 auto 54rem;
	padding: 0 32rem;
}

.privacy-sec:last-of-type { margin-bottom: 0; }

.privacy-sec h2 {
	margin-bottom: 21rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 18rem;
	letter-spacing: 0.04em;
}

.privacy-sec .inner { padding-left: 24rem; }

.privacy-sec .inner p {
	font-size: 14rem;
	line-height: 2.1;
	letter-spacing: 0.06em;
	text-align: justify;
}

.privacy-sec .inner p br { display: none; }
.privacy-sec .inner ul:not(:first-child) { margin-top: 16rem; }

.privacy-sec .inner ol { margin-left: 28rem; }
.privacy-sec .inner ol:not(:first-child) { margin-top: 22rem; }
.privacy-sec .inner ol.ml { margin-left: 34rem; margin-bottom: 28rem; }
.privacy-sec .inner ol.ml-line:has(+ p) { margin-bottom: 24rem; }
.privacy-sec .inner ol.ml-line { position: relative; margin-left: 58rem; }

.privacy-sec .inner ol.ml-line:before {
	display: block;
	content: '';
	position: absolute;
	top: 4rem;
	left: -38rem;
	background-color: var(--color-text);
	width: max(1rem, 1px);
	height: calc(100% - 8rem);
}

.privacy-sec .inner li { text-align: justify; }
.privacy-sec .inner ol li { letter-spacing: 0.03em; }
.privacy-sec .inner ol.ml-line li { font-size: 13rem; }


/* page password
---------------------------------------------------------------------------*/
#pwContents .title-page {
	padding-right: 32rem;
}

#pwContents .title-page h1 {
	font-size: 21rem;
}

/* .pw-form
------------------------------------*/
.pw-form {
	padding: 140rem 0 0;
	font-family: var(--font-gothic-jp-b);
	text-align: center;
}

.pw-form h2 {
	margin-bottom: 20rem;
	font-size: 17rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.pw-form .inner {
	display: inline-block;
}

.pw-form input {
	display: inline-block;
	background-color: #FFFFFF;
	border: max(1rem, 1px) solid var(--color-border);
	border-radius: 4rem;
	width: 240rem;
	height: 48rem;
	padding: 15rem 20rem;
	font-size: 16px;
	letter-spacing: 0.1em;
	vertical-align: top;
}

.pw-form button {
	display: inline-block;
	background: var(--color-orange);
	border-radius: 4rem;
	padding: 18rem 16rem 18rem 18rem;
	height: 48rem;
	color: #FFFFFF;
	font-family: var(--font-gothic-jp-m);
	font-size: 16rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	vertical-align: top;
	white-space: nowrap;
}

.pw-error {
	margin-top: 26rem;
}

.pw-error p {
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.pw-error p,
.pw-error p a {
	color: var(--color-orange);
}

/* .pw-wrap
------------------------------------*/
.pw-wrap {
	margin: 0 32rem;
}

.pw-wrap h2 {
	margin: 60rem 0 20rem;
	color: var(--color-orange);
  font-family: var(--font-gothic-jp-r);
	font-size: 17rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.pw-wrap figure + h2 {
	margin-top: 60rem;
}

.pw-wrap h2:first-child {
	margin-top: 0;
}

.pw-wrap img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-bottom: 24px;
}

.pw-wrap .link-list:not(:first-child) {
	margin-top: 25rem;
	margin-left: max(-1rem, -1px);
}

.pw-wrap .pw-column2 .link-list:not(:first-child) {
	margin-top: 25rem;
}

.pw-wrap h2 + .link-list {
	margin-top: 10rem !important;
}

.pw-wrap .link-list + .link-list {
	margin-top: 10rem !important;
}

.pw-wrap .link-list:not(:last-child) {
	margin-bottom: 15rem;
}

.pw-wrap .link-list:not(:last-child):has( + .link-list) {
	margin-bottom: 0;
}

.pw-wrap .link-list li a {
	background-position: left 3rem top 12rem;
	font-size: 15rem;
}

.pw-movie:not(:first-of-type) {
	margin-top: 65rem;
}

.pw-movie .inner {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding: 0 0 56.25%;
}

.pw-movie .inner:not(:last-of-type) {
	margin-bottom: 45rem;
}

.pw-movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* .pw-column1
------------------------------------*/
.pw-column1 { margin-top: 65rem; }
.pw-column1:first-of-type { margin-top: 0; }
.pw-column1:has(h2:first-child:last-child) { margin-bottom: -10rem; }

/* .pw-column2
------------------------------------*/
.pw-column2 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40rem 0;
	margin: 40rem 0 40rem;
}

.pw-column2:first-child { margin-top: 0; }
.pw-column2:last-child { margin-bottom: 0; }

.pw-column2 figure {
	margin-bottom: 18rem;
}

.pw-column2 figure img {
	width: 100%;
	margin: 0;
}

.pw-wrap .pw-column2 h2 {
	margin-top: 26rem;
	margin-bottom: 13rem;
	font-size: 17rem;
}

.pw-wrap .pw-column2 h2:first-child {
	margin-top: 0;
}

.pw-column1 p,
.pw-column2 p {
	margin-bottom: 10rem;
	font-size: 14rem;
	line-height: 1.9;
	letter-spacing: 0.08em;
}

.pw-column2 .post-main > p,
.pw-column2 .post-main > ul,
.pw-column2 .post-main > ol {
	padding: 0;
}


/* page error
---------------------------------------------------------------------------*/


/* print
---------------------------------------------------------------------------*/
@media print {

}