@charset "UTF-8";

/* Reset & Base
------------------------------------------ */

@media screen and (max-width: 768px) {
	html {
		box-sizing: border-box;
		font-size: clamp(10px, 2.6667vw, 20px);
	}

	body {
		font-size: 1.5rem;
		line-height: 1.4;
		color: #000;
		background-color: #fff;
		font-family: "Zen Old Mincho", serif;
	}
}


@media screen and (min-width: 769px) {
	html { 
		font-size: clamp(0px, 0.8475vw, 10px);
	}
	
	body {
		font-size: 1.6rem;
		line-height: 1.4;
		color: #000;
		background-color: #fff;
		font-family: "Zen Old Mincho", serif;
	}
}


body {
  overflow-x: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* リスト */
ul,
ol {
	list-style: none;
}

/* 画像・メディア */
img,
picture,
video,
canvas,
svg {
	display: block;
	width: 100%;
	height: auto;
}

/* テーブル */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* フォーム系 */
input,
button,
textarea,
select {
	font: inherit;
	color: inherit;
}

/* リンク */
a {
	text-decoration: none;
	color: inherit;
}

a:hover {
	cursor: pointer;
}

@media screen and (max-width: 768px) {
	.pc_none {
		display: block;
	}
	
	.sp_none {
		display: none;
	}
	
	.anchor {
		position: relative;
		top: -10rem;
	}
}

@media screen and (min-width: 769px) {
	.pc_none {
		display: none;
	}
	
	.sp_none {
		display: block;
	}
	
	.anchor {
		position: relative;
		top: -16rem;
	}
}


.back {
	background: #E5F0EC;
}


/*  ヘッダー  */
/*  SP  */
@media screen and (max-width: 768px) {

.header {
	height: 7rem;
	padding: 0 5%;
	display: flex;
	align-items: center;
	z-index: 1000;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	box-shadow: 0 0.6rem 0.3rem rgba(0, 0, 0, 0.16);
}

.header__logo {
	display: block;
	width: 16.9rem;
}

.header__logo img {
	display: block;
	width: 100%;
	height: auto;
}

.navPc {
	display: none;
}

.navSp {
    position: fixed;
    top: 0;
    right: 0%;
    width: 7rem;
    height: 7rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 3rem 2.5rem;
    border: none;
    cursor: pointer;
    z-index: 1002;
    background-color: rgba(255,255,255,0.8);
}

.navSp span {
	height: 2px;
	background: #000;
	width: 100%;
	display: block;
	transition: transform 0.3s ease;
	transform-origin: center;
}

.navSp.is-open {
	background: none;
}

.navSp.is-open span:first-child {
	transform: translateY(calc(0.5rem - 1px)) rotate(45deg);
	background: #fff;
}

.navSp.is-open span:last-child {
	transform: translateY(calc(-0.5rem + 1px)) rotate(-45deg);
	background: #fff;
}

.header__cta {
	display: none;
}

.megaMenu {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100svh;
	background: rgba(0, 0, 0, 0.9);
	transform: translateX(100%);
	visibility: hidden;
	pointer-events: none;
	transition: transform 0.3s ease, visibility 0.3s ease;
	z-index: 1001;
	overflow-y: auto;
}

.megaMenu.is-open {
	transform: translateX(0);
	visibility: visible;
	pointer-events: auto;
}

.logoWrapper {
	height: 7rem;
    padding: 0 5%;
    display: flex;
    align-items: center;
    width: 100%;
}

.logoWrapper .logo {
	display: block;
    width: 16.9rem;
}

.megaMenu__inner {
	padding: 3rem 0;
	width: 90%;
	margin: 0 auto;
}

.megaMenu__inner nav {
	color: #fff;
	font-size: 1.4rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 3rem;
}

.megaMenu__inner nav ul {
	font-weight: 500;
	width: 48%;
	margin-bottom: 3rem;
}

.megaMenu__inner nav ul li {
	padding-left: 1em;
    position: relative;
    margin-bottom: 0.6rem;
}

.megaMenu__inner nav ul li::before {
	content: "";
    display: block;
    width: 0.7em;
    border-top: 1px solid #C6B116;
    position: absolute;
    top: 0.7em;
    left: 0;
}

.megaMenu__inner nav dl {
	width: 48%;
	margin-bottom: 3rem;
}

.megaMenu__inner nav dl dt {
	margin-bottom: 0.6rem;
    font-weight: 500;
    padding-left: 1em;
    padding-bottom: 0.5rem;
    border-bottom: 1px dotted #fff;
    position: relative;
}

.megaMenu__inner nav dl:nth-of-type(6),
.megaMenu__inner nav dl:nth-of-type(7) {
	margin-bottom: 0;
}



.megaMenu__inner nav dl dt::before {
	content: "";
    display: block;
    width: 0.7em;
    border-top: 1px solid #C6B116;
    position: absolute;
    top: 0.7em;
    left: 0;
}

.megaMenu__inner nav dl dd {
	margin-bottom: 0.6rem;
    font-weight: 400;
}

.megaMenu__inner .vi {
	display: flex;
	justify-content: center;
}

.megaMenu__inner .vi li {
	width: 7rem;
}


body.is-fixed {
	overflow: hidden;
}

.megaWrapper {
	display: none;
}

}



/*  ヘッダー  */
/*  PC  */
@media screen and (min-width: 769px) {
	.header {
		height: 13rem;
		padding: 0 0 0 2.6%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		background: #fff;
		box-shadow: 0 0.6rem 0.3rem rgba(0, 0, 0, 0.16);
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		z-index: 500;
	}

	.header__logo {
		display: inline-block;
		width: 28rem;
		transition: 0.3s;
	}
	
	.header__logo:hover {
		transform: scale(1.05);
	}

	.header .navPc {
		display: block;
		width: 54%;
		min-width: 57rem;
		height: calc(6.5rem + 1rem);
		margin-top: 5.5rem;
	}

	.header__navList {
		width: 100%;
		display: flex;
		justify-content: space-between;
		font-size: 1.9rem;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		margin: 0;
		padding: 0;
		list-style: none;
		height: 100%;
	}

	.header__navList li {
		transition: 0.3s;
		height: 100%;
	}

	.header__navList li:hover {
		opacity: 0.7;
		transform: scale(1.1);
	}

	.header__navList a {
		text-decoration: none;
		color: #000;
		display: block;
		height: 100%;
	}

	.header__cta {
		width: 16.5%;
		min-width: 17rem;
		flex: 0 0 auto;
		display: flex;
		align-items: stretch;
	}

	.header__cta a {
		width: 50%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.6rem;
		text-decoration: none;
		color: #fff;
		height: 13rem;
	}

	.header__cta a:first-child {
		background: #00D67E;
		transition: 0.3s;
	}

	.header__cta a:last-child {
		background: #00693E;
		transition: 0.3s;
	}

	.header__cta a:hover {
		opacity: 0.8;
	}

	.header__ctaIcon {
		width: auto;
		height: 5.6rem;
		display: block;
	}

	.header__ctaText {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 1.6rem;
		font-weight: 700;
	}

	.navSp {
		display: none;
	}

	.megaMenu {
		display: none;
	}

	.test {
		max-width: 108rem;
		margin: 0 auto;
	}
	
.megaOverview,
.megaLecture,
.megaLaboratory,
.megaLicence_career,
.megaCampus_life {
	position: fixed;
	top: 13rem;
	left: 0;
	width: 100%;
	height: 48rem;
	background: rgba(0, 0, 0, 0.9);
	z-index: 400;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s, opacity 0.3s;
}

.megaInner {
	opacity: 0;
	transition: opacity 0.3s;
	color: white;
}

.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: scaleX(1);
}

/* 遅らせて中身出す */
.is-active .megaInner {
	opacity: 1;
	transition-delay: 0.2s;
}
	
	.megaWrapper {
		display: flex;
		align-items: center;
	}
	
	.megaWrapper .megaInner {
		width: 108rem;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	
	.megaWrapper .megaInner img {
		width: 51rem;
		border-radius: 0.5rem;
	}
	
	.megaWrapper .megaInner dl {
		width: 51rem;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 1.8rem;
	}
	
	.megaWrapper .megaInner dl dt {
		font-weight: 500;
		border-bottom: 1px dotted #fff;
		padding-bottom: 2rem;
		padding-left: 1em;
		margin-bottom: 2rem;
		position: relative;
	}
	
	.megaWrapper .megaInner dl dt::before {
		content: "";
    	display: block;
    	width: 0.7em;
    	border-top: 1px solid #C6B116;
    	position: absolute;
    	top: 0.7em;
    	left: 0;
	}
	
	.megaWrapper .megaInner dl dt::after {
		content: "";
    	display: block;
		width: 0;
  		height: 0;
		border-style: solid;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		border-left: 6px solid #fff;
		border-right: 0;
		position: absolute;
    	top: .5em;
    	left: -1em;
		opacity: 0;
		transform: translateX(-0.3em);
		transition: opacity 0.3s, transform 0.3s;
	}
	
	.megaWrapper .megaInner dl dt:hover::after {
		opacity: 1;
		transform: translateX(0);
	}
	
	.megaWrapper .megaInner dl dt:hover {
		opacity: 0.8;
	}
	
	.megaWrapper .megaInner dl dd {
		margin-bottom: 2rem;
		position: relative;
	}
	
	.megaWrapper .megaInner dl dd::before {
		content: "";
    	display: block;
		width: 0;
  		height: 0;
		border-style: solid;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		border-left: 6px solid #fff;
		border-right: 0;
		position: absolute;
    	top: .5em;
    	left: -1em;
		opacity: 0;
		transform: translateX(-0.3em);
		transition: opacity 0.3s, transform 0.3s;
	}
	
	.megaWrapper .megaInner dl dd:hover::before {
		opacity: 1;
		transform: translateX(0);
	}
	
	.megaWrapper .megaInner dl dd:hover {
		opacity: 0.8;
	}
}


/*  SNS  */
/*  SM  */

@media screen and (max-width: 768px) {
	.sns {
		width: 4rem;
		position: fixed;
		z-index: 500;
		right: 0;
		top: 9rem;
	}
	
	.sns ul li {
		height: 4rem;
		background: #000;
	}
	
	.sns ul li:first-of-type {
		margin-bottom: 0.7rem;
	}
	
	.sns ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%;
	}
	
	.sns ul li a img {
		width: 2.1rem;
		height: auto;
		display: block;
	}
}


/*  SNS  */
/*  PC  */
@media screen and (min-width: 769px) {
	.sns {
		width: 6.5rem;
		position: fixed;
		z-index: 300;
		right: 0;
		top: 20rem;
	}

	.sns ul li {
		height: 6.5rem;
		background: #000;
		transition: 0.3s;
	}

	.sns ul li:hover {
		transform: scale(1.1);
	}

	.sns ul li:first-of-type {
		margin-bottom: 1rem;
	}

	.sns ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%;
	}

	.sns ul li a img {
		width: 3.5rem;
		height: auto;
		display: block;
	}
}


/*  ページタイトル  */
/*  SP  */
@media screen and (max-width: 768px) {
	.pageTitle {
		height: 12.5rem;
		background: #00693E;
		padding-top: 8.5rem;
	}
	
	.pageTitle h1 {
		color: #fff;
		font-size: 1.6rem;
		text-align: center;
		font-weight: 500;
		letter-spacing: 0.05em;
	}
}


/*  ページタイトル  */
/*  PC  */
@media screen and (min-width: 769px) {
	.pageTitle {
		height: 24rem;
		background: #00693E;
		padding-top: 16.7rem;
	}
	
	.pageTitle h1 {
		color: white;
		font-size: 2.4rem;
		text-align: center;
		font-weight: 500;
		letter-spacing: 0.05em;
	}
}


/*  ページイメージ  */
/*  SP  */
@media screen and (max-width: 768px) {
	.pageImage {
		width: 100%;
		aspect-ratio: 375 / 79;
		background-image: url("../img/common/page_img.png");
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}
}


/*  ページイメージ  */
/*  PC  */
@media screen and (min-width: 769px) {
	.pageImage {
		width: 100%;
		aspect-ratio: 32 / 5;
		background-image: url("../img/common/page_img.png");
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}
}

/*  メインの左  */
/*  SP  */
@media screen and (max-width: 768px) {
	.main.left {
		display: flex;
		flex-direction: column;
	}

	.main.left .main__inner {
		order: 2;
	}

	.main.left figure {
		order: 1;
		position: relative;
		z-index: 2;
	}

	.main.left figure::after {
		content: "";
		display: block;
		height: 13.1rem;
		border-left: 1px solid #00693E;
		position: absolute;
		bottom: -8.1rem;
		left: 5%;
	}

	.main.left img {
		border-radius: 0 1rem 1rem 0;
		width: 95%;
		position: relative;
		display: block;
	}

	.main.left .main__inner {
		background: #CCF7E5;
		margin-top: -29.3%; /* 209 ÷ 356 ÷ 2 */
		padding-top: calc(29.3% + 3rem);
		padding-bottom: 5rem;
		z-index: 1;
	}

	.main.left .main__inner .main__left {
		width: 90%;
		margin: 0 auto;
	}


	.main.left .main__inner .main__left h2 {
		font-size: 4.1rem;
		color: #00693E;
		font-weight: 500;
		padding-left: 1rem;
		position: relative;
		margin-bottom: 2rem;
		letter-spacing: 0.05em;
	}

	.main.left .main__inner .main__left .main--title {
		font-size: 1.8rem;
		font-weight: 500;
		letter-spacing: 0.05em;
		margin-bottom: 1.5rem;
	}

	.main.left .main__inner .main__left .main--txt {
		line-height: 1.8;
		letter-spacing: 0.05em;
		margin-bottom: 3rem;
	}

	.main.left .main__left .more {
		display: flex;
    	align-items: center;
    	justify-content: center;
		width: 15.6rem;
		height: 3.6rem;
		margin: 0 auto;
		background: #00693E;
		border-radius: 999rem;
		font-size: 1.4rem;
		color: #fff;
		font-weight: 700;
		position: relative;
	}

	.main.left .main__inner .more::after {
		content: "";
    	display: block;
		width: 1.75rem;
    	height: 1.75rem;
	    background-image: url(../img/common/arrow.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
		top: 50%;
	    transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
		right: 1.7rem;
	}

}


/*  メインの左  */
/*  PC  */

@media screen and (min-width: 769px) {
	.main.left {
		position: relative;
	}

	.main.left .main__inner {
		max-width: 118rem;
		margin: 0 auto;
		padding: 0 5rem;
		position: relative;
	}

	.main.left .main__inner .main__left {
		border-radius: 0 2rem 2rem 0;
		background: #CCF7E5;
		width: 94.5rem;
		padding: 8rem 0;
	}

	.main.left .main__inner .main__left::after {
		content:"";
		display: block;
		width: 5rem;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: #CCF7E5;
	}

	.main.left .main__inner .main__left h2 {
		font-size: 5rem;
 		font-weight: 500;
 		color: #00693E;
 		margin-bottom: 2.5rem;
 		position: relative;
		z-index: 1;
	}

	.main.left .main__inner .main__left h2::after {
		content: "";
 		position: absolute;
 		left: 0;
		top: 4.5rem;
		width: 64.4rem;
		border-top: 1px solid #00693E;
		z-index: 0;
	}

	.main.left .main__inner .main__left h2 span {
		position: relative;
		z-index: 1;
		display: inline-block;
		background: #CCF7E5;
		padding-right: 1rem;
	}

	.main.left .main__inner .main__left .main--title {
		font-size: 2.2rem;
		margin-bottom: 2rem;
		font-weight: 500;
	}

	.main.left .main__inner .main--txt {
		line-height: 1.8;
		margin-bottom: 4rem;
		width: 51rem;
	}

	.main.left .main__inner .more {
		width: 17.7rem;
		height: 4.1rem;
		background: #00693E;
		border-radius: 999rem;
		color: #fff;
		font-weight: 700;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		transition: 0.3s;
		z-index: 1;
	}

	.main.left .main__inner .more:hover {
		transform: scale(1.1);
	}

	.main.left .main__inner .more::after {
		content: "";
		display: block;
		width: 2rem;
		height: 2rem;
		background-image: url("../img/common/arrow.svg");
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
    	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
		right: 2rem;
	}

	.main.left img {
		width: 49.5%;
		max-width: 75rem;
		border-radius: 2rem;
		position: absolute;
		top: 8rem;
		left: 59.5rem;
	}
}

@media (min-width: 1180px) {

	.main.left .main__inner .main__left::after {
		width: calc(((100vw - 118rem) / 2) + 5rem);
		left: calc((100vw - 118rem) / -2);
	}
	
	.main.left img {
		width: 49.5%;
		left: calc((100vw - 118rem) / 2 + 59.5rem);
	}
}



/*  メインの右  */
/*  SP  */
@media screen and (max-width: 768px) {
	.main.right {
		display: flex;
		flex-direction: column;
	}

	.main.right .main__inner {
		order: 2;
	}

	.main.right figure {
		order: 1;
		position: relative;
		z-index: 2;
	}

	.main.right figure::after {
		content: "";
		display: block;
		height: 13.1rem;
		border-left: 1px solid #00693E;
		position: absolute;
		bottom: -8.1rem;
		right: 5%;
	}

	.main.right img {
		border-radius: 1rem 0 0 1rem;
		width: 95%;
		position: relative;
		display: block;
		margin: 0 0 0 auto;
	}

	.main.right .main__inner {
		background: #CCF7E5;
		margin-top: -29.3%; /* 209 ÷ 356 ÷ 2 */
		padding-top: calc(29.3% + 3rem);
		padding-bottom: 5rem;
		z-index: 1;
	}

	.main.right .main__inner .main__left {
		width: 90%;
		margin: 0 auto;
	}


	.main.right .main__inner .main__left h2 {
		font-size: 4.1rem;
		text-align: right;
		color: #00693E;
		font-weight: 500;
		padding-right: 1rem;
		position: relative;
		margin-bottom: 2rem;
		letter-spacing: 0.05em;
	}

	.main.right .main__inner .main__left .main--title {
		font-size: 1.8rem;
		font-weight: 500;
		text-align: right;
		letter-spacing: 0.04em;
		margin-bottom: 1.5rem;
	}

	.main.right .main__inner .main__left .main--txt {
		line-height: 1.8;
		letter-spacing: 0.05em;
		margin-bottom: 3rem;
	}

	.main.right .main__left .more {
		display: flex;
    	align-items: center;
    	justify-content: center;
		width: 15.6rem;
		height: 3.6rem;
		margin: 0 auto;
		background: #00693E;
		border-radius: 999rem;
		font-size: 1.4rem;
		color: #fff;
		font-weight: 700;
		position: relative;
	}

	.main.right .main__inner .more::after {
		content: "";
    	display: block;
		width: 1.75rem;
    	height: 1.75rem;
	    background-image: url(../img/common/arrow.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
		top: 50%;
	    transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
		right: 1.7rem;
	}

}


/*  メインの右  */
/*  PC  */

@media screen and (min-width: 769px) {

.main.right {
	position: relative;
}

.main.right .main__inner {
	max-width: 118rem;
	margin: 0 auto;
	padding: 0 5rem;
	position: relative;
}

.main.right .main__inner .main__left {
	border-radius: 2rem 0 0 2rem;
	background: #CCF7E5;
	width: 94.5rem;
	padding: 8rem 0;
	margin: 0 0 0 auto;
}

.main.right .main__inner .main__left::after {
	content:"";
	display: block;
	width: 5rem;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background: #CCF7E5;
}

.main.right .main__inner .main__left h2 {
	font-size: 5rem;
 	font-weight: 500;
 	color: #00693E;
 	margin-bottom: 2.5rem;
 	position: relative;
	z-index: 1;
	text-align: right;
}

.main.right .main__inner .main__left h2::after {
	content: "";
 	position: absolute;
 	right: 0;
	top: 4.5rem;
	width: 64.4rem;
	border-top: 1px solid #00693E;
	z-index: 0;
}

.main.right .main__inner .main__left h2 span {
	position: relative;
	z-index: 1;
	display: inline-block;
	background: #CCF7E5;
	padding-left: 1rem;
}

.main.right .main__inner .main__left .main--title {
	font-size: 2.2rem;
	margin-bottom: 2rem;
	font-weight: 500;
	text-align: right;
}

.main.right .main__inner .main--txt {
	line-height: 1.8;
	width: 51rem;
	margin: 0 0 4rem auto;
}

.main.right .main__inner .more {
	width: 17.7rem;
	height: 4.1rem;
	background: #00693E;
	border-radius: 999rem;
	color: #fff;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	transition: 0.3s;
	z-index: 1;
	margin: 0 0 0 auto;
}

.main.right .main__inner .more:hover {
	transform: scale(1.1);
}

.main.right .main__inner .more::after {
	content: "";
	display: block;
	width: 2rem;
	height: 2rem;
	background-image: url("../img/common/arrow.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right: 2rem;
}

.main.right img {
	width: 49.5%;
	max-width: 75rem;
	border-radius: 2rem;
	position: absolute;
	top: 8rem;
	left: 0;
}
}

@media (min-width: 1180px) {
	.main.right .main__inner .main__left::after {
		width: calc(((100vw - 118rem) / 2) + 5rem);
		right: calc((100vw - 118rem) / -2);
	}
	
	.main.right img {
		width: 49.5%;
		left: auto;
		right: calc((100vw - 118rem) / 2 + 59.5rem);
	}
}








/*  ボトムメイン左 */
/*  SP  */
@media screen and (max-width: 768px) {

	.bottomMain.left {
		display: flex;
		flex-direction: column;
	}

	.bottomMain.left figure {
		order: 1;
		position: static;
		width: 95%;
		background: #00D67E;
		border-radius: 0 1rem 1rem 0;
		z-index: 2;
	}

	.bottomMain.left figure img {
		width: 94.73%;
		margin: 5.26% auto 5.26% 0;
	}

	.bottomMain.left .bottomMain--inner {
		order: 2;
		background: #E5F0EC;
    	margin-top: -29.3%;
    	padding-top: calc(29.3% + 3rem);
    	padding-bottom: 5rem;
    	z-index: 1;
	}

	.bottomMain.left .bottomMain--inner .bottomMain__left {
		width: 90%;
		margin: 0 auto;
	}

	.bottomMain.left .bottomMain--inner .bottomMain__left h2 {
		font-size: 2rem;
		font-weight: 500;
		letter-spacing: 0.04em;
    	margin-bottom: 1.5rem;
	}

	.bottomMain.left .bottomMain--inner .bottomMain__left .bottomMain--txt {
		line-height: 1.8;
		letter-spacing: 0.04em;
	}
}

/*  ボトムメイン左 */
/*. PC */

@media screen and (min-width: 769px){
	.bottomMain.left {
		position: relative;
	}

	.bottomMain.left .bottomMain--inner { 
        max-width: 118rem;
        margin: 0 auto;
        padding: 0 5rem;
        position: relative;
	}

	.bottomMain.left .bottomMain--inner .bottomMain__left {
        border-radius: 0 2rem 2rem 0;
        background: #E5F0EC;
        width: 94.5rem;
		height: calc((49.5vw + 4px) * 0.49021067 + 22rem);
		max-height: 64.06rem;
		padding-top: 8rem;	
	}

	.bottomMain.left .bottomMain--inner .bottomMain__left::after {
	    content: "";
        display: block;
        width: 5rem;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: #E5F0EC;
	}

	.bottomMain.left .bottomMain__left h2 {
        width: 52.5rem;
		font-size: 2.8rem;
        font-weight: 500;
        margin-bottom: 2.5rem;
        position: relative;
        z-index: 1;
        letter-spacing: 0.04em;
	}

	.bottomMain.left .bottomMain__left .bottomMain--txt {
	    line-height: 1.8;
        width: 52.5rem;
		letter-spacing: 0.04em;
	}

	.bottomMain.left figure {
        width: calc(49.5% + 4px);
        max-width: 85.8rem;
        border-radius: 2rem 0 0 2rem;
        position: absolute;
        top: 8rem;
        left: 61rem;
		background: #00D67E;	
	}

	.bottomMain.left figure img {
		display: block;
		width: 83.5%;
		margin: 3rem auto 3rem 3rem;
	}
}


@media (min-width: 1180px) {
	.bottomMain.left .bottomMain--inner .bottomMain__left::after {
		width: calc(((100vw - 118rem) / 2) + 5rem);
		left: calc((100vw - 118rem) / -2);
	}
	
	.bottomMain.left figure {
		left: calc((100vw - 118rem) / 2 + 61rem);
	}
}

@media (min-width: 1726px) {
	.bottomMain.left figure::after {
		content: "";
		position: absolute;
		top: 0;
		left: 100%;
		width: calc(49.5vw - 85.4rem + 4px);
		height: 100%;
		background: #00D67E;
	}
}









/*  ボトムメイン右 */
/*  SP  */
@media screen and (max-width: 768px) {
	.bottomMain.right {
		display: flex;
		flex-direction: column;
	}

	.bottomMain.right figure {
		order: 1;
		position: static;
		width: 95%;
		background: #00D67E;
		border-radius: 1rem 0 0 1rem;
		margin-left: 5%;
		z-index: 2;
	}

	.bottomMain.right figure img {
		width: 94.73%;
		margin: 5.26% 0 5.26% auto;
	}

	.bottomMain.right .bottomMain--inner {
		order: 2;
		background: #E5F0EC;
    	margin-top: -29.3%;
    	padding-top: calc(29.3% + 3rem);
    	padding-bottom: 5rem;
    	z-index: 1;
	}

	.bottomMain.right .bottomMain--inner .bottomMain__left {
		width: 90%;
		margin: 0 auto;
	}

	.bottomMain.right .bottomMain--inner .bottomMain__left h2 {
		font-size: 2rem;
		font-weight: 500;
		letter-spacing: 0.04em;
    	margin-bottom: 1.5rem;
		text-align: right;
	}

	.bottomMain.right .bottomMain--inner .bottomMain__left .bottomMain--txt {
		line-height: 1.8;
		letter-spacing: 0.04em;
	}
}

/*  ボトムメイン右 */
/*. PC */

@media screen and (min-width: 769px){
	.bottomMain.right {
		position: relative;
	}

	.bottomMain.right .bottomMain--inner { 
        max-width: 118rem;
        margin: 0 auto;
        padding: 0 5rem;
        position: relative;
	}

	.bottomMain.right .bottomMain--inner .bottomMain__left {
        border-radius: 2rem 0 0 2rem;
        background: #E5F0EC;
        width: 94.5rem;
		height: calc((49.5vw + 4px)* 0.49021067 + 22rem);
        max-height: 64.06rem;
		padding-top: 8rem;
		margin: 0 0 0 auto;
	}

	.bottomMain.right .bottomMain--inner .bottomMain__left::after {
	    content: "";
        display: block;
        width: 5rem;
        height: 100%;
        position: absolute;
        top: 0;
        right: 0;
        background: #E5F0EC;
	}

	.bottomMain.right .bottomMain__left h2 {
		font-size: 2.8rem;
        font-weight: 500;
        position: relative;
        z-index: 1;
		width: 51rem;
		margin: 0 0 2.5rem auto;
		letter-spacing: 0.04em;
	}

	.bottomMain.right .bottomMain__left .bottomMain--txt {
	    line-height: 1.8;
        width: 51rem;
		margin: 0 0 0 auto;
		letter-spacing: 0.04em;
	}

	.bottomMain.right figure {
        width: 45.1%;
        max-width: 85.8rem;
        border-radius: 0 2rem 2rem 0;
        position: absolute;
        top: 8rem;
        right: 59.5rem;
		background: #00D67E;	
	}

	.bottomMain.right figure img {
		display: block;
		width: 83.5%;
		margin: 3rem 3rem 3rem auto;
	}
}

@media (min-width: 1180px) {

	.bottomMain.right .bottomMain--inner .bottomMain__left::after {
		width: calc(((100vw - 118rem) / 2) + 5rem);
		right: calc((100vw - 118rem) / -2);
	}
	
	.bottomMain.right figure {
		width: calc(49.5% + 4px);
		right: calc((100vw - 118rem) / 2 + 59.5rem);
	}
}

@media (min-width: 1726px) {
	.bottomMain.right figure::after {
		content: "";
		position: absolute;
		top: 0;
		right: 100%;
		width: calc(49.5vw - 85.4rem + 4px);
		height: 100%;
		background: #00D67E;
	}
}



/*. 通常左 */
/*. SP */

@media screen and (max-width: 768px) {
	.usually.left .usually--inner{
		display: flex;
		flex-direction: column;
		width: 90%;
		margin: 0 auto;
	}

	.usually.left .usually--inner figure {
		order: 1;
		margin-bottom: 2rem;
	}

	.usually.left .usually--inner .usually--left {
		order: 2;
	}

	.usually.left .usually--inner .usually--left h2 {
		font-size: 2rem;
		font-weight: 500;
		margin-bottom: 1.5rem;
		letter-spacing: 0.04em;
	}

	.usually.left .usually--inner .usually--left p {
		line-height: 1.8;
		letter-spacing: 0.04em;
	}
}



/*. 通常左 */
/*. PC */


@media screen and (min-width: 769px){
	.usually.left .usually--inner {
		width: calc(100% - 10rem);
		max-width: 108rem;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}

	.usually.left .usually--inner .usually--left {
		width: 48.6%;
	}

	.usually.left .usually--inner .usually--left h2 {
		font-size: 2.8rem;
		font-weight: 500;
		margin-bottom: 2.5rem;
		letter-spacing: 0.04em;
	}

	.usually.left .usually--inner .usually--left p {
		line-height: 1.8;
		letter-spacing: 0.04em;
	}

	.usually.left .usually--inner figure {
		width: 48.6%;
	}
}







/*. 通常右 */
/*. SP */

@media screen and (max-width: 768px) {
	.usually.right .usually--inner{
		display: flex;
		flex-direction: column;
		width: 90%;
		margin: 0 auto;
	}

	.usually.right .usually--inner figure {
		order: 1;
		margin-bottom: 2rem;
	}

	.usually.right .usually--inner .usually--left {
		order: 2;
	}

	.usually.right .usually--inner .usually--left h2 {
		font-size: 2rem;
		font-weight: 500;
		margin-bottom: 1.5rem;
		letter-spacing: 0.04em;
		text-align: right;
	}

	.usually.right .usually--inner .usually--left p {
		line-height: 1.8;
		letter-spacing: 0.04em;
	}
}

/*. 通常右 */
/*. PC */

@media screen and (min-width: 769px){
	.usually.right {

	}

	.usually.right .usually--inner {
		width: calc(100% - 10rem);
		max-width: 108rem;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-direction: row-reverse;
	}

	.usually.right .usually--inner .usually--left {
		width: 48.6%;
	}

	.usually.right .usually--inner .usually--left h2 {
		font-size: 2.8rem;
		font-weight: 500;
		margin-bottom: 2.5rem;
		letter-spacing: 0.04em;
	}

	.usually.right .usually--inner .usually--left p {
		line-height: 1.8;
		letter-spacing: 0.04em;
	}

	.usually.right .usually--inner figure {
		width: 48.6%;
	}
}







/*. FOS-MOVIE */
/*. SP */

@media screen and (max-width: 768px) {
	.fosMovie {
		
	}
	
	
	.fosMovie .fosMovie--inner {
		display: flex;
        flex-direction: column;
        width: 90%;
        margin: 0 auto;
		position: relative;
		padding-top: 8.6rem;
	}
	
	.fosMovie .fosMovie--inner .fosMovie--left {
		order: 2;
	}
	
	.fosMovie .fosMovie--inner .fosMovie--left img {
		display: block;
		width: 15.5rem;
		position: absolute;
		left: 0;
		top: 0;
	}
	
	.fosMovie .fosMovie--inner .fosMovie--left h2 {
		font-size: 2rem;
		font-weight: 500;
		margin-bottom: 1.5rem;
        letter-spacing: 0.04em;
	}
	
	.fosMovie .fosMovie--inner .fosMovie--left p {
		line-height: 1.8;
		letter-spacing: 0.04em;
	}

	.fosMovie .fosMovie--inner figure {
		order: 1;
		margin-bottom: 2rem;
	}
}

/*. FOS-MOVIE */
/*. PC */

@media screen and (min-width: 769px){
	.fosMovie {
	
	}
	
	.fosMovie .fosMovie--inner {
		max-width: 108rem;
		margin: 0 auto;
		display: flex;
        justify-content: space-between;
        align-items: flex-start;
	}
	
	.fosMovie .fosMovie--inner .fosMovie--left {
		width: 48.6%;
	}
	
	.fosMovie .fosMovie--inner .fosMovie--left img.fosMovie__icon {
		width: 15.5rem;
		margin-bottom: 2.5rem;
	}
	
	.fosMovie .fosMovie--inner .fosMovie--left h2 {
		font-size: 2.8rem;
		margin-bottom: 2.5rem;
		font-weight: 500;
		letter-spacing: 0.04em;
	}
	
	.fosMovie .fosMovie--inner .fosMovie--left p {
		line-height: 1.8;
		letter-spacing: 0.04em;
	}
	
	.fosMovie .fosMovie--inner figure {
		width: 48.6%;
		transition: 0.3s;
	}
	
	.fosMovie .fosMovie--inner figure:hover {
		transform: scale(1.1);
	}
	
}

/*. YOUTUBEモーダル */
.youtubeModal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
}

.youtubeModal.is-open {
	display: block;
}

.youtubeModal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
}

.youtubeModal__body {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(90vw, 96rem);
}

.youtubeModal__close {
	position: absolute;
	top: -4rem;
	right: 0;
	background: none;
	border: 0;
	color: #fff;
	font-size: 3rem;
	line-height: 1;
	cursor: pointer;
}

.youtubeModal__frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
}

.youtubeModal__frame iframe {
	width: 100%;
	height: 100%;
	display: block;
	border: none;
}


/*. セクションタイトル */
/*. SP */

@media screen and (max-width: 768px){
	.sectionTitle {
		
	}
	
	.sectionTitle h1 {
		font-size: 2.8rem;
		font-weight: 500;
		text-align: center;
		letter-spacing: 0.05em;
	}
	
	.sectionTitle h1 span {
		text-align: center;
		font-family: 'EB Garamond', serif;
		font-weight: 600;
		font-size: 1.2rem;
		position: relative;
		width: fit-content;
		margin: 0 auto 1.5rem;
		padding-left: 1em;
		display: block;
	}
	
	.sectionTitle h1 span::before {
		content: "";
		display: block;
		width: .6rem;
		height: .6rem;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
    	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
		background-image: url("../img/common/sectionTitle__sub.svg");
		background-size: cover;
		background-repeat: no-repeat;
	}
	
	
	.sectionTitle .sectionTitle__txt {
		line-height: 1.8;
		max-width: 90%;
		margin: 4rem auto 0;
		letter-spacing: 0.04em;
	}
	
}



/*. セクションタイトル */
/*. PC */
@media screen and (min-width: 769px) {
	.sectionTitle {
		
	}
	
	.sectionTitle h1 {
		font-size: 3.6rem;
		font-weight: 500;
		text-align: center;
		letter-spacing: 0.05em;
	}
	
	.sectionTitle h1 span {
		text-align: center;
		font-family: 'EB Garamond', serif;
		font-weight: 600;
		font-size: 1.4rem;
		position: relative;
		width: fit-content;
		margin: 0 auto 2rem;
		padding-left: 1em;
		display: block;
	}
	
	.sectionTitle h1 span::before {
		content: "";
		display: block;
		width: .7rem;
		height: .7rem;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
    	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
		background-image: url("../img/common/sectionTitle__sub.svg");
		background-size: cover;
		background-repeat: no-repeat;
	}
	
	.sectionTitle .sectionTitle__txt {
		line-height: 1.8;
		max-width: 66rem;
		margin: 5rem auto 0;
		letter-spacing: 0.04em;
	}
	
}




/*. 流れるテキスト */
/*. SP */

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

	.marquee {
		overflow: hidden;
	}

	.marquee__track {
		display: flex;
		width: max-content;
		animation: marquee 30s linear infinite;
	}

	.marquee__track span {
		flex-shrink: 0;
		white-space: nowrap;
		font-size: 7.5rem;
		font-weight: 700;
		color: #E5F0EC;
	}

	@keyframes marquee {
		0% {
			transform: translateX(0);
		}
		100% {
			transform: translateX(-50%);
		}
	}
}


/*. 流れるテキスト */
/*. PC */

@media screen and (min-width: 769px){

	.marquee {
		overflow: hidden;
	}

	.marquee__track {
		display: flex;
		width: max-content;
		animation: marquee 30s linear infinite;
	}

	.marquee__track span {
		flex-shrink: 0;
		white-space: nowrap;
		font-size: 15rem;
		font-weight: 700;
		color: #E5F0EC;
	}

	@keyframes marquee {
		0% {
			transform: translateX(0);
		}
		100% {
			transform: translateX(-50%);
		}
	}
}


footer {
	background: #00693E;
}

footer .footer__inner {
	width: 90%;
	margin: 0 auto;
	padding: 5rem 0;
}

footer .footer__inner nav {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	color: #fff;
	margin-bottom: 5rem;
	font-size: 1.4rem;
}

footer .footer__inner nav ul {
	width: 48%;
	margin-bottom: 3rem;
	font-weight: 500;
}

footer .footer__inner nav ul li {
	padding-left: 1em;
	position: relative;
	margin-bottom: 0.6rem;
}

footer .footer__inner nav ul li:last-of-type {
	margin-bottom: 0;
}

footer .footer__inner nav ul li::before {
	content: "";
	display: block;
	width: 0.7em;
	border-top: 1px solid #C6B116;
	position: absolute;
	top: 0.7em;
	left: 0;
}

footer .footer__inner nav dl {
	width: 48%;
	margin-bottom: 3rem;
}

footer .footer__inner nav dl:nth-of-type(6),
footer .footer__inner nav dl:nth-of-type(7) {
	margin-bottom: 0;
}

footer .footer__inner nav dl dt {
	margin-bottom: 0.6rem;
	font-weight: 500;
	padding-left: 1em;
	padding-bottom: 0.5rem;
	border-bottom: 1px dotted #fff;
	position: relative;
}

footer .footer__inner nav dl dt::before {
	content: "";
	display: block;
	width: 0.7em;
	border-top: 1px solid #C6B116;
	position: absolute;
	top: 0.7em;
	left: 0;
}

footer .footer__inner nav dl dd {
	margin-bottom: 0.6rem;
	font-weight: 400;
}

footer .footer__inner nav dl dd:last-of-type {
	margin-bottom: 0;
}

footer .footer__inner .logo {
 	display: block;
	width: 24rem;
	margin: 0 auto 1.5rem;
}

footer .footer__inner .vi {
	display: flex;
	justify-content: center;
}

footer .footer__inner .vi li {
	width: 7rem;
}

footer .copyRight {
	font-size: 1.1rem;
	background: #fff;
	text-align: center;
	line-height: 3rem;
	letter-spacing: 0.04em;
}

@media screen and (min-width: 769px) {
	footer .footer__inner {
		width: 108rem;
		padding: 8rem 0;
		position: relative;
	}
	
	footer .footer__inner nav {
		margin-bottom: 8rem;
	}
	
	footer .footer__inner nav ul {
		width: 22%;
		font-size: 1.5rem;
		margin-bottom: 5rem;
	}
	
	footer .footer__inner nav dl {
		width: 22%;
		font-size: 1.5rem;
		margin-bottom: 5rem;
	}
	
	footer .footer__inner nav dl:nth-of-type(4),
	footer .footer__inner nav dl:nth-of-type(5),
	footer .footer__inner nav dl:nth-of-type(6),
	footer .footer__inner nav dl:nth-of-type(7) {
		margin-bottom: 0;
	}
	
	footer .footer__inner nav dl dt {
		margin-bottom: 1rem;
		padding-bottom: 0.8rem;
	}
	
	footer .footer__inner nav dl dd {
		margin-bottom: 1rem;
	}
	
	footer .footer__inner .logo {
		width: 28rem;
	}
	
	footer .footer__inner .vi {
		position: absolute;
		bottom: 8rem;
		right: 0;
	}
	
	footer .footer__inner .vi li {
		width: 10rem;
		margin-bottom: 1em;
	}
	
	footer .copyRight {
		font-size: 1.3rem;
		line-height: 4rem;
	}
	
}