@charset "utf-8";

/*//////////////////////////////////////////////////////////////////////////////

	心理・福祉発見サイト

//////////////////////////////////////////////////////////////////////////////*/

/*------------------------------------------------------------------------------

	変数

------------------------------------------------------------------------------*/

:root {
	--main-color: 51,51,51;
	--green-dark: 0,159,93;
	--psychology-dark: 235,109,142;
	--welfare-dark: 105,189,131;
	--psychology-light: 246,200,221;
	--welfare-light: 187,221,191;
	--gakka-cpp: 0,153,112;
	--gakka-sw: 68,163,53;
}


/*------------------------------------------------------------------------------

	image replacement

------------------------------------------------------------------------------*/

#content > header .page_name,
#content > header .site_name,
main #scene section .heading .image ul li em,
#content > footer .logo,
main #scene section .detail .tab li a {
	display: block;
	overflow: hidden;
	outline: none;
	clear: both;
	text-indent: -9999px;
	white-space: nowrap;
	background-repeat: no-repeat;
	background-size: contain;
}


/*------------------------------------------------------------------------------

	全体

------------------------------------------------------------------------------*/

/*	site_column
------------------------------------------------------------------------------*/

.site_column {
	position: relative;
	margin: 0 auto;
	width: 86%;
	max-width: 1000px;
}

main #job .site_column {
	max-width: 1200px;
}


/*	body・textarea・input
------------------------------------------------------------------------------*/

body,
textarea,
input,
select {
	line-height: 1.8;
	font-family: YuGothic,"游ゴシック","メイリオ",Meiryo,sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,verdana,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	font-size: 16px;
	font-weight: 500;
	color: rgba(var(--main-color),1);
  	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
}

textarea,
input,
select {
	-webkit-appearance: none;
}

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

body,
textarea,
input  {
	font-size: 14px;
}

}

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

body,
textarea,
input {
	font-size: 3.2vw;
}

}


/*	見出し
------------------------------------------------------------------------------*/

h1,h2,h3,h4,h5,h6 {
	line-height: 1.4;
}

/*	アンカー
------------------------------------------------------------------------------*/

a,
a:hover,
a:visited {
	outline: none;
	text-decoration: none;
	color: rgba(var(--main-color),1);
}

a {
	transition: opacity .4s;
}

a:hover {
	text-decoration: none;
	opacity: .4;
	transition: opacity .4s;
}

main a,
main a:visited {
	text-decoration: underline;
}

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

a:hover {
	opacity: 1;
}

a[href^="tel:"] {
	text-decoration: underline;
}

}

@media screen and (min-width: 768px){
	
a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
	color: #333;
}

a[href^="tel:"]:hover {
	cursor: default;
	opacity: 1;
}

}


/*	リスト
------------------------------------------------------------------------------*/

main ol,
main ul {
	margin: 1em 0 1em 1.5em;
}

main ul {
	list-style: disc;
}

main ol {
	list-style: decimal;
}

main li {
	margin-bottom: .5em;
	line-height: 1.4;
}


/*	テーブル
------------------------------------------------------------------------------*/

table {
	width: 100%;
}

th,
td {
	line-height: 1.6;
}

th {
	font-weight: bold;
}


/*	その他
------------------------------------------------------------------------------*/

em {
	font-style: normal;
}

figcaption {
	margin-top: .5em;
	text-align: center;
	font-size: .875em;
}

img {
	vertical-align: bottom;
}

address {
	font-style: normal;
}


/*	共通設定
------------------------------------------------------------------------------*/

main p,
main dd {
	margin-bottom: .5em;
	text-align: justify;
}

main li:last-child,
main p:last-of-type,
main dd:last-of-type {
	margin-bottom: 0;
}


/*	独自class
------------------------------------------------------------------------------*/

.note {
	margin-left: 0;
}

.note li {
	display: block;
	position: relative;
	padding-left: 1em;
	font-size: .875em;
}

.note li::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}


/*------------------------------------------------------------------------------

	logo

------------------------------------------------------------------------------*/

#content > header .site_name,
#content > footer .logo {
	background-image: url(../img/logo.svg);
	background-size: cover;
	background-repeat: no-repeat;
}


/*------------------------------------------------------------------------------

	header

------------------------------------------------------------------------------*/

#content > header {
	position: relative;
	min-height: 30vw;
	margin-bottom: 250px;
	background: rgba(rgba(var(--psychology-light),1));
	background: linear-gradient(90deg,rgba(var(--psychology-light),1) 50%, rgba(var(--welfare-light),1) 50%); 
}

#content > header::before,
#content > header::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	width: 28%;
	aspect-ratio: 1/1;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

#content > header::before {
	left: 0;
	background-image: url(../img/main_psychology_pc.png);
}

#content > header::after {
	right: 0;
	background-image: url(../img/main_welfare_pc.png);
}

#content > header .logo {
	display: flex;
	flex-direction: column-reverse;
	justify-content: flex-end;
	align-items: center;
}

#content > header .site_name,
#content > footer .logo {
	aspect-ratio: 500/81;
}

#content > header .page_name {
	aspect-ratio: 740/336;
	width: 39vw;
	margin-top: 3vw;
	background-image: url(../img/main_logo.svg);
	background-size: cover;
	background-repeat: no-repeat;
}

#content > header .site_name {
	width: 15.5vw;
	margin-top: 3vw;
}

#content > header .catch {
	position: absolute;
	top: calc(100% - 2vw);
	left: 50%;
	translate: -50% 0;
	width: 805px;
	padding: 50px 0;
	background-color: #FFF;
	box-shadow: 0px 0px 18px 2px rgba(var(--main-color),.2);
	line-height: 2.125em;
	text-align: center;
	font-weight: bold;
	color: rgba(var(--green-dark),1);
	z-index: 1;
}

#content > header .catch span {
	display: block;
	padding-left: .125em;
	letter-spacing: .125em;
	font-size: 1.125em;
}

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

#content > header {
	margin-bottom: 200px;
}

#content > header .catch {
	width: 600px;
	padding: 30px 0;
}

#content > header .catch span {
	font-size: 1em;
}

}

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


#content > header {
	margin-bottom: 190px;
}

#content > header .catch {
	top: calc(100% - 1.5vw);
}

}

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

#content > header .catch {
	width: 500px;
}

}

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

#content > header {
	min-height: 120vw;
	margin-bottom: 38vw;
}

#content > header::before,
#content > header::after {
	top: 65vw;
	translate: 0 0;
	width: 46%;
}

#content > header::before {
	left: 0;
	background-image: url(../img/main_psychology_pc.png);
}

#content > header::after {
	right: 0;
	background-image: url(../img/main_welfare_pc.png);
}

#content > header .page_name {
	width: 80vw;
	margin-top: 7vw;
}

#content > header .site_name {
	width: 45vw;
	margin-top: 8vw;
}

#content > header .catch {
	top: calc(100% - 6vw);
	width: 86%;
	padding: 5vw 0;
}

#content > header .catch span {
	font-size: 3vw;
}

}


/*------------------------------------------------------------------------------

	main

------------------------------------------------------------------------------*/

/*	 case
------------------------------------------------------------------------------*/

main .case {
	display: flex;
	align-items: center;
	margin: 0 0 1.25em;
	list-style: none;
}

main .case li {
	display: flex;
	align-items: center;
	margin: 0 1.25em 0 0;
	line-height: 1;
	font-weight: bold;
	font-size: .875em;
}

main .case li:last-child {
	margin-right: 0;
}

main .case li::before {
	content: "";
	display: block;
	width: 1.5em;
	aspect-ratio: 1/1;
	margin-right: .5em;
	border-radius: 3px;
}

main .case .psychology::before { background-color: rgba(var(--psychology-dark),1);}
main .case .welfare::before { background-color: rgba(var(--welfare-dark),1);}


/*	 link
------------------------------------------------------------------------------*/

main #link .page_link {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	margin: 0 0 3em;
	list-style: none;
}

main #link .page_link li {
	width: 23.5%;
	margin: 2% 2% 0 0;
	border-radius: 8px;
	background: rgba(rgba(var(--psychology-light),1));
	background: linear-gradient(90deg,rgba(var(--psychology-light),.2) 0%, rgba(var(--welfare-light),.2) 100%); 
}

main #link .page_link li:nth-child(4n) {
	margin-right: 0;
}

main #link .page_link li a {
	position: relative;
	display: block;
	height: 100%;
	padding: 1em 1em 4em;
	text-decoration: none;
}

main #link .page_link li .title {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-size: 1.25em;
}

main #link .page_link li .title::before {
	content: "";
	display: block;
	width: 1em;
	aspect-ratio: 1/1;
	margin-right: .5em;
	background-image: url(../img/icon_internal_link.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

main #link .page_link li figure {
	margin: 1em 0;
	padding: 1em .5em;
	background-color: #FFF;
	border-radius: 4px;
}

main #link .page_link li .button {
	position: absolute;
	bottom: 1.5em;
	left: 50%;
	translate: -50% 0;
	width: 10em;
	padding: .75em 1em;
	background-color: rgba(var(--green-dark),1);
	border-radius: 10em;
	text-align: center;
	line-height: 1;
	font-size: .75em;
	font-weight: bold;
	color: #FFF;
}

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

main #link .page_link li {
	width: 48%;
	margin: 4% 4% 0 0;
}

main #link .page_link li:nth-child(2n) {
	margin-right: 0;
}

}

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

main #link .page_link li .text {
	font-size: 2.875vw;
}

}


/*	 scene
------------------------------------------------------------------------------*/

main #scene {
	counter-reset: number 0;
}

main #scene > section {
	padding: 1em 0 5em;
}

main #scene > section:nth-child(odd) { background-color: rgba(90,225,249,.1);}
main #scene > section:nth-child(even) { background-color: rgba(255,234,72,.1);}

main #scene section .heading {
	overflow: hidden;
	margin-bottom: 40px;
}

main #scene section .heading::before {
	counter-increment: number 1;
	content: "scene" counter(number);
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-size: 1.125em;
}

main #scene section .heading h2 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: .125em 0;
	border-top: 1px solid rgba(var(--main-color),1);
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-size: 5.125em;
}

main #scene section .heading h2::after {
	padding-left: 1em;
	text-transform: uppercase;
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-size: .875rem;
}

main #scene #station .heading h2::after { content: "station";}
main #scene #classroom .heading h2::after { content: "class room";}
main #scene #supermarket .heading h2::after { content: "supermarket";}
main #scene #cafe .heading h2::after { content: "cafe";}

main #scene section .heading .catch {
	position: relative;
	line-height: 1;
	z-index: 1;
}

main #scene section .heading .catch p {
	line-height: 1.4;
}

main #scene section .heading .image {
	position: relative;
}

main #scene #station .heading .image,
main #scene #classroom .heading .image,
main #scene #supermarket .heading .image,
main #scene #cafe .heading .image { margin-top: 2em;}

main #scene section .heading .image figure {
	z-index: -1;
}

main #scene section .case {
	position: absolute;
	top: .25em;
	right: 0;
}

main #scene section .detail {
	margin-bottom: 70px;
}

main #scene .slider .slick-arrow.slick-prev { left: -55px;}
main #scene .slider .slick-arrow.slick-next { right: -55px;}

main #scene section .detail h3 {
	position: relative;
	margin-bottom: 2em;
	padding: 1em;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-size: 1.125em;
	color: #FFF;
}

main #scene section .detail .psychology h3,
main #scene section .detail .tab .psychology a { background-color: rgba(var(--psychology-dark),1);}
main #scene section .detail .welfare h3,
main #scene section .detail .tab .welfare a { background-color: rgba(var(--welfare-dark),1);}

main #scene section .detail .groups .psychology,
main #scene section .detail .groups .welfare {
	background-color: #FFF;
}

main #scene section .detail .groups .psychology { border: 1px solid rgba(var(--psychology-dark),1);}
main #scene section .detail .groups .welfare { border: 1px solid rgba(var(--welfare-dark),1);}


main #scene section .detail h3::after {
	display: block;
	position: absolute;
}

main #scene section .detail h3 span {
	padding-left: .5em;
	font-size: .75rem;
}

main #scene section .detail .group {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding: 0 1.5em 2em;
}

main #scene section .detail .group .text {
	flex: 1;
}

main #scene section .detail .group figure {
	width: 25%;
	margin-left: 4%;
}

main #scene section .detail .tab {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
	list-style: none;
}

main #scene section .detail .tab li {
	position: relative;
	width: 10%;
	margin: 0 2px 0 0;
	opacity: .5;
}

main #scene section .detail .tab li::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background-color: #FFF;
}

main #scene section .detail .tab .selected {
	opacity: 1;
}

main #scene section .detail .tab .selected::after {
	display: none;
}

main #scene section .detail .tab .selected a:hover {
	cursor: default;
	opacity: 1;
}

main #scene section .detail .tab li a {
	display: block;
	width: 100%;
	aspect-ratio: 2.5/1;
	background-size: 25%;
	background-position: center;
}

main #scene section .detail .tab .a a { background-image:url(../img/scene_icon_a.svg);}
main #scene section .detail .tab .b a { background-image:url(../img/scene_icon_b.svg);}
main #scene section .detail .tab .c a { background-image:url(../img/scene_icon_c.svg);}
main #scene section .detail .tab .d a { background-image:url(../img/scene_icon_d.svg);}
main #scene section .detail .tab .e a { background-image:url(../img/scene_icon_e.svg);}
main #scene section .detail .tab .f a { background-image:url(../img/scene_icon_f.svg);}
main #scene section .detail .tab .g a { background-image:url(../img/scene_icon_g.svg);}

@keyframes floating {
0%,100% {transform: translateY(0);}
50% {transform: translateY(-8px);}
}

main #scene #station .image .psychology.a { top: 51.4%; left: 58.7%;}
main #scene #station .image .psychology.b { top: 26.2%; left: 16.0%;}
main #scene #station .image .psychology.c { top: 58.7%; left: 20.6%;}
main #scene #station .image .welfare.d { top: 25.9%; left: 70.0%;}
main #scene #station .image .welfare.e { top: 34.1%; left: 62.2%;}
main #scene #station .image .welfare.f { top: 47.1%; left: 74.5%;}
main #scene #station .image .welfare.g { top: 63.0%; left: 42.7%;}

main #scene #classroom .image .psychology.a { top: 25.5%; left: 36.0%;}
main #scene #classroom .image .psychology.b { top: 28.2%; left: 17.5%;}
main #scene #classroom .image .psychology.c { top: 50.7%; left: 24.0%;}
main #scene #classroom .image .welfare.d { top: 19.9%; left: 62.0%;}
main #scene #classroom .image .welfare.e { top: 53.1%; left: 61.2%;}
main #scene #classroom .image .welfare.f { top: 67.1%; left: 56.0%;}

main #scene #supermarket .image .psychology.a { top: 26.0%; left: 15.5%;}
main #scene #supermarket .image .psychology.b { top: 56.4%; left: 54.7%;}
main #scene #supermarket .image .welfare.c { top: 19.7%; left: 62.6%;}
main #scene #supermarket .image .welfare.d { top: 35.9%; left: 62.5%;}
main #scene #supermarket .image .welfare.e { top: 49.1%; left: 64.5%;}

main #scene #cafe .image .psychology.a { top: 29.4%; left: 32.0%;}
main #scene #cafe .image .psychology.b { top: 64.2%; left: 27.0%;}
main #scene #cafe .image .welfare.c { top: 43.9%; left: 55.0%;}
main #scene #cafe .image .welfare.d { top: 12.9%; left: 66.5%;}
main #scene #cafe .image .welfare.e { top: 56.1%; left: 61.5%;}

main #scene .point .group {
	position: relative;
	margin-bottom: 90px;
	background-color: rgba(0,0,0,.1);
}

main #scene .point .group:last-child {
	margin-bottom: 0;
}

main #scene .point .group::before,
main #scene .point .group::after {
	display: block;
	position: absolute;
	top: -3em;
	left: 65px;
	width: 100px;
}

main #scene .point .group::before {
	content: "豆知識";
	padding-top: 1.5em;
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	text-align: center;
	line-height: 1;
	font-size: 1.188em;
	z-index: 2;
}

main #scene .point .group::after {
	content: "";
	aspect-ratio: 1/1;
	border-radius: 10em;
	z-index: 1;
}

main #scene .living .teacher_button.psychology,
main #scene .point .group.psychology,
main #scene .point .group.psychology::after {background-color: rgba(var(--psychology-light),1);}

main #scene .living .teacher_button.welfare,
main #scene .point .group.welfare,
main #scene .point .group.welfare::after {background-color: rgba(var(--welfare-light),1);}

main #scene .living .teacher_button,
main #scene .point .group dl {
	position: relative;
	padding: 2.5em;
	z-index: 3;
}

main #scene .living .teacher_button {
	margin-bottom: 2em;
	padding-top: 1.25em;
	padding-bottom: 1.25em;
}

main #scene .living .teacher_button:last-child {
	margin-bottom: 0;
}

main #scene .living .menu::before,
main #scene .point .group dl::before {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	line-height: 1;
}

main #scene .point .group dl::before {
	position: absolute;
	top: -.87em;
	left: 4.25em;
	font-size: 2.625em;
}

main #scene .living .psychology .menu::before,
main #scene .point .group.psychology dl::before { content: "心理";}

main #scene .living .welfare .menu::before,
main #scene .point .group.welfare dl::before {	content: "福祉";}

main #scene .living .menu::before {
	position: absolute;
	top: 50%;
	left: 0;
	translate: 0 -50%;
}

main #scene .living .menu,
main #scene .point .group dt {
	position: relative;
	padding: .3em 3em .3em 1em;
	border-left: 12px solid rgba(var(--main-color),1);
	line-height: 1.4;
	font-weight: bold;
	font-size: 1.375em;
}

main #scene .living .menu {
	border: none;
	padding-left: 4.5em;
}

main #scene .living .menu:hover,
main #scene .point .group dt:hover {
	cursor: pointer;
}

main #scene .living .menu::after,
main #scene .point .group dt::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	translate: 0 -50%;
	width: 1.75em;
	aspect-ratio: 1/1;
	background-repeat: no-repeat;
	background-size: contain;
	transition: rotate .4s;
	transform-origin:center;
}


main #scene .living .psychology .menu::after,
main #scene .point .group.psychology dt::after { background-image: url(../img/icon_plus_psychology.svg);}

main #scene .living .welfare .menu::after,
main #scene .point .group.welfare dt::after { background-image: url(../img/icon_plus_welfare.svg);}

main #scene .living .menu.opened::after,
main #scene .point .group dt.opened::after {
	rotate: -225deg;
}

main #scene .point .group dd {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	margin-top: 1.5em;
}

main #scene .point .group .text {
	flex: 1;
}

main #scene .point .group figure {
	width: 20%;
	margin-right: 2em;
}

main #scene .button {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin-top: 50px;
}

main #scene .button div {
	margin-right: 1em;
}

main #scene .button div:last-child {
	margin-right: 0;
}

main #scene .cpp a { background-color: rgba(var(--gakka-cpp),1);}
main #scene .sw a { background-color: rgba(var(--gakka-sw),1);}

main #scene .button a {
	display: block;
	position: relative;
	padding: 1em 2.5em;
	border-radius: 10px;
	text-decoration: none;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	font-size: 1.25em;
	color: #FFF;
}

main #scene .button a span {
	display: block;
}

main #scene .button a span:first-child {
	margin-bottom: .5em;
	font-size: .85em;
}

main #scene .living {
	margin: 3em 0 5em;
}

main #scene .living .head,
main #scene .point .head {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	text-align: center;
	line-height: 1;
	font-size: 1.5em;
}

main #scene .living .head {
	margin-bottom: 1.5em;
	color: rgba(var(--green-dark),1);
}

main #scene .point .head {
	margin-bottom: 2.5em;
}

main #scene .point .head::before {
	content: "";
	display: block;
	width: 2.75em;
	aspect-ratio: 1/1;
	margin: 0 auto .5em;
	background-image: url(../img/icon_bulb.svg);
	background-repeat: no-repeat;
	background-size: cover;
}

main #scene .teacher_button .menu {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

main #scene .teacher_button .menu .title {
	flex: 1;
}

main #scene #supermarket .teacher_button .menu .title,
main #scene #cafe .teacher_button .menu .title {
	flex: inherit;
	width: 15em;
}

main #scene .teacher_button .menu .title span {
	display: block;
}

main #scene #station .teacher_button.universal .menu .title span,
main #scene #classroom .teacher_button .menu .title span,
main #scene #supermarket .teacher_button .menu .title span {
	display: inline;
}

main #scene .teacher_button .menu .title::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 3em;
	translate: 0 -50%;
	display: block;
	width: 6px;
	height: 80%;
	background-color: rgba(var(--main-color),1);
}

main #scene .learning_box .teacher_button .menu:hover {
	cursor: pointer;
}

main #scene .teacher_button .menu figure {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 11em;
	margin-left: 1em;
}

main #scene #station .teacher_button .menu figure,
main #scene #classroom .teacher_button .menu figure {
	margin-right: 1.5em;
}

main #scene .teacher_button .menu figure::before {
	content: "";
	display: block;
	position: absolute;
	top: -.25em;
	left: 3.25em;
	width: .35em;
	aspect-ratio: 18/90;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

main .teacher_button.psychology .menu figure::before { background-image: url(../img/learning_attention_psychology.svg);}
main .teacher_button.welfare .menu figure::before { background-image: url(../img/learning_attention_welfare.svg);}

main #scene .teacher_button .menu figure img {
	width: 4em;
	border-radius: 10em;
}

main #scene .teacher_button .menu figure figcaption {
	margin: 0 0 0 1em;
	text-align: left;
	font-size: .75em;
}

main #scene .teacher_button .menu figure figcaption span {
	display: block;
}

main #scene .teacher_button .teacher {
	margin-top: 1.5em;
}

main #scene .teacher_button .teacher .group figure {
	width: 50%;
	margin: 1em auto;
}

main #scene .teacher_button.child_word .teacher .group figure {
	width: 30%;
}

main #scene .teacher_button .teacher .group.image {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-start;
	align-items: center;
}

main #scene .teacher_button .teacher .group.image .text {
	flex: 1;
}

main #scene .teacher_button .teacher .group.image figure {
	width: 140px;
	margin: 0 1.5em 0 0;
}


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

main #scene section .heading {
	margin-bottom: 30px;
}

main #scene section .heading h2 {
	font-size: 4em;
}

main #scene section .detail .tab li {
	width: 12%;
}

main #scene .point .group dl::before {
	left: 5em;
}

main #scene .point .group figure {
	width: 25%;
}

}

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

main #scene section .detail {
	margin-bottom: 50px;
}

main #scene .point .group dl::before {
	left: 4.25em;
	font-size: 3em;
}

main #scene .slider .slick-arrow.slick-prev { left: -40px;}
main #scene .slider .slick-arrow.slick-next { right: -40px;}

main #scene .living .menu,
main #scene .point .group dt {
	font-size: 1.25em;
}

main #scene .point .head {
	margin-bottom: 3.5em;
}

main #scene .living .teacher_button,
main #scene .point .group dl {
	padding-right: 2em;
	padding-left: 2em;
}

main #scene .teacher_button .menu figure {
	width: 10em;
}

main #scene .teacher_button .menu figure::before {
	top: -.25em;
	left: 2.5em;
	width: .25em;
}

main #scene #station .teacher_button .menu figure,
main #scene #classroom .teacher_button .menu figure {
	margin-right: 0;
}

main #scene .teacher_button .menu figure img {
	width: 3em;
	border-radius: 10em;
}

main #scene .teacher_button .teacher .group.image {
	align-items: flex-start;
}

main #scene .teacher_button .teacher .group.image figure {
	width: 100px;
	margin-right: 2em;
}

}

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

main #scene section .heading {
	margin-bottom: 3vw;
}

main #scene section .heading h2 {
	margin: 2vw 0;
	line-height: 2;
	font-size: 7vw;
}

main #scene section .heading::before {
	font-size: 3vw;
}

main #scene section .heading h2::after {
	font-size: 2.125vw;
}

main #scene .heading .image figure {
	position: relative;
	z-index: -1;
}

main #scene #station .heading .image { margin-top: 5vw;}
main #scene #classroom .heading .image { margin-top: 13vw;}
main #scene #supermarket .heading .image { margin-top: 14vw;}
main #scene #cafe .heading .image { margin-top: 14vw;}

main #scene #classroom .heading .image,
main #scene #supermarket .heading .image,
main #scene #cafe .heading .image {
	margin-bottom: 15vw;
}

main #scene #classroom .heading .image figure,
main #scene #supermarket .heading .image figure,
main #scene #cafe .heading .image figure {
	transform: scale(1.35);
}

main #scene section .detail {
	margin-bottom: 12vw;
}

main #scene section .detail h3 {
	margin-bottom: 4vw;
	padding-right: .5em;
}

main #scene section .detail h3::before {
	top: 3.25vw;
	left: 3vw;
	width: 6vw;
}

main #scene section .detail h3 span {
	font-size: 2.75vw;
}

main #scene section .detail .group {
	display: block;
}

main #scene section .detail .group figure {
	width: 80%;
	margin: 5vw auto 0;
}

main #scene section .detail .tab li {
	width: 13%;
	margin-right: .5vw;
}

main #scene section .detail .tab li::after {
	height: .5vw;
}

main #scene section .detail .tab li a {
	aspect-ratio: 1.25/1;
	background-size: 45%;
}

main #scene .living .teacher_button,
main #scene .point .group dl {
	padding: 4vw;
}

main #scene .teacher_button .menu {
	display: block;
}

main #scene .living {
	margin-bottom: 10vw;
}

main #scene .living .menu,
main #scene .point .group dt {
	font-size: 3.75vw;
}

main #scene .living .menu {
	padding-right: 9vw;
	padding-left: 15.5vw;
}

main #scene .living .menu::before {
	left: 0;
}

main #scene .point .head {
	margin-bottom: 12vw;
}

#content main #scene .teacher_button .menu .title {
	width: 100%;
}

#content main #scene .teacher_button.universal .menu .title {
	font-size: 3.55vw;
}

main #scene .teacher_button .menu .title::before {
	left: 11vw;
	width: 1vw;
	height: 90%;
}

#content main #scene .teacher_button .menu figure {
	width: 100%;
	margin-top: 3vw;
	margin-left: 0;
}

main #scene .point .group {
	margin-bottom: 10vw;
}

main #scene .point .group::before,
main #scene .point .group::after {
	top: -6vw;
	left: 2vw;
	width: 13vw;
}

main #scene .point .group::before {
	padding-top: 3vw;
	font-size: 2.5vw;
}

main #scene .point .group dl::before {
	top: -4.25vw;
	left: 17vw;
	font-size: 5vw;
}

main #scene .point .group dt {
	border-left-width: 6px;
	padding-left: .75em;
}

main #scene .point .group dt span {
	display: block;
}

main #scene .point .group dd {
	flex-direction: column-reverse;
	justify-content: flex-end;
}

main #scene .point .group dd figure {
	width: 50%;
	margin: 0 auto 3vw;
}

main #scene .point .group::after {
	content: "";
	aspect-ratio: 1/1;
	border-radius: 10em;
}

main #scene .button {
	margin-top: 7vw;
}

main #scene .button div {
	margin-right: 2vw;
}

main #scene .button a {
	padding: 4vw 5.5vw;
	border-radius: 10px;
	font-size: 3vw;
}

main #scene .slider .slick-arrow.slick-prev { left: -4vw;}
main #scene .slider .slick-arrow.slick-next { right: -4vw;}

main #scene .learning_box .teacher_button,
main #scene .learning_box .teacher_button:nth-child(2) {
	width: 100%;
	margin: 4.5vw 0 0;
}

main #scene .living .head,
main #scene .point .head {
	font-size: 4.5vw;
}

main #scene .teacher_button .teacher .group.image {
	display: flex;
	flex-direction: column;
	align-items: center;
}

main #scene .teacher_button .teacher .group figure {
	width: 60vw;
	margin-top: 3vw;
}

main #scene .teacher_button.child_word .teacher .group figure {
	width: 40vw;
}

main #scene .teacher_button .teacher .group.image figure {
	width: 30vw;
	margin: 3vw 0 0;
}

}


/*	 scene pin
------------------------------------------------------------------------------*/

main #scene section .heading .image .pin {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	list-style: none;
}

main #scene section .heading .image .pin li {
	position: absolute;
	width: 4.5%;
	aspect-ratio: 96/135;
	margin: 0;
	animation: 2s floating infinite;
}

main #scene section .heading .image .pin .a { animation-delay: 0s;}
main #scene section .heading .image .pin .b { animation-delay: 1s;}
main #scene section .heading .image .pin .b2 { animation-delay: .5s;}
main #scene section .heading .image .pin .c { animation-delay: .0s;}
main #scene section .heading .image .pin .d { animation-delay: .5s;}
main #scene section .heading .image .pin .e { animation-delay: 1.25s;}
main #scene section .heading .image .pin .f { animation-delay: .75s;}
main #scene section .heading .image .pin .g { animation-delay: .5s;}

main #scene section .heading .image .pin li em {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

main #scene section .heading .image .pin li em:hover {
	cursor: pointer;
}

main #scene section .image .psychology.a  em { background-image: url(../img/scene_pin_psychology_a.svg);}
main #scene section .image .psychology.b  em { background-image: url(../img/scene_pin_psychology_b.svg);}
main #scene section .image .psychology.c  em { background-image: url(../img/scene_pin_psychology_c.svg);}
main #scene section .image .welfare.c em { background-image: url(../img/scene_pin_welfare_c.svg);}
main #scene section .image .welfare.d em { background-image: url(../img/scene_pin_welfare_d.svg);}
main #scene section .image .welfare.e em { background-image: url(../img/scene_pin_welfare_e.svg);}
main #scene section .image .welfare.f em { background-image: url(../img/scene_pin_welfare_f.svg);}
main #scene section .image .welfare.g em { background-image: url(../img/scene_pin_welfare_g.svg);}

main #scene #station .image .psychology.a { top: 51.4%; left: 58.7%;}
main #scene #station .image .psychology.b { top: 26.2%; left: 16.0%;}
main #scene #station .image .psychology.b.b2 { top: 31.2%; left: 28.0%;}
main #scene #station .image .psychology.c { top: 58.7%; left: 20.6%;}
main #scene #station .image .welfare.d { top: 25.9%; left: 70.0%;}
main #scene #station .image .welfare.e { top: 34.1%; left: 62.2%;}
main #scene #station .image .welfare.f { top: 47.1%; left: 74.5%;}
main #scene #station .image .welfare.g { top: 63.0%; left: 42.7%;}

main #scene #classroom .image .psychology.a { top: 25.5%; left: 36.0%;}
main #scene #classroom .image .psychology.b { top: 28.2%; left: 17.5%;}
main #scene #classroom .image .psychology.c { top: 50.7%; left: 24.0%;}
main #scene #classroom .image .welfare.d { top: 19.9%; left: 62.0%;}
main #scene #classroom .image .welfare.e { top: 53.1%; left: 61.2%;}
main #scene #classroom .image .welfare.f { top: 67.1%; left: 56.0%;}

main #scene #supermarket .image .psychology.a { top: 26.0%; left: 15.5%;}
main #scene #supermarket .image .psychology.b { top: 56.4%; left: 54.7%;}
main #scene #supermarket .image .welfare.c { top: 19.7%; left: 62.6%;}
main #scene #supermarket .image .welfare.d { top: 35.9%; left: 62.5%;}
main #scene #supermarket .image .welfare.e { top: 49.1%; left: 64.5%;}

main #scene #cafe .image .psychology.a { top: 29.4%; left: 32.0%;}
main #scene #cafe .image .psychology.b { top: 64.2%; left: 27.0%;}
main #scene #cafe .image .welfare.c { top: 43.9%; left: 55.0%;}
main #scene #cafe .image .welfare.d { top: 12.9%; left: 66.5%;}
main #scene #cafe .image .welfare.e { top: 56.1%; left: 61.5%;}

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

@keyframes floating {
0%,100% {transform: translateY(0);}
50% {transform: translateY(-1.25vw);}
}

main #scene section .heading .image .pin li {
	width: 8%;
}

main #scene #station .image .psychology.a { top: 43.4%; left: 56.7%;}
main #scene #station .image .psychology.b { top: 18.2%; left: 14.0%;}
main #scene #station .image .psychology.b.b2 { top: 21.2%; left: 26.5%;}
main #scene #station .image .psychology.c { top: 50.7%; left: 18.6%;}
main #scene #station .image .welfare.d { top: 9.9%; left: 70.0%;}
main #scene #station .image .welfare.e { top:26.1%; left: 60.2%;}
main #scene #station .image .welfare.f { top: 39.1%; left: 72.5%;}
main #scene #station .image .welfare.g { top: 55.0%; left: 40.7%;}

main #scene #classroom .image .psychology.a { top: 12.5%; left: 30.5%;}
main #scene #classroom .image .psychology.b { top: 17.2%; left: 4.5%;}
main #scene #classroom .image .psychology.c { top: 46.7%; left: 14.5%;}
main #scene #classroom .image .welfare.d { top: 5.9%; left: 65.0%;}
main #scene #classroom .image .welfare.e { top: 49.1%; left: 63.2%;}
main #scene #classroom .image .welfare.f { top: 69.1%; left: 57.0%;}

main #scene #supermarket .image .psychology.a { top: 13.0%; left: 2.0%;}
main #scene #supermarket .image .psychology.b { top: 52.4%; left: 54.7%;}
main #scene #supermarket .image .welfare.c { top: 4.7%; left: 66.0%;}
main #scene #supermarket .image .welfare.d { top: 27.9%; left: 65.8%;}
main #scene #supermarket .image .welfare.e { top: 44.1%; left: 70.5%;}

main #scene #cafe .image .psychology.a { top: 18.4%; left: 25.0%;}
main #scene #cafe .image .psychology.b { top: 65.0%; left: 18.0%;}
main #scene #cafe .image .welfare.c { top: 38.5%; left: 55.6%;}
main #scene #cafe .image .welfare.d { top: -5.1%; left: 71.0%;}
main #scene #cafe .image .welfare.e { top: 55.1%; left: 64.5%;}

}


/*	 dept_button
------------------------------------------------------------------------------*/

#content main .dept_button {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	max-width: 700px;
	margin: 2em auto 0;
	list-style: none;
}

#content main .dept_button li {
	width: 30%;
	margin-bottom: 0;
}

#content main .dept_button .cpp:first-child {
	margin-right: 1em;
}

#content main .dept_button .cpp a { background-color: rgba(var(--gakka-cpp),1);}
#content main .dept_button .sw a { background-color: rgba(var(--gakka-sw),1);}

#content main .dept_button a {
	display: block;
	padding: 1em .5em;
	border-radius: 10px;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	color: #FFF;
}

#content main .dept_button a span {
	display: block;
}

#content main .dept_button a span:first-child {
	margin-bottom: .5em;
	font-size: 1.125em;
}

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

#content main .site_column > .dept_button {
	max-width: 600px;
}

}

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

#content main .dept_button {
	justify-content: center;
	align-items: center;
	margin-top: 5vw;
	max-width: 100%;
}

#content main .dept_button li {
	width: 45%;
	margin-top: 3vw;
}

#content main .dept_button .cpp:first-child {
	margin-right: 3vw;
}

#content main .dept_button li:nth-child(1),
#content main .dept_button li:nth-child(2) {
	margin-top: 0;
}

}


/*------------------------------------------------------------------------------

	footer

------------------------------------------------------------------------------*/

#content > footer .department_button,
#content > footer .action ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#content > footer .department_button li,
#content > footer .action li {
	width: 48%;
	margin-right: 4%;
}

#content > footer .department_button li:last-child,
#content > footer .action li:last-child {
	margin-right: 0;
}

#content > footer .department_button {
	margin: 90px 0;
	list-style: none;
}

#content > footer .department_button li {
	aspect-ratio: 480/125;
}

#content > footer .department_button li a,
#content > footer .department_button li a::after {
	border-radius: 10px;
}

#content > footer .department_button li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	align-items: center;
	height: 100%;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	color: #FFF;
}

#content > footer .department_button li a:hover {
	opacity: 1;
}

#content > footer .department_button li a::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
}

#content > footer .department_button li a span:first-child {
	padding-bottom: .5em;
	font-size: 1.5em;
}

#content > footer .department_button .cpp a { background-color: rgba(var(--gakka-cpp),.8);}
#content > footer .department_button .cpp a::after { background-image: url(../img/links_cpp.jpg);}

#content > footer .department_button .sw a { background-color: rgba(var(--gakka-sw),.8);}
#content > footer .department_button .sw a::after { background-image: url(../img/links_sw.jpg);}

#content > footer .action {
	padding: 90px 0;
	background-color: rgba(var(--main-color),.05);
}

#content > footer .action li a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1em;
	border-radius: 10em;
	line-height: 1;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-size: 1.25em;
	color: #FFF;
}

#content > footer .action .oc a { background-color: rgba(var(--psychology-dark),1);}
#content > footer .action .request a { background-color: rgba(var(--welfare-dark),1);}

#content > footer .action li a::before {
	content: "";
	display: block;
	width: 3em;
	aspect-ratio: 1/1;
	margin-right: .75em;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

#content > footer .action .oc a::before { background-image: url(../img/icon_oc.svg);}
#content > footer .action .request a::before { background-image: url(../img/icon_request.svg);}

#content > footer .logo {
	max-width: 400px;
	margin: 70px auto;
}

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

#content > footer .department_button {
	margin: 70px 0;
}

#content > footer .action {
	padding: 70px 0;
}

#content > footer .action li a {
	font-size: 1.125em;
}

#content > footer .action li a::before {
	width: 1.75em;
	margin-right: .5em;
}

#content > footer .logo {
	max-width: 300px;
	margin: 50px auto;
}

}

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

#content > footer .department_button,
#content > footer .action ul {
	display: block;
}

#content > footer .department_button li,
#content > footer .action li {
	width: 100%;
	margin-right: 0;
	margin-bottom: 5vw;
}

#content > footer .department_button li:last-child,
#content > footer .action li:last-child {
	margin-bottom: 0;
}

#content > footer .department_button {
	margin: 10vw 0;
}

#content > footer .action li a {
	font-size: 4.5vw;
}

#content > footer .action li a::before {
	width: 9vw;
}

#content > footer .action {
	padding: 10vw 0;
}

#content > footer .logo {
	max-width: 45vw;
	margin: 7vw auto;
}

}


/*	 page_top
------------------------------------------------------------------------------*/

#page_top {
    position: fixed;
	right: 3vw;
    bottom: 3vw;
	z-index: 1000;
	width: 10vw;
	height: 10vw;	
	max-width: 60px;
	max-height: 60px;
    transition: opacity .6s;
	background-color: #FFF;
	opacity: 0;
}

.moved #page_top {
	opacity: .7;
}

#page_top a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(var(--main-color),1);
	text-decoration: none;
	cursor: default;
}

.moved #page_top a {
	cursor: pointer;
	opacity: 1;
}

#page_top a::after {
	position: absolute;
	top: 60%;
	left: 50%;
	transform: translate(-50%,-50%)  rotate(45deg);
	content: "";
	display: block;
	width: 30%;
	height: 30%;
	border-top: 1px solid #FFF;
	border-left: 1px solid #FFF;
}

}
