@charset "utf-8";
/* CSS Document */

/*-----------------------------------------------
  color #009C74 rgba(0,156,116,1)
-----------------------------------------------*/

/*-----------------------------------------------
  font
-----------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
/* font-family: "Noto Sans JP", sans-serif; */
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@400;500&display=swap');
/* font-family: "Kiwi Maru", sans-serif; */

:root {
--green: rgb(0,156,116);
}

.bg {
display: flex;
align-items: center;
justify-content: center;
position: fixed;
top: 0;
left: 0;
z-index: -10;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #B8B3FF, #C4FFA3);
opacity: 0.5;
animation: Grad 10s infinite alternate;
}
@keyframes Grad {
	0% {
	filter: hue-rotate(0deg);
	}
	50% {
	filter: hue-rotate(-180deg);
	}
	100% {
	filter: hue-rotate(0deg);
	}
}

/*-----------------------------------------------
  common
-----------------------------------------------*/
body {
font-size: 16px;
font-family: "Noto Sans JP", sans-serif;
font-weight: 400;
line-height: 1.5;
color: #000;
}
a {
color: inherit;
text-decoration: none;
transition: 0.2s ease;
}
img {
display: block;
max-width: 100%;
height: auto;
}
@media screen and (max-width: 800px) {
	body {
	font-size: 16px;
	}
}


/*-----------------------------------------------
  header
-----------------------------------------------*/
header {
position: fixed;
top: 0;
left: 0;
z-index: 100;
width: 100%;
padding: 25px 0;
background: linear-gradient(rgba(255,255,255,1) 10%, rgba(255,255,255,0));
}
header .header_logo {
width: 320px;
margin-left: 20px;
}
@media screen and (max-width: 800px) {
	header .header {
	padding: 2% 4%;
	}
	header .header_logo {
	width: 60%;
	margin: auto;
	}
}

/*-----------------------------------------------
  main
-----------------------------------------------*/
main {
width: calc(100% - 400px);
margin-right: auto;
}
@media screen and (max-width: 1600px) {
	main {
	width: calc(100% - 300px);
	margin-right: auto;
	}
}
@media screen and (max-width: 920px) {
	main {
	width: 100%;
	font-size: 16px;
	}
}

/*-----------------------------------------------
  footer
-----------------------------------------------*/
footer {
width: calc(100% - 400px);
margin-right: auto;
padding-top: 60px;
background: #FFF;
}
@media screen and (max-width: 1600px) {
	footer {
	width: calc(100% - 300px);
	}
}
@media screen and (max-width: 920px) {
	footer {
	width: 100%;
	padding-top: 8%;
	}
}

/* info */
footer .footer_info {
max-width: 640px;
margin: auto;
padding: 0 4%;
}
footer  .footer_info_list {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
footer  .footer_info_list li {
width: 48.5%;
font-family: "Kiwi Maru", sans-serif;
font-size: 1.2em;
font-weight: 500;
text-align: center;
border-top: 1px solid #000;
border-bottom: 1px solid #000;
}
footer  .footer_info_list li:last-child {
	width: 100%;
	margin-top: 3%;
	}
footer  .footer_info_list a {
display: block;
padding: 1em 0;
}

/* sns */
footer .footer_sns {
margin-top: 60px;
padding: 0 4%;
}
footer .footer_sns_list {
display: flex;
justify-content: center;
}
footer .footer_sns_list li {
width: 50px;
}
footer .footer_sns_list li:not(:first-child) {
margin-left: 20px;
}
footer .footer_sns_list a:hover {
opacity: 0.75;
}
@media screen and (max-width: 800px) {
	footer .footer_sns {
	margin-top: 10%;
	}
}

/* data */
footer .footer_data {
margin-top: 40px;
padding: 0 4%;
}
footer .footer_data_logo {
width: 65%;
max-width: 300px;
margin: auto;
}
footer .footer_data_text {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin-top: 1em;
font-size: 0.875em;
text-align: center;
}
footer .footer_data_text li:not(:first-child) {
margin-left: 1em;
}
@media screen and (max-width: 800px) {
	footer .footer_data {
	margin-top: 8%;
	}
	footer .footer_data_inner {
	padding: 0;
	}
	footer .footer_data_text {
	display: block;
	}
	footer .footer_data_text li:not(:first-child) {
	margin-left: 0;
	}
}

/* contact */
footer .footer_contact {
margin-top: 40px;
padding: 0 4%;
}
footer .footer_contact li {
max-width: 480px;
margin: auto;
text-align: center;
border-top: 1px solid #000;
}
footer .footer_contact li:last-child {
border-bottom: 1px solid #000;
}
footer .footer_contact a {
display: block;
padding: 2em 0;
}
footer .footer_contact a:hover {
background: rgba(0,156,116,0.1);
}
footer .footer_contact dt::before,
footer .footer_contact dt::after {
content: "●";
color: #009C74;
}
footer .footer_contact_tel_text {
margin-top: 0.5em;
font-size: 0.85em;
}
footer .footer_contact_tel_freedial {
font-size: 2em;
}
footer .footer_contact_tel_freedial span {
padding-left: 1.5em;
background-image: url("../img/common/ico_freedial.svg");
background-position: left top 0.4em;
background-repeat: no-repeat;
background-size: 1.25em;
}
footer .footer_contact_opencampus_text,
footer .footer_contact_request_text {
margin-top: 0.25em;
font-size: 1.75em;
line-height: 1.25;
text-align: center;
}
@media screen and (max-width: 800px) {
	footer .footer_data_contact {
	margin-top: 8%;
	}
}

/* navi */
footer .footer_navi {
margin-top: 40px;
padding: 0 4%;
}
footer .footer_navi_grid {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
max-width: 480px;
margin: auto;
}
footer .footer_navi_list {
width: 48%;
line-height: 1.75;
}
footer .footer_navi_blank {
margin-top: 1.5em;
}
footer .footer_navi a:hover {
text-decoration: underline;
}
@media screen and (max-width: 800px) {
}

/* group */
footer .footer_group {
margin-top: 40px;
padding: 0 4%;
}
footer .footer_group_inner {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
padding-top: 40px;
border-top: 1px solid #333;
}
footer .footer_group_logo {
max-width: 100px;
margin-right: 4%;
}
footer .footer_group_list {
display: flex;
flex-wrap: wrap;
width: calc(96% - 100px);
}
footer .footer_group_list li {
width: 16.75em;
margin: 0.2em 0;
font-size: 0.875em;
}
footer .footer_group_list li:before {
content: "▶";
margin: 0.25em;
font-size: 0.75em;
}
footer .footer_group_list a:hover {
text-decoration: underline;
}
@media screen and (max-width: 800px) {
	footer .footer_group {
	margin-top: 8%;
	text-align: center;
	}
	footer .footer_group_inner {
	display: block;
	padding-top: 8%;
	}
	footer .footer_group_logo {
	width: 25%;
	margin: auto;
	}
	footer .footer_group_list {
	display: block;
	width: 100%;
	margin-top: 8%;
	}
	footer .footer_group_list li {
	width: 100%;
	margin: 0.5em 0;
	}
	footer .footer_group_list li:before {
	content: "";
	}
}

/* privacy */
footer .footer_privacy {
margin-top: 40px;
padding: 0 4%;
font-size: 0.875em;
text-align: center;
}
footer .footer_privacy a:hover {
text-decoration: underline;
}
@media screen and (max-width: 800px) {
	footer .footer_privacy {
	margin-top: 8%;
	}
}

/* copyright */
footer .footer_copyright {
margin-top: 40px;
padding: 20px 4%;
font-size: 0.75em;
text-align: center;
color: #FFF;
background: #009C74;
}
@media screen and (max-width: 800px) {
	footer .footer_copyright {
	margin-top: 10%;
	padding: 1em 4%;
	}
}

/* menu */
footer .footer_menu {
display: none;
}
@media screen and (max-width: 920px) {
	footer .footer_menu {
	position: fixed;
	left: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	width: 100%;
	font-size: 0.75em;
	text-align: center;
	}
	footer .footer_menu li {
	width: calc((100% - 50px) / 3);
	height: 50px;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	}
	footer .footer_menu a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	}
	footer .footer_menu .icon {
	height: 30px;
	margin-right: 5px;
	}
	footer .footer_menu .footer_menu_faq {
	color: #FFF;
	background: linear-gradient(45deg, #80A6D2, #A388B7 50%, #DFA0BD 100%);
	}
	footer .footer_menu .footer_menu_line {
	color: #FFF;
	background: #06B255;
	}
	footer .footer_menu .footer_menu_request {
	color: #FFF;
	background: linear-gradient(45deg, #A0BB6A, #80B080 50%, #80AFAF 100%);
	}
	footer .footer_menu .footer_menu_global {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 50px;
	font-size: 0.85em;
	color: #009C74;
	background: #FFF;
	cursor: pointer;
	}
	footer .footer_menu .footer_menu_global .burger {
	position: relative;
	display: block;
	width: 26px;
	height: 10px;
	margin-top: 6px;
	}
	footer .footer_menu .footer_menu_global .burger::before,
	footer .footer_menu .footer_menu_global .burger::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px; 
	background: #009C74;
	border-radius: 1px;
	transition: 0.4s;
	}
	footer .footer_menu .footer_menu_global .burger::before {
	top: 0;
	}
	footer .footer_menu .footer_menu_global .burger::after {
	bottom: 0;
	}
}

/* bnr_opencampus */
.bnr_opencampus {
display: none;
}
@media screen and (max-width: 800px) {
	.bnr_opencampus {
	position: fixed;
	top: 15vw;
	right: 6vw;
	z-index: 300;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24vw;
	height: 24vw;
	font-size: 2.8vw;
	text-align: center;
	background: linear-gradient(135deg, #CFDDB4, #BFD7BF 50%, #BFD7D6 100%);
	border-radius: 100%;
	box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
	}
	.bnr_opencampus_delete {
	content: "×";
	position: absolute;
	top: -2vw;
	right: -2vw;
	z-index: 400;
	width: 5vw;
	height: 5vw;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	color: #FFF;
	background: #009C74;
	border-radius: 100%;
	box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
	cursor: pointer;
	}
	.bnr_opencampus a {
	display: block;
	}
	.bnr_opencampus_head {
	font-family: "Kiwi Maru", sans-serif;
	font-weight: 500;
	line-height: 1;
	}
	.bnr_opencampus_date {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	line-height: 1;
	color: #009C74;
	}
	.bnr_opencampus_date .month {
	margin-top: 0.3em;
	}
	.bnr_opencampus_date .month::after {
	content: "/";
	margin: 0 0.2em 0 0.1em;
	}
	.bnr_opencampus_date .day {
	font-size: 3em;
	}
	.bnr_opencampus_button {
	display: block;
	margin-top: 0.25em;
	padding: 0 0 0.2em 0;
	font-family: "Kiwi Maru", sans-serif;
	font-weight: 500;
	line-height: 1;
	color: #FFF;
	background: #009C74;
	border-radius: 3em;
	transition: 0.2s;
	}
	.bnr_opencampus_button::after {
	content: "▶";
	margin-left: 0.25em;
	font-size: 0.5em;
	}
}
