@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: 1240px;
	--width-mid: 1320;
	--scale-break-point: 1600px;
	--scale-rate: 0.15;
}

html {
  font-size: max(calc(100vw/var(--width-mid)), calc(var(--width-min)/var(--width-mid)));
}
@media (min-width: 1320px) and (max-width: 1600px) {
  html { font-size: 1px; }
}
@media (min-width: 1601px) {
  html { font-size: max(calc(1px + ((100vw - var(--scale-break-point))/1000 * var(--scale-rate))), calc(var(--width-min)/var(--width-mid))); }
}

body {
	overflow-y: scroll;
	background-color: var(--color-bg);
	color: var(--color-text);
	font-size: 16rem;
	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: 17rem; 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: inline-block !important; }
.narrow { display: none !important; }
.nav-sp, .btn-nav { display: none !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.05);
	width: 95%;
}

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

/* link
------------------------------------*/
a { color: var(--color-text); text-decoration: none; transition: .15s ease-out; -webkit-transform: translateZ(0); }
.hover { cursor: pointer; transition: .15s ease-out; }
a:hover,.hover:hover { text-decoration: none; opacity: 0.7; }

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: inline-block;
	background: var(--color-orange) url(img/share/bg-pattern-orange.jpg) repeat left top / 200rem auto;
	border-radius: 100rem;
	padding: 25rem 30rem 21rem 40rem;
	color: #FFFFFF;
	font-family: var(--font-gothic-jp-m);
	font-size: 19rem;
	letter-spacing: 0.12em;
	text-align: center;
	cursor: pointer;
}

.btn-link.size-s a,
.btn-link.size-s > span {
	font-size: 17rem;
	padding: 17rem 35rem 15rem 40rem;
}

.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: 22rem;
	height: 14rem;
	margin-left: 12rem;
}

.btn-link.size-s a i,
.btn-link.size-s > span i {
	width: 18rem;
	transform: translateY(2.5rem);
}

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


/* #wrap
---------------------------------------------------------------------------*/
#wrap { min-width: var(--width-min); }


/* header
---------------------------------------------------------------------------*/
.header-wrap {
	overflow: hidden;
	padding-bottom: 140rem;
  margin-bottom: -140rem;
}

header {
	position: relative;
	width: 100%;
	max-width: var(--scale-break-point);
	margin: 0 auto;
	padding: 70rem 0 105rem 71rem;
	white-space: nowrap;
	z-index: 2;
	opacity: 0;
	pointer-events: none;
}

header .logo { position: relative; width: 231rem; 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 {
	display: flex;
	justify-content: right;
	position: absolute;
	top: 94rem;
	right: 70rem;
	z-index: 2;
}

header .gnav > ul { display: flex; align-items: flex-start; }
header .gnav > ul > li { position: relative; margin-right: 23rem; }

header .gnav > ul > li:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #E96940;
	width: 0;
	height: 2rem;
	transition: .25s var(--easeOutQuart);
}

header .gnav > ul > li.current:after { width: 100%; transition: .3s var(--easeInOutQuart) .2s; }

header .gnav > ul > li.btn-mnav:after { bottom: 15rem; }
header .gnav > ul > li.btn-mnav.active:after { background-color: #FFFFFF; opacity: 1; }

header .gnav > ul > li > a,
header .gnav > ul > li > span {
	display: inline-block;
	position: relative;
	padding: 19rem max(1rem, 1px) 6rem;
}

header .gnav > ul > li.btn-mnav > span {
	padding-top: 19rem;
	padding-bottom: 21rem;
}

header .gnav > ul > li > a img,
header .gnav > ul > li > span img {
	display: block;
	height: 17rem;
	transition: .25s var(--easeOutQuart);
}

header .gnav > ul > li.current > a img,
header .gnav > ul > li.current > span img {
	transition: .3s var(--easeInOutQuart) .2s;
}

header .gnav > ul > li img.on,
header .gnav > ul > li img.white {
	display: block;
	position: absolute;
	top: 19rem;
	left: max(1rem, 1px);
	opacity: 0;
}

header .gnav > ul > li.current img.off { opacity: 0; }
header .gnav > ul > li.current.btn-mnav img.off { opacity: 0 !important; }
header .gnav > ul > li.current img.on { opacity: 1; }

/* white (mnav current)
------------------------------------*/
header .gnav > ul > li.active img.off { opacity: 0 !important; transition: .15s var(--easeOutQuart) !important; }
header .gnav > ul > li.active img.white { opacity: 1 !important; transition: .15s var(--easeOutQuart) !important; }
header .gnav > ul > li.active:after { transition: .15s var(--easeOutQuart) !important; }

/* .black
------------------------------------*/
header .gnav > ul > li.black:after {
	background-color: var(--color-text);
	height: 1.5rem;
	transition: .15s var(--easeOutQuart) !important;
	opacity: 0.7;
}

header .gnav > ul > li.black img.on { opacity: 0; transition: .15s var(--easeOutQuart) !important; }
header .gnav > ul > li.black img.off { opacity: 1; transition: .15s var(--easeOutQuart) !important; }

header .gnav > ul > li.black-out:after,
header .gnav > ul > li.black-out img { transition: .15s var(--easeOutQuart) !important; }

/* .mnav
------------------------------------*/
.mnav-bg {
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	background: var(--color-orange) url(img/share/bg-pattern-orange.jpg) repeat left top / 200rem auto;
	width: 100vw;
	height: 395rem;
	/*z-index: 0;*/
	z-index: -999;
	pointer-events: none;
	opacity: 0;
}

.mnav-wrap {
	display: none;
	position: absolute;
	top: 150rem;
	left: 0;
	width: 100%;
	z-index: 1;
	opacity: 0;
}

.mnav-wrap > div {
	padding: 55rem 77rem 70rem;
}

/* .nav-service-list
------------------------------------*/
.nav-service-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 40rem;
}

.nav-service-list .inner a { display: flex; color: #FFFFFF; }

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

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

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

.nav-service-list .inner h3 {
	margin-bottom: 15rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 14rem;
	line-height: 1.85;
	letter-spacing: 0.15em;
}

.nav-service-list .inner h2 {
	font-family: var(--font-gothic-jp-b);
	font-size: 20rem;
	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; }

header .sns { display: flex; justify-content: right; position: relative; margin-left: 20rem; padding-top: 9rem; }
header .sns ul { display: flex; justify-content: right; }
header .sns li a { padding: 4rem; }

.sns li a { display: block; }
.sns li a:hover { opacity: 1; }
.sns li img { width: 26rem; transition: .15s linear; }
.sns li img.gray { opacity: 1; }
.sns li a:hover img.color { opacity: 1; }
.sns li img.color,
.sns li img.white { display: block; position: absolute; top: 4rem; left: 4rem; opacity: 0; }

.sns.white li img.color,
.sns.white li img.gray { opacity: 0; transition: .1s ease-out; }
.sns.white li img.white { opacity: 1; transition: .25s ease-out; }

footer .sns li img.color,
footer .sns li img.white { top: 0; left: 0; }

header .sns li span { display: none; }

header .sns li em {
	display: block;
	position: absolute;
	top: -20rem;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--color-orange);
	border-radius: 20rem;
	padding: 10rem 8rem 7rem 10rem;
	color: #FFFFFF;
	font-family: var(--font-gothic-jp-m);
	font-size: 11rem;
	line-height: 0;
	letter-spacing: 0.1em;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	transition: .2s var(--easeOutQuart) !important;
}

header .sns li a:hover em {
	top: -25rem;
	opacity: 1;
	transition: .3s var(--easeOutQuart) !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: 176rem; left: -30rem; width: 120rem; }
header .pic2 { top: -26rem; left: 298rem; width: 104rem; }
header .pic3 { top: 184rem; left: calc(50% + 142rem); width: 160rem; transform: scale(1) !important; }
header .pic4 { top: -25rem; right: 0; width: 98rem; overflow: hidden; }
header .pic4 img { width: 98rem; margin-left: 24rem; }


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

footer .copy { position: absolute; top: 294rem; right: 64rem; }
footer .copy img { width: 82rem; }

.footer-scroll-wrap {
	overflow: hidden;
	width: 100%;
	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: 50s;
}

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

.footer-scroll .inner {
	overflow: hidden;
	width: 970rem !important;
	min-width: 970rem !important;
	padding-bottom: 40rem;
}

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

.footer-scroll .inner h2,
.footer-scroll-wrap .hidden .en {
	padding-top: 16rem;
	color: var(--color-orange);
	font-family: var(--font-avenir-r);
	font-size: 96rem;
	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-scroll h2.let-l span.char { margin-left: -2.5rem; }
.footer-scroll h2.let-s span.char { margin-left: 0rem; }

.footer-scroll .inner h3 {
	background-color: #FFFFFF;
	position: absolute;
	bottom: -8rem;
	right: 42rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 13rem;
	line-height: 0;
	letter-spacing: 0.13em;
	white-space: nowrap;
	z-index: 1;
	opacity: 0;
	transition: .15s var(--easeOutCubic);
}

.footer-scroll .inner:hover h3 {
	bottom: -14rem;
	opacity: 1;
}

.footer-scroll .inner h2.let-l + h3 { bottom: -20rem; }
.footer-scroll .inner:hover h2.let-l + h3 { bottom: -26rem; }

.dashed-box {
  position: relative;
  display: inline-block;
  padding: 12rem 6rem 11rem 11rem;
}

.dashed-border {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

.dashed-border rect {
  fill: none;
  stroke: var(--color-orange);
  stroke-width: 1;
  stroke-dasharray: 2 2;
  vector-effect: non-scaling-stroke;
  animation: dash 0.5s linear infinite;
}

.dashed-box .content {
  position: relative;
  z-index: 1;
}

@keyframes dash {
  to { stroke-dashoffset: -4; }
}

.footer-scroll .img {
	position: relative;
	overflow: hidden;
	border-radius: 7rem;
	width: 200rem !important;
	min-width: 200rem !important;
	height: 122rem;
	margin-right: 37rem;
}

.footer-scroll .img-inner {
	position: absolute;
	top: 160rem;
	right: -60rem;
	transform: rotate(-45deg);
	transform-origin: right top;
	transition: .7s var(--easeOutQuart);
	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 {
	display: block;
	border-radius: 7rem;
	width: 200rem !important;
	transition: .4s var(--easeOutQuart);
}

.footer-scroll .inner:hover .img-inner img {
	transform: scale(1.1);
	transition: .6s var(--easeOutQuart);
}

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

.footer-inner .logo { margin: 0 0 48rem -2rem; }
.footer-inner .logo img { width: 231rem; }

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

.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: 16rem;
	font-size: 20rem;
	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: 28rem;
	font-family: var(--font-avenir-m);
	font-size: 14rem;
	letter-spacing: 0.04em;
}

.footer-gnav {
	position: absolute;
	top: 85rem;
	left: 460rem;
	display: flex;
}

.footer-gnav nav { margin-right: 65rem; }
.footer-gnav nav ul:not(:last-of-type) { margin-bottom: 42rem; }
.footer-gnav nav:nth-of-type(2) ul { margin-bottom: 70rem; }
.footer-gnav nav li { margin-bottom: 10rem; }

.footer-gnav nav li a {
	display: inline-block;
	padding: 0 10rem 7rem 0;
	font-size: 23rem;
	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: 16rem;
	letter-spacing: 0.1em;
}

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

.footer-sns { position: absolute; top: 85rem; right: 90rem; }
.footer-sns h2 { margin-bottom: 22rem; }
.footer-sns li { margin-bottom: 12rem; }
.footer-sns li a { display: block; position: relative; white-space: nowrap; }

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

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

footer .pic { display: block; position: absolute; pointer-events: none; }
footer .pic1 { top: 294rem; left: 54rem; width: 120rem; }
footer .pic2 { top: 306rem; left: 560rem; width: 158rem; }
footer .pic3 { top: 454rem; right: 220rem; width: 105rem; }
footer .pic4 { bottom: 16rem; right: 34rem; width: 100rem; }

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

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

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

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

.plist li:after {
	display: block;
	content: '';
	position: absolute;
	top: 16rem;
	right: -41rem;
	background-color: var(--color-text);
	width: 32rem;
	height: 1px;
}

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

.plist li a,
.plist li span {
	display: inline-block;
	padding: 10rem;
	font-size: 18rem;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.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;
	min-height: 20vh;
	opacity: 0;
}

#aboutContents,
#instructorContents { padding-top: 50rem; }

#danranContents,
#online-advisorContents,
#aspiration-careContents,
#newsContents,
#faqContents,
#contactContents,
#privacyContents,
#errorContents,
#pwContents { padding-top: 100rem; }

/* .title-page
------------------------------------*/
.title-page {
	width: 1120rem;
	margin: 0 auto 120rem;
}

#aboutContents .title-page,
#instructorContents .title-page,
#faqContents .title-page {
	margin-bottom: 90rem;
}

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

#danranContents .title-page em {
	letter-spacing: 0.08em;
}

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

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

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

.title-page p {
	margin-bottom: 65rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 17rem;
	line-height: 1.9;
	letter-spacing: 0.11em;
}

.title-page.size-m p {
	margin-top: 18rem;
	font-family: var(--font-serif-jp);
	line-height: 2.1;
	letter-spacing: 0.1em;
}

/* title line
------------------------------------*/
.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-area: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 8rem 5rem;
	padding-left: 20rem;
	font-size: 17rem;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

.dot-list.mb li { margin-bottom: 14rem; }
.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: 10rem; }

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

/* .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%;
	min-width: var(--width-min);
	height: 100%;
	z-index: 9999;
	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; }

@media (max-width: 1239px) {
	.modal {
		overflow-x: scroll;
		min-width: 1240rem;
	}
}

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

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


/* news archive
---------------------------------------------------------------------------*/
.news-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 54rem 78rem;
	font-family: var(--font-gothic-jp-b);
}

.news-list article a {
	display: block;
}

.news-list figure {
	position: relative;
	margin-bottom: 25rem;
}

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

.news-list figure:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -21rem;
	right: -17rem;
	background: url(img/share/pic6.svg) no-repeat left top / 100% auto;
	width: 48rem;
	height: 50rem;
	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: 10rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 13rem;
	letter-spacing: 0.06em;
}

.news-list h3 {
	color: var(--color-orange);
	font-size: 17rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

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

.news-list .category span,
.news-header .category li a,
.news-title .post-categories li a {
	display: inline-block;
	border: max(1rem, 1px) solid var(--color-text);
	border-radius: 28rem;
	padding: 11rem 9rem 10rem 10rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 14rem;
	line-height: 0;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.news-list .category span { margin-right: 5rem; margin-bottom: 7rem; }
.news-list .category span:last-of-type { margin-right: 0; }
.news-title .post-categories li  { margin-right: 2rem; }


/* news single
---------------------------------------------------------------------------*/
.news-area {
	position: relative;
	border-top: 2rem solid var(--color-border);
	width: 800rem;
	margin: 0 auto;
	padding: 35rem 0 0;
}

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

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

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

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

.news-title h1 {
	padding-top: 25rem;
	font-family: var(--font-gothic-jp-r);
	color: var(--color-orange);
	font-size: 27rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

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

.post-main, .post-main h2, .post-main p {
	font-size: 17rem;
	line-height: 2.1;
	letter-spacing: 0.1em;
}

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

.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% + 10rem);
	height: auto;
	margin: 45rem 5rem 40rem !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: 20rem 0 30rem; }
.post-main ul ul,
.post-main ul ol,
.post-main ol ul,
.post-main ol ol { margin: 10rem 0 20rem; }
.post-main ul { margin-left: 26rem; }
.post-main ol { margin-left: 26rem; }
.post-main ul li { list-style: disc; margin: 0 0 6rem 18rem; }
.post-main ol li { list-style: decimal; margin: 0 0 6rem 24rem; }
.post-main ul li:last-of-type,
.post-main ol li:last-of-type { margin-bottom: 0; }
.post-main li:has(li) { margin-top: 20rem; }

.post-main blockquote { background: var(--color-bg-beige); margin: 40rem 0; padding: 28rem 36rem; text-align: justify; }
.post-main blockquote p { font-size: 14rem; 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;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

.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-top: 16rem;
	padding-bottom: 30rem;
}

.news-table th {
	position: relative;
	min-width: 155rem;
	padding-right: 40rem;
	padding-left: 5rem;
	font-size: 16rem;
	text-align: left;
	vertical-align: top;
}

.news-table td {
	width: 100%;
	padding-right: 5rem;
}

.news-table td,
.news-table td p {
	font-size: 15rem;
}

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

.news-table-attention {
	margin-top: -50rem;
	padding: 5rem 0;
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

/* .news-link
------------------------------------*/
.news-table + .post-link { margin-top: 80rem; }
.post-link { margin-top: 60rem; }
.post-link li { display: inline-block; margin: 0 10rem 14rem 0; }

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

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

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

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

.news-nav li h2 {
	font-family: var(--font-gothic-jp-b);
	font-size: 18rem;
	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: 200rem auto 0;
}

.news-other > h2 {
	margin-bottom: 45rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 22rem;
	letter-spacing: 0.1em;
}

.news-other .txt-link {
	position: absolute;
	top: 0;
	right: 0;
}

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


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin: 140rem 0 0;
	font-family: var(--font-gothic-jp-r);
	font-size: 16rem;
	letter-spacing: 0.06em;
}

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

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


/* page top
---------------------------------------------------------------------------*/
body.top header .pic3 { display: none; }

header .logo,
.header-inner {
	opacity: 0;
}

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: max(2rem, 2px) solid #C9C9C9;
	width: 1180rem;
	margin: 0 auto 65rem;
	padding: 45rem 0 0;
}

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

.top-sec-title em {
	display: block;
	margin-bottom: 30rem;
	font-family: var(--font-avenir-r);
	font-size: 33rem;
	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: 16rem;
	letter-spacing: 0.1em;
}

/* .top-main
------------------------------------*/
.top-main {
	position: relative;
	width: 100%;
	margin: -10em auto 0;
	padding: 0 0 415em 102em;
}

.top-main figure { position: absolute; }

.top-main .img1 { top: -27em; right: 68em; width: 580em; opacity: 0; }
.top-main .img2 { bottom: 55em; left: 85em; width: 241em; opacity: 0; }
.top-main .img3 { bottom: 71em; left: 444em; width: 147em; opacity: 0; }
.top-main .img4 { bottom: 61em; right: 206em; width: 248em; opacity: 0; }

.top-main .img1,
.top-main .img2,
.top-main .img3,
.top-main .img4 { clip-path: inset(50% 50% 50% 50%); }

.top-main .img1.active,
.top-main .img2.active,
.top-main .img3.active,
.top-main .img4.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%); }
}

.top-main .img1 img,
.top-main .img2 img,
.top-main .img3 img,
.top-main .img4 img { display: block; transform-origin: center center; transform: scale(0.6); }

.top-main .img1.active img,
.top-main .img2.active img,
.top-main .img3.active img,
.top-main .img4.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 -2rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 30em;
	line-height: 1.7;
	letter-spacing: 0.08em;
	opacity: 0;
}

.top-main p {
	font-size: 18em;
	line-height: 2.15;
	letter-spacing: 0.16em;
	opacity: 0;
}

.top-main .pic { display: block; position: absolute; opacity: 0; }
.top-main .pic1 { top: 267em; left: 503em; }
.top-main .pic1 img { width: 125em; }
.top-main .pic2 { bottom: 101em; right: 18em; }
.top-main .pic2 img { width: 107em; }

/* .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: 32rem;
	white-space: nowrap;
}

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

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

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

/* .top-policy
------------------------------------*/
.top-policy {
	position: relative;
	margin: 0 auto 130rem;
	padding: 105rem 70rem 0 580rem;
	color: #FFFFFF;
}

.top-policy .txt {
	position: absolute;
	top: 70rem;
	left: 75rem;
}

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

.top-policy .txt p {
	font-size: 16rem;
	line-height: 2.1;
	letter-spacing: 0.18em;
	opacity: 0;
}

.policy-list {
	position: relative;
	width: 670rem;
	margin: 0 auto 115rem;
}

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

.policy-list li:before {
	display: block;
	content: '';
	position: absolute;
	bottom: -14rem;
	left: 30rem;
	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: 409rem; margin: 0 0 57rem 165rem; }
.policy-list li:nth-of-type(2) { width: 582rem; margin: 0 0 71rem 43rem; }
.policy-list li:nth-of-type(3) { width: 239rem; margin: 0 0 0 58rem; }
.policy-list li:nth-of-type(4) { width: 284rem; margin: -95rem 0 60rem 350rem; }
.policy-list li:nth-of-type(5) { width: 539rem; margin: 0 0 80rem 82rem; }
.policy-list li:nth-of-type(6) { width: 354rem; margin: 0 0 0 0; }
.policy-list li:nth-of-type(7) { width: 274rem; margin: -196rem 0 93rem 396rem; }
.policy-list li:nth-of-type(8) { width: 539rem; margin: 0 0 0 88rem; }

.top-policy h3 {
	font-family: var(--font-gothic-jp-r);
	font-size: 25rem;
	line-height: 2.5;
	letter-spacing: 0.17em;
	text-align: center;
	text-decoration: underline;
	text-decoration-thickness: 2rem;
	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 45rem;
	padding: 0 30rem;
}

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

.top-service-inner > h2,
.top-service-inner > p {
	margin-left: 73rem;
}

.top-service-inner > h2 {
	margin-bottom: 30rem;
	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: 54rem;
	letter-spacing: 0.13em;
}

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

.top-service-inner > p {
	margin-bottom: 20rem;
	font-size: 19rem;
	line-height: 2.2;
	letter-spacing: 0.16em;
}

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

.top-service .nav-service-list:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background-color: #FFFFFF;
	width: 100vw;
	height: max(1rem, 1px);
}

.top-service .nav-service-list .inner {
	display: block;
	position: relative;
	border-right: max(1rem, 1px) solid #FFFFFF;
	margin: 0;
	padding: 0;
}

.top-service .nav-service-list .inner:first-of-type {
	border-left: max(1rem, 1px) solid #FFFFFF;
}

.top-service .nav-service-list .inner a {
	display: block;
	padding: 38rem 38rem 62rem;
}

.top-service .nav-service-list .inner figure {
	width: 100%;
	margin: 0 0 44rem;
}

.top-service .nav-service-list .inner .txt {
	position: relative;
	padding: 0 14rem;
}

.top-service .nav-service-list .inner em {
	margin-bottom: 20rem;
	font-family: var(--font-avenir-r);
	font-size: 15rem;
}

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

.top-service .nav-service-list .inner h2 {
	font-size: 26rem;
	letter-spacing: 0.12em;
}

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

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

.top-service .nav-service-list .inner .btn-link {
	display: block;
	margin: 36rem 0 0;
}

.top-service .nav-service-list .inner .btn-link > span {
	display: block;
	border: max(1rem, 1px) solid #FFFFFF;
	padding-top: 17rem;
	padding-bottom: 14rem;
	font-size: 17rem;
}

/* .top-message
------------------------------------*/
.top-message {
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 1180rem;
	margin: 0 auto 85rem;
}

.top-message figure {
	width: 388rem;
	min-width: 388rem;
	margin-right: 75rem;
}

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

.top-message h2 {
	position: absolute;
	top: 0;
	right: 45rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 35rem;
	line-height: 1.75;
	letter-spacing: 0;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.top-message p {
	font-size: 16rem;
	line-height: 2.25;
	letter-spacing: 0.08em;
	text-align: justify;
}

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

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

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

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

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

.voice-list-slide .slick-arrow,
.news-list-slide .slick-arrow {
	position: absolute;
	top: -130rem;
	background: url(img/share/btn-arrow-orange.svg) no-repeat left top / 100% auto;
	width: 51rem;
	height: 51rem;
	text-indent: -9999px;
	transition: .15s ease-out;
	opacity: 0;
}

.voice-list-slide .slick-arrow:hover,
.news-list-slide .slick-arrow:hover {
	opacity: 0.7;
}

.voice-list-slide .slick-prev,
.news-list-slide .slick-prev { left: 1064rem; transform: scaleX(-1) !important; }
.voice-list-slide .slick-next,
.news-list-slide .slick-next { left: 1129rem; }

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

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

.top-voice .voice-list article .txt {
	position: relative;
	background-color: #F2F2F1;
	border-radius: 35rem;
	margin: 0 0 50rem;
	padding: 34rem 34rem 30rem;
}

.top-voice .voice-list article .txt:before {
	display: block;
	content: '';
	position: absolute;
	bottom: -25rem;
	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: 14rem;
	line-height: 2.1;
	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 .slick-list {
	margin-top: -15rem;
	padding-top: 15rem;
	margin-left: -10rem;
	padding-left: 10rem;
}

.top-news .news-list {
	display: flex;
	width: auto;
}

.top-news .news-list article {
	width: 310rem !important;
	min-width: 310rem !important;
	margin-right: 40rem;
}

.top-news > .btn-link {
	width: 1180rem;
	margin: 60rem auto 0;
}


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

.news-header,
.news-list,
#newsContents .wp-pagenavi,
.news-other {
	width: 1090rem;
	margin-right: auto;
	margin-left: auto;
}

.news-area {
	width: 800rem;
	margin-right: auto;
	margin-left: auto;
}

/* .news-header
------------------------------------*/
.news-header {
	display: flex;
	align-items: flex-end;
	margin-bottom: 110rem;
}

.news-header.hidden { pointer-events: none; }

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

.news-header .category { transform: translateY(-16rem); }

.news-header .category li {
	display: inline-block;
	margin-right: 10rem;
}

.news-header .category li a {
	background-color: #FFFFFF;
	padding: 13rem 9rem 11rem 11rem;
	font-size: 16rem;
	line-height: 0;
	letter-spacing: 0.06em;
}

.news-header .category li.current a {
	border-color: var(--color-orange);
	background-color: var(--color-orange);
	color: #FFFFFF;
}


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

/* .about-lead
------------------------------------*/
.about-lead {
	position: relative;
	width: 1120rem;
	margin: 0 auto 125rem;
	padding: 0 0 0 176rem;
}

.about-lead h2 {
	position: absolute;
	top: -205rem;
	right: 26rem;
	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: 91rem;
}

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

.about-lead p {
	margin-bottom: 15rem;
	font-family: var(--font-serif-jp);
	font-size: 19rem;
	line-height: 1.95;
	letter-spacing: 0.14em;
}

/* .about-common
------------------------------------*/
.about-common {
	position: relative;
	border-top: 2rem solid var(--color-border);
	width: 1120rem;
	margin: 0 auto 70rem;
	padding: 38rem 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: 26rem;
	letter-spacing: 0.04em;
}

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

.about-common-inner p {
	line-height: 2.25;
	letter-spacing: 0.14em;
}

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

.about-value h2 {
	margin-bottom: 68rem;
}

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

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

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

.about-value .inner h3 .num {
	display: block;
	position: absolute;
	top: 10rem;
	left: 7rem;
	font-family: var(--font-optima-r);
	font-size: 24rem;
	letter-spacing: 0.06em;
}

.about-value .inner .btn-ac .plus {
	position: absolute;
	top: 10rem;
	right: 20rem;
	width: 21rem;
	height: 21rem;
	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: 10rem; width: max(1rem, 1px); height: 100%; }
.about-value .inner .btn-ac .plus:after { top: 10rem; 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: 23rem;
	letter-spacing: 0.12em;
}

.about-value .inner .detail {
	display: none;
	padding: 0 0 60rem 35rem;
}

.about-value .inner .detail p {
	line-height: 2.2;
	letter-spacing: 0.09em;
}

.about-value .inner .box {
	position: relative;
	border: max(1rem, 1px) solid var(--color-border);
	border-radius: 13rem;
	margin-top: 36rem;
	padding: 75rem 25rem 35rem 60rem;
}

.about-value .inner .box h4 {
	position: absolute;
	top: 24rem;
	left: 26rem;
	color: var(--color-orange);
	font-size: 19rem;
	letter-spacing: 0.16em;
}

.about-value .inner .box li {
	margin-bottom: 7rem;
	font-size: 16rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

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

.about-activities h2 {
	margin-bottom: 68rem;
}

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

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

.about-activities li a {
	display: block;
	position: relative;
	min-height: 44rem;
	padding: 8rem 0 0 69rem;
	white-space: nowrap;
}

.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: 44rem;
	height: 44rem;
}

.about-activities li span {
	display: inline-block;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.5em;
}

.about-activities li strong {
	font-family: var(--font-gothic-jp-b);
	font-size: 27rem;
	letter-spacing: 0.1em;
}

.about-activities li em {
	font-family: var(--font-gothic-jp-r);
	font-size: 19rem;
	letter-spacing: 0.1em;
}

.about-activities li em b { display: inline !important; }

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

.about-us .inner {
	position: relative;
	border-top: 1px solid var(--color-border);
	margin: 0 0 0 -10rem;
	padding: 42rem 5rem 70rem 289rem;
}

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

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

.about-us .inner p {
	line-height: 2.2;
	letter-spacing: 0.08em;
	text-align: justify;
}

/* .about-us .career
------------------------------------*/
.about-us .career dl,
.about-us .outline dl {
	display: flex;
	margin-bottom: 6rem;
	font-size: 17rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.about-us .career dt,
.about-us .outline dt {
	width: 65rem;
	min-width: 65rem;
	padding-right: 20rem;
	opacity: 0.6;
	transform: translateY(max(1rem, 1px));
}

.about-us .career dd,
.about-us .outline dd {
	width: 100%;
}

/* .about-us .sns
------------------------------------*/
.about-us .sns {
	padding-top: 52rem;
	padding-bottom: 80rem;
}

.about-us .sns dl:not(:last-of-type) { margin-bottom: 42rem; }

.about-us .sns dt {
	margin-bottom: 19rem;
	font-size: 17rem;
	letter-spacing: 0.04em;
	
}

.about-us .sns dd {
	padding-left: 35rem;
}

.about-us .sns dd p {
	line-height: 1.9;
	letter-spacing: 0.1em;
}

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

/* .about-us .outline
------------------------------------*/
.about-us .outline {
	display: flex;
	justify-content: space-between;
	padding-top: 52rem;
}

.about-us .outline .txt h4 {
	margin-bottom: 24rem;
	font-size: 17rem;
	letter-spacing: 0.1em;
}

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

.about-us .outline .txt dl {
	margin-bottom: 5rem;
	font-size: 15rem;
}

.about-us .outline .txt dt {
	width: 70rem;
	min-width: 70rem;
}

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

.about-us .outline .profile {
	width: 172rem;
	margin-right: 92rem;
}

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

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

.about-us .outline .profile h5 {
	font-size: 14rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}


/* page service
---------------------------------------------------------------------------*/

/* .service-lead
------------------------------------*/
.service-lead {
	position: relative;
	width: 1180rem;
	margin: -35rem auto 0;
	padding: 170rem 0 0 480rem;
}

.service-lead .title-page {
	position: absolute;
	top: 0;
	left: 30rem;
	width: auto;
	margin: 0;
}

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

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

.service-lead > p {
	margin-bottom: 15rem;
	font-size: 17rem;
	line-height: 2.15;
	letter-spacing: 0.12em;
}

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

.service-common .title-page { position: absolute; top: 0; left: 0; width: auto; }
.service-common .title-page em,
.title-page.size-m em { font-size: 16rem; }
.service-common .title-page h2,
.title-page.size-m h2 { font-size: 33rem; 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 {
	width: 1122rem;
	margin: 160rem auto 0;
}

/* .service-news
------------------------------------*/
.service-news {
	width: 1122rem;
	margin: 180rem auto 0;
}

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

/* .service-nav
------------------------------------*/
.service-nav {
	width: 1122rem;
	margin: 140rem auto 0;
}

.service-nav > h2 {
	display: inline-block;
	margin-right: 42rem;
	margin-bottom: 43rem;
	font-family: var(--font-avenir-r);
	font-size: 37rem;
	letter-spacing: 0.13em;
}

.service-nav > p {
	display: inline-block;
	font-family: var(--font-gothic-jp-r);
	font-size: 15rem;
	letter-spacing: 0.15em;
	transform: translateY(-7rem);
}

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

.service-nav .nav-service-list .inner em {
  font-family: var(--font-avenir-r);
}

.service-nav .nav-service-list .inner h2 {
	display: inline-block;
	position: relative;
	color: var(--color-orange);
	font-size: 20rem;
}

.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 i { display: none; }
.service-nav .nav-service-list .inner h2 i.color { display: inline-block; transform: translateY(-2rem); }
.service-nav .nav-service-list .inner h2 i img { width: 14.5rem; }

/* .bnr-contact
------------------------------------*/
.bnr-contact { width: 1162rem; margin: 145rem auto 0; }
.bnr-contact img { width: 100%; }


/* page danran
---------------------------------------------------------------------------*/

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

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

.danran-lead .box h4 {
	position: absolute;
	top: 24rem;
	right: 28rem;
}

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

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

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

.danran-lead .box p {
	margin-left: 2rem;
	font-size: 18rem;
	letter-spacing: 0.18em;
}

/* .danran-job
------------------------------------*/
.danran-job {
	border-top: max(1rem, 1px) solid var(--color-border);
	margin: 140rem 0 175rem;
	padding-top: 130rem;
	text-align: center;
}

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

.danran-job h2 {
	margin-bottom: 22rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 44rem;
	letter-spacing: 0.08em;
	transform: translateX(20rem);
	white-space: nowrap;
}

.danran-job h2 strong {
	display: inline-block;
  background-image: repeating-linear-gradient(90deg, var(--color-orange), var(--color-orange) 5.6px, transparent 5.6px, transparent 12.3px), repeating-linear-gradient(180deg, var(--color-orange), var(--color-orange) 5.6px, transparent 5.6px, transparent 12.3px), repeating-linear-gradient(90deg, var(--color-orange), var(--color-orange) 5.6px, transparent 5.6px, transparent 12.3px), repeating-linear-gradient(180deg, var(--color-orange), var(--color-orange) 5.6px, transparent 5.6px, transparent 12.3px);
  background-position: left -2px top, right top -3px, left -2px bottom, left top -2px;
  background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
  background-size: calc(100% * 12.3) 3px, 3px calc(100% * 12.3), calc(100% * 12.3) 3px, 3px calc(100% * 12.3);
	padding: 12rem 19rem 5rem 22rem;
	letter-spacing: 0.08em;
}

.danran-job h2 i { padding: 0 11rem 0 14rem; }
.danran-job h2 > span { padding-left: 22rem; }
.danran-job h2 .stretch { width: auto; }

.danran-job-inner > p {
	font-family: var(--font-gothic-jp-m);
	font-size: 22rem;
	letter-spacing: 0.1em;
}

.danran-job .job-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 56rem;
	margin-top: 46rem;
}

.danran-job .job-list .inner {
	position: relative;
}

.danran-job .job-list figure {
	border: 3rem solid #000000;
	margin-bottom: 32rem;
}

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

.danran-job .job-list h4 {
	margin-bottom: 24rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 17rem;
	letter-spacing: 0.08em;
}

.danran-job .job-list h4 span {
	padding-right: 6rem;
	padding-left: 7rem;
}

.danran-job .job-list .inner:nth-of-type(2) h4 span {
	padding-right: 11rem;
	padding-left: 13rem;
}

.danran-job .job-list .list-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 15rem;
	padding-left: 5rem;
}

.danran-job .job-list li {
	margin-bottom: 4rem;
	padding-left: 15rem;
	font-size: 15rem;
	letter-spacing: 0.06em;
	text-align: left;
}

.danran-job .job-list .attention {
	position: absolute;
	bottom: 6rem;
	right: 0;
	font-size: 13rem;
	text-align: left;
}

/* .danran-point
------------------------------------*/
.danran-point,
.aspiration-care-service-inner {
	position: relative;
	background-color: var(--color-bg-beige);
	border-radius: 55rem;
	width: 1240rem;
	margin: 0 auto 150rem;
	padding: 40rem 50rem 75rem;
}

.danran-point-inner,
.aspiration-care-service-inner section {
	position: relative;
	padding: 55rem 0 120rem 320rem;
}

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

.danran-point-inner h2 {
	position: absolute;
	top: 60rem;
	left: 28rem;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.danran-point-inner h2 strong {
	display: block;
	margin-left: 16rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m-v);
	font-size: 36rem;
	line-height: 1.3;
	letter-spacing: -0.04em;
}

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

.danran-point-inner h2 em {
	display: block;
	margin-top: 5rem;
	font-family: var(--font-avenir-m);
	font-size: 15rem;
	letter-spacing: 0.09em;
}

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

.danran-point-inner h3 {
	margin-bottom: 50rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 27rem;
	line-height: 1.7;
	letter-spacing: 0;
}

/* .danran-point1
------------------------------------*/
.danran-point1 {
	padding-top: 88rem;
	padding-right: 10rem;
	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 18rem 4rem;
	font-size: 16rem;
	letter-spacing: 0.04em;
}

.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,
.danran-point1 tbody td {
	padding-top: 14rem !important;
	padding-bottom: 38rem !important;
}

.danran-point1 tbody th {
	background: url(img/share/pic-check-box.svg) no-repeat left 6rem top 19rem / 21rem auto;
	min-width: 290rem;
	padding: 0 0 0 40rem;
	font-size: 19rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.danran-point1 tbody td {
	padding-left: 6rem;
}

.danran-point1 tbody td li {
	margin-bottom: 0;
	font-size: 16rem;
}

.danran-point1 .pic1 { top: -86rem; left: -79rem; width: 121rem; }
.danran-point1 .pic2 { bottom: 50rem; right: -89rem; width: 105rem; }

/* .danran-point2
------------------------------------*/
.danran-point2 {
	padding-right: 20rem;
}

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

.danran-point2 h4 i { font-size: 18rem; }
.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: 15rem;
	padding: 58rem 45rem 50rem;
}

.danran-point2 .list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 46rem 20rem;
	padding-right: 30rem;
}

.danran-point2 .list > div {
	position: relative;
	padding: 0 0 0 50rem;
}

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

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

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

.danran-point2 .list h6 {
	margin-bottom: 9rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 19rem;
	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;
	padding-left: 16rem;
	font-size: 16rem;
	white-space: nowrap;
}

.danran-point2 .list li span {
	font-size: 14rem;
	letter-spacing: 0.08em;
}

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

.danran-point2 .list2 h5 {
	margin-bottom: 42rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 16rem;
	letter-spacing: 0.14em;
}

.danran-point2 .list2 .list-wrap {
	display: flex;
	margin: 20rem 0 0;
	padding-left: 40rem;
}

.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;
	border-bottom: 2.5rem solid var(--color-orange);
	margin: 53rem 0 0 25rem;
	padding-bottom: 3rem;
	font-size: 17rem;
	letter-spacing: 0.1em;
}

.danran-point2 .list2 .message strong {
	padding-left: 22rem;
	padding-right: 24rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 26rem;
	letter-spacing: 0.06em;
}

.danran-point2 .pic1 { top: 482rem; left: -33rem; width: 105rem; }
.danran-point2 .pic2 { bottom: -54rem; right: -6rem; width: 105rem; }

/* .danran-point3
------------------------------------*/
.danran-point3 .sec-inner {
	display: flex;
	justify-content: space-between;
	padding: 10rem 40rem 0 0;
}

.danran-point3 .inner1 {
	padding: 43rem 0 0;
}

.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: 25rem;
	letter-spacing: 0.04em;
}

.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: 40rem;
	letter-spacing: 0;
}

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

.danran-point3 .inner1 .num span {
	padding-left: 10rem;
}

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

.danran-point3 .inner1 .list-wrap { display: flex; }
.danran-point3 .inner1 .list-wrap ul:not(:last-of-type) { margin-right: 22rem; }

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

.danran-point3 .inner2 {
	align-self: flex-start;
	background-color: #FFFFFF;
	border: max(1rem, 1px) solid var(--color-border);
	border-radius: 15rem;
	width: 308rem;
	padding: 35rem 34rem 34rem;
	margin-top: 40rem;
}

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

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

.danran-point3 .inner2 h3 em {
	display: block;
	margin-left: 1rem;
	color: var(--color-text);
	font-family: var(--font-avenir-m);
	font-size: 14rem;
	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;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.danran-point3 .inner2 li i {
	display: block;
	position: absolute;
	top: 3rem;
	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;
	font-size: 12rem;
}

.danran-point3 .pic1 { bottom: 135rem; left: 19rem; width: 105rem; }

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

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

.danran-graduate .list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0;
	background-color: #FFFFFF;
}

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

.danran-graduate .list > div {
	padding: 35rem 40rem 45rem;
}

.danran-graduate .list figure {
	margin-bottom: 30rem;
}

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

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

.danran-graduate .list h4 {
	margin: 0 0 17rem 1rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 12rem;
	letter-spacing: 0.07em;
}

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

.danran-graduate .list p {
	font-size: 16rem;
	letter-spacing: 0.06em;
	text-align: justify;
	line-height: 1.9;
}

.danran-graduate .list .btn-link {
	width: calc(100% + 10rem);
	margin: 18rem -5rem 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.overlay:before {
	opacity: 0.1;
}*/

.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: 6rem;
	left: 18rem;
	font-family: var(--font-gothic-jp-m-v);
	font-size: 29rem;
	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: -6rem;
	right: -19rem;
	background: url(img/share/pic-voice.svg) no-repeat left top / 100% auto;
	width: 11rem;
	height: 35rem;
}

.modal-danran-graduate-inner {
	display: none;
	overflow-y: scroll;
	min-width: var(--width-min);
	padding: 32rem 112rem 122rem 144rem;
	opacity: 0;
}

.modal-danran-graduate-inner > div {
	display: flex;
	justify-content: space-between;
}

.modal-danran-graduate-inner .txt {
	width: 54%;
	min-width: 580rem;
	padding: 24rem 0 0;
}

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

.modal-danran-graduate-inner .profile figure {
	border-radius: 50%;
	width: 155rem;
	min-width: 155rem;
	margin-right: 33rem;
}

.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: 19rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 27rem;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.modal-danran-graduate-inner .profile h3 strong b {
	display: inline-block;
	border-top: 1px solid #FFFFFF;
	border-right: 1px solid #FFFFFF;
	border-left: 1px solid #FFFFFF;
	margin-bottom: 22rem;
	margin-right: 16rem;
	padding: 8rem 9rem 0 10rem;
	font-size: 18rem;
	letter-spacing: 0.12em;
}

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

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

.modal-danran-graduate-inner .txt p {
	letter-spacing: 0.08em;
	text-align: justify;
}

.modal-danran-graduate-inner .txt > p {
	margin-left: 5rem;
}

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

.modal-danran-graduate-inner .dl {
	margin: 52rem 0 100rem;
}

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

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

.modal-danran-graduate-inner dt {
	position: relative;
	font-family: var(--font-gothic-jp-m);
	margin-bottom: 8rem;
	font-size: 19rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

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

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

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

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

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

.modal-danran-graduate-inner .link-work h5 {
	margin-bottom: 7rem;
	font-size: 18rem;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

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

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

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

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

.modal-danran-nav h3 {
	margin: 0 0 32rem -2rem;
	font-size: 16rem;
	letter-spacing: 0.12em;
}

.modal-danran-nav .list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 0;
	margin-bottom: 35rem;
}

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

.modal-danran-nav .list button:hover {
	opacity: 1;
}

.modal-danran-nav .list button:nth-child(odd):after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background: url(img/share/line-dot-v-white.svg) repeat-y left top / 100% auto;
	width: 2rem;
	height: 100%;
}

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

.modal-danran-nav .list button:nth-child(odd) > span { padding: 2rem 34rem 2rem 0; }
.modal-danran-nav .list button:nth-child(even) > span { padding: 2rem 10rem 2rem 30rem; }

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

.modal-danran-nav .list button h4 strong {
	display: inline-block;
	position: relative;
	padding-bottom: max(1rem, 1px);
	font-size: 20rem;
	letter-spacing: 0.1em;
	/*text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.2em;*/
}

.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:hover h4 strong:after {
	width: 100%;
	transition: .35s 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-left: 14rem;
}

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

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

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

.modal-danran-graduate-inner .img {
	position: sticky;
	align-self: flex-end;
	bottom: 0;
	width: 36%;
	min-width: 350rem;
}

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

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

.danran-profile .img {
	position: relative;
	max-width: 1320rem;
	margin: 0 auto 80rem;
	padding: 220rem 0 0 412rem;
}

.danran-profile .img1 {
	position: relative;
	width: 908rem;
	z-index: 3;
}

.danran-profile .img2 {
	position: absolute;
	top: 534rem;
	left: 95rem;
	width: 317rem;
	z-index: 0;
}

.danran-profile .img3 {
	position: absolute;
	top: 15rem;
	right: 114rem;
	width: 224rem;
	z-index: 2;
}

.danran-profile .img .txt {
	display: inline-block;
	position: absolute;
	top: 77rem;
	left: 0;
	background: var(--color-orange) url(img/share/bg-pattern-orange.jpg) repeat left top / 200rem auto;
	padding: 52rem 270rem 165rem 58rem;
	color: #FFFFFF;
	z-index: 1;
}

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

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

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

.danran-profile .img .txt h3 {
	margin-bottom: 20rem;
	font-size: 18rem;
	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: 13rem;
	line-height: 1.55;
	letter-spacing: 0.06em;
}

.danran-profile .img > p {
	position: absolute;
	bottom: -3rem;
	left: 95rem;
	max-width: 292rem;
	font-size: 15rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.danran-profile .img > p span {
	display: block;
	margin-top: 4rem;
	font-size: 13rem;
	letter-spacing: 0.02em;
	text-align: justify;
}

.danran-profile .inner {
	width: 1040rem;
	margin: 0 auto;
}

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

.danran-profile .inner p {
	margin-bottom: 14rem;
	font-size: 18rem;
	line-height: 2;
	letter-spacing: 0.14em;
}

.danran-profile .sns {
	margin-top: 115rem;
}

.danran-profile .sns h3 {
	margin-bottom: 40rem;
	font-size: 24rem;
	line-height: 2;
	letter-spacing: 0.1em;
}

.danran-profile .sns-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 22rem;
	margin-bottom: 140rem;
}

.danran-profile .sns-list-inner {
	position: relative;
	border: max(1rem, 1px) solid var(--color-border);
	padding: 90rem 0 58rem 35rem;
}

.danran-profile .sns-list > div .sns-list-inner {
	padding: 45rem 0 40rem 35rem;
}

.danran-profile .sns-list > div .sns-list-inner + .sns-list-inner {
	margin-top: 22rem;
}

.danran-profile .sns-list-inner b {
	display: block;
	position: absolute;
	bottom: 100rem;
	right: 16rem;
	transform: rotate(-5deg);
}

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

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

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

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

.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: 35rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 14rem;
	line-height: 2.1;
	letter-spacing: 0.18em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

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

.danran-profile .sns-list .link-txt a {
	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;
	border: max(2rem, 2px) solid var(--color-orange);
	border-radius: 5rem;
	width: 1040rem;
	margin: 0 auto;
	padding: 95rem 0 55rem 454rem;
}

.bnr-workshop h4 {
	position: absolute;
	top: 60rem;
	left: 65rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 21rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

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

.bnr-workshop h5 {
	position: absolute;
	top: 157rem;
	left: 65rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 45rem;
	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 {
	font-size: 17rem;
	line-height: 1.95;
	letter-spacing: 0.12em;
}

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

.bnr-workshop .btn-link a {
	padding-right: 40rem;
	font-size: 17rem;
}

.bnr-workshop .logo {
	display: block;
	position: absolute;
	bottom: 74rem;
	left: 68rem;
	width: 217rem;
}

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

.bnr-workshop .pic1 { top: 247rem; left: 39rem; width: 50rem; }
.bnr-workshop .pic2 { top: 289rem; left: 290rem; width: 107rem; }
.bnr-workshop .pic3 { top: 26rem; right: 15rem; width: 90rem; }
.bnr-workshop .pic4 { top: 14rem; left: 342rem; width: 75rem; }
.bnr-workshop .pic5 { top: 175rem; right: 77rem; width: 87rem; }


/* page online-advisor
---------------------------------------------------------------------------*/

/* .online-advisor-lead
------------------------------------*/
.online-advisor-lead .box {
	display: flex;
	background-color: var(--color-bg-beige-light);
	width: fit-content;
	margin-top: 55rem;
	padding: 30rem 42rem 30rem;
}

.online-advisor-lead .box h3 {
	margin-right: 38rem;
	padding-top: 3rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 18rem;
	line-height: 1.75;
	letter-spacing: 0.06em;
}

.online-advisor-lead .box li {
	margin-bottom: 0;
	font-size: 15rem;
}

/* .online-advisor-point
------------------------------------*/
.online-advisor-point {
	width: 1200rem;
	margin: 180rem auto 180rem;
}

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

.online-advisor-point-inner {
	position: relative;
}

.online-advisor-point .title-page {
	position: absolute;
	top: 35rem;
	left: 40rem;
	width: auto;
	z-index: 2;
}

.online-advisor-point .txt-wrap {
	display: flex;
	justify-content: space-between;
	width: 1120rem;
	margin: 0 auto;
	padding: 25rem 40rem 0 0;
}

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

.online-advisor-point .txt h3 {
	position: relative;
	margin: 80rem 0 12rem;
}

.online-advisor-point .txt h3 i {
	display: block;
	position: absolute;
	top: 4rem;
	left: -65rem;
	font-family: var(--font-optima-r);
	font-size: 19rem;
	line-height: 1.8;
	letter-spacing: 0.13em;
}

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

.online-advisor-point .txt p {
	margin-bottom: 10rem;
	line-height: 2.25;
	letter-spacing: 0.08em;
	text-align: justify;
}

.online-advisor-point .phone {
	order: 1;
	position: sticky;
	align-self: flex-end;
	bottom: 40rem;
	left: 0;
	width: 277rem;
	min-width: 277rem;
	height: 574rem;
	margin: 260rem 185rem 0 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);
	width: 1200rem;
	margin: 0 auto 180rem;
	padding: 28rem 0 0;
}

.online-advisor-role h2 {
	margin: 0 0 90rem 5rem;
	color: var(--color-orange);
	font-family: var(--font-avenir-m);
	font-size: 33rem;
	letter-spacing: 0.01em;
}

.online-advisor-role .inner {
	width: 1040rem;
	margin: 0 auto;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	transform: translateX(15rem);
}

.online-advisor-role .inner h3 {
	margin-left: 105rem;
}

.online-advisor-role .inner p {
	margin: 60rem 0 0 20rem;
	font-size: 20rem;
	line-height: 1.95;
	letter-spacing: 0.1em;
}

/* .online-advisor-showcase
------------------------------------*/
.online-advisor-showcase {
	border-top: max(1rem, 1px) solid var(--color-border);
	margin-bottom: 180rem;
	padding: 85rem 0 0;
}

.online-advisor-showcase .title-page {
	width: 1120rem;
	margin: 0 auto 65rem;
}

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

.advisor-showcase-list > div {
	position: relative;
	border-right: max(1rem, 1px) solid var(--color-border);
	border-bottom: max(1rem, 1px) solid var(--color-border);
	padding: 50rem 0 50rem 80rem;
	cursor: pointer;
	transition: .1s ease-out;
}

.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: 7rem;
	height: calc(100%);
}

.advisor-showcase-list > div:hover {
	background: var(--color-orange) url(img/share/bg-pattern-orange.jpg) repeat left top / 200rem auto;
	border-color: var(--color-orange);
	color: #FFFFFF;
	z-index: 1;
}

.advisor-showcase-list .arrow {
	display: block;
	position: absolute;
	top: 50%;
	right: 60rem;
	width: 39rem;
	height: 24rem;
	transform: translateY(-50%) !important;
}

.advisor-showcase-list .arrow img { display: block; width: 100%; transition: .1s ease-out; }
.advisor-showcase-list .arrow img.on { position: absolute; top: 0; left: 0; opacity: 0; }
.advisor-showcase-list > div:hover .arrow img.off { opacity: 0; }
.advisor-showcase-list > div:hover .arrow img.on { opacity: 1; }

.advisor-showcase-list .movie iframe {
	display: none !important;
}

.advisor-showcase-list figure {
	position: absolute;
	top: 50%;
	right: 135rem;
	transform: translateY(-50%);
	width: 440rem;
	margin-top: 6rem;
	z-index: 2;
	pointer-events: none;
	opacity: 0;
	transition: .2s var(--easeOutCubic);
}

.advisor-showcase-list > div:hover figure {
	margin-top: 0;
	transition: .3s var(--easeOutCubic);
	opacity: 1;
	will-change: transform;
}

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

.advisor-showcase-list h3 {
	font-family: var(--font-gothic-jp-r);
	font-family: var(--font-gothic-jp-b);
	margin-bottom: 20rem;
	font-size: 28rem;
	letter-spacing: 0.1em;
}

.advisor-showcase-list h4 {
	font-size: 17rem;
	letter-spacing: 0.1em;
}

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

.modal-advisor-showcase .pic { display: block; 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: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	margin-top: -2.5vh;
}

.modal-advisor-showcase .movie iframe {
	width: 1058rem;
	height: 595rem;
	max-width: calc((100vh - 200rem) * 1.778);
	max-height: calc(100vh - 200rem);
}

.modal-advisor-showcase .movie h3 {
	margin-top: 15rem;
	color: var(--color-orange);
	white-space: nowrap;
}

.modal-advisor-showcase .movie h3 b {
	display: inline-block;
	border: max(1rem, 1px) solid var(--color-orange);
	border-radius: 30rem;
	margin-right: 10rem;
	padding: 5rem 7rem 4rem 10rem;
	font-family: var(--font-gothic-jp-r);
	font-size: 14rem;
	letter-spacing: 0.04em;
}

.modal-advisor-showcase .movie h3 strong {
	display: inline-block;
	margin-right: 15rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 21rem;
	letter-spacing: 0.1em;
	transform: translateY(3rem);
}

.modal-advisor-showcase .movie h3 em {
	display: inline-block;
	margin-right: 10rem;
	font-size: 16rem;
	letter-spacing: 0.1em;
	transform: translateY(1rem);
}

.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: 35rem; padding-left: 30rem; }
.modal-advisor-showcase nav button:nth-of-type(2) { right: 35rem; padding-right: 30rem; }

.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 {
	width: 1120rem;
	margin: 0 auto 180rem;
}

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

.advisor-do-list dl {
	display: flex;
	position: relative;
	border-top: 2rem solid var(--color-border);
	padding: 30rem 60rem 40rem 0;
}

.advisor-do-list dt {
	width: 365rem;
	min-width: 365rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 27rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
	transform: translateY(-4rem);
}

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

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

.advisor-do-list dd .ul-wrap {
	display: flex;
}

.advisor-do-list dd .ul-wrap ul:not(:last-of-type) {
	margin-right: 70rem;
}

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

.advisor-do-contact {
	display: flex;
	justify-content: space-between;
	border-top: max(1rem, 1px) solid var(--color-border);
	border-bottom: max(1rem, 1px) solid var(--color-border);
	width: 1280rem;
	margin: 15rem -80rem 0;
	padding: 32rem 95rem 38rem 80rem;
}

.advisor-do-contact p {
	margin-bottom: 0;
	font-size: 19rem;
}

.advisor-do-contact .btn-link a {
	padding: 27rem 43rem 23rem 53rem;
	transform: translateY(5rem);
}

/* .online-advisor-record
------------------------------------*/
.online-advisor-record {
	width: 1120rem;
	margin: 0 auto 160rem;
}

.online-advisor-record > h2 {
	margin-bottom: 19rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 19rem;
	letter-spacing: 0.1em;
}

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

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

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

.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: 125rem;
	min-width: 125rem;
	height: 125rem;
	margin-right: 20rem;
}

.advisor-record-list li .txt {
	width: 100%;
}

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

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

.advisor-record-list li h4 a {
	display: inline-block;
	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: 13rem;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.15em;
}

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

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

/* .online-advisor-interview
------------------------------------*/
.online-advisor-interview {
	width: 1120rem;
	margin: 0 auto 115rem;
}

.online-advisor-interview .title-page {
	margin-bottom: 55rem;
}

.advisor-interview-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 30rem;
}

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

.advisor-interview-list > div > span {
	display: block;
	position: relative;
	padding: 0 0 0 22rem;
	transition: .15s ease-out;
	cursor: pointer;
}

.advisor-interview-list > div > span:hover {
	opacity: 0.7;
}

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

.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: 11rem;
	width: 51rem;
	z-index: 2;
	opacity: 0;
}

.advisor-interview-list address {
	position: absolute;
	top: 0;
	left: 0;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m-v);
	font-size: 16rem;
	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: 18rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 22rem;
	letter-spacing: 0.1em;
}

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

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

.modal-advisor-interview h2 {
	position: fixed;
	top: 42rem;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--font-avenir-r);
	font-size: 13rem;
	letter-spacing: 0.26em;
	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: hidden;
}

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

.modal-advisor-interview-inner .movie {
	position: fixed;
	bottom: 40rem;
	right: 40rem;
	/*width: 820rem;
	height: 462rem;*/
	width: 61.2vw;
	height: calc(61.2vw * 0.562);
	z-index: 2;
}

.modal-advisor-interview-inner .txt {
	overflow-y: scroll;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 55rem 71.5% 55rem 40rem;
	font-family: var(--font-gothic-jp-b);
	z-index: 1;
}

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

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

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

.modal-advisor-interview-inner .profile address {
	margin-bottom: 6rem;
	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: 19rem;
	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: 6rem;
	padding: 5rem 9rem 4rem 10rem;
	font-family: var(--font-gothic-jp-b);
	font-size: 13rem;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.modal-advisor-interview-inner .txt > p {
	font-size: 15.5rem;
	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: 35rem;
	padding: 9rem 0 0 2rem;
}

.modal-advisor-interview-inner dt {
	margin-bottom: 22rem;
	font-size: 16rem;
	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: 15rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

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

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


/* page aspiration-care
---------------------------------------------------------------------------*/

/* .aspiration-care-lead
------------------------------------*/
.aspiration-care-lead .goen {
	position: relative;
	width: 600rem;
	margin: 45rem 0 110rem;
	padding: 21rem 0 0;
}

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

/*.aspiration-care-lead .goen h3 strong img { width: 19rem; }*/

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

/*.aspiration-care-lead .goen h3 em img { width: 208rem; }*/

.aspiration-care-lead .goen h4 {
	display: block;
	position: absolute;
	top: 0;
	left: 290rem;
}

/*.aspiration-care-lead .goen h4 img { width: 47rem; }*/

.aspiration-care-lead p {
	text-align: justify;
}

/*.aspiration-care-lead p img { width: 265rem; }*/

.aspiration-care-lead .inner1 {
	position: relative;
	width: 620rem;
	margin-bottom: 140rem;
	padding: 38rem 0 0;
}

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

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

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

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

.aspiration-care-lead .inner1 .box {
	display: flex;
	background-color: var(--color-bg-beige-light);
	margin-top: 38rem;
	padding: 30rem 37rem 32rem;
}

.aspiration-care-lead .inner1 .box h5 {
	margin-right: 40rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 18rem;
	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 ul:not(:last-of-type) { margin-right: 15rem; }

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

.aspiration-care-lead .inner2 {
	position: relative;
	margin: 0 0 0 -480rem;
	padding: 35rem 0 0 480rem;
}

.aspiration-care-lead .inner2 h2 {
	position: absolute;
	top: 0;
	left: 50rem;
}

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

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

.aspiration-care-lead .inner2 p {
	line-height: 2.1;
	letter-spacing: 0.12em;
}

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

.aspiration-care-service .lead {
	margin-bottom: 85rem;
	text-align: center;
}

.aspiration-care-service .lead h2 {
	margin-bottom: 26rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 29rem;
	letter-spacing: 0.1em;
}

.aspiration-care-service .lead p {
	margin-bottom: 15rem;
	line-height: 2.1;
	letter-spacing: 0.14em;
}

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

.aspiration-care-service .lead nav li {
	display: inline-block;
	position: relative;
	padding: 0 26rem 0 22rem;
}

.aspiration-care-service .lead nav li:not(:last-of-type):after {
	display: block;
	content: '';
	position: absolute;
	top: -6rem;
	right: 0;
	background-color: var(--color-orange);
	width: max(1rem, 1px);
	height: 31rem;
}

.aspiration-care-service .lead nav li a {
	display: inline-block;
	background: url(img/share/ico-arrow-down-orange-s2.svg) no-repeat left top / 19rem auto;
	min-height: 19rem;
	padding: 1rem 0 5rem 32rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 19rem;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

/* .aspiration-care-service-inner
------------------------------------*/
.aspiration-care-service-inner {
	position: relative;
	padding-top: 55rem;
}

.aspiration-care-service-inner section {
	padding: 70rem 10rem 160rem 340rem;
}

.aspiration-care-service-inner .title {
	position: absolute;
	top: 70rem;
	left: 30rem;
	font-family: var(--font-gothic-jp-m);
}

.aspiration-care-service-inner .title h4 {
	margin-bottom: 17rem;
	font-size: 17rem;
	letter-spacing: 0.06em;
}

.aspiration-care-service-inner .title h4.h4-line {
	margin-bottom: 22rem;
	line-height: 2;
	letter-spacing: 0.2em;
}

.aspiration-care-service-inner .title h4.h4-line span {
	display: inline-block;
	font-size: 19rem;
	text-decoration: underline;
	text-decoration-thickness: 2rem;
	text-underline-offset: 0.2em;
}

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

.aspiration-care-service-inner .title p {
	font-size: 17rem;
	line-height: 1.9;
	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.95;
}

.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: -90rem; left: -80rem; width: 122rem; }
#aspiration-care-service1 > .pic2 { bottom: 200rem; left: 27rem; width: 105rem; transform: scaleX(-1) rotate(90deg); }

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

.aspiration-care-service1-about h3 { display: flex; }
.aspiration-care-service1-about h3 .logo { margin: 0 40rem 0 17rem; }
.aspiration-care-service1-about h3 .logo img { width: 258rem; }

.aspiration-care-service1-about h3 strong {
	font-family: var(--font-gothic-jp-r);
	font-size: 19rem;
	line-height: 1.7;
	letter-spacing: 0.13em;
	transform: translateY(8rem);
}

.aspiration-care-service1-about blockquote {
	display: block;
	position: relative;
	margin-top: 32rem;
	padding: 0 30rem;
}

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

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

.aspiration-care-service1-about blockquote p {
	line-height: 1.85;
	letter-spacing: 0.14em;
}

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

.aspiration-care-service1-place h4 {
	margin-bottom: 30rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 25rem;
	letter-spacing: 0.04em;
}

.aspiration-care-service1-place dl {
	position: relative;
	border-top: max(1rem, 1px) solid var(--color-border);
	padding: 30rem 0 27rem 47rem;
}

.aspiration-care-service1-place dt {
	margin-bottom: 12rem;
	font-family: var(--font-gothic-jp-m);
	font-size: 18rem;
	letter-spacing: 0.08em;
}

.aspiration-care-service1-place dt i {
	display: block;
	position: absolute;
	top: 30rem;
	left: 0;
	color: var(--color-orange);
	font-family: var(--font-optima-r);
	font-size: 19rem;
	letter-spacing: 0.12em;
}

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

.aspiration-care-service1-place .pic {
	bottom: -50rem;
	right: -65rem;
	transform: rotate(180deg);
	width: 105rem;
}

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

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

.aspiration-care-service1-voice h3 + p {
	display: inline-block;
	font-family: var(--font-gothic-jp-m);
	font-size: 17rem;
	line-height: 1.9;
	letter-spacing: 0.17em;
	transform: translateY(-63rem);
}

.aspiration-care-service1-voice ul { position: relative; }

.aspiration-care-service1-voice li {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 11rem;
	padding: 38rem 44rem 34rem 44rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-b);
	font-size: 18rem;
	line-height: 1.7;
	letter-spacing: 0.145em;
	text-align: justify;
}

.aspiration-care-service1-voice li:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -18rem;
	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: 344rem; margin: 0 0 55rem; }
.aspiration-care-service1-voice li:nth-of-type(2) { position: absolute; top: 0; left: 400rem; width: 344rem; }
.aspiration-care-service1-voice li:nth-of-type(3) { width: 544rem; margin: 0 0 35rem 66rem; }
.aspiration-care-service1-voice li:nth-of-type(4) { width: 259rem; margin-left: 29rem; }
.aspiration-care-service1-voice li:nth-of-type(5) { position: absolute; top: 374rem; left: 356rem; width: 409rem; }

.aspiration-care-service1-voice .pic {
	bottom: 275rem;
	left: -290rem;
	width: 105rem;
}

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

.aspiration-care-service1-news h3 {
	margin-bottom: 35rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 27rem;
	letter-spacing: 0.04em;
}

.aspiration-care-service1-news > a {
	display: inline-block;
	position: absolute;
	top: 42rem;
	right: 2rem;
	background: url(img/share/ico-arrow-orange-s.svg) no-repeat left top / 22rem auto;
	padding: 0 0 0 32rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 18rem;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.2em;
	white-space: nowrap;
}

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

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

.aspiration-care-service1-news .workshop-list figure {
	align-self: flex-start;
	overflow: hidden;
	position: relative;
	width: 160rem;
	min-width: 160rem;
	/*height: 160rem;*/
	height: 120rem;
	margin: 0 41rem 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: 7rem;
	font-size: 20rem;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.aspiration-care-service1-news .workshop-list p {
	font-size: 16rem;
	letter-spacing: 0.04em;
	text-align: justify;
}

.aspiration-care-service1-news .pic {
	top: -67rem;
	right: -41rem;
	width: 106rem;
}

/* .aspiration-care-service1-event
------------------------------------*/
.aspiration-care-service1-event {
	padding-right: 15rem;
}

.aspiration-care-service1-event h3 {
	margin-bottom: 18rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 33rem;
	line-height: 1.55;
	letter-spacing: 0.04em;
}

.aspiration-care-service1-event > p {
	line-height: 2.1;
}

.aspiration-care-service .txt-box {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin: 50rem 0 65rem;
}

.aspiration-care-service .txt-box .txt {
	padding: 0 42rem 0 0;
}

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

.aspiration-care-service .txt-box .txt p,
.aspiration-care-service1-event .inner2 .txt p {
	margin-bottom: 14rem;
	letter-spacing: 0.06em;
	text-align: justify;
}

.aspiration-care-service .txt-box .txt p.attention {
	font-size: 14rem;
}

.aspiration-care-service .txt-box .box {
	align-self: flex-start;
	background-color: #FFFFFF;
	border: max(1rem, 1px) solid var(--color-border);
	border-radius: 15rem;
	width: 308rem;
	min-width: 308rem;
	padding: 30rem 30rem 20rem;
}

.aspiration-care-service .txt-box .box h4 {
	margin-bottom: 19rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 19rem;
	letter-spacing: 0.04em;
}

.aspiration-care-service .txt-box .box .even {
	display: flex;
	justify-content: space-between;
}

.aspiration-care-service .txt-box .box li {
	margin: 0 -6rem 7rem 2rem;
	padding-left: 16rem;
	font-size: 16rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.aspiration-care-service .txt-box .box .even li {
	margin-bottom: 3rem;
}

.aspiration-care-service1-event .inner2,
.aspiration-care-service1-event .inner3 {
	padding-right: 15rem;
}

.aspiration-care-service1-event .inner2 {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.aspiration-care-service1-event .inner2 figure {
	width: 439rem;
	min-width: 439rem;
	margin-bottom: 5rem;
}

.aspiration-care-service1-event .inner2 .txt {
	position: relative;
	padding: 35rem 42rem 0 0;
}

.aspiration-care-service1-event .inner2 .txt:before,
#aspiration-care-service2 .txt-box:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-orange);
	width: 77rem;
	height: 2rem; 
}

.aspiration-care-service1-event .inner2 .txt h4 {
	margin-bottom: 12rem;
}

.aspiration-care-service1-event .inner2 .txt p {
	font-size: 16rem;
}

#aspiration-care-service1 .btn-set {
	padding-right: 20rem;
}

/* #aspiration-care-service2
------------------------------------*/
#aspiration-care-service2 .inner1,
#aspiration-care-service2 .inner2,
#aspiration-care-service2 .inner3 {
	padding-right: 15rem;
}

#aspiration-care-service2 .inner1 {
	position: relative;
	margin: 70rem 0 65rem;
}

#aspiration-care-service2 .inner1 h4 {
	margin-bottom: 26rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 31rem;
	letter-spacing: 0.04em;
}

#aspiration-care-service2 .inner1 .pic {
	bottom: -75rem;
	right: -12rem;
	width: 105rem;
	z-index: 1;
}

#aspiration-care-service2 .inner2.txt-box .txt {
	padding: 32rem 48rem 0 0;
}

#aspiration-care-service2 .inner2.txt-box .txt p {
	letter-spacing: 0.03em;
}

#aspiration-care-service2 .inner2.txt-box .box {
	display: flex;
	flex-wrap: wrap;
	width: 346rem;
	min-width: 346rem;
	margin-top: 32rem;
	padding-top: 28rem;
	padding-bottom: 24rem;
}

#aspiration-care-service2 .inner2.txt-box .box ul:nth-child(even) {
	margin-left: 30rem;
}

#aspiration-care-service2 .inner2.txt-box .box ul:nth-of-type(3) {
	margin-top: 2rem;
}

#aspiration-care-service2 .inner2.txt-box .box li {
	margin: 0 0 2rem;
	font-size: 15rem;
	letter-spacing: 0.1em;
}

#aspiration-care-service2 .inner3 {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#aspiration-care-service2 .inner3 figure {
	align-self: flex-start;
	width: 359rem;
	min-width: 359rem;
	margin-right: 41rem;
}

#aspiration-care-service2 .inner3 h4 {
	margin-bottom: 14rem;
}

#aspiration-care-service2 .inner3 p {
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: justify;
}

.aspiration-care-service-inner .btn-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 23rem;
	margin: 55rem 0 0;
}

.aspiration-care-service-inner .btn-set a {
	width: 100%;
	padding-right: 22rem;
	padding-left: 30rem;
	font-size: 17rem;
}

#aspiration-care-service2 > .pic {
	bottom: 255rem;
	left: 35rem;
	width: 105rem;
	transform: rotate(180deg);
}

/* #aspiration-care-service3
------------------------------------*/
#aspiration-care-service3 {
	padding-bottom: 20rem;
}

#aspiration-care-service3 .inner1 {
	margin: 30rem 0 60rem;
}

#aspiration-care-service3 .inner2 {
	margin-bottom: 55rem;
}

#aspiration-care-service3 .inner2 h4.wide {
	display: block !important;
}

#aspiration-care-service3 .inner2 h4 {
	margin-bottom: 30rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 29rem;
	letter-spacing: 0.04em;
}

#aspiration-care-service3 .inner2 .inner {
	display: flex;
	justify-content: space-between;
}

#aspiration-care-service3 .inner2 figure {
	width: 286rem;
	min-width: 286rem;
	margin-right: 39rem;
}

#aspiration-care-service3 .inner2 .txt {
	transform: translateY(-4rem);
}

#aspiration-care-service3 .inner2 .txt p {
	line-height: 1.9;
	letter-spacing: 0.08em;
	text-align: justify;
}

#aspiration-care-service3 .txt-box .box {
	width: 315rem;
	min-width: 315rem;
	padding-top: 35rem;
	padding-bottom: 25rem;
}

#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 1fr;
	gap: 0 0;
	margin-bottom: 55rem;
}

#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: 20rem;
	right: -68rem;
	width: 105rem;
}

#aspiration-care-service3 .inner4 h4 {
	margin-bottom: 30rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 31rem;
	letter-spacing: 0.04em;
	text-align: center;
}

#aspiration-care-service3 .inner4 p {
	letter-spacing: 0.04em;
}


/* page instructor
---------------------------------------------------------------------------*/
#instructor-wrap {
	margin-top: -80rem;
	padding-top: 80rem;
}

/* .instructor-list-wrap
------------------------------------*/
.instructor-list-wrap {
	width: 1120rem;
	margin: 0 auto;
}

.instructor-list-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 45rem;
}

.instructor-list-head h2 {
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-m);
	font-size: 29rem;
	line-height: 1.65;
	letter-spacing: 0.14em;
}

.instructor-list-category {
	margin-bottom: 13rem;
	white-space: nowrap;
}

.instructor-list-category .btn-select {
	display: inline-block;
	position: relative;
	overflow: hidden;
	margin-left: 25rem;
	transition: .15s ease-out;
}

.instructor-list-category .btn-select:hover { opacity: 0.7; }

.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.14em;
	text-align: center;
}

.instructor-list-category .btn-select .customSelect .customSelectInner {
	position: relative;
	width: 100% !important;
	padding: 8rem 0 max(1rem, 1px) 36rem;
	font-size: 22rem;
	/* transform-origin: right bottom; */
	/* transform: scale(0.75); */
}

.instructor-list-category .btn-select .customSelect .customSelectInner:before {
	display: block;
	content: '';
	position: absolute;
	top: 5rem;
	left: 0;
	background: url(img/share/ico-arrow-down-orange.svg) no-repeat left top / 100% auto;
	width: 25rem;
	height: 25rem;
}

.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% - 37rem);
	height: 2px;
}

.instructor-list-category .btn-select .customSelect .customSelectInner span {
	padding-left: max(1rem, 1px);
	font-size: 14rem;
}

.instructor-list-wrap .btn-link { margin: 70rem -12rem 0; }

/* .instructor-list
------------------------------------*/
.instructor-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 70rem 32rem;
}

.instructor-list figure {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	margin-bottom: 23rem;
}

.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 {
	margin-bottom: 9rem;
	font-size: 13rem;
	letter-spacing: 0.1em;
}

.instructor-list .name h3,
.instructor-profile .profile .name h1 {
	color: var(--color-orange);
	font-size: 24rem;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.15em;
}

.instructor-list:not(.sub) .name .inner { display: flex; justify-content: space-between; }

.instructor-list .name h3 { font-size: 20rem; }
.instructor-list:not(.sub) .name h3 { margin-right: 15rem; }

.instructor-list .name .job {
	/*position: absolute;
	top: 26rem;
	right: 0;*/
	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: 3rem 8rem 5rem 10rem;
	color: #000000;
	font-size: 16rem;
	letter-spacing: 0.06em;
}

.instructor-profile .profile .name .job span { margin-bottom: 6rem; }

.instructor-list .name .job span {
	padding-top: 2px;
	padding-bottom: 4px;
	font-size: 13rem;
	opacity: 0.7;
}

.instructor-list .txt,
.instructor-list .txt p {
	margin-bottom: 0;
	font-size: 15rem;
	line-height: 1.85;
	letter-spacing: 0.04em;
	text-align: justify;
}

.instructor-list .txt { margin-top: 15rem; }

/* .instructor-list.sub
------------------------------------*/
.instructor-list.sub {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	gap: 46rem 32rem;
	margin-top: 70rem;
}

.instructor-list.sub figure { margin-bottom: 19rem; }
.instructor-list.sub .name .area { margin-bottom: 6rem; font-size: 12rem; }
.instructor-list.sub .name .job { position: static; margin-top: 9rem; }
.instructor-list.sub .name .job span { padding: max(1rem, 1px) 7px 4px 8px; }
.instructor-list.sub .txt { display: none; }

/* .instructor-profile
------------------------------------*/
.instructor-profile {
	position: relative;
	width: 1140rem;
	margin: 0 auto 160rem;
	padding: 5rem 0 0 740rem;
}

.instructor-profile .profile,
.instructor-nav {
	width: 395rem;
}

.instructor-profile .profile {
	width: 345rem;
	margin: 0 auto;
}

.instructor-profile .profile .img {
	position: relative;
	margin-bottom: 48rem;
}

.instructor-profile .profile .img:before,
.instructor-profile .profile .img:after { display: block; content: ''; position: absolute; }

.instructor-profile .profile .img:before {
	top: -44rem;
	left: -36rem;
	background: url(img/share/pic1.svg) no-repeat left top / 100% auto;
	width: 92rem;
	height: 95rem;
}

.instructor-profile .profile .img:after {
	bottom: -34rem;
	right: -46rem;
	background: url(img/share/pic6.svg) no-repeat left top / 100% auto;
	width: 127rem;
	height: 108rem;
	transform: rotate(90deg);
}

.instructor-sns { margin: -25rem 0 20rem -1rem; }
.instructor-sns li { display: inline-block; }
.instructor-sns li a { display: block; padding: 2rem; }
.instructor-sns li a img { width: 26rem; }

.instructor-profile .profile .name {
	position: relative;
	padding: 0 3rem;
}

.instructor-profile .profile .name .area {
	margin: 0 0 8rem 2rem;
	color: #000000;
	font-size: 16rem;
	line-height: 1.55;
	letter-spacing: 0.06em;
}

.instructor-profile .profile .name h1 {
	margin-bottom: 23rem;
}

.instructor-profile .profile .name h1 em {
	margin-left: -6rem;
	font-size: 18rem;
}

.instructor-profile .profile .name .job {
	/*position: absolute;
	top: 36rem;
	right: 0;*/
	display: inline;
	margin-left: -2rem;
}

.instructor-profile .profile .name .job-sub { margin-left: 0; }

.instructor-profile .message {
	position: absolute;
	top: 0;
	left: 0;
	width: 655rem;
	height: 100%;
	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: -12rem; left: -12rem; z-index: 1; }
.instructor-profile .message:after { top: -24rem; left: -24rem; 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: 60rem 55rem;
}

.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: 40rem;
	color: var(--color-orange);
	font-family: var(--font-serif-jp);
	font-size: 27rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.1em;
}

.instructor-profile .message p {
	font-size: 16rem;
	line-height: 2.1;
	letter-spacing: 0.08em;
	text-align: justify;
}

.instructor-nav {
	background: url(img/share/line-dot-black.svg) repeat-x left top / 6px auto;
	margin: 42rem -25rem 0;
	padding: 32rem 0 0;
	font-family: var(--font-gothic-jp-m);
}

.instructor-nav ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20rem;
	margin-bottom: 40rem;
	padding: 0 7rem;
}

.instructor-nav li a {
	display: block;
	position: relative;
	min-height: 90rem;
	padding: 40rem 0 0 73rem;
}

.instructor-nav li p {
	position: absolute;
	top: 0;
	left: max(1rem, 1px);
	color: var(--color-orange);
	font-family: var(--font-avenir);
	font-size: 13rem;
	line-height: 1;
	letter-spacing: 0.08em;
}

.instructor-nav li figure {
	position: absolute;
	top: 28rem;
	left: 0;
	overflow: hidden;
	border-radius: 50%;
	width: 62rem;
	height: 62rem;
}

.instructor-nav li .area {
	margin-bottom: 7rem;
	font-size: 12rem;
	letter-spacing: 0.12em;
}

.instructor-nav li h2 {
	font-size: 16rem;
	line-height: 1.45;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.2em;
	letter-spacing: -0.02em;
}

.instructor-nav li h2 em {
	font-size: 10rem;
}

.instructor-nav .btn-link a {
	padding-top: 23rem;
	font-size: 16rem;
}


/* page faq
---------------------------------------------------------------------------*/

/* .faq-wrap
------------------------------------*/
.faq-wrap {
	display: flex;
	justify-content: space-between;
	width: 1120rem;
	margin: 0 auto;
}

.faq-wrap .category-btn {
	display: none !important;
}

.faq-wrap aside {
	position: sticky;
	align-self: flex-start;
	top: 80rem;
	left: 0;
	width: 275rem;
	min-width: 275rem;
	padding: 65rem 50rem 0 0;
}

.faq-wrap aside li {
	margin-bottom: 7rem;
}

.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-inner
------------------------------------*/
.faq-inner { width: 100%; }
.faq-inner .post { margin-top: -80rem; padding-top: 80rem; }
.faq-inner .post:not(:last-of-type) { margin-bottom: 85rem; }

.faq-inner .post h2 {
	margin: 0 0 22rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 29rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

/* .faq-list
------------------------------------*/
.faq-list h3 {
	margin-bottom: 24rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 19rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.faq-list h3:not(:first-child) { margin-top: 60rem; }

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

.faq-list dt button {
  position: relative;
  width: 100%;
  padding: 17rem 66rem 20rem 68rem;
	font-family: var(--font-gothic-jp-r);
  font-size: 17rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  text-align: left;
}

.faq-list dt button .q {
  position: absolute;
  top: 13rem;
  left: 5rem;
	color: var(--color-orange);
	font-family: var(--font-avenir-r);
	font-size: 20rem;
	white-space: nowrap;
}

.faq-list .btn-ac .ico {
	display: block;
	position: absolute;
	top: 14rem;
	right: 5rem;
	background: url(img/share/ico-arrow-down-line.svg) no-repeat center center / 10rem auto;
	width: 30rem;
	height: 30rem;
	transition: .3s var(--easeOutQuint);
	transform: rotate(0deg);
}

.faq-list .btn-ac.active .ico {
	background: url(img/share/ico-arrow-down-orange-s.svg) no-repeat center center / 100% auto;
	transform: rotate(180deg);
}

.faq-list dd {
  display: none;
  padding: 0 66rem 38rem 69rem;
}

.faq-list dd,
.faq-list dd p {
	font-size: 15rem;
	text-align: justify;
}

.faq-list dd .faq-link { margin-top: 30rem; }
.faq-list dd .faq-link li a { font-size: 15rem; }


/* page contact
---------------------------------------------------------------------------*/

/* .contact-lead
------------------------------------*/
.contact-lead {
	width: 940rem;
	margin: 0 auto 135rem;
}

.contact-lead p {
	margin-bottom: 12rem;
	letter-spacing: 0.12em;
}

.contact-lead p.attention {
	margin-top: 20rem;
}

/* .form-wrap
------------------------------------*/
.form-wrap {
	width: 940rem;
	margin: 0 auto;
	padding-right: 160rem;
	font-family: var(--font-gothic-jp-b);
}

.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { display: flex; margin-bottom: 16rem; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }
.form-wrap dl div.hidden { display: none; }

.form-wrap dt {
	position: relative;
	width: 215rem;
	min-width: 215rem;
	padding: 15rem 0 0 12rem;
}

.form-wrap dt.pt { padding-top: 4rem; }
.form-wrap dt.pt2 { padding-top: 2rem; }

.form-wrap dt,
.form-wrap dt p {
	font-size: 17rem;
	letter-spacing: 0.1em;
}

.form-wrap dt.must:before {
	display: block;
	content: '';
	position: absolute;
	top: 6rem;
	left: 4rem;
	background-color: var(--color-yellow);
	border-radius: 50%;
	width: 4rem;
	height: 4rem;
}

.form-wrap dt.pt.must:before {
	top: 1rem;
}

.form-wrap dt span {
	display: block;
	padding-top: 2rem;
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.form-wrap dd {
	width: 100%;
	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: 56rem;
	padding: 15rem 25rem;
	font-size: 16rem;
	letter-spacing: 0.1em;
}

.form-wrap select { appearance: none; position: relative; cursor: pointer; z-index: 1; }
.btn-select .wpcf7-form-control-wrap .customSelect { position: relative; padding-top: 17rem; padding-bottom: 13rem; z-index: 0; }

.btn-select .wpcf7-form-control-wrap .customSelect:before {
	display: block;
	content: '';
	position: absolute;
	top: 24rem;
	right: 26rem;
	background-color: var(--color-orange);
	width: 11rem;
	height: 8rem;
	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: 65rem;
	background-color: var(--color-border);
	width: max(1rem, 1px);
	height: calc(100% - 18rem);
}

.form-wrap textarea {
	height: 400rem;
	padding: 18rem 20rem;
	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 215rem;
}

.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(1rem);
	}
}

_::-webkit-full-page-media, _:future, :root .privacy-check .wpcf7-form-control-wrap {
	transform: scale(1.3) translateY(-1rem);
}

/* .btn-submit
------------------------------------*/
.btn-submit {
	position: relative;
	display: block;
	margin: 35rem 0 0 215rem;
}

.btn-submit:after {
	display: block;
	content: '';
	position: absolute;
	top: calc(50% - 7rem);
	right: 150rem;
	background: url(img/share/ico-arrow-white.svg) no-repeat left top / 100% auto;
	width: 24rem;
	height: 17rem;
	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: 24rem 60rem 19rem 25rem;
	color: #FFFFFF;
	font-family: var(--font-gothic-jp-m);
	font-size: 18rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.15em;
	text-align: center;
	white-space: nowrap;
	transition: .15s ease-out;
}

.btn-submit input:hover { opacity: 0.7; }

/* 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: 10rem 0 0;
	padding: 0;
	color: var(--color-orange);
	font-size: 14rem;
	line-height: 1.6;
}

.screen-reader-response { display: none; }

.txt-response,
.wpcf7-response-output {
	margin: 30rem 0 0 215rem;
	color: var(--color-orange);
	font-size: 17rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.wpcf7-response-output:first-child { margin: -45rem 0 45rem; padding-top: 45rem; }
.wpcf7-response-output:empty { margin: 0; padding-top: 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 {
	width: 1030rem;
	margin: 0 auto 75rem;
}

.privacy-lead p { font-size: 17rem; }

/* .privacy-sec
------------------------------------*/
.privacy-sec {
	width: 920rem;
	margin: 0 auto 70rem;
	padding: 0 105rem 0 0;
}

.privacy-sec h2 {
	margin-bottom: 30rem;
	color: var(--color-orange);
	font-family: var(--font-gothic-jp-r);
	font-size: 23rem;
	letter-spacing: 0.04em;
}

.privacy-sec .inner { padding-left: 55rem; }

.privacy-sec .inner p {
	font-size: 17rem;
	line-height: 2.15;
	letter-spacing: 0.11em;
	text-align: justify;
}

.privacy-sec .inner ul:not(:first-child) { margin-top: 28rem; }
.privacy-sec .inner ul.ml { margin-left: 25rem; }

.privacy-sec .inner ol { margin-left: 28rem; }
.privacy-sec .inner ol:not(:first-child) { margin-top: 28rem; }
.privacy-sec .inner ol.ml { margin-left: 54rem; margin-bottom: 28rem; }
.privacy-sec .inner ol.ml-line:has(+ p) { margin-bottom: 42rem; }
.privacy-sec .inner ol.ml-line { position: relative; margin-left: 107rem; }

.privacy-sec .inner ol.ml-line:before {
	display: block;
	content: '';
	position: absolute;
	top: 8rem;
	left: -50rem;
	background-color: var(--color-text);
	width: max(1rem, 1px);
	height: calc(100% - 12rem);
}

.privacy-sec .inner li { text-align: justify; }


/* page password
---------------------------------------------------------------------------*/
#pwContents .title-page {
	margin-bottom: 80rem;
}

#pwContents .title-page h1 {
	font-size: 35rem;
}

#pwContents .title-page em,
#pwContents .title-page strong {
	max-width: 695rem;
}

/* .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 {
	width: 1120rem;
	margin: 0 auto;
}

.pw-wrap h2 {
	margin: 90rem 0 20rem;
	color: var(--color-orange);
  font-family: var(--font-gothic-jp-r);
	font-size: 26rem;
	line-height: 1.8;
	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: 35rem;
	margin-left: max(1rem, 1px);
}

.pw-wrap .pw-column2 .link-list:not(:first-child) {
	margin-top: 25rem;
	margin-left: 0;
}

.pw-wrap h2 + .link-list {
	margin-top: 20rem !important;
}

.pw-wrap .link-list + .link-list {
	margin-top: 10rem !important;
}

.pw-wrap .link-list:not(:last-child) {
	margin-bottom: 25rem;
}

.pw-wrap .link-list:not(:last-child):has( + .link-list) {
	margin-bottom: 0;
}

.pw-wrap .link-list li a {
	font-size: 17rem;
}

.pw-txt blockquote p {
	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: 100rem; }
.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 1fr;
	gap: 45rem 40rem;
	margin: 45rem 0 45rem;
}

.pw-column2:first-child { margin-top: 0; }
.pw-column2:last-child { margin-bottom: 0; }

.pw-column2 figure {
	margin-bottom: 25rem;
}

.pw-column2 figure img {
	width: 100%;
	margin: 0;
}

.pw-wrap .pw-column2 h2 {
	margin-top: 26rem;
	margin-bottom: 13rem;
	font-size: 23rem;
}

.pw-wrap .pw-column2 h2:first-child {
	margin-top: 0;
}

.pw-column2 p {
	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;
}

.pw-column2 .post-main ul {
	margin-left: 8rem;
}

.pw-column2 .post-main ol {
	margin-left: 4rem;
}


/* page error
---------------------------------------------------------------------------*/


/* print
---------------------------------------------------------------------------*/
@media print {

}