  @charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@500&family=Noto+Sans+JP:wght@100;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond&display=swap");
* {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
}

html {
	font-size: 18px;
	overflow-y: scroll;
}
html.sp {
	font-size: 16px !important;
}

body, th, main .contents .format > table td, td, input, select, textarea {
	font-size: min(2.61628vw, 18px);
	font-family: "Noto Sans JP", sans-serif;
}
.sp body, .sp th, .sp main .contents .format > table td, main .contents .format > table .sp td, .sp td, .sp input, .sp select, .sp textarea {
	font-size: min(10.7418vw, 12.89016px);
}

body {
	margin: 0px auto;
	color: #000000;
	background: #ffffff;
	overflow: hidden;
	padding-top: 130px;
}
.pc body {
	padding-top: 65px;
}
.sp body {
	padding-top: 56px;
}

img {
	border: 0px;
}

a {
	text-decoration: none;
}

dl, ul, ol {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

p {
	margin: 0px;
}

.clear {
	clear: both;
}

.sp .view_pc {
	display: none !important;
}

.view_sp {
	display: none !important;
}
.sp .view_sp {
	display: block !important;
}

main .contents * + .lead, main .contents * + .text, main .contents * + .image, main .contents * + .imagebox, main .contents * + .column, main .contents * + .table, main .contents * + .format, main .contents * + .box, main .contents * + .googlemap, main .contents * + .youtube, * + .yearlist {
	margin-top: 40px;
}
.sp main .contents * + .lead, main .contents .sp * + .lead, .sp main .contents * + .text, main .contents .sp * + .text, .sp main .contents * + .image, main .contents .sp * + .image, .sp main .contents * + .imagebox, main .contents .sp * + .imagebox, .sp main .contents * + .column, main .contents .sp * + .column, .sp main .contents * + .table, main .contents .sp * + .table, .sp main .contents * + .format, main .contents .sp * + .format, .sp main .contents * + .box, main .contents .sp * + .box, .sp main .contents * + .googlemap, main .contents .sp * + .googlemap, .sp main .contents * + .youtube, main .contents .sp * + .youtube, .sp * + .yearlist {
	margin-top: 30px;
}

main .contents .lead * + p, main .contents .text * + p:not(.image), main .contents .text * + hr, main .contents .text * + ul, main .contents .text * + ol, main .contents .text * + dl, main .contents .text dl * + dt, main .contents .text * + .image.floatright, main .contents .text * + .image.floatleft, main .contents .imagebox > .image * + img,
main .contents .imagebox > .image > * + a {
	margin-top: 20px;
}

main .contents {
	position: relative;
	padding: 0px;
  /*
  	.form {
  		@extend %section;
  
  		form {
  			margin: 0px;
  			padding: 0px;
  		}
  
  		p {
  			@extend %paragraph;
  			margin-bottom: 4px;
  			@include fs(14, 1.3);
  			color: $color_sub2;
  		}
  
  		p.required {
  			&:after	{
  				content: "£¨±Øíš£©";
  				color: $color_alert;
  				margin-left: $margin_base*2;
  			}
  		}
  
  		.inputbox {
  			margin-top: 5px;
  			padding-left: 20px;
  			@include fs(16, 1.5);
  		}
  
  		textarea {
  			width: 100%;
  			height: 160px;
  			padding: $margin_base *2 $margin_base*4;
  			@include fs($fs6, $lineheight_heading);
  			border: 1px solid $color_sub;
  			border-radius: 5px;
  			-webkit-appearance: none;
  			-moz-appearance: none;
  			appearance: none;
  		}
  
  		input[type="text"], input[type="email"], input[type="tel"], input[type="url"] {
  			width: 100%;
  			height: 40px;
  			padding: $margin_base*0 $margin_base*4;
  			@include fs($line: 38px);
  			border: 1px solid $color_sub;
  			border-radius: 5px;
  			-webkit-appearance: none;
  			-moz-appearance: none;
  			appearance: none;
  
  			&.withlabel {
  				padding-left: 4rem;
  			}
  		}
  
  		select {
  			width: 100%;
  			height: 40px;
  			padding: 0px 30px 0px 10px;
  			@include fs($fs6, 38px);
  			border: 1px solid $color_sub;
  			border-radius: 5px;
  			-webkit-appearance: none;
  			-moz-appearance: none;
  			appearance: none;
  			background: url(/common/images/down.svg) no-repeat right 10px center;
  			cursor: pointer;
  		}
  
  		select::-ms-expand {
  			display: none;
  		}
  
  		label {
  			position: relative;
  			display: inline-block;
  			padding: 10px 0px 10px 40px;
  			@include fs($fs6, $lineheight_heading);
  			cursor: pointer;
  
  			.sp & {
  				@include fs($fs7, $lineheight_heading);
  			}
  
  			input[type="radio"], input[type="checkbox"] {
  				position: absolute;
  				opacity: 0;
  				pointer-events: none;
  			}
  
  			input[type="radio"]:focus + span:before, input[type="checkbox"]:focus + span:before {
  				-webkit-transform: scale(1.1);
  				transform: scale(1.1);
  			}
  
  			input[type="radio"] + span:before {
  				content: "";
  				display: block;
  				position: absolute;
  				width: 26px;
  				height: 26px;
  				top: 50%;
  				left: 0px;
  				margin-top: -15px;
  				background: #ffffff;
  				border: 2px solid $color_bg;
  				border-radius: 50%;
  				-webkit-transition: 200ms;
  				transition: 200ms;
  			}
  
  			input[type="radio"]:checked + span:before {
  				width: 10px;
  				height: 10px;
  				border: 10px solid $color_main;
  			}
  
  			input[type="checkbox"] + span:before {
  				content: "";
  				display: block;
  				position: absolute;
  				width: 26px;
  				height: 26px;
  				top: 50%;
  				left: 0px;
  				margin-top: -15px;
  				background: #ffffff;
  				border: 2px solid $color_bg;
  				border-radius: 10px;
  				-webkit-transition: 200ms;
  				transition: 200ms;
  			}
  
  			input[type="checkbox"]:checked + span:before {
  				background-color: $color_main;
  				border-color: $color_main;
  			}
  
  			input[type="checkbox"] + span:after {
  				content: "";
  				display: block;
  				position: absolute;
  				width: 30px;
  				height: 30px;
  				top: 50%;
  				left: 0px;
  				margin-top: -15px;
  				background: url(/common/images/check.svg) no-repeat center center;
  				-webkit-transform: scale(0);
  				transform: scale(0);
  				-webkit-transition: 200ms;
  				transition: 200ms;
  			}
  
  			input[type="checkbox"]:checked + span:after {
  				-webkit-transform: scale(1);
  				transform: scale(1);
  			}
  		}
  
  		.formbutton {
  			@extend %block;
  			text-align: center;
  
  			button {
  				position: relative;
  				display: inline-block;
  				width: 80%;
  				max-width: 240px;
  				height: 48px;
  				@include fs(16, 48px);
  				color: #ffffff;
  				background: $color_main;
  				border: 0px;
  				border-radius: 5px;
  				@include hover;
  				-webkit-appearance: none;
  				-moz-appearance: none;
  				appearance: none;
  
  				.sp & {
  					display: block;
  					margin: auto;
  				}
  			}
  
  			button + button {
  				margin-left: 20px;
  
  				.sp & {
  					margin-left: auto;
  					margin-top: 20px;
  				}
  			}
  
  		}
  	}
  */
}
main .contents > div:not(.background) {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 40px 40px 80px;
}
.tablet main .contents > div:not(.background) {
	padding: 20px 20px 40px;
}
.sp main .contents > div:not(.background) {
	padding: 20px 15px 40px;
}
.sp main .contents > div:not(.background) {
	width: auto;
}
main .contents h1 + *, main .contents h2 + *, main .contents h3 + *, main .contents h4 + *, main .contents h5 + *, main .contents h6 + * {
	margin-top: 0px !important;
}
main .contents h1 {
	display: block;
	margin: 0px 0px 40px;
	padding: 0px;
	font-size: min(9.30233vw, 64px);
	line-height: 1.3;
	font-weight: normal;
}
.sp main .contents h1 {
	font-size: min(24.99178vw, 29.99013px);
}
main .contents * + h1 {
	margin-top: 160px;
}
main .contents h2 {
	position: relative;
	display: block;
	margin: 0px 0px 50px;
	font-size: min(6.97674vw, 48px);
	line-height: 1.5;
	font-weight: normal;
}
.sp main .contents h2 {
	font-size: min(21.53549vw, 25.84258px);
}
.sp main .contents h2 {
	margin-bottom: 30px;
}
main .contents * + h2 {
	margin-top: 80px;
}
.sp main .contents * + h2 {
	margin-top: 40px;
}
main .contents h3 {
	position: relative;
	max-width: 960px;
	margin: 0px auto 30px;
	font-size: min(4.06977vw, 28px);
	line-height: 1.3;
	font-weight: normal;
}
.sp main .contents h3 {
	font-size: min(15.07298vw, 18.08757px);
}
.sp main .contents h3 {
	font-size: min(3.77907vw, 26px);
	line-height: 1.3;
}
.sp .sp main .contents h3 {
	font-size: min(14.27069vw, 17.12483px);
}
main .contents h3.center {
	text-align: center;
}
main .contents h3 a {
	color: #000000;
	position: relative;
	display: inline-block;
}
main .contents h3 a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #00776A;
	transition: 0.2s;
	transform: scale(0);
}
main .contents h3 a:hover:before {
	transform: scale(1);
}
main .contents * + h3 {
	margin-top: 60px;
}
.sp main .contents * + h3 {
	margin-top: 30px;
}
main .contents h4 {
	display: block;
	margin: 0px 0px 50px;
	padding: 0 0 20px 0;
	border-bottom: 1px solid #000;
	font-size: min(2.61628vw, 18px);
	line-height: 1.5;
}
.sp main .contents h4 {
	font-size: min(10.7418vw, 12.89016px);
}
.sp main .contents h4 {
	font-size: min(2.47093vw, 17px);
	line-height: 1.5;
	margin-bottom: 20px;
}
.sp .sp main .contents h4 {
	font-size: min(10.26323vw, 12.31587px);
}
main .contents * + h4 {
	margin-top: 40px;
}
main .contents h5 {
	display: block;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: min(2.47093vw, 17px);
	line-height: 1.3;
}
.sp main .contents h5 {
	font-size: min(10.26323vw, 12.31587px);
}
.sp main .contents h5 {
	font-size: min(2.32558vw, 16px);
	line-height: 1.3;
}
.sp .sp main .contents h5 {
	font-size: min(9.77603vw, 11.73123px);
}
main .contents * + h5 {
	margin-top: 20px;
}
main .contents h6 {
	display: block;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: min(2.32558vw, 16px);
	line-height: 1.3;
}
.sp main .contents h6 {
	font-size: min(9.77603vw, 11.73123px);
}
.sp main .contents h6 {
	font-size: min(2.03488vw, 14px);
	line-height: 1.3;
}
.sp .sp main .contents h6 {
	font-size: min(8.7754vw, 10.53048px);
}
main .contents * + h6 {
	margin-top: 20px;
}
main .contents .lead.center {
	text-align: center;
}
.sp main .contents .lead.center {
	text-align: left;
}
main .contents .lead p {
	font-size: min(2.61628vw, 18px);
	line-height: 1.7;
}
.sp main .contents .lead p {
	font-size: min(10.7418vw, 12.89016px);
}
.sp main .contents .lead p {
	font-size: min(2.47093vw, 17px);
	line-height: 1.7;
}
.sp .sp main .contents .lead p {
	font-size: min(10.26323vw, 12.31587px);
}
main .contents .lead p span {
	display: inline-block;
}
.sp main .contents .lead p span {
	display: inline;
}
main .contents .halfparagraph {
	margin-top: 7px !important;
}
main .contents .text p:not(.image) .required {
	color: #f00;
	margin-left: 4px;
	margin-right: 4px;
}
main .contents .text p:not(.image).error_mes {
	color: #f00;
}
main .contents .text p:not(.image) em.s {
	font-style: normal;
	color: #00776A;
	font-size: 120%;
}
main .contents .text p:not(.image) a {
	color: #00776A;
	position: relative;
	display: inline-block;
}
main .contents .text p:not(.image) a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #00776A;
	transition: 0.2s;
	transform: scale(0);
}
main .contents .text p:not(.image) a:hover:before {
	transform: scale(1);
}
main .contents .text p:not(.image).center {
	text-align: center;
}
main .contents .text p:not(.image).right {
	text-align: right;
}
.sp main .contents .text p:not(.image).spleft {
	text-align: left;
}
main .contents .text p:not(.image).note {
	text-indent: -1em;
	margin-left: 1em;
}
main .contents .text hr {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
	width: 90%;
	height: 1px;
	border: 0px;
	background: #98A6B5;
}
main .contents .text ul > li {
	position: relative;
	padding-left: 1.2rem;
}
main .contents .text ul > li:before {
	content: "";
	position: absolute;
	display: block;
	width: 1rem;
	height: 1rem;
	left: 0;
	top: 0.4rem;
	background: #A7A7A7;
	border-radius: 50%;
}
main .contents .text ul > li + li {
	margin-top: 4px;
}
main .contents .text ol {
	counter-reset: number;
}
.sp main .contents .text ol {
	font-size: min(2.03488vw, 14px);
	line-height: 1.7;
}
.sp .sp main .contents .text ol {
	font-size: min(8.7754vw, 10.53048px);
}
main .contents .text ol > li {
	margin-left: 1.2em;
	text-indent: -0.63em;
}
main .contents .text ol > li:before {
	counter-increment: number;
	content: " " counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
	color: #00776A;
	font-weight: bold;
}
main .contents .text ol > li + li {
	margin-top: 4px;
}
main .contents .text ol > li *:not(li) {
	text-indent: 0px;
}
main .contents .text ol > li a {
	vertical-align: top;
	color: #000000;
	position: relative;
	display: inline-block;
}
main .contents .text ol > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #00776A;
	transition: 0.2s;
	transform: scale(0);
}
main .contents .text ol > li a:hover:before {
	transform: scale(1);
}
main .contents .text ol > li > * + ul, main .contents .text ol > li > * + ol {
	margin-top: 4px;
}
main .contents .text ol.digit2 > li {
	margin-left: 1.5em;
	text-indent: -0.93em;
}
main .contents .text ol.digit2 > li:before {
	counter-increment: number;
	content: " " counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
	padding-left: 0.5em;
}
main .contents .text ol.digit2 > li:nth-of-type(n+10) {
	margin-left: 1.5em;
	text-indent: -0.93em;
}
main .contents .text ol.digit2 > li:nth-of-type(n+10):before {
	margin-right: 0.4em;
	padding-left: 0;
}
main .contents .text dl dt {
	font-size: min(2.61628vw, 18px);
	line-height: 1.3;
	font-weight: bold;
}
.sp main .contents .text dl dt {
	font-size: min(10.7418vw, 12.89016px);
}
main .contents .text dl dd {
	margin: 0px;
}
main .contents .text .image.floatright {
	float: right;
	margin-left: 20px;
	margin-bottom: 20px;
}
.sp main .contents .text .image.floatright {
	margin-left: 10px;
	margin-bottom: 10px;
}
main .contents .text .image.floatleft {
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
}
.sp main .contents .text .image.floatleft {
	margin-right: 10px;
	margin-bottom: 10px;
}
.sp main .contents .text .image.spclear {
	float: none;
	width: auto !important;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
}
main .contents .image {
	text-align: center;
}
main .contents .image img {
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
}
main .contents .image p {
	margin: 10px auto 0 !important;
	text-align: left;
}
* + main .contents .image p {
	margin-top: 8px;
}
main .contents .image p a {
	color: #000000;
	position: relative;
	display: inline-block;
}
main .contents .image p a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #00776A;
	transition: 0.2s;
	transform: scale(0);
}
main .contents .image p a:hover:before {
	transform: scale(1);
}
main .contents .image p.center {
	text-align: center;
}
main .contents .image p.right {
	text-align: right;
}
main .contents .image.left {
	text-align: left;
}
main .contents .image.left img {
	margin-left: 0px;
}
main .contents .image.left p {
	margin-left: 0px;
}
main .contents .image.right {
	text-align: right;
}
main .contents .image.right img {
	margin-right: 0px;
}
main .contents .image.right p {
	margin-right: 0px;
}
main .contents .image > a {
	display: inline-block;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	width: auto;
}
main .contents .image > a:hover {
	opacity: 0.7;
}
main .contents .image > a p {
	color: #000000;
}
main .contents .imagebox {
	display: table;
	width: 100%;
	table-layout: fixed;
}
main .contents .imagebox > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp main .contents .imagebox.spcol1 {
	display: block;
}
.sp main .contents .imagebox.spcol1 > * {
	display: block;
	width: auto !important;
}
.sp main .contents .imagebox.spcol1 > * + * {
	padding-top: 20px;
	padding-left: 0px !important;
	padding-right: 0px !important;
}
main .contents .imagebox > * {
	margin-top: 0px !important;
}
main .contents .imagebox > * + * {
	padding-left: 20px;
}
main .contents .imagebox.reverse {
	direction: rtl;
}
main .contents .imagebox.reverse > * {
	direction: ltr;
}
main .contents .imagebox.reverse > * + * {
	padding-left: 0px;
	padding-right: 20px;
}
main .contents .imagebox > .image img,
main .contents .imagebox > .image > a {
	display: block;
	width: auto;
}
main .contents .imagebox > .image p {
	width: auto !important;
}
main .contents .imagebox > .text {
	min-width: 50%;
}
main .contents .imagebox.product_image > .image, main .contents .imagebox.product_image > .youtube {
	width: 33.89830508474576%;
}
.sp main .contents .imagebox.product_image > .image, .sp main .contents .imagebox.product_image > .youtube {
	width: 100%;
}
main .contents .column {
	display: flex;
	gap: 20px 20px;
	flex-flow: row wrap;
}
.sp main .contents .column {
	gap: 10px 10px;
}
main .contents .column > a {
	display: block;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	color: #000000;
}
main .contents .column > a:hover {
	opacity: 0.7;
}
main .contents .column > a .image img {
	width: 100%;
	max-width: none;
}
main .contents .column.col1 > * {
	width: calc((100% - 20px * (1 - 1)) / 1);
}
.sp main .contents .column.col1 > * {
	width: calc((100% - 10px * (1 - 1)) / 1);
}
main .contents .column.col2 > * {
	width: calc((100% - 20px * (2 - 1)) / 2);
}
.sp main .contents .column.col2 > * {
	width: calc((100% - 10px * (2 - 1)) / 2);
}
main .contents .column.col3 > * {
	width: calc((100% - 20px * (3 - 1)) / 3);
}
.sp main .contents .column.col3 > * {
	width: calc((100% - 10px * (3 - 1)) / 3);
}
main .contents .column.col4 > * {
	width: calc((100% - 20px * (4 - 1)) / 4);
}
.sp main .contents .column.col4 > * {
	width: calc((100% - 10px * (4 - 1)) / 4);
}
main .contents .column.col5 > * {
	width: calc((100% - 20px * (5 - 1)) / 5);
}
.sp main .contents .column.col5 > * {
	width: calc((100% - 10px * (5 - 1)) / 5);
}
.sp main .contents .column.spcol1 > * {
	width: calc((100% - 10px * (1 - 1)) / 1);
}
.sp main .contents .column.spcol2 > * {
	width: calc((100% - 10px * (2 - 1)) / 2);
}
.sp main .contents .column.spcol3 > * {
	width: calc((100% - 10px * (3 - 1)) / 3);
}
.sp main .contents .column.spcol4 > * {
	width: calc((100% - 10px * (4 - 1)) / 4);
}
main .contents .text, main .contents .table {
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}
main .contents .text:after, main .contents .table:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .text.full, main .contents .table.full {
	max-width: none;
}
main .contents .table {
	overflow-x: auto;
	overflow-y: hidden;
}
main .contents .table > table {
	width: auto;
	border-spacing: 0;
	empty-cells: show;
	table-layout: fixed;
	min-width: 100%;
	border-collapse: collapse;
}
main .contents .table > table th, main .contents .table > table .format > table td, main .contents .format > table .table > table td, main .contents .table > table td {
	border: 1px solid #D3D3D3;
}
main .contents .table > table.th_middle > tr > th, main .contents .format.table > table.th_middle > tr > td {
	vertical-align: middle;
}
.sp main .contents .table > table.sp_block th, .sp main .contents .table > table.sp_block .format > table td, .sp main .contents .format > table .table > table.sp_block td, .sp main .contents .table > table.sp_block td {
	display: block;
}
.sp main .contents .table > table.sp_block th, .sp main .contents .table > table.sp_block .format > table td, .sp main .contents .format > table .table > table.sp_block td {
	text-align: left;
	border-bottom: none;
}
main .contents .table > table > thead > tr > th, main .contents .format.table > table > thead > tr > td,
main .contents .table > table > thead > tr > td,
main .contents .table > table > tbody > tr > th,
main .contents .format.table > table > tbody > tr > td,
main .contents .table > table > tr > th,
main .contents .format.table > table > tr > td {
	position: relative;
	padding: 20px 16px;
	vertical-align: top;
	text-align: center;
	font-size: min(2.61628vw, 18px);
	line-height: 1.7;
	font-weight: normal;
	overflow: hidden;
	white-space: nowrap;
}
.sp main .contents .table > table > thead > tr > th, .sp main .contents .format.table > table > thead > tr > td, .sp
main .contents .table > table > thead > tr > td, .sp
main .contents .table > table > tbody > tr > th, .sp
main .contents .format.table > table > tbody > tr > td, .sp
main .contents .table > table > tr > th, .sp
main .contents .format.table > table > tr > td {
	font-size: min(10.7418vw, 12.89016px);
}
.sp main .contents .table > table > thead > tr > th, .sp main .contents .format.table > table > thead > tr > td, .sp
main .contents .table > table > thead > tr > td, .sp
main .contents .table > table > tbody > tr > th, .sp
main .contents .format.table > table > tbody > tr > td, .sp
main .contents .table > table > tr > th, .sp
main .contents .format.table > table > tr > td {
	padding: 12px 8px;
	white-space: nowrap;
}
main .contents .table > table > thead > tr > th.bg_white, main .contents .format.table > table > thead > tr > td.bg_white,
main .contents .table > table > thead > tr > td.bg_white,
main .contents .table > table > tbody > tr > th.bg_white,
main .contents .format.table > table > tbody > tr > td.bg_white,
main .contents .table > table > tr > th.bg_white,
main .contents .format.table > table > tr > td.bg_white {
	padding-left: 0;
	background: none;
	color: #000;
	font-size: min(2.61628vw, 18px);
	line-height: 1.3;
}
.sp main .contents .table > table > thead > tr > th.bg_white, .sp main .contents .format.table > table > thead > tr > td.bg_white, .sp
main .contents .table > table > thead > tr > td.bg_white, .sp
main .contents .table > table > tbody > tr > th.bg_white, .sp
main .contents .format.table > table > tbody > tr > td.bg_white, .sp
main .contents .table > table > tr > th.bg_white, .sp
main .contents .format.table > table > tr > td.bg_white {
	font-size: min(10.7418vw, 12.89016px);
}
main .contents .table > table.small > thead > tr > th, main .contents .format.table > table.small > thead > tr > td,
main .contents .table > table.small > thead > tr > td,
main .contents .table > table.small > tbody > tr > th,
main .contents .format.table > table.small > tbody > tr > td,
main .contents .table > table.small > tr > th,
main .contents .format.table > table.small > tr > td {
	padding: 8px;
	font-size: min(2.61628vw, 18px);
	line-height: 1.3;
}
.sp main .contents .table > table.small > thead > tr > th, .sp main .contents .format.table > table.small > thead > tr > td, .sp
main .contents .table > table.small > thead > tr > td, .sp
main .contents .table > table.small > tbody > tr > th, .sp
main .contents .format.table > table.small > tbody > tr > td, .sp
main .contents .table > table.small > tr > th, .sp
main .contents .format.table > table.small > tr > td {
	font-size: min(10.7418vw, 12.89016px);
}
.sp main .contents .table > table.small > thead > tr > th, .sp main .contents .format.table > table.small > thead > tr > td, .sp
main .contents .table > table.small > thead > tr > td, .sp
main .contents .table > table.small > tbody > tr > th, .sp
main .contents .format.table > table.small > tbody > tr > td, .sp
main .contents .table > table.small > tr > th, .sp
main .contents .format.table > table.small > tr > td {
	font-size: min(2.03488vw, 14px);
	line-height: 1.3;
}
.sp .sp main .contents .table > table.small > thead > tr > th, .sp .sp main .contents .format.table > table.small > thead > tr > td, .sp .sp
main .contents .table > table.small > thead > tr > td, .sp .sp
main .contents .table > table.small > tbody > tr > th, .sp
main .sp
main .contents .format.table > table.small > tbody > tr > td, .sp .sp
main .contents .table > table.small > tr > th, .sp
main .sp
main .contents .format.table > table.small > tr > td {
	font-size: min(8.7754vw, 10.53048px);
}
main .contents .table > table.small > tr > td,
main .contents .table > table.small > * > tr > td {
	padding: 8px;
	font-size: min(1.86047vw, 12.8px);
	line-height: 1.7;
}
.sp main .contents .table > table.small > tr > td, .sp
main .contents .table > table.small > * > tr > td {
	font-size: min(8.15798vw, 9.78958px);
}
.sp main .contents .table > table.small > tr > td, .sp
main .contents .table > table.small > * > tr > td {
	font-size: min(2.03488vw, 14px);
	line-height: 1.7;
}
.sp .sp main .contents .table > table.small > tr > td, .sp .sp
main .contents .table > table.small > * > tr > td {
	font-size: min(8.7754vw, 10.53048px);
}
main .contents .table > table > tbody > tr > th, main .contents .format.table > table > tbody > tr > td {
	background: #F4F4F4;
}
main .contents .table > table > tbody > tr > td {
	padding: 20px 16px;
	vertical-align: middle;
	text-align: left;
	font-size: min(2.61628vw, 18px);
	line-height: 1.7;
}
.sp main .contents .table > table > tbody > tr > td {
	font-size: min(10.7418vw, 12.89016px);
}
main .contents .table > table > tbody > tr > td a {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .table > table > tbody > tr > td a:hover {
	opacity: 0.7;
}
.sp main .contents .table > table > tbody > tr > td {
	padding: 12px 8px;
}
main .contents .table > table .left {
	text-align: left;
}
main .contents .table > table .right {
	text-align: right;
}
main .contents .table > table .center {
	text-align: center;
}
main .contents .table > table .top {
	vertical-align: top;
}
main .contents .table > table .bottom {
	vertical-align: bottom;
}
main .contents .table > table .middle {
	vertical-align: middle;
}
main .contents .table > table .space {
	background: transparent !important;
}
main .contents .table > p.right {
	text-align: right;
}
main .contents .table > * + p {
	margin-top: 8px;
}
main .contents .table > p + table {
	margin-top: 8px;
}
main .contents .table .category {
	display: inline-block;
	width: 100%;
	padding: 5px 10px;
	margin-right: 10px;
	max-width: 9rem;
	color: #ffffff;
	background: #00776A;
	text-align: center;
}
.tablet main .contents .table .category {
	display: block;
	margin-bottom: 10px;
}
.sp main .contents .table.sp_break {
	display: block;
}
.sp main .contents .table.sp_break col {
	width: auto !important;
	display: block;
}
.sp main .contents .table.sp_break tbody {
	display: block;
}
.sp main .contents .table.sp_break tr {
	display: block;
}
.sp main .contents .table.sp_break th, .sp main .contents .table.sp_break .format > table td, .sp main .contents .format > table .table.sp_break td {
	display: block;
	font-weight: bold;
	padding: 12px 0 0 0;
	border: none;
	text-align: left;
	background: none;
	font-size: min(2.61628vw, 18px);
	line-height: 1.7;
}
.sp .sp main .contents .table.sp_break th, .sp .sp main .contents .table.sp_break .format > table td, .sp .sp main .contents .format > table .table.sp_break td {
	font-size: min(10.7418vw, 12.89016px);
}
.sp main .contents .table.sp_break td {
	display: block;
	padding: 10px 0 5px 0;
	font-weight: normal;
	border: none;
}
main .contents .format > table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
}
main .contents .format > table th, main .contents .format > table td {
	padding: 0px 0px 10px 0px;
	vertical-align: top;
	text-align: left;
	font-weight: bold;
	color: #000000;
}
.sp main .contents .format > table th, .sp main .contents .format > table td {
	font-size: min(2.03488vw, 14px);
	line-height: 1.7;
}
.sp .sp main .contents .format > table th, .sp .sp main .contents .format > table td {
	font-size: min(8.7754vw, 10.53048px);
}
main .contents .format > table td {
	padding: 0px 0px 10px 20px;
	font-weight: normal;
}
main .contents .format > table tr:last-child th, main .contents .format > table tr:last-child td,
main .contents .format > table tr:last-child td {
	padding-bottom: 0px;
}
.sp main .contents .format > table {
	display: block;
}
.sp main .contents .format > table tbody {
	display: block;
}
.sp main .contents .format > table tr {
	display: block;
}
.sp main .contents .format > table th, .sp main .contents .format > table td {
	display: block;
	padding-bottom: 0px;
}
.sp main .contents .format > table td {
	display: block;
	padding-bottom: 5px;
}
main .contents .box {
	padding: 14px;
	border: 6px solid #98A6B5;
}
.sp main .contents .box {
	padding: 7px;
	border-width: 3px;
}
main .contents .googlemap {
	position: relative;
	padding-top: 50%;
}
.sp main .contents .googlemap {
	padding-top: 75%;
}
main .contents .googlemap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	-webkit-transition: opacity 400ms;
	transition: opacity 400ms;
}
main .contents .googlemap.googlemapview {
	background: url(/common/images/loading.gif) no-repeat center center;
}
main .contents .googlemap.googlemapview iframe {
	position: fixed;
	top: 90vh;
	opacity: 0;
	-webkit-transition: opacity 0ms;
	transition: opacity 0ms;
}
main .contents .youtube {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
main .contents .youtube > div {
	position: relative;
	padding-top: 56.25%;
}
main .contents .youtube > div > iframe,
main .contents .youtube > div > video {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}
main .contents .youtube p {
	margin: auto;
	font-size: min(2.03488vw, 14px);
	line-height: 1.3;
}
.sp main .contents .youtube p {
	font-size: min(8.7754vw, 10.53048px);
}
* + main .contents .youtube p {
	margin-top: 8px;
}

.stack {
	margin-top: 0px !important;
}

.block {
	margin-top: 40px !important;
}
.tablet .block {
	margin-top: 30px !important;
}

.section {
	margin-top: 80px !important;
}
.tablet .section {
	margin-top: 60px !important;
}

.paragraph {
	margin-top: 20px !important;
}

.halfparagraph {
	margin-top: 7px !important;
}

.loading * {
	-webkit-transition: 0ms !important;
	transition: 0ms !important;
}
.loading *:before, .loading *:after {
	-webkit-transition: 0ms !important;
	transition: 0ms !important;
}

.popup {
	opacity: 0;
	transition: opacity 500ms 300ms !important;
}
.popup.popon {
	opacity: 1;
}

header {
	display: block;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 130px;
	background: #fff;
	z-index: 50;
	transition: height 600ms;
}
.compactheader header, .pc header {
	height: 100px;
}
.spc header {
	height: 56px;
}
header #navigation {
	position: absolute;
	bottom: 0px;
	right: 60px;
	font-size: min(2.61628vw, 18px);
	transition: right 600ms;
}
.sp header #navigation {
	font-size: min(10.7418vw, 12.89016px);
}
.pc header #navigation {
	font-size: min(2.03488vw, 14px);
}
.sp .pc header #navigation {
	font-size: min(8.7754vw, 10.53048px);
}
.spc header #navigation {
	display: none;
}
header #navigation ul {
	display: flex;
}
header #navigation a {
	display: flex;
	align-items: center;
	height: 65px;
	padding: 0px 15px 12px;
	color: #000000;
	font-weight: 500;
}
.pc header #navigation a {
	padding: 12px 10px;
}
header #navigation a:hover {
	color: #00776A;
	transition: color 300ms;
}
header #navigation li {
	position: relative;
}
header #navigation li:after {
	content: "";
	display: block;
	position: absolute;
	width: calc(100% - 20px);
	height: 0px;
	bottom: 0px;
	left: 10px;
	background: #00776A;
	transition: 200ms 0ms;
}
.megamenuopen:not(.menuopen) header #navigation li.mmcurrent:after {
	height: 10px;
	transition: 300ms 100ms;
}
header #subnavigation {
	position: absolute;
	top: 12px;
	right: 60px;
	font-size: min(2.32558vw, 16px);
	transition: right 600ms, top 600ms, opacity 600ms;
}
.sp header #subnavigation {
	font-size: min(9.77603vw, 11.73123px);
}
.compactheader header #subnavigation {
	top: 3px;
}
.pc header #subnavigation {
	right: 52px;
}
.spc header #subnavigation {
	display: none;
}
header #subnavigation ul {
	display: flex;
}
header #subnavigation li {
	display: flex;
	align-items: center;
	height: 53px;
	padding: 0px 15px 12px;
	transition: color 300ms;
}
header #subnavigation li.language span {
	color: #00776A;
	padding-right: 3px;
}
header #subnavigation li.language a {
	padding-left: 3px;
}
header #subnavigation li a {
	color: #000000;
	font-weight: 500;
}
header #subnavigation li a:hover {
	color: #00776A;
}

#logo {
	position: fixed;
	top: 30px;
	left: 30px;
	transition: 600ms;
	z-index: 100;
}
.compactheader #logo, .pc #logo {
	top: 13px;
}
.spc #logo {
	top: 16px;
	left: 10px;
}
#logo a {
	position: relative;
	display: block;
	width: 198px;
	height: 60px;
	text-indent: -10000px;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	transition: 600ms;
}
#logo a:hover {
	opacity: 0.7;
}
.spc #logo a {
	width: 149px;
	height: 30px;
}
#logo a:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(/common/images/logo.png) no-repeat left center;
	background-size: auto 100%;
}
#logo a.eng:before {
	background: url(/common/images/logo_eng.png) no-repeat left center;
	background-size: auto 100%;
}

#search {
	position: fixed;
	right: 0px;
	top: 0px;
	transition: right 600ms;
	z-index: 100;
}
.compactheader #search, .spc #search {
	right: 66px;
}
.tablet #search {
	display: none;
}
#search a {
	display: block;
	width: 65px;
	height: 65px;
	text-indent: -1000px;
	background: #00776A;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#search a:hover {
	opacity: 0.7;
}
#search a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(/common/images/search.svg) no-repeat center center;
	opacity: 1;
	transition: 400ms;
}
#search a:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(/common/images/close.svg) no-repeat center center;
	opacity: 0;
	transition: 400ms;
}
.searchopen #search a:before {
	opacity: 0;
}
.searchopen #search a:after {
	opacity: 1;
}

#menu {
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 1050;
}
#menu a {
	display: block;
	width: 65px;
	height: 64px;
	text-indent: -1000px;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	transition: height 600ms, opacity 0.2s;
}
#menu a:hover {
	opacity: 0.7;
}
.compactheader #menu a, .spc #menu a {
	height: 65px;
}
.tablet #menu a {
	width: 56px;
	height: 56px;
}
#menu a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(/common/images/menu.svg) no-repeat center center;
	opacity: 1;
	transition: 400ms;
}
#menu a:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(/common/images/close.svg) no-repeat center center;
	opacity: 0;
	transition: 400ms;
}
.menuopen #menu a:before {
	opacity: 0;
}
.menuopen #menu a:after {
	opacity: 1;
}

#fullmenu {
	position: fixed;
	top: 130px;
	right: 0px;
	width: 60.9375%;
	height: calc(100% - 130px);
	color: #fff;
	z-index: 1001;
	opacity: 0;
	transform: translateX(40%);
	transition: opacity 600ms, transform 600ms, top 600ms, height 600ms;
	pointer-events: none;
}
.pc #fullmenu, .compactheader #fullmenu {
	top: 100px;
	height: calc(100% - 100px);
}
.spc #fullmenu {
	top: 56px;
	width: 100%;
	height: calc(100% - 56px);
	overflow-y: auto;
	overflow-x: hidden;
}
.menuopen #fullmenu {
	transform: translateX(0%);
	opacity: 1;
	pointer-events: auto;
}
#fullmenu .panel {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: calc(39.0625vw + 10px);
	height: 100%;
	right: 80%;
	top: 0px;
	background: url(/common/images/fullmenu.jpg) no-repeat right center;
	background-size: cover;
	z-index: 0;
	transition: right 0ms 600ms;
}
.spc #fullmenu .panel {
	display: none;
}
.menuopen #fullmenu .panel {
	right: 100%;
	transition: right linear 500ms;
}
#fullmenu .panel:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: rgba(0, 119, 106, 0.4);
	z-index: 0;
}
#fullmenu .panel .catch {
	display: block;
	position: absolute;
	width: 80%;
	height: 100%;
	max-width: 596px;
	top: 0px;
	left: 50%;
	text-indent: -10000px;
	background: url(/common/images/catch.svg) no-repeat center center;
	background-size: 100% auto;
	z-index: 1;
	transform: translateX(-50%);
	overflow: hidden;
}
#fullmenu .body {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 25px 40px 40px 30px;
	background: #00776A;
	overflow-y: auto;
	overflow-x: hidden;
	z-index: 5;
}
.spc #fullmenu .body {
	height: auto;
	padding: 0px 15px 30px;
}
#fullmenu .search {
	position: relative;
	display: none;
	width: 100%;
	padding: 20px;
	background: #B5B6B6;
}
.spc #fullmenu .search {
	display: block;
}
#fullmenu .search .input {
	position: relative;
	background: #ffffff;
}
#fullmenu .search input {
	width: 100%;
	height: 50px;
	padding: 0px 60px 0px 10px;
	font-size: min(3.48837vw, 24px);
	line-height: 50px;
	font-weight: 24;
	font-weight: 400;
	border: 0px;
}
.sp #fullmenu .search input {
	font-size: min(13.43716vw, 16.12459px);
}
#fullmenu .search input::placeholder {
	color: #B5B6B6;
}
#fullmenu .search input:-ms-input-placeholder {
	color: #B5B6B6;
}
#fullmenu .search input::-ms-input-placeholder {
	color: #B5B6B6;
}
#fullmenu .search button {
	position: absolute;
	width: 50px;
	height: 50px;
	right: 0px;
	top: 0px;
	text-indent: -10000px;
	background: url(/common/images/searchc.svg) no-repeat center center;
	background-size: 24px;
	border: 0px;
	cursor: pointer;
}
#fullmenu .menu {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 40%;
	font-size: min(2.76163vw, 19px);
	line-height: 1.3;
	font-weight: 20;
}
.sp #fullmenu .menu {
	font-size: min(11.21184vw, 13.4542px);
}
.spc #fullmenu .menu {
	width: 100%;
}
#fullmenu .menu a {
	display: inline-block;
	font-weight: bold;
	color: #fff;
}
#fullmenu .menu div {
	display: flex;
}
.spc #fullmenu .menu div.home {
	display: none;
}
.spc #fullmenu .menu div {
	align-items: center;
	margin: 0px -15px;
	height: 60px;
	border-top: 1px solid #fff;
}
.spc #fullmenu .menu div:last-child {
	border-bottom: 1px solid #fff;
}
.spc #fullmenu .menu div .sw {
	position: relative;
	flex-shrink: 0;
	display: block;
	width: 70px;
	height: 100%;
	cursor: pointer;
	overflow: hidden;
}
.spc #fullmenu .menu div .sw:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0%;
	background: url(/common/images/plus.svg) no-repeat center center;
	transition: top 400ms;
}
.spc #fullmenu .menu div .sw:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: -100%;
	background: url(/common/images/minus.svg) no-repeat center center;
	transition: top 400ms;
}
.spc #fullmenu .menu div .sw.open:before {
	top: 100%;
}
.spc #fullmenu .menu div .sw.open:after {
	top: 0%;
}
#fullmenu .menu div a:not(.sw) {
	position: relative;
	display: flex;
	width: 100%;
	height: 57px;
	align-items: center;
}
.spc #fullmenu .menu div a:not(.sw) {
	padding: 10px 15px;
	height: 60px;
}
#fullmenu .menu div a:not(.sw):before {
	content: "";
	display: block;
	position: absolute;
	width: 0px;
	height: 57px;
	top: 0px;
	left: -30px;
	background: rgba(0, 0, 0, 0.2);
	opacity: 0;
	transition: width 0ms 300ms, opacity 300ms;
	z-index: -1;
}
.spc #fullmenu .menu div a:not(.sw):before {
	display: none;
}
#fullmenu .menu div.open a:not(.sw):before {
	width: calc(100% + 30px);
	opacity: 1;
}
#fullmenu .menu div.separate {
	position: relative;
	margin-top: auto;
	padding-top: 30px;
}
.spc #fullmenu .menu div.separate {
	margin-top: 0px;
	padding-top: 0px;
}
#fullmenu .menu div.separate:before {
	content: "";
	display: block;
	position: absolute;
	width: calc(100% - 15px);
	height: 1px;
	top: 15px;
	left: 0px;
	background: #fff;
}
.spc #fullmenu .menu div.separate:before {
	display: none;
}
#fullmenu .menu ul {
	display: block;
	position: absolute;
	width: 100%;
	top: 0px;
	left: calc(100% + 0px);
	opacity: 0;
	z-index: 10;
	pointer-events: none;
	transition: opacity 300ms, left 0ms 300ms;
}
html:not(.spc) #fullmenu .menu ul {
	display: block !important;
}
.spc #fullmenu .menu ul {
	display: none;
	position: static;
	margin: 0px -15px;
	width: auto;
	background: rgba(255, 255, 255, 0.2);
	opacity: 1;
}
.spc.menuopen #fullmenu .menu ul {
	pointer-events: auto;
}
#fullmenu .menu ul:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: calc(100vh - 130px);
	background: rgba(0, 0, 0, 0.2);
	top: -25px;
	z-index: -1;
	left: -30px;
}
.spc #fullmenu .menu ul:before, .compactheader #fullmenu .menu ul:before {
	height: calc(100vh - 65px);
}
.spc #fullmenu .menu ul:before {
	display: none;
}
#fullmenu .menu ul a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 57px;
	padding: 10px 0px;
	font-weight: 500;
}
.spc #fullmenu .menu ul a {
	min-height: 60px;
	padding: 10px 15px 10px 35px;
	border-top: 1px solid #fff;
}
#fullmenu .menu ul a:before {
	content: "";
	display: block;
	position: absolute;
	width: 0px;
	height: 100%;
	top: 0px;
	left: -30px;
	background: rgba(0, 0, 0, 0.2);
	opacity: 0;
	transition: width 0ms 300ms, opacity 300ms;
	z-index: -1;
}
.spc #fullmenu .menu ul a:before {
	display: none;
}
#fullmenu .menu ul a:hover:before {
	width: 45vw;
	opacity: 1;
	transition: width 600ms, opacity 0ms;
}
#fullmenu .menu div.open + ul {
	opacity: 1;
	left: calc(100% + 30px);
	transition: opacity 400ms 250ms, left 400ms 250ms;
}
.menuopen #fullmenu .menu div.open + ul {
	pointer-events: auto;
}
#fullmenu .menu div a:not(.sw):hover:before {
	width: calc(100% + 30px);
	opacity: 1;
	transition: width 400ms, opacity 0ms;
}
#fullmenu .sublink {
	margin-top: 40px;
}
.spc #fullmenu .sublink {
	margin-top: 20px;
}
#fullmenu .sublink ul {
	display: flex;
	gap: 20px;
	flex-direction: column;
}
#fullmenu .sublink a {
	font-size: min(2.32558vw, 16px);
	line-height: 1.3;
	color: #fff;
	position: relative;
	display: inline-block;
}
.sp #fullmenu .sublink a {
	font-size: min(9.77603vw, 11.73123px);
}
#fullmenu .sublink a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #00776A;
	transition: 0.2s;
	transform: scale(0);
}
#fullmenu .sublink a:hover:before {
	transform: scale(1);
}
#fullmenu .copyright {
	margin-top: 50px;
	font-size: min(2.32558vw, 16px);
	font-family: 'Roboto', sans-serif;
}
.sp #fullmenu .copyright {
	font-size: min(9.77603vw, 11.73123px);
}
.spc #fullmenu .copyright {
	display: none;
}

#searchpanel {
	position: fixed;
	top: 130px;
	right: 0px;
	width: 100%;
	background: -moz-linear-gradient(top, rgba(0, 119, 106, 0.2) 0%, rgba(0, 119, 106, 0.2) 100%);
	background: -webkit-linear-gradient(top, rgba(0, 119, 106, 0.2) 0%, rgba(0, 119, 106, 0.2) 100%);
	background: linear-gradient(to bottom, rgba(0, 119, 106, 0.2) 0%, rgba(0, 119, 106, 0.2) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3300776a', endColorstr='#3300776a',GradientType=0 );
	background-color: #fff;
	z-index: 30;
	opacity: 0;
	transform: scale(1.1);
	transition: 600ms;
	pointer-events: none;
	overflow: auto;
}
.compactheader #searchpanel, .pc #searchpanel {
	top: 100px;
}
.searchopen #searchpanel {
	transform: scale(1);
	opacity: 1;
	pointer-events: auto;
}
.spc #searchpanel {
	display: none;
}
#searchpanel > div {
	position: relative;
	width: 100%;
	max-width: 1260px;
	margin: auto;
	padding: 50px 40px 80px;
}
.tablet #searchpanel > div {
	padding: 25px 20px 40px;
}
.sp #searchpanel > div {
	padding: 25px 15px 40px;
}
#searchpanel > div .search {
	position: relative;
	display: flex;
	width: 100%;
}
#searchpanel > div .search .title {
	display: flex;
	white-space: nowrap;
	align-items: center;
	height: 80px;
	margin-right: 22px;
	font-size: min(2.90698vw, 20px);
	font-weight: bold;
}
.sp #searchpanel > div .search .title {
	font-size: min(11.67343vw, 14.00811px);
}
#searchpanel > div .search .body {
	width: 100%;
}
#searchpanel > div .search .input {
	position: relative;
	background: #ffffff;
	overflow: hidden;
}
#searchpanel > div .search input {
	width: 100%;
	height: 80px;
	padding: 0px 80px 0px 20px;
	font-size: min(2.61628vw, 18px);
	line-height: 80px;
	font-weight: 500;
	border: 1px solid #B5B6B6;
}
.sp #searchpanel > div .search input {
	font-size: min(10.7418vw, 12.89016px);
}
#searchpanel > div .search input::placeholder {
	color: #B5B6B6;
}
#searchpanel > div .search input:-ms-input-placeholder {
	color: #B5B6B6;
}
#searchpanel > div .search input::-ms-input-placeholder {
	color: #B5B6B6;
}
#searchpanel > div .search button {
	position: absolute;
	width: 80px;
	height: 80px;
	right: 0px;
	top: 0px;
	text-indent: -10000px;
	background: url(/common/images/searchc.svg) no-repeat center center;
	background-size: 28px;
	border: 0px;
	cursor: pointer;
}
#searchpanel > div .search .hashlist {
	margin-top: 30px;
}
#searchpanel > div .search .hashlist ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
#searchpanel > div .search .hashlist a {
	display: flex;
	align-items: center;
	height: 24px;
	padding: 0px 10px;
	font-size: min(1.45349vw, 10px);
	color: #00776A;
	background: #fff;
	border: 1px solid #B5B6B6;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.sp #searchpanel > div .search .hashlist a {
	font-size: min(6.66667vw, 8px);
}
#searchpanel > div .search .hashlist a:hover {
	opacity: 0.7;
}

#megamenu {
	position: fixed;
	top: 130px;
	width: 100%;
	background: rgba(0, 0, 0, 0.8);
	pointer-events: none;
	z-index: 45;
	transform: translateY(-50%);
	transition: 400ms;
	opacity: 0;
}
.compactheader #megamenu {
	top: 65px;
}
.spc #megamenu {
	display: none;
}
#megamenu:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 130px;
	bottom: 100%;
	left: 0px;
	background: rgba(0, 0, 0, 0.8);
}
#megamenu > div {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 20px 40px 55px;
	transition: height 400ms;
}
.tablet #megamenu > div {
	padding: 10px 20px 27.5px;
}
.sp #megamenu > div {
	padding: 10px 15px 27.5px;
}
.megamenuopen #megamenu {
	opacity: 1;
	transform: translateY(0%);
	pointer-events: auto;
}
#megamenu .mm {
	position: absolute;
	width: calc(100% - 80px);
	max-width: 1215px;
	margin: auto;
	left: 50%;
	top: 20px;
	opacity: 0;
	transform: translateX(-50%);
	transition: opacity 200ms, top 0ms;
	pointer-events: none;
}
#megamenu .mm.show {
	opacity: 1;
	transition: opacity 400ms 200ms;
	z-index: 10;
	pointer-events: auto;
}
#megamenu .mm .head {
	position: relative;
	margin-bottom: 75px;
	font-size: min(3.19767vw, 22px);
	line-height: 1.3;
	font-weight: 700;
	color: #fff;
}
.sp #megamenu .mm .head {
	font-size: min(12.57164vw, 15.08597px);
}
#megamenu .mm .head:after {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 1px;
	bottom: -20px;
	left: 50%;
	margin-left: -50vw;
	background: #fff;
}
#megamenu .mm .head a {
	color: #ffffff;
	position: relative;
	display: inline-block;
}
#megamenu .mm .head a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #00776A;
	transition: 0.2s;
	transform: scale(0);
}
#megamenu .mm .head a:hover:before {
	transform: scale(1);
}
#megamenu .mm .body {
	display: flex;
	width: 100%;
}
#megamenu .mm .imagelink {
	position: relative;
	flex-shrink: 0;
	width: 270px;
	margin-left: 45px;
}
#megamenu .mm .imagelink:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 100%;
	left: -24px;
	top: 0px;
	background: #fff;
}
#megamenu .mm .imagelink .headding {
	margin-bottom: 15px;
	font-size: min(3.19767vw, 22px);
	font-weight: 700;
	color: #fff;
}
.sp #megamenu .mm .imagelink .headding {
	font-size: min(12.57164vw, 15.08597px);
}
#megamenu .mm .imagelink a {
	position: relative;
	display: block;
	width: 100%;
	background: #fff;
}
#megamenu .mm .imagelink a:hover .title:before {
	right: 15px;
}
#megamenu .mm .imagelink a:hover .title:after {
	right: 13px;
	opacity: 1;
	transition: right 400ms, opacity 300ms;
}
#megamenu .mm .imagelink .title {
	position: relative;
	padding: 10px 78px 10px 10px;
	font-size: min(2.61628vw, 18px);
	line-height: 1.3;
	font-weight: bold;
	color: #000000;
	z-index: 5;
}
.sp #megamenu .mm .imagelink .title {
	font-size: min(10.7418vw, 12.89016px);
}
#megamenu .mm .imagelink .title:before {
	content: "";
	display: block;
	position: absolute;
	width: 42px;
	height: 1px;
	top: 50%;
	right: 24px;
	background: #00776A;
	transition: right 400ms;
}
#megamenu .mm .imagelink .title:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 60px;
	margin-top: -8px;
	border: 8px solid transparent;
	border-right: 0px;
	border-left: 11px solid #00776A;
	opacity: 0;
	transition: right 400ms, opacity 200ms 100ms;
}
#megamenu .mm .imagelink .info {
	padding: 0px 10px 10px 10px;
	font-size: min(2.32558vw, 16px);
	line-height: 1.3;
	color: #000000;
}
.sp #megamenu .mm .imagelink .info {
	font-size: min(9.77603vw, 11.73123px);
}
#megamenu .mm .imagelink img {
	display: block;
	width: 100%;
	height: auto;
}
#megamenu .mm .imagelink a + a {
	margin-top: 20px;
}
#megamenu .mm ul {
	display: flex;
	flex-wrap: wrap;
	gap: 50px 45px;
	align-content: flex-start;
	width: 100%;
}
#megamenu .mm ul.col3 li {
	width: calc((100% - 90px) / 3);
}
#megamenu .mm ul.col4 li {
	width: calc((100% - 135px) / 4);
}
#megamenu .mm li {
	font-size: min(2.61628vw, 18px);
	line-height: 1.3;
	font-weight: 700;
}
.sp #megamenu .mm li {
	font-size: min(10.7418vw, 12.89016px);
}
#megamenu .mm li a {
	color: #ffffff;
	position: relative;
	display: inline-block;
}
#megamenu .mm li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #00776A;
	transition: 0.2s;
	transform: scale(0);
}
#megamenu .mm li a:hover:before {
	transform: scale(1);
}
#megamenu .head a::before, #megamenu ul li a::before {
	background: #fff !important;
}

#visualstage,
#visualstage2,
#visualstage3,
#visualstage4 {
	position: fixed;
	width: 100%;
	height: calc(100% - 65px);
	left: 0px;
	top: 65px;
	background: #ffffff;
	z-index: -2;
}
.tablet #visualstage, .tablet
#visualstage2, .tablet
#visualstage3, .tablet
#visualstage4 {
	top: 56px;
	height: 56.25vw !important;
}
.tablet.vscover2 #visualstage, .tablet.vscover2
#visualstage2, .tablet.vscover2
#visualstage3, .tablet.vscover2
#visualstage4 {
	height: calc(100% - 56px) !important;
}
#visualstage:before,
#visualstage2:before,
#visualstage3:before,
#visualstage4:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: rgba(0, 0, 0, 0.16);
	transition: background 1000ms;
	opacity: 1;
	z-index: 1;
	mix-blend-mode: multiply;
}
.vscover2 #visualstage:before, .vscover2
#visualstage2:before, .vscover2
#visualstage3:before, .vscover2
#visualstage4:before {
	background: transparent;
}

#visualstage video {
	position: absolute;
	left: 50%;
	top: 50%;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%, -50%);
}
.tablet #visualstage video {
	height: 100%;
}

#visualstage2:before {
	background: rgba(0, 0, 0, 0.1);
}
.vscover2 #visualstage2:before {
	background: transparent;
}

#visualstage3:before {
	display: none;
}
#visualstage3 .container {
	display: grid;
	width: 100%;
	height: 100%;
	gap: 10px;
	grid-template-rows: 5.75fr 1fr 2.916666666666667fr 1.916666666666667fr 4.666666666666667fr;
	grid-template-columns: 1.638888888888889fr 1.638888888888889fr 1.916666666666667fr 1.916666666666667fr 1.194444444444444fr 1.027777777777778fr 1fr;
	grid-template-areas: "aC aD aE aE aB aB aB" "aC aD aK aK aB aB aB" "aA aA aK aK aH aI aJ" "aA aA aK aK aH aL aL" "aA aA aF aG aG aL aL";
}
.tablet #visualstage3 .container {
	gap: 0px;
	grid-template-rows: 1fr;
	grid-template-columns: 1fr 1fr;
	grid-template-areas: "aA aB";
}
#visualstage3 .container > div {
	position: relative;
	overflow: hidden;
}
#visualstage3 .container > div ul {
	height: 100%;
	overflow: hidden;
}
#visualstage3 .container > div li {
	position: absolute;
	width: 100%;
	height: 100%;
	transform: translateX(-100%);
	opacity: 0;
}
#visualstage3 .container > div li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#visualstage3 .container > div ul.p1 li:nth-child(1) {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 2000ms;
}
#visualstage3 .container > div ul.p2 li:nth-child(2) {
	transform: translateX(0%);
	opacity: 1;
}
#visualstage3 .container > div ul.p3 li:nth-child(3) {
	transform: translateX(0%);
	opacity: 1;
}
#visualstage3 .container > div ul.p4 li:nth-child(4) {
	transform: translateX(0%);
	opacity: 1;
}
#visualstage3 .container > div ul.p1.p2 li:nth-child(1) {
	transform: translateX(100%);
	opacity: 0;
	transition: transform 2000ms, opacity 0ms 2000ms;
}
#visualstage3 .container > div ul.p1.p2 li:nth-child(2) {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 2000ms;
}
#visualstage3 .container > div ul.p2.p3 li:nth-child(2) {
	transform: translateX(100%);
	opacity: 0;
	transition: transform 2000ms, opacity 0ms 2000ms;
}
#visualstage3 .container > div ul.p2.p3 li:nth-child(3) {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 2000ms;
}
#visualstage3 .container > div ul.p3.p4 li:nth-child(3) {
	transform: translateX(100%);
	opacity: 0;
	transition: transform 2000ms, opacity 0ms 2000ms;
}
#visualstage3 .container > div ul.p3.p4 li:nth-child(4) {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 2000ms;
}
#visualstage3 .container > div ul.p4.p1 li:nth-child(4) {
	transform: translateX(100%);
	opacity: 0;
	transition: transform 2000ms, opacity 0ms 2000ms;
}
#visualstage3 .container > div ul.p4.p1 li:nth-child(1) {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 2000ms;
}
#visualstage3 .container .a {
	grid-area: aA;
}
#visualstage3 .container .b {
	grid-area: aB;
}
#visualstage3 .container .c {
	grid-area: aC;
}
.tablet #visualstage3 .container .c {
	display: none;
}
#visualstage3 .container .d {
	grid-area: aD;
}
.tablet #visualstage3 .container .d {
	display: none;
}
#visualstage3 .container .e {
	grid-area: aE;
}
.tablet #visualstage3 .container .e {
	display: none;
}
#visualstage3 .container .f {
	grid-area: aF;
}
.tablet #visualstage3 .container .f {
	display: none;
}
#visualstage3 .container .g {
	grid-area: aG;
}
.tablet #visualstage3 .container .g {
	display: none;
}
#visualstage3 .container .h {
	grid-area: aH;
}
.tablet #visualstage3 .container .h {
	display: none;
}
#visualstage3 .container .i {
	grid-area: aI;
}
.tablet #visualstage3 .container .i {
	display: none;
}
#visualstage3 .container .j {
	grid-area: aJ;
}
.tablet #visualstage3 .container .j {
	display: none;
}
#visualstage3 .container .k {
	grid-area: aK;
}
.tablet #visualstage3 .container .k {
	display: none;
}
#visualstage3 .container .k img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
#visualstage3 .container .l {
	grid-area: aL;
	padding: 20px;
}
.pc #visualstage3 .container .l {
	padding: 10px;
}
.tablet #visualstage3 .container .l {
	display: none;
}
#visualstage3 .container .l li {
	background: #fff;
}
#visualstage3 .container .l li img {
	width: calc(100% - 40px);
	height: calc(100% - 40px);
	object-fit: contain;
}

#visualstage4:before {
	display: none;
}
#visualstage4 .container {
	display: grid;
	width: 100%;
	height: 100%;
	gap: 10px;
	grid-template-rows: 5.75fr 1fr 2.916666666666667fr 1.916666666666667fr 4.666666666666667fr;
	grid-template-columns: 1.638888888888889fr 1.638888888888889fr 1.916666666666667fr 1.916666666666667fr 1.194444444444444fr 1.027777777777778fr 1fr;
	grid-template-areas: "aC aD aE aE aB aB aB" "aC aD aK aK aB aB aB" "aA aA aK aK aH aI aJ" "aA aA aK aK aH aL aL" "aA aA aF aG aG aL aL";
}
.tablet #visualstage4 .container {
	gap: 0px;
	grid-template-rows: 1fr;
	grid-template-columns: 1fr 1fr;
	grid-template-areas: "aA aB";
}
#visualstage4 .container > div {
	position: relative;
	overflow: hidden;
}
#visualstage4 .container > div ul {
	height: 100%;
	overflow: hidden;
}
#visualstage4 .container > div li {
	position: absolute;
	width: 100%;
	height: 100%;
	transform: translateX(-101%);
	opacity: 0;
}
#visualstage4 .container > div li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#visualstage4 .container > div ul.p1 li:nth-child(1) {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 1500ms;
}
#visualstage4 .container > div ul.p2 li:nth-child(2) {
	transform: translateX(0%);
	opacity: 1;
}
#visualstage4 .container > div ul.p3 li:nth-child(3) {
	transform: translateX(0%);
	opacity: 1;
}
#visualstage4 .container > div ul.p4 li:nth-child(4) {
	transform: translateX(0%);
	opacity: 1;
}
#visualstage4 .container > div ul.p1.p2 li:nth-child(1) {
	transform: translateX(100%);
	opacity: 0;
	transition: transform 1000ms ease-in, opacity 0ms 1000ms;
}
#visualstage4 .container > div ul.p1.p2 li:nth-child(2) {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 1200ms 1000ms;
}
#visualstage4 .container > div ul.p2.p3 li:nth-child(2) {
	transform: translateX(100%);
	opacity: 0;
	transition: transform 1000ms ease-in, opacity 0ms 1000ms;
}
#visualstage4 .container > div ul.p2.p3 li:nth-child(3) {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 1200ms 1000ms;
}
#visualstage4 .container > div ul.p3.p4 li:nth-child(3) {
	transform: translateX(100%);
	opacity: 0;
	transition: transform 1000ms ease-in, opacity 0ms 1000ms;
}
#visualstage4 .container > div ul.p3.p4 li:nth-child(4) {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 1200ms 1000ms;
}
#visualstage4 .container > div ul.p4.p1 li:nth-child(4) {
	transform: translateX(100%);
	opacity: 0;
	transition: transform 1000ms ease-in, opacity 0ms 1000ms;
}
#visualstage4 .container > div ul.p4.p1 li:nth-child(1) {
	transform: translateX(0%);
	opacity: 1;
	transition: transform 1200ms 1000ms;
}
#visualstage4 .container .a {
	grid-area: aA;
}
#visualstage4 .container .b {
	grid-area: aB;
}
#visualstage4 .container .c {
	grid-area: aC;
}
.tablet #visualstage4 .container .c {
	display: none;
}
#visualstage4 .container .d {
	grid-area: aD;
}
.tablet #visualstage4 .container .d {
	display: none;
}
#visualstage4 .container .e {
	grid-area: aE;
}
.tablet #visualstage4 .container .e {
	display: none;
}
#visualstage4 .container .f {
	grid-area: aF;
}
.tablet #visualstage4 .container .f {
	display: none;
}
#visualstage4 .container .g {
	grid-area: aG;
}
.tablet #visualstage4 .container .g {
	display: none;
}
#visualstage4 .container .h {
	grid-area: aH;
}
.tablet #visualstage4 .container .h {
	display: none;
}
#visualstage4 .container .i {
	grid-area: aI;
}
.tablet #visualstage4 .container .i {
	display: none;
}
#visualstage4 .container .j {
	grid-area: aJ;
}
.tablet #visualstage4 .container .j {
	display: none;
}
#visualstage4 .container .k {
	grid-area: aK;
}
.tablet #visualstage4 .container .k {
	display: none;
}
#visualstage4 .container .k img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
#visualstage4 .container .l {
	grid-area: aL;
	padding: 20px;
}
.pc #visualstage4 .container .l {
	padding: 10px;
}
.tablet #visualstage4 .container .l {
	display: none;
}
#visualstage4 .container .l li {
	background: #fff;
}
#visualstage4 .container .l li img {
	width: calc(100% - 40px);
	height: calc(100% - 40px);
	object-fit: contain;
}

#topvisual {
	position: relative;
	margin-top: 65px;
	height: calc(100vh - 65px);
	transition: opacity 800ms;
	z-index: 10;
	pointer-events: none;
}
.tablet #topvisual {
	margin-top: 56px;
	height: 56.25vw !important;
}
.vscover #topvisual {
	opacity: 0;
}
#topvisual .catch {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 100%;
	text-align: center;
	transform: translate(-50%, -50%);
}
.tablet #topvisual .catch {
	top: calc(56px + 28.125vw);
}
#topvisual .catch img {
	display: block;
	margin: auto;
	max-width: 80%;
	height: auto;
}
.tablet #topvisual .catch img {
	max-width: 90%;
}
#topvisual .catch p img {
	max-width: 70%;
}
.tablet #topvisual .catch p img {
	max-width: 85%;
}
#topvisual:before {
	content: "";
	display: block;
	position: fixed;
	left: 50%;
	bottom: 40px;
	width: 1px;
	height: 80px;
	margin-left: -1px;
	background: #fff;
}
.tablet #topvisual:before {
	display: none;
}
#topvisual:after {
	content: "";
	display: block;
	position: fixed;
	left: 50%;
	bottom: 40px;
	width: 1px;
	height: 0px;
	margin-left: -1px;
	background: #00776A;
	animation: drop 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
}
.tablet #topvisual:after {
	display: none;
}

#topvisual2 {
	position: relative;
	margin-top: 65px;
	height: calc(100vh - 65px);
	transition: opacity 800ms;
	z-index: 10;
	pointer-events: none;
}
.tablet #topvisual2 {
	margin-top: 56px;
	height: 56.25vw !important;
}
.vscover #topvisual2 {
	opacity: 0;
}
#topvisual2 .catch {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 100%;
	text-align: center;
	transform: translate(-50%, -50%);
}
.tablet #topvisual2 .catch {
	top: calc(56px + 28.125vw);
}
#topvisual2 .catch img {
	position: absolute;
	display: block;
	margin: auto;
	max-width: 80%;
	height: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: opacity 500ms;
}
.tablet #topvisual2 .catch img {
	transform: translate(-50%, -125%);
	max-width: 90%;
}
.tablet #topvisual2 .catch li.fix img {
	top: 50%;
	transform: translate(-50%, -50%);
}
#topvisual2 .catch li.show img {
	opacity: 1;
	transition: opacity 800ms 500ms;
}
#topvisual2.fix:before {
	content: "";
	display: block;
	position: fixed;
	left: 50%;
	bottom: 40px;
	width: 1px;
	height: 80px;
	margin-left: -1px;
	background: #fff;
}
.tablet #topvisual2.fix:before {
	display: none;
}
#topvisual2.fix:after {
	content: "";
	display: block;
	position: fixed;
	left: 50%;
	bottom: 40px;
	width: 1px;
	height: 0px;
	margin-left: -1px;
	background: #00776A;
	animation: drop 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
}
.tablet #topvisual2.fix:after {
	display: none;
}
#topvisual2 .gauge {
	position: absolute;
	width: calc(100% - 80px);
	max-width: 1360px;
	padding: 0px 40px;
	bottom: 50px;
	left: 50%;
	transform: translateX(-50%);
}
.tablet #topvisual2 .gauge {
	width: calc(100% - 40px);
	padding: 0px 20px;
	bottom: 20px;
}
#topvisual2 .gauge ul {
	position: absolute;
	width: 100%;
	left: 0px;
	bottom: 0;
	display: flex;
	gap: 40px;
	opacity: 0;
	transition: opacity 500ms;
}
#topvisual2 .gauge ul.show {
	opacity: 1;
	transition: opacity 800ms 500ms;
}
#topvisual2 .gauge ul li {
	position: relative;
	width: calc((100% - 80px) / 3);
	padding-top: 20px;
	font-size: min(2.61628vw, 18px);
	line-height: 1;
	font-weight: 14;
	font-weight: 500;
	color: #fff;
	border-top: 2px solid #fff;
}
.sp #topvisual2 .gauge ul li {
	font-size: min(10.7418vw, 12.89016px);
}
.tablet #topvisual2 .gauge ul li {
	position: absolute;
	width: 100%;
	bottom: 0;
	padding-top: 15px;
	opacity: 0;
	transition: opacity 300ms;
}
#topvisual2 .gauge ul li strong {
	display: block;
	margin-bottom: 10px;
	font-size: min(3.48837vw, 24px);
	line-height: 1;
	font-weight: 18;
	font-weight: 500;
}
.sp #topvisual2 .gauge ul li strong {
	font-size: min(13.43716vw, 16.12459px);
}
#topvisual2 .gauge ul li:before {
	content: "";
	position: absolute;
	display: block;
	width: 0%;
	height: 2px;
	top: -2px;
	left: 0px;
	background: #00776A;
	opacity: 0;
	transition: width 0ms 1550ms linear, opacity 1500ms 50ms;
}
.tablet #topvisual2 .gauge ul li.start {
	opacity: 1;
	transition: opacity 400ms 100ms;
}
#topvisual2 .gauge ul li.start:before {
	width: 100%;
	opacity: 1;
	transition: width 3000ms linear, opacity 0ms;
}

#topvisual3 {
	position: relative;
	margin-top: 65px;
	height: calc(100vh - 65px);
	transition: opacity 800ms;
	z-index: 10;
	pointer-events: none;
}
.tablet #topvisual3 {
	margin-top: 56px;
	height: 56.25vw !important;
}
.vscover #topvisual3 {
	opacity: 0;
}
#topvisual3 .catch {
	display: none;
	position: fixed;
	top: calc(56px + 28.125vw);
	left: 50%;
	width: 100%;
	text-align: center;
	transform: translate(-50%, -50%);
}
.tablet #topvisual3 .catch {
	display: block;
}
#topvisual3 .catch img {
	display: block;
	margin: auto;
	max-width: 80%;
	height: auto;
}
.tablet #topvisual3 .catch img {
	max-width: 90%;
}

@keyframes drop {
	0% {
		bottom: 120px;
		height: 0px;
	}
	70% {
		bottom: 120px;
		height: 0px;
	}
	85% {
		bottom: 40px;
		height: 80px;
	}
	100% {
		bottom: 40px;
		height: 0px;
	}
}
main {
	display: block;
}

.newsarea h2, .block2 h2, .block3 h2, .footer_link .list a .title, .block5 h2 {
	position: relative;
	margin: 0px 0px 55px;
	padding: 0px;
	font-size: min(9.30233vw, 64px);
	line-height: 1.3;
	font-weight: 32;
	font-weight: 500;
}
.sp .newsarea h2, .newsarea .sp h2, .sp .block2 h2, .block2 .sp h2, .sp .block3 h2, .block3 .sp h2, .sp .footer_link .list a .title, .footer_link .list a .sp .title, .sp .block5 h2, .block5 .sp h2 {
	font-size: min(24.99178vw, 29.99013px);
}
.tablet .newsarea h2, .newsarea .tablet h2, .tablet .block2 h2, .block2 .tablet h2, .tablet .block3 h2, .block3 .tablet h2, .tablet .footer_link .list a .title, .footer_link .list a .tablet .title, .tablet .block5 h2, .block5 .tablet h2 {
	margin-bottom: 20px;
}
.newsarea h2 span, .block2 h2 span, .block3 h2 span, .footer_link .list a .title span, .block5 h2 span {
	display: inline-block;
}
.newsarea h2:before, .block2 h2:before, .block3 h2:before, .footer_link .list a .title:before, .block5 h2:before {
	content: attr(data-sub);
	display: block;
	margin-bottom: 20px;
	font-size: min(3.48837vw, 24px);
	line-height: 1.3;
	font-weight: 16;
	font-family: 'Roboto', sans-serif;
	color: #00776A;
	font-weight: 500;
}
.sp .newsarea h2:before, .newsarea .sp h2:before, .sp .block2 h2:before, .block2 .sp h2:before, .sp .block3 h2:before, .block3 .sp h2:before, .sp .footer_link .list a .title:before, .footer_link .list a .sp .title:before, .sp .block5 h2:before, .block5 .sp h2:before {
	font-size: min(13.43716vw, 16.12459px);
}
.tablet .newsarea h2:before, .newsarea .tablet h2:before, .tablet .block2 h2:before, .block2 .tablet h2:before, .tablet .block3 h2:before, .block3 .tablet h2:before, .tablet .footer_link .list a .title:before, .footer_link .list a .tablet .title:before, .tablet .block5 h2:before, .block5 .tablet h2:before {
	margin-bottom: 10px;
}
.newsarea h2 a, .block2 h2 a, .block3 h2 a, .footer_link .list a .title a, .block5 h2 a {
	position: relative;
	display: inline-block;
	padding-right: 95px;
	color: #000000;
}

.newsarea h2 a:hover:before, .block2 h2 a:hover:before, .block3 h2 a:hover:before, .footer_link .list a .title a:hover:before, .block5 h2 a:hover:before, .newsarea .more a:hover:before, .block2 .hoverpanel .list li > a:hover:before {
	right: 15px;
}
.newsarea h2 a:hover:after, .block2 h2 a:hover:after, .block3 h2 a:hover:after, .footer_link .list a .title a:hover:after, .block5 h2 a:hover:after, .newsarea .more a:hover:after, .block2 .hoverpanel .list li > a:hover:after {
	right: 13px;
	opacity: 1;
	transition: right 400ms, opacity 300ms;
}
.newsarea h2 a:before, .block2 h2 a:before, .block3 h2 a:before, .footer_link .list a .title a:before, .block5 h2 a:before, .newsarea .more a:before, .block2 .hoverpanel .list li > a:before {
	content: "";
	display: block;
	position: absolute;
	width: 42px;
	height: 1px;
	top: 50%;
	right: 24px;
	background: #00776A;
	transition: right 400ms;
}
.newsarea h2 a:after, .block2 h2 a:after, .block3 h2 a:after, .footer_link .list a .title a:after, .block5 h2 a:after, .newsarea .more a:after, .block2 .hoverpanel .list li > a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 60px;
	margin-top: -8px;
	border: 8px solid transparent;
	border-right: 0px;
	border-left: 11px solid #00776A;
	opacity: 0;
	transition: right 400ms, opacity 200ms 100ms;
}

.mainmovie {
	position: relative;
}
.mainmovie video {
	display: block;
	width: 100%;
	max-width: 1720px;
	height: auto;
	margin: auto;
	filter: drop-shadow(0px 0px transparent);
	outline: none;
	border: none;
}

.mainvisual {
	height: 80vh;
	display: flex;
}
.mainvisual > .visual {
	width: calc(100% - 80px);
}
.mainvisual > .visual > div {
	position: relative;
	width: 100%;
	height: 100%;
	background: url(/images/mainvisual.jpg) no-repeat center center;
	background-size: cover;
}
.mainvisual > .visual > div::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	height: 250px;
	width: 100%;
	background: linear-gradient(transparent, black);
}
.mainvisual > .visual > div .label {
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 20px 20px 40px 0;
	z-index: 1;
}
.mainvisual > .visual > div .label::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 2px;
	width: 100px;
	background: #00776A;
	z-index: 10;
}
.mainvisual > .visual > div .label::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 2px;
	width: 100%;
	background: #fff;
	z-index: 5;
}
.mainvisual > .visual > div .label .title {
	color: #fff;
	font-size: min(3.48837vw, 24px);
	line-height: 1.2;
}
.sp .mainvisual > .visual > div .label .title {
	font-size: min(13.43716vw, 16.12459px);
}
.mainvisual > .visual > div .label .tx {
	margin-top: 10px;
	color: #fff;
	font-size: min(2.61628vw, 18px);
	line-height: 1.2;
}
.sp .mainvisual > .visual > div .label .tx {
	font-size: min(10.7418vw, 12.89016px);
}
.mainvisual > .scroll {
	width: 80px;
	display: flex;
	justify-content: center;
	align-items: end;
}

.newsarea {
	position: relative;
	background: #fff;
	overflow: hidden;
	z-index: 10;
}
.newsarea > div {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 100px 40px;
}
.tablet .newsarea > div {
	padding: 66.66667px 20px;
}
.sp .newsarea > div {
	padding: 50px 15px;
}
.newsarea h2 {
	margin-bottom: 20px;
	margin-top: -15px;
}
.english .newsarea h2::before {
	display: none;
}
.newsarea .block {
	display: flex;
	justify-content: space-between;
}
.spc .newsarea .block {
	display: block;
}
.newsarea .block > .title {
	width: 400px;
}
.spc .newsarea .block > .title {
	width: auto;
	margin-bottom: 40px;
}
.newsarea .block > .body {
	width: calc(100% - 400px);
	overflow: hidden;
}
.spc .newsarea .block > .body {
	width: auto;
}
.newsarea .more {
	margin-top: 15px;
}
.tablet .newsarea .more {
	text-align: center;
}
.newsarea .more a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-width: 200px;
	min-height: 60px;
	padding: 10px 78px 10px 18px;
	font-size: min(2.32558vw, 16px);
	line-height: 1;
	font-weight: bold;
	color: #00776A;
	background: #fff;
	border: 1px solid #00776A;
	transition: color 200ms;
}
.sp .newsarea .more a {
	font-size: min(9.77603vw, 11.73123px);
}
.pc .newsarea .more a {
	min-width: 180px;
}
.tablet .newsarea .tab .pc {
	display: none;
}
.newsarea .tab .tablet {
	display: none;
}
.tablet .newsarea .tab .tablet {
	display: block;
}
.newsarea .tab ul {
	display: flex;
	gap: min(20px, 1.64609vw);
}
.newsarea .tab ul li {
	position: relative;
}
.newsarea .tab ul li.left a:after {
	left: 0px;
	right: auto;
}
.newsarea .tab a {
	position: relative;
	display: block;
	padding-top: 13px;
	padding-right: min(20px, 1.64609vw);
	font-size: min(2.03488vw, 14px);
	line-height: 1;
	font-weight: 500;
	color: #000000;
	transition: opacity 200ms, color 600ms;
}
.sp .newsarea .tab a {
	font-size: min(8.7754vw, 10.53048px);
}
.newsarea .tab a:hover {
	transition: color 200ms;
}
.newsarea .tab a:hover:before {
	opacity: 0.8;
}
.newsarea .tab a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	top: 0px;
	left: 0px;
	background: #98A6B5;
	transition: background 200ms, opacity 200ms;
}
.newsarea .tab a:after {
	content: "";
	display: block;
	position: absolute;
	width: 0%;
	height: 2px;
	top: 0px;
	right: 0px;
	background: #00776A;
	transition: 600ms;
}
.newsarea .tab .current a:after {
	width: 100%;
}
.newsarea .tab select {
	width: 100%;
	height: 54px;
	padding: 0px 50px 0px 10px;
	font-size: min(2.32558vw, 16px);
	line-height: 50px;
	border: 2px solid #98A6B5;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(/common/images/select.svg) no-repeat right 5px center;
	cursor: pointer;
}
.sp .newsarea .tab select {
	font-size: min(9.77603vw, 11.73123px);
}
.tablet .newsarea .tab select {
	font-size: 16px !important;
}
.newsarea .tab select::-ms-expand {
	display: none;
}

.newslist {
	margin-top: 30px;
}
.newslist.ir {
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}
.newslist + .column {
	margin-top: 100px !important;
}
.tablet .newslist + .column {
	margin-top: 40px !important;
}
.newslist > ul > li {
	border-bottom: 1px solid #98A6B5;
}
.newslist > ul > li:nth-of-type(1) {
	border-top: 1px solid #98A6B5;
}
.newslist > ul > li > a, .newslist > ul > li > span {
	position: relative;
	display: block;
	padding: 18px 90px 20px 0px;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.newslist > ul > li > a:hover, .newslist > ul > li > span:hover {
	opacity: 0.7;
}
.tablet .newslist > ul > li > a, .tablet .newslist > ul > li > span {
	padding-right: 70px;
}
.newslist > ul > li > a::after, .newslist > ul > li > span::after {
	content: "";
	position: absolute;
	width: 1px;
	height: 80%;
	right: 70px;
	top: 10%;
	background: #98A6B5;
}
.tablet .newslist > ul > li > a::after, .tablet .newslist > ul > li > span::after {
	right: 50px;
}
.newslist > ul > li > a > div, .newslist > ul > li > span > div {
	position: relative;
	display: flex;
	align-items: center;
	color: #000000;
}
.tablet .newslist > ul > li > a > div, .tablet .newslist > ul > li > span > div {
	flex-wrap: wrap;
	align-items: start;
}
.newslist > ul > li > a > div::before, .newslist > ul > li > span > div::before {
	content: "";
	position: absolute;
	width: 30px;
	height: 1px;
	right: -70px;
	top: 50%;
	background-color: #00776A;
}
.tablet .newslist > ul > li > a > div::before, .tablet .newslist > ul > li > span > div::before {
	right: -60px;
}
.newslist > ul > li > a > div::after, .newslist > ul > li > span > div::after {
	content: "";
	position: absolute;
	right: -55px;
	top: calc(50% - 5px);
	border-top: 5px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 8px solid #00776A;
	opacity: 0;
	transition: 0.3s;
}
.newslist > ul > li > a > div.pdf::before, .newslist > ul > li > span > div.pdf::before {
	content: "";
	position: absolute;
	width: 16px;
	height: 18px;
	right: -65px;
	top: 50%;
	transform: translateY(-50%);
	background: url(/common/images/ico_pdf.svg) no-repeat;
	background-size: 16px 18px;
}
.tablet .newslist > ul > li > a > div.pdf::before, .tablet .newslist > ul > li > span > div.pdf::before {
	right: -55px;
}
.newslist > ul > li > a > div.pdf::after, .newslist > ul > li > span > div.pdf::after {
	display: none;
}
.newslist > ul > li > a > div.blank::before, .newslist > ul > li > span > div.blank::before {
	content: "";
	position: absolute;
	width: 15.44px;
	height: 14.48px;
	right: -65px;
	top: 50%;
	transform: translateY(-50%);
	background: url(/common/images/ico_blank.svg) no-repeat;
	background-size: 15.44px 14.48px;
}
.tablet .newslist > ul > li > a > div.blank::before, .tablet .newslist > ul > li > span > div.blank::before {
	right: -55px;
}
.newslist > ul > li > a > div.blank::after, .newslist > ul > li > span > div.blank::after {
	display: none;
}
.newslist > ul > li > a:hover > div::after, .newslist > ul > li > span:hover > div::after {
	right: -85px;
	opacity: 1;
}
.tablet .newslist > ul > li > a:hover > div::after, .tablet .newslist > ul > li > span:hover > div::after {
	right: -75px;
}
.newslist > ul > li > a .category, .newslist > ul > li > span .category {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 160px;
	height: 3em;
	font-size: min(2.03488vw, 14px);
	line-height: 1;
	font-weight: bold;
	border: 1px solid #00776A;
	color: #00776A;
	left: calc(min(100px, 100/1215*100vw));
}
.sp .newslist > ul > li > a .category, .sp .newslist > ul > li > span .category {
	font-size: min(8.7754vw, 10.53048px);
}
.tablet .newslist > ul > li > a .category, .tablet .newslist > ul > li > span .category {
	width: auto;
	height: auto;
	font-size: 13px;
	padding: 5px;
}
.newslist > ul > li > a .date, .newslist > ul > li > span .date {
	display: block;
	width: 120px;
	font-size: min(2.32558vw, 16px);
	line-height: 1;
}
.sp .newslist > ul > li > a .date, .sp .newslist > ul > li > span .date {
	font-size: min(9.77603vw, 11.73123px);
}
.tablet .newslist > ul > li > a .date, .tablet .newslist > ul > li > span .date {
	width: auto;
	top: 0.35em;
	padding-top: 5px;
	padding-right: 15px;
}
.newslist > ul > li > a .title, .newslist > ul > li > span .title {
	display: block;
	width: calc(100% - 120px);
	font-size: min(2.61628vw, 18px);
	line-height: 1.5;
}
.sp .newslist > ul > li > a .title, .sp .newslist > ul > li > span .title {
	font-size: min(10.7418vw, 12.89016px);
}
.tablet .newslist > ul > li > a .title, .tablet .newslist > ul > li > span .title {
	width: 100%;
	margin-top: 10px;
	margin-left: 0px;
}
.newslist > ul > li > a .category + .title, .newslist > ul > li > span .category + .title {
	width: calc(100% - 160px - 120px);
	padding-left: 30px;
}
.tablet .newslist > ul > li > a .category + .title, .tablet .newslist > ul > li > span .category + .title {
	width: 100%;
	padding-left: 0px;
}
.newslist > ul > li > a .tag, .newslist > ul > li > span .tag {
	margin-top: 20px;
}
.newslist > ul > li > a .tag ul, .newslist > ul > li > span .tag ul {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.newslist > ul > li > a .tag li, .newslist > ul > li > span .tag li {
	display: flex;
	align-items: center;
	height: 2.4em;
	padding: 5px 2.4em;
	font-size: min(1.45349vw, 10px);
	line-height: 1;
	font-weight: 500;
	border: 1px solid #98A6B5;
	border-radius: 12px;
}
.sp .newslist > ul > li > a .tag li, .sp .newslist > ul > li > span .tag li {
	font-size: min(6.66667vw, 8px);
}
.newslist > ul > li > span {
	padding: 18px 0px 20px 0px;
	cursor: default;
}
.newslist > ul > li > span:hover {
	opacity: 1;
}
.newslist > ul > li > span::after {
	display: none;
}
.newslist > ul > li > span > div::before, .newslist > ul > li > span > div::after {
	display: none;
}

.linktab + .newslist {
	margin-top: 60px;
}
.tablet .linktab + .newslist {
	margin-top: 40px;
}

.yearlist {
	position: relative;
	padding-right: 15.25423728813559%;
	height: 48px;
	overflow: hidden;
	-webkit-transition: height 400ms;
	transition: height 400ms;
}
.tablet .yearlist {
	margin-bottom: -10px;
}
.yearlist.close {
	height: 48px !important;
}
.yearlist + .slideblock {
	margin-top: 60px;
}
.yearlist ul {
	margin-right: -5px;
	font-size: 0;
}
.yearlist ul li {
	display: inline-block;
	width: calc((100% - 125px) / 6);
	margin-right: 20px;
	margin-top: 20px;
}
.yearlist ul li:nth-child(-n+6) {
	margin-top: 0px;
}
.tablet .yearlist ul li {
	width: calc((100% - 55px) / 3);
	margin-right: 10px;
	margin-top: 10px;
}
.tablet .yearlist ul li:nth-child(-n+3) {
	margin-top: 0px;
}
.yearlist ul a {
	display: block;
	height: 48px;
	font-size: min(2.32558vw, 16px);
	line-height: 48px;
	color: #ffffff;
	text-align: center;
	font-weight: bold;
	background: #C8C8C8;
	border-radius: 24px;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.sp .yearlist ul a {
	font-size: min(9.77603vw, 11.73123px);
}
.yearlist ul a:hover {
	opacity: 0.7;
}
.yearlist ul a.current {
	background: #00776A;
}
.yearlist.morehide .more {
	display: none;
}
.yearlist .more {
	position: absolute;
	display: block;
	right: 7.6271186440678%;
	top: 0px;
	width: 48px;
	height: 48px;
	margin-right: -24px;
	text-indent: -10000px;
	background: url(/common/images/more.svg) no-repeat center center;
	border: 1px solid #000000;
	border-radius: 50%;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	-webkit-transition: opacity 0.2s, -webkit-transform 400ms;
	transition: opacity 0.2s, transform 400ms;
	-webkit-transform: rotate(-180deg);
	transform: rotate(-180deg);
}
.yearlist .more:hover {
	opacity: 0.7;
}
.sp .yearlist .more {
	right: 9%;
}
.yearlist.close .more {
	-webkit-transform: rotate(0);
	transform: rotate(0);
}

.morebox {
	margin-bottom: 50px;
}
.morebox a {
	position: relative;
	display: block;
	width: calc(60px + 90px + 5em);
	height: 60px;
	font-weight: bold;
	color: #fff;
	background: #00776A;
	overflow: hidden;
	transition: width 400ms;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.morebox a:hover {
	opacity: 0.7;
}
.pc .morebox a {
	height: 40px;
	width: calc(110px + 5em);
}
.english .morebox a {
	width: calc(60px + 90px + 8em);
}
.pc .english .morebox a {
	width: calc(50px + 40px + 8em);
}
.tablet .morebox a {
	bottom: 0px;
	right: 0px;
}
.morebox a:before {
	content: "";
	display: block;
	position: absolute;
	width: 42px;
	height: 1px;
	top: 50%;
	right: 15px;
	background: #fff;
	transition: right 400ms;
}
.morebox a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 13px;
	margin-top: -8px;
	border: 8px solid transparent;
	border-right: 0px;
	border-left: 11px solid #fff;
	transition: right 400ms, opacity 300ms;
}
.tablet .morebox a:after {
	margin-top: -4.5px;
	border-top-width: 4.5px;
	border-bottom-width: 4.5px;
	border-left-width: 8px;
}
.morebox a span {
	position: absolute;
	display: block;
	top: 50%;
	left: 20px;
	white-space: nowrap;
	transform: translateY(-50%);
	transition: right 250ms 250ms, opacity 250ms 250ms;
}

.block_bg {
	height: 440px;
	background: url(/images/block_bg.jpg) no-repeat center;
	background-size: cover;
}

.block2 {
	position: relative;
	background: #fff;
	z-index: 10;
}
.block2 > div {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 100px 40px 0px;
}
.tablet .block2 > div {
	padding: 50px 20px 0px;
}
.sp .block2 > div {
	padding: 50px 15px 0px;
}
.tablet .block2 > div {
	padding-top: 40px;
	padding-bottom: 40px;
}
.block2 h2 {
	margin-top: 30px;
	margin-bottom: 20px;
}
.block2 .youtube {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
.block2 .youtube p {
	font-size: min(3.48837vw, 24px);
	text-align: center;
	margin-bottom: 15px;
	font-weight: bold;
}
.sp .block2 .youtube p {
	font-size: min(13.43716vw, 16.12459px);
}
.block2 .youtube > div {
	position: relative;
	padding-top: 56.25%;
}
.block2 .youtube > div > iframe,
.block2 .youtube > div > video {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}
.block2 .column {
	display: flex;
	gap: clamp(10px, 2.22222vw, 40px);
}
.tablet .block2 .column {
	flex-direction: column;
	gap: 10px;
}
.block2 .column dl {
	display: flex;
	flex-direction: column;
	width: 20%;
}
.tablet .block2 .column dl {
	width: 100%;
}
.block2 .column dl dt {
	position: relative;
}
.tablet .block2 .column dl dt {
	background: #fff;
	border: 1px solid #98A6B5;
}
.block2 .column dl dt.bottom {
	margin-top: auto;
}
.tablet .block2 .column dl dt.bottom {
	margin-top: 10px;
}
.tablet .block2 .column dl dt.pc_block {
	display: none;
}
.block2 .column dl dt.tablet_block {
	display: none;
}
.tablet .block2 .column dl dt.tablet_block {
	display: block;
}
.block2 .column dl dt a:not(.sw) {
	display: block;
	border: 1px solid #98A6B5;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.block2 .column dl dt a:not(.sw):hover {
	opacity: 0.7;
}
.tablet .block2 .column dl dt a:not(.sw) {
	border: 0px;
}
.block2 .column dl dt a.sw {
	position: absolute;
	display: none;
	width: 80px;
	height: 80px;
	top: 0px;
	right: 0px;
	cursor: pointer;
	overflow: hidden;
}
.tablet .block2 .column dl dt a.sw {
	display: block;
}
.block2 .column dl dt a.sw:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0%;
	background: url(/common/images/plus2.svg) no-repeat center center;
	transition: top 400ms;
}
.block2 .column dl dt a.sw:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: -100%;
	background: url(/common/images/minus2.svg) no-repeat center center;
	transition: top 400ms;
}
.block2 .column dl dt a.sw.open:before {
	top: 100%;
}
.block2 .column dl dt a.sw.open:after {
	top: 0%;
}
.block2 .column dl dt img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: auto;
}
.tablet .block2 .column dl dt img {
	width: auto;
	height: 80px;
}
.block2 .column dl dd {
	position: relative;
	margin: 15px 0px 0px;
	padding: 0px;
}
html:not(.tablet) .block2 .column dl dd {
	display: block !important;
}
.tablet .block2 .column dl dd {
	display: none;
	top: -1px;
	margin-top: 0px;
	padding: 20px;
	background: #fff;
	border: 1px solid #98A6B5;
	border-top: 0px;
}
.block2 .column dl ul {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.block2 .column dl li {
	width: 100%;
}
.block2 .column dl li.half {
	width: calc((100% - 15px) / 2);
}
.block2 .column dl li a {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 2.5em;
	padding-left: calc(2.5em + 10px);
	font-size: min(2.32558vw, 16px);
	line-height: 1.25;
	font-weight: 16;
	color: 1.25;
	font-weight: 500;
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.sp .block2 .column dl li a {
	font-size: min(9.77603vw, 11.73123px);
}
.block2 .column dl li a:hover {
	opacity: 0.7;
}
.tablet .block2 .column dl li a {
	min-height: 40px;
	padding-left: 50px;
}
.block2 .column dl li a span {
	width: 100%;
	font-size: min(1.74419vw, 12px);
	line-height: 1.25;
	font-weight: 12;
	color: 1.25;
}
.sp .block2 .column dl li a span {
	font-size: min(7.73918vw, 9.28702px);
}
.block2 .column dl li a:after {
	content: "";
	display: block;
	position: absolute;
	width: calc(2.5em - 2px);
	height: calc(2.5em - 2px);
	top: 50%;
	left: 0px;
	margin-top: calc((2.5em - 2px) / 2 * -1);
	border: 1px solid #98A6B5;
}
.tablet .block2 .column dl li a:after {
	width: 38px;
	height: 38px;
}
.block2 .column dl li a img {
	position: absolute;
	display: block;
	width: 2.5em;
	height: auto;
	top: 50%;
	left: 0px;
	margin-top: calc(2.5em / 2 * -1);
}
.tablet .block2 .column dl li a img {
	width: 40px;
}
.block2 .column.english a:not(.sw) {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 70px;
	padding-left: calc(38px + 10px);
	font-size: min(2.32558vw, 16px);
	line-height: 1.25;
	font-weight: 16;
	color: 1.25;
	font-weight: 500;
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.sp .block2 .column.english a:not(.sw) {
	font-size: min(9.77603vw, 11.73123px);
}
.block2 .column.english a:not(.sw):hover {
	opacity: 0.7;
}
.block2 .column.english a:not(.sw) img {
	position: absolute;
	display: block;
	width: 38px;
	height: auto;
	top: 50%;
	left: 0px;
	margin-top: calc(2.5em / 2 * -1);
}
.tablet .block2 .column.english dt a:not(.sw) {
	min-height: 80px;
	padding: 0 80px;
	justify-content: center;
}
.tablet .block2 .column.english dt a:not(.sw) img {
	position: static;
	margin: 0;
	padding-right: 10px;
}
.block2 .bnr {
	display: flex;
	gap: 2.22222222222222vw;
	margin-top: 30px;
}
.tablet .block2 .bnr {
	flex-direction: column;
	gap: 10px;
	margin-top: 10px;
}
.block2 .bnr > div {
	width: calc((100% - 2.22222222222222vw * 4) / 5);
}
.tablet .block2 .bnr > div {
	width: 100%;
}
.block2 .bnr > div a {
	display: block;
	text-align: center;
	border: 1px solid #98A6B5;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.block2 .bnr > div a:hover {
	opacity: 0.7;
}
.block2 .bnr > div a img {
	width: 100%;
	height: auto;
}
.tablet .block2 .bnr > div a img {
	width: auto;
	height: 80px;
}
.block2 .bnr.english a {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 70px;
	padding-left: calc(38px + 10px);
	font-size: min(2.32558vw, 16px);
	line-height: 1.25;
	font-weight: 16;
	color: 1.25;
	font-weight: 500;
	text-align: left;
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.sp .block2 .bnr.english a {
	font-size: min(9.77603vw, 11.73123px);
}
.block2 .bnr.english a:hover {
	opacity: 0.7;
}
.tablet .block2 .bnr.english a {
	text-align: center;
	padding-left: 0;
	justify-content: center;
}
.block2 .bnr.english a img {
	position: absolute;
	display: block;
	width: 38px;
	height: auto;
	top: 50%;
	left: 0px;
	margin-top: calc(2.5em / 2 * -1);
}
.tablet .block2 .bnr.english a img {
	position: static;
	width: 38px;
	height: auto;
	margin-top: 0;
	padding-right: 10px;
}
.block2 .hoverpanel {
	display: flex;
	gap: 50px;
}
.pc .block2 .hoverpanel {
	gap: 20px;
}
.spc .block2 .hoverpanel {
	flex-direction: column;
}
.block2 .hoverpanel .panel {
	position: relative;
	width: 50%;
	overflow: hidden;
}
.spc .block2 .hoverpanel .panel {
	display: none;
}
.block2 .hoverpanel .panel > div {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 40px;
	color: #fff;
	font-weight: 500;
	overflow: hidden;
	z-index: 1;
	opacity: 0;
	transform: scale(1.1);
	transition: opacity 600ms, transform 600ms;
}
.pc .block2 .hoverpanel .panel > div {
	padding: 20px;
}
.block2 .hoverpanel .panel > div.view {
	opacity: 1;
	transform: scale(1);
}
.block2 .hoverpanel .panel > div.view .image {
	transform: scale(1);
}
.block2 .hoverpanel .panel > div:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 52.2%;
	left: 0px;
	bottom: 0px;
	background: -moz-linear-gradient(top, transparent 0%, black 100%);
	background: -webkit-linear-gradient(top, transparent 0%, black 100%);
	background: linear-gradient(to bottom, transparent 0%, black 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 );
	z-index: -1;
}
.tablet .block2 .hoverpanel .panel > div:before {
	height: 80%;
}
.block2 .hoverpanel .panel > div .image {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: none no-repeat center center;
	background-size: cover;
	z-index: -2;
	transform: scale(1.2);
	transition: transform 20s cubic-bezier(0, 1, 0.15, 1);
}
.block2 .hoverpanel .panel > div .title {
	font-size: min(4.65116vw, 32px);
}
.sp .block2 .hoverpanel .panel > div .title {
	font-size: min(16.58667vw, 19.904px);
}
.block2 .hoverpanel .panel > div .info {
	margin-top: 20px;
	font-size: min(2.61628vw, 18px);
	line-height: 1.5;
}
.sp .block2 .hoverpanel .panel > div .info {
	font-size: min(10.7418vw, 12.89016px);
}
.block2 .hoverpanel .panel > div .group {
	margin-top: 20px;
	padding-top: 20px;
	font-size: min(2.32558vw, 16px);
	border-top: 1px solid #fff;
}
.sp .block2 .hoverpanel .panel > div .group {
	font-size: min(9.77603vw, 11.73123px);
}
.block2 .hoverpanel .panel > div .group ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 30px;
}
.block2 .hoverpanel .list {
	width: calc(50% - 50px);
}
.pc .block2 .hoverpanel .list {
	width: calc(50% - 20px);
}
.spc .block2 .hoverpanel .list {
	width: 100%;
}
.block2 .hoverpanel .list ul {
	display: flex;
	gap: 1.666666666666667em;
	flex-wrap: wrap;
	font-size: min(2.61628vw, 18px);
	line-height: 1.5;
}
.sp .block2 .hoverpanel .list ul {
	font-size: min(10.7418vw, 12.89016px);
}
.tablet .block2 .hoverpanel .list ul {
	gap: 10px;
}
.block2 .hoverpanel .list li {
	width: calc((100% - (1.666666666666667em * 2)) / 3);
}
.tablet .block2 .hoverpanel .list li {
	width: calc((100% - 10px) / 2);
}
.block2 .hoverpanel .list li > a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px 80px 10px 1.111111111111111em;
	min-height: 5.555555555555556em;
	font-weight: 500;
	color: #000000;
	border: 1px solid #98A6B5;
	transition: background 600ms, color 600ms;
}
.pc .block2 .hoverpanel .list li > a {
	padding-right: 40px;
}
.pc .block2 .hoverpanel .list li > a:before {
	width: 32px;
	right: 15px;
	background: #98A6B5;
}
.tablet .block2 .hoverpanel .list li > a {
	min-height: 7em;
}
.sp .block2 .hoverpanel .list li > a {
	min-height: 3em;
}
.block2 .hoverpanel .list li > a:before {
	background: #98A6B5;
}
.block2 .hoverpanel .list li > a:after {
	border-left-color: #fff;
}
.block2 .hoverpanel .list li > a:hover {
	color: #fff;
	background: #00776A;
}
.block2 .hoverpanel .list li > a:hover:before {
	background: #fff;
}
.block2 .hoverpanel .list li > div {
	display: none;
}

#newshome #s01 ul li:nth-of-type(n+6), #newshome #s03 ul li:nth-of-type(n+6) {
	display: none;
}

#newsindex .slidebody {
	opacity: 0;
}
#newsindex .slidebody.show {
	opacity: 1;
}

.tablet .slideblock .slidetab .pc {
	display: none;
}
.slideblock .slidetab .sp {
	display: none;
}
.tablet .slideblock .slidetab .sp {
	display: block;
}
.slideblock .slidetab ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.tablet .slideblock .slidetab ul {
	border-bottom: 0;
}
.slideblock .slidetab ul li {
	position: relative;
	max-width: 12.75em;
	flex-shrink: 2;
	flex-grow: 2;
	font-size: min(2.32558vw, 16px);
	line-height: 1;
	font-weight: 16;
	color: 1;
}
.sp .slideblock .slidetab ul li {
	font-size: min(9.77603vw, 11.73123px);
}
.slideblock .slidetab ul li.left a:after {
	left: 0px;
	right: auto;
}
.tablet .slideblock .slidetab ul li {
	max-width: 50%;
	width: calc((100% - 25px) / 2);
}
.slideblock .slidetab a {
	position: relative;
	display: flex;
	align-items: center;
	height: 3.75em;
	padding: 0.625em;
	font-weight: 500;
	color: #fff;
	opacity: 1;
	transition: opacity 200ms, color 600ms;
}
.tablet .slideblock .slidetab a {
	height: 50px;
}
.slideblock .slidetab a:hover {
	opacity: 0.7;
	transition: opacity 200ms;
}
.slideblock .slidetab a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	bottom: 0px;
	left: 0px;
	background: #93949B;
	border-radius: 10px 10px 0 0;
	transition: background 200ms, opacity 200ms;
	z-index: -2;
}
.slideblock .slidetab a:after {
	content: "";
	display: block;
	position: absolute;
	width: 0%;
	height: 100%;
	bottom: 0px;
	right: 0px;
	background: #00776A;
	border-radius: 10px 10px 0 0;
	transition: 600ms;
	z-index: -1;
}
.slideblock .slidetab .current a:after {
	width: 100%;
}
.slideblock .slidetab ul.btn {
	margin-bottom: 50px;
}
.slideblock .slidetab ul.btn li + li {
	margin-left: 20px;
}
.slideblock .slidetab ul.btn a {
	position: relative;
	display: flex;
	align-items: center;
	height: 3.75em;
	padding: 0.625em;
	font-weight: 500;
	color: #00776A;
	background: #fff;
	border: 1px solid #00776A;
	border-radius: 30px;
	opacity: 1;
	transition: opacity 200ms, color 200ms;
}
.tablet .slideblock .slidetab ul.btn a {
	height: 50px;
}
.slideblock .slidetab ul.btn a:hover {
	opacity: 0.7;
	transition: opacity 200ms;
}
.slideblock .slidetab ul.btn a:before {
	display: none;
}
.slideblock .slidetab ul.btn a:after {
	display: none;
}
.slideblock .slidetab ul.btn .current a {
	color: #fff;
	background: #00776A;
	border: 1px solid #00776A;
}
.slideblock .slidetab select {
	width: 100%;
	height: 54px;
	padding: 0px 50px 0px 10px;
	font-size: min(2.32558vw, 16px);
	line-height: 50px;
	border: 2px solid #98A6B5;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(/common/images/select.svg) no-repeat right 5px center;
	cursor: pointer;
}
.sp .slideblock .slidetab select {
	font-size: min(9.77603vw, 11.73123px);
}
.tablet .slideblock .slidetab select {
	font-size: 16px !important;
}
.slideblock .slidetab select::-ms-expand {
	display: none;
}
.slideblock .slidebody {
	position: relative;
	margin-top: 20px;
	-webkit-transition: height 800ms;
	transition: height 800ms;
}
.tablet .slideblock .slidebody {
	margin-top: 20px;
}
.slideblock .slidebody > div {
	position: absolute;
	left: 50%;
	top: 0px;
	width: 100%;
	opacity: 0;
	transform: translateX(-160%);
	transition: transform 1200ms, opacity 400ms 100ms;
	pointer-events: none;
}
.slideblock .slidebody > div.left {
	transform: translateX(60%);
}
.slideblock .slidebody > div.current {
	transform: translateX(-50%) !important;
	opacity: 1;
	transition: transform 1200ms, opacity 1200ms 0ms;
	pointer-events: auto;
}
.slideblock .slidebody > div.slidebodyspace {
	position: relative;
	-webkit-transition: height 400ms;
	transition: height 400ms;
}

.linktab ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.tablet .linktab ul {
	border-bottom: 0;
}
.linktab ul li {
	position: relative;
	max-width: 12.75em;
	flex-shrink: 2;
	flex-grow: 2;
	font-size: min(2.32558vw, 16px);
	line-height: 1;
	font-weight: 16;
	color: 1;
}
.sp .linktab ul li {
	font-size: min(9.77603vw, 11.73123px);
}
.linktab ul li.left a:after {
	left: 0px;
	right: auto;
}
.tablet .linktab ul li {
	max-width: 50%;
	width: calc((100% - 5px) / 2);
}
.linktab a {
	position: relative;
	display: flex;
	align-items: center;
	height: 3.75em;
	padding: 0.625em;
	font-weight: 500;
	color: #fff;
	background: #93949B;
	border-radius: 10px 10px 0 0;
	transition: opacity 200ms;
}
.tablet .linktab a {
	height: 50px;
}
.linktab a:hover {
	opacity: 0.7;
}
.linktab a.current {
	background: #00776A;
}

.block3 {
	position: relative;
	z-index: 5;
	color: #fff;
	background: url(/images/bg_glance.jpg) no-repeat center;
	background-size: cover;
	margin-top: 100px;
}
.block3 > div {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 60px 40px 80px;
}
.tablet .block3 > div {
	padding: 30px 20px 40px;
}
.sp .block3 > div {
	padding: 30px 15px 40px;
}
.block3 > div > div {
	display: flex;
	justify-content: center;
	flex-direction: column;
  /*
  			.b3s & {
  				position: absolute;
  				top: 0px;
  			}
  */
}
.vscover2 .block3 > div > div {
	opacity: 1;
	pointer-events: auto;
}
.tablet .block3 > div > div {
	position: static;
	padding-top: 20px;
	padding-bottom: 10px;
	min-height: 0px;
	transform: translateX(0%);
}
.block3 h2 {
	margin-bottom: 30px;
	color: #000000;
	transition: opacity 800ms;
	opacity: 0;
}
.block3 h2 a {
	color: #fff;
}
.block3 h2 a:before {
	background-color: #fff;
}
.block3 h2 a:after {
	border-left-color: #fff;
}
.block3.view h2 {
	opacity: 1;
}
.block3.view ul {
	opacity: 1;
}
.block3.view ul li .value span:not(.unit) {
	transform: translateY(0%);
	opacity: 1;
}
.block3 ul {
	position: relative;
	display: flex;
	gap: 45px 0px;
	flex-wrap: wrap;
	margin-top: 20px;
	transition: opacity 800ms;
	opacity: 0;
}
.block3 ul:before {
	content: "";
	display: block;
	order: 1;
	width: 100%;
	height: 1px;
	left: 0%;
	background: #00776A;
}
.sp .block3 ul:before {
	display: none;
}
.block3 ul li {
	position: relative;
	width: calc(100% / 3);
	border-right: 1px solid #00776A;
	order: 0;
	color: #000000;
}
.sp .block3 ul li {
	width: 50%;
	border-right: none;
}
.sp .block3 ul li:nth-of-type(2n+1) {
	border-right: 1px solid #00776A;
	padding-right: 10px;
}
.sp .block3 ul li:nth-of-type(2n) {
	padding-left: 10px;
}
.english .block3 ul li {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.english.tablet .block3 ul li {
	display: block;
	padding: 0 3px;
}
.english.sp .block3 ul li {
	padding: 0 3px;
}
.block3 ul li:nth-child(n + 4) {
	order: 2;
}
.block3 ul li:nth-child(3n) {
	border-right: 0;
}
.block3 ul li .title {
	font-size: min(4.65116vw, 32px);
	font-weight: 500;
	padding-left: 20px;
}
.sp .block3 ul li .title {
	font-size: min(16.58667vw, 19.904px);
}
.tablet .block3 ul li .title {
	font-size: min(2.90698vw, 20px);
	padding-left: 0px;
	text-align: center;
}
.sp .tablet .block3 ul li .title {
	font-size: min(11.67343vw, 14.00811px);
}
.sp .block3 ul li .title {
	font-size: 20px;
}
.block3 ul li .fl {
	display: flex;
	justify-content: space-between;
	align-items: end;
}
.tablet .block3 ul li .fl {
	display: block;
	text-align: center;
}
.block3 ul li .icon {
	margin-top: 25px;
	padding-left: 20px;
}
.english .block3 ul li .icon {
	margin-bottom: calc(1rem + 5px);
}
.english.sp .block3 ul li .icon {
	margin-bottom: 0;
}
.tablet .block3 ul li .icon {
	padding-left: 0px;
}
.block3 ul li .value {
	font-size: min(6vw, 120px);
	line-height: 1;
	font-weight: 100;
	padding-right: 20px;
}
.pc .block3 ul li .value {
	font-size: min(4vw, 120px);
}
.tablet .block3 ul li .value {
	padding-right: 0;
	font-size: 50px;
}
.sp .block3 ul li .value {
	font-size: 40px;
}
.block3 ul li .value span:not(.unit) {
	display: inline-block;
	opacity: 0;
	transform: translateY(15%);
	transition: opacity 300ms 500ms, transform 300ms 500ms;
	color: #00776A;
}
.block3 ul li .value span.unit {
	margin-left: 10px;
	font-size: min(3.48837vw, 24px);
	font-weight: 500;
}
.sp .block3 ul li .value span.unit {
	font-size: min(13.43716vw, 16.12459px);
}
.english .block3 ul li .value span.unit {
	display: block;
	margin-top: 5px;
	text-align: right;
}
.english.sp .block3 ul li .value span.unit {
	display: inline;
	margin-top: 0;
	text-align: left;
}

.footer_link {
	position: relative;
	padding-top: 100px;
	background: #fff;
	overflow: hidden;
	z-index: 5;
}
.footer_link.pt0 {
	padding-top: 0;
}
.tablet .footer_link {
	padding-top: 40px;
}
.footer_link .list ul {
	position: relative;
	display: flex;
	flex-wrap: wrap;
}
.tablet .footer_link .list ul {
	display: block;
}
.footer_link .list ul::before {
	content: "";
	position: absolute;
	background: #00776A;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 10;
	transition: 400ms;
}
.footer_link .list ul:hover::before {
	background: transparent;
}
.footer_link .list li {
	width: 50%;
	height: 20vw;
	max-height: 400px;
}
.english .footer_link .list li {
	width: 100%;
	max-height: 300px;
}
.tablet .footer_link .list li {
	width: 100%;
	height: auto;
}
.tablet .footer_link .list li + li {
	border-top: 1px solid #fff;
}
.footer_link .list li::after {
	content: "";
	position: absolute;
	background-color: rgba(0, 0, 0, 0.3);
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 10;
	opacity: 0;
	transition: 400ms;
}
.footer_link .list li.left::before {
	content: "";
	position: absolute;
	background: url(/images/ft01.jpg) no-repeat center;
	background-size: cover;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
	opacity: 0;
	transition: 400ms;
}
.footer_link .list li.right::before {
	content: "";
	position: absolute;
	background: url(/images/ft02.jpg) no-repeat center;
	background-size: cover;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
	opacity: 0;
	transition: 400ms;
}
.footer_link .list li:hover::before, .footer_link .list li:hover::after {
	opacity: 1;
}
.footer_link .list a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: clamp(10px, 1.5625vw, 30px) clamp(10px, 2.08333vw, 40px);
	overflow: hidden;
	z-index: 100;
}
.english .footer_link .list a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.english.tablet .footer_link .list a {
	height: auto;
}
.footer_link .list a::before {
	content: "";
	position: absolute;
	background-color: rgba(255, 255, 255, 0.75);
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 0;
	opacity: 0;
	transition: 400ms;
}
.footer_link .list a:hover::before {
	opacity: 1;
}
.footer_link .list a .title {
	color: #fff;
	margin-bottom: 0;
	transition: 400ms;
}
.spc .footer_link .list a .title {
	font-size: min(4.36047vw, 30px);
}
.sp .spc .footer_link .list a .title {
	font-size: min(15.84473vw, 19.01367px);
}
.tablet .footer_link .list a .title {
	font-size: min(5.81395vw, 40px);
}
.sp .tablet .footer_link .list a .title {
	font-size: min(19.27072vw, 23.12487px);
}
.footer_link .list a .title:before {
	color: #fff;
	transition: 400ms;
}
.english .footer_link .list a .title:before {
	display: none;
}
.sp .footer_link .list a .title:before {
	margin-bottom: 10px;
}
.footer_link .list a .info {
	position: relative;
	margin-top: 20px;
	font-size: min(2.61628vw, 18px);
	color: #fff;
	font-weight: 500;
	transition: 400ms;
}
.sp .footer_link .list a .info {
	font-size: min(10.7418vw, 12.89016px);
}
.sp .footer_link .list a .info {
	font-size: min(2.03488vw, 14px);
	margin-top: 10px;
	padding-right: 30px;
}
.sp .sp .footer_link .list a .info {
	font-size: min(8.7754vw, 10.53048px);
}
.footer_link .list a .more {
	position: absolute;
	width: 60px;
	height: 60px;
	bottom: 0px;
	right: 0px;
	font-weight: bold;
	color: #00776A;
	background: #fff;
	overflow: hidden;
	transition: width 400ms;
}
.pc .footer_link .list a .more {
	width: 40px;
	height: 40px;
}
.tablet .footer_link .list a .more {
	bottom: 0px;
	right: 0px;
}
.footer_link .list a .more:before {
	content: "";
	display: block;
	position: absolute;
	width: 42px;
	height: 1px;
	top: 50%;
	right: 24px;
	background: #00776A;
	transition: right 400ms;
}
.pc .footer_link .list a .more:before {
	width: 32px;
}
.footer_link .list a .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 60px;
	margin-top: -8px;
	border: 8px solid transparent;
	border-right: 0px;
	border-left: 11px solid #00776A;
	opacity: 0;
	transition: right 400ms, opacity 200ms 100ms;
}
.tablet .footer_link .list a .more:after {
	margin-top: -4.5px;
	border-top-width: 4.5px;
	border-bottom-width: 4.5px;
	border-left-width: 8px;
}
.footer_link .list a .more span {
	position: absolute;
	display: block;
	top: 50%;
	right: 150px;
	white-space: nowrap;
	transform: translateY(-50%);
	opacity: 0;
	transition: right 400ms, opacity 400ms;
}
.pc .footer_link .list a .more span {
	right: 90px;
}
.tablet .footer_link .list a .more span {
	right: calc(100% - 5em + 20px);
}
.footer_link .list a:hover .title {
	color: #000000;
}
.footer_link .list a:hover .title:before {
	color: #00776A;
}
.footer_link .list a:hover .info {
	color: #000000;
}
.footer_link .list a:hover .more {
	width: calc(60px + 90px + 5em);
}
.english .footer_link .list a:hover .more {
	width: calc(60px + 90px + 8em);
}
.pc .footer_link .list a:hover .more {
	width: calc(50px + 40px + 5em);
}
.pc.english .footer_link .list a:hover .more {
	width: calc(50px + 40px + 8em);
}
.tablet .footer_link .list a:hover .more {
	width: 100%;
}
.footer_link .list a:hover .more span {
	right: 130px;
	opacity: 1;
	transition: right 250ms 250ms, opacity 250ms 250ms;
}
.pc .footer_link .list a:hover .more span {
	right: 70px;
}
.tablet .footer_link .list a:hover .more span {
	right: calc(100% - 5em - 10px);
}
.tablet.english .footer_link .list a:hover .more span {
	right: calc(100% - 8em - 10px);
}
.footer_link .list a:hover .more:before {
	right: 15px;
}
.footer_link .list a:hover .more:after {
	right: 13px;
	opacity: 1;
	transition: right 400ms, opacity 300ms;
}

.block5 {
	position: relative;
	background: #fff;
	overflow: hidden;
	z-index: 5;
}
.block5 > div {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 100px 40px 0px;
}
.tablet .block5 > div {
	padding: 50px 20px 0px;
}
.sp .block5 > div {
	padding: 50px 15px 0px;
}
.tablet .block5 > div {
	padding-top: 40px;
	padding-bottom: 1px;
}
.block5 h2 {
	margin-bottom: 20px;
}
.tablet .block5 h2 {
	display: none;
}
.block5 .slidetab {
	display: none;
}
.tablet .block5 .slidetab {
	display: block;
}
.tablet .block5 .slidebody {
	margin-top: 10px;
}
html:not(.tablet) .block5 .slidebody {
	display: flex;
	gap: 5.81395348837209%;
	margin-top: 0px;
	height: auto !important;
}
html:not(.tablet) .block5 .slidebody > div {
	position: static;
	opacity: 1;
	transform: translateX(0%) !important;
	pointer-events: auto;
}
html:not(.tablet) .block5 .slidebody > div.current {
	transform: translateX(0%) !important;
}
.block5 .slidebody ul {
	font-size: min(2.61628vw, 18px);
	line-height: 1.7;
}
.sp .block5 .slidebody ul {
	font-size: min(10.7418vw, 12.89016px);
}
.block5 .slidebody ul li {
	border-bottom: 1px solid #93949B;
}
.block5 .slidebody ul li > * {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 4.93827160493827%;
	padding: 30px 0px;
}
.tablet .block5 .slidebody ul li > * {
	padding: 20px 0px;
}
.tablet .block5 .slidebody ul li > * {
	flex-direction: column;
	gap: 10px;
}
.block5 .slidebody ul li > a {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.block5 .slidebody ul li > a:hover {
	opacity: 0.7;
}
.block5 .slidebody ul li > a > * {
	position: relative;
	z-index: 5;
}
.block5 .slidebody ul .category {
	min-width: 6.25em;
	font-size: min(2.32558vw, 16px);
	line-height: 2.5;
	font-weight: 10;
	color: 2;
	color: #fff;
	font-weight: 400;
	text-align: center;
	background: #656565;
}
.sp .block5 .slidebody ul .category {
	font-size: min(9.77603vw, 11.73123px);
}
.block5 .slidebody ul .category.c01 {
	background-color: #49A5DC;
}
.block5 .slidebody ul .category.c02 {
	background-color: #4988B7;
}
.block5 .slidebody ul .category.c03 {
	background-color: #A8CE8D;
}
.block5 .slidebody ul .category.c04 {
	background-color: #6AC6A4;
}
.block5 .slidebody ul .category.c05 {
	background-color: #00776A;
}
.tablet .block5 .slidebody ul .category {
	position: absolute;
	left: 10.7em;
	top: 2.1em;
	min-width: 12em;
}
.block5 .slidebody ul .date {
	color: #656565;
	font-weight: 500;
	font-size: min(2.61628vw, 18px);
	line-height: 2.22222;
	font-weight: 18;
	color: 1.11111;
}
.sp .block5 .slidebody ul .date {
	font-size: min(10.7418vw, 12.89016px);
}
.block5 .slidebody ul .title {
	color: #000000;
	font-size: min(2.61628vw, 18px);
	line-height: 1.7;
	font-weight: 18;
	font-weight: 500;
}
.sp .block5 .slidebody ul .title {
	font-size: min(10.7418vw, 12.89016px);
}
.tablet .block5 .slidebody ul .title {
	margin-left: 0px;
}
.block5 .slidebody .button {
	margin-top: 30px;
}
.block5 .slidebody .button a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-width: 200px;
	min-height: 60px;
	padding: 10px 78px 10px 18px;
	color: #000000;
	font-weight: 500;
	background: #fff;
	border: 1px solid #00776A;
	transition: color 200ms;
}
.block5 .slidebody .button a:hover {
	color: #00776A;
}
.block5 .slidebody .button a:hover:before {
	right: 15px;
}
.block5 .slidebody .button a:hover:after {
	right: 13px;
	opacity: 1;
	transition: right 400ms, opacity 300ms;
}
.block5 .slidebody .button a:before {
	content: "";
	display: block;
	position: absolute;
	width: 42px;
	height: 1px;
	top: 50%;
	right: 24px;
	background: #00776A;
	transition: right 400ms;
}
.tablet .block5 .slidebody .button a:before {
	right: 24px;
	width: 36px;
}
.block5 .slidebody .button a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 60px;
	margin-top: -8px;
	border: 8px solid transparent;
	border-right: 0px;
	border-left: 11px solid #00776A;
	opacity: 0;
	transition: right 400ms, opacity 200ms 100ms;
}
.tablet .block5 .slidebody .button a:after {
	right: 19px;
	margin-top: -4.5px;
	border-top-width: 4.5px;
	border-bottom-width: 4.5px;
	border-left-width: 8px;
	opacity: 1;
}

.block6 {
	position: relative;
	background: #fff;
	overflow: hidden;
}
.block6 > div {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 100px 40px;
}
.tablet .block6 > div {
	padding: 66.66667px 20px;
}
.sp .block6 > div {
	padding: 50px 15px;
}
.tablet .block6 > div {
	padding-top: 40px;
	padding-bottom: 40px;
}
.block6 ul {
	display: flex;
	flex-wrap: wrap;
	gap: min(40px, 2.08333vw);
}
.tablet .block6 ul {
	gap: 20px;
}
.block6 li {
	width: calc((100% - (min(40px, 2.08333333333333vw) * 3)) / 4);
}
.tablet .block6 li {
	width: calc((100% - 20px) / 2);
}
.block6 a {
	display: block;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.block6 a:hover {
	opacity: 0.7;
}
.block6 a .image {
	margin: auto;
}
.block6 a .image img {
	display: block;
	width: 100%;
	height: auto;
}

.block7 {
	position: relative;
	background: rgba(255, 255, 255, 0.69);
	border-bottom: 1px solid #fff;
	overflow: hidden;
}
.block7:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: rgba(0, 119, 106, 0.15);
	mix-blend-mode: multiply;
}
.block7:after {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 100%;
	left: 50%;
	top: 0px;
	background: #fff;
}
.tablet .block7:after {
	display: none;
}
.block7 > div {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 150px 40px;
}
.tablet .block7 > div {
	padding: 100px 20px;
}
.sp .block7 > div {
	padding: 75px 15px;
}
.spc .block7 > div {
	padding-top: 120px;
	padding-bottom: 120px;
}
.tablet .block7 > div {
	padding: 0px;
}
.block7 ul {
	display: flex;
	max-width: 1215px;
	margin: auto;
}
.tablet .block7 ul {
	flex-wrap: wrap;
}
.block7 ul li {
	width: 50%;
	padding: 0px 40px;
}
.tablet .block7 ul li {
	width: 100%;
	padding: 0px;
}
.tablet .block7 ul li + li {
	border-top: 1px solid #fff;
}
.block7 ul a {
	display: inline-block;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.block7 ul a:hover {
	opacity: 0.7;
}
.tablet .block7 ul a {
	display: block;
	padding: 40px 20px;
}
.block7 ul a .title {
	font-size: min(6.97674vw, 48px);
	line-height: 1;
	font-weight: 32;
	color: #000000;
	font-weight: 500;
}
.sp .block7 ul a .title {
	font-size: min(21.53549vw, 25.84258px);
}
.block7 ul a .info {
	margin-top: 20px;
	font-size: min(2.61628vw, 18px);
	color: #000000;
	font-weight: 500;
}
.sp .block7 ul a .info {
	font-size: min(10.7418vw, 12.89016px);
}
.tablet .block7 ul a .info {
	display: none;
}
.block7 ul a[target="_blank"] .info:after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 20px;
	background: url(/common/images/blankw.svg) no-repeat center center;
	background-size: 100% auto;
}

.block8 {
	position: relative;
	display: flex;
	background: rgba(255, 255, 255, 0.69);
	border-bottom: 1px solid #fff;
	overflow: hidden;
}
.block8:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: rgba(0, 119, 106, 0.15);
	mix-blend-mode: multiply;
}
.tablet .block8:before {
	background: #fff;
	mix-blend-mode: normal;
}
.block8 .logo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30.46875%;
	min-width: 585px;
	padding: 0px 20px;
	border-right: 1px solid #fff;
}
.pc .block8 .logo {
	min-width: 0px;
}
.tablet .block8 .logo {
	width: 100%;
	padding: 50px 50px 0px;
	border: 0px;
}
.block8 .logo a {
	display: inline-block;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.block8 .logo a:hover {
	opacity: 0.7;
}
.block8 .logo a img {
	display: block;
	max-width: 100%;
	height: auto;
}
.tablet .block8 .logo a img {
	margin-left: auto;
	margin-right: auto;
}
.block8 .link {
	position: relative;
	padding: 55px 50px 5px;
}
.tablet .block8 .link {
	display: none;
}
.block8 .link ul {
	columns: 2;
	gap: 50px;
	width: 25em;
	font-size: min(3.48837vw, 24px);
}
.sp .block8 .link ul {
	font-size: min(13.43716vw, 16.12459px);
}
.block8 .link li {
	width: 12.5em;
	margin-bottom: 60px;
}
.block8 .link a {
	color: #000000;
	font-weight: 500;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.block8 .link a:hover {
	opacity: 0.7;
}

#totop {
	position: fixed;
	bottom: 40px;
	right: 50px;
	z-index: 10;
	opacity: 0;
	pointer-events: none;
	transition: opacity 600ms;
}
.tablet #totop {
	right: 30px;
}
.vscover #totop {
	opacity: 1;
	pointer-events: auto;
}
#totop.bottom {
	position: relative;
	bottom: 30px;
	right: 0px;
	width: 100%;
}
#totop.bottom a {
	position: absolute;
	right: 50px;
}
.tablet #totop.bottom a {
	right: 30px;
}
.tablet #totop {
	display: none;
}
#totop a {
	display: block;
	position: relative;
	width: 65px;
	height: 65px;
	background: #00776A;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#totop a:hover {
	opacity: 0.7;
}
.spc #totop a {
	width: 50px;
	height: 50px;
}
#totop a:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 36px;
	left: 50%;
	bottom: 0px;
	background: #fff;
}
.spc #totop a:before {
	height: 25px;
}
#totop a:after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 36px;
	margin-left: -7px;
	border: 7px solid transparent;
	border-top: 0px;
	border-bottom: 11px solid #fff;
}
.spc #totop a:after {
	bottom: 25px;
}
#totop a span {
	display: block;
	text-indent: -1000px;
	overflow: hidden;
}

footer {
	position: relative;
	display: flex;
	align-items: flex-end;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	background: #fff;
	z-index: 10;
	padding: 30px;
}
.tablet footer {
	flex-direction: column;
	height: auto;
}
.tablet footer {
	padding: 10px;
	align-items: center;
}
.tablet footer .link {
	padding: 40px 20px;
}
.tablet footer .link {
	padding: 30px 10px 0;
}
footer .link .logo img {
	max-width: 100%;
	height: auto;
}
footer .link .logo a {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer .link .logo a:hover {
	opacity: 0.7;
}
footer .link ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 35px;
	margin-top: 30px;
	font-size: min(2.61628vw, 18px);
	font-weight: 500;
}
.sp footer .link ul {
	font-size: min(10.7418vw, 12.89016px);
}
.tablet footer .link ul {
	flex-direction: column;
	gap: 10px 0px;
}
footer .link li {
	position: relative;
}
footer .link li:not(:last-child):before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 0.75em;
	right: -17px;
	top: 50%;
	margin-top: -0.375em;
	background: #98A6B5;
}
.tablet footer .link li:not(:last-child):before {
	display: none;
}
footer .link li a {
	color: #98A6B5;
	position: relative;
	display: inline-block;
}
footer .link li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #00776A;
	transition: 0.2s;
	transform: scale(0);
}
footer .link li a:hover:before {
	transform: scale(1);
}
footer .copyright {
	text-align: right;
	font-size: min(2.61628vw, 18px);
	line-height: 1.1;
	font-weight: 14;
	color: #98A6B5;
	font-weight: 500;
	font-family: 'Roboto', sans-serif;
}
.sp footer .copyright {
	font-size: min(10.7418vw, 12.89016px);
}
.tablet footer .copyright {
	align-self: flex-start;
	text-align: left;
	margin-top: 20px;
	font-size: 10px;
}

#breadcrumbs {
	position: relative;
	padding: 0;
	background: #fff;
	z-index: 10;
}
.tablet #breadcrumbs {
	display: none;
}
#breadcrumbs > div {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 200px 40px 100px;
}
.tablet #breadcrumbs > div {
	padding: 100px 20px 50px;
}
.sp #breadcrumbs > div {
	padding: 100px 15px 50px;
}
.pc #breadcrumbs > div {
	padding: 100px 20px 50px;
}
#breadcrumbs > div > ul {
	padding-bottom: 20px;
	border-bottom: 1px solid #CDD6DD;
}
#breadcrumbs > div > ul > li {
	display: inline-block;
	color: #98A6B5;
}
#breadcrumbs > div > ul > li + li:before {
	content: "¨D";
	position: relative;
	display: inline-block;
	top: 0;
	margin: 0px 5px;
}
#breadcrumbs > div > ul > li a {
	color: #000000;
	position: relative;
	display: inline-block;
}
#breadcrumbs > div > ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #00776A;
	transition: 0.2s;
	transform: scale(0);
}
#breadcrumbs > div > ul > li a:hover:before {
	transform: scale(1);
}
#breadcrumbs > div > ul > li br {
	display: none;
}

#page_title > div {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 0px 40px;
}
.tablet #page_title > div {
	padding: 0px 20px;
}
.sp #page_title > div {
	padding: 0px 15px;
}
#page_title > div > h1, #page_title > div > div:not(.sub) {
	font-size: min(9.30233vw, 64px);
	line-height: 1.5;
}
.sp #page_title > div > h1, .sp #page_title > div > div:not(.sub) {
	font-size: min(24.99178vw, 29.99013px);
}

#cat_label {
	height: 200px;
	margin-top: 120px;
	background: url(/images/cat_label.jpg) no-repeat center;
	background-size: cover;
}

.project {
	position: relative;
	max-width: 1800px;
	margin: -40px auto 0;
	padding-top: 50px;
	background: url(/common/images/project_bg.png) no-repeat top center;
	background-size: contain;
}
.tablet .project {
	margin-top: 0;
}
.project > div {
	margin-top: min(6vw, 100px);
	width: 100%;
	height: 100%;
	background: url(/common/images/project_bg_2.png) repeat-y top center;
	background-size: 16%;
}
.tablet .project > div {
	margin-top: 0;
}
.project h1 {
	font-size: min(6.97674vw, 48px);
	line-height: 1.3;
	text-align: center;
	font-weight: normal;
}
.sp .project h1 {
	font-size: min(21.53549vw, 25.84258px);
}
.project h1 span {
	font-size: min(9.30233vw, 64px);
	line-height: 1.3;
	display: block;
	margin-bottom: 20px;
	font-weight: bold;
	font-family: 'Lato', sans-serif;
}
.sp .project h1 span {
	font-size: min(24.99178vw, 29.99013px);
}
.project ul.project_anchor {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 50px auto 0;
	max-width: 960px;
	border: 1px solid #CDD6DD;
	border-radius: 45px;
	background: #fff;
}
.tablet .project ul.project_anchor {
	display: block;
}
.project ul.project_anchor li {
	width: calc(100% / 5);
}
.tablet .project ul.project_anchor li {
	width: 100%;
}
.project ul.project_anchor li a {
	position: relative;
	display: block;
	padding: 20px min(3vw, 10px) 90px;
	height: 100%;
	font-weight: bold;
	text-align: center;
	color: #000000;
}
.tablet .project ul.project_anchor li a {
	padding-bottom: 60px;
}
.project ul.project_anchor li a::before {
	content: "";
	position: absolute;
	top: 20px;
	right: 0%;
	display: inline-block;
	height: calc(100% - 40px);
	border-right: 1px solid #00776A;
}
.tablet .project ul.project_anchor li a::before {
	top: auto;
	bottom: 0;
	right: 20px;
	width: calc(100% - 40px);
	border-right: none;
	border-bottom: 1px solid #00776A;
}
.project ul.project_anchor li a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 20px;
	display: inline-block;
	width: 20px;
	height: 22px;
	background: url(/common/images/icon_arrow_anker_green.svg);
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateX(-50%);
}
.project ul.project_anchor li a:hover {
	opacity: 0.7;
}
.project ul.project_anchor li a span {
	display: block;
}
.tablet .project ul.project_anchor li a span {
	display: inline-block;
}
.project ul.project_anchor li a span.number {
	font-size: min(5.81395vw, 40px);
	line-height: 1;
	color: #00776A;
	font-weight: 300;
	font-family: 'Lato', sans-serif;
}
.sp .project ul.project_anchor li a span.number {
	font-size: min(19.27072vw, 23.12487px);
}
.project ul.project_anchor li a span.sub_title {
	font-size: min(2.03488vw, 14px);
	line-height: 1;
	font-weight: bold;
	font-family: 'Lato', sans-serif;
}
.sp .project ul.project_anchor li a span.sub_title {
	font-size: min(8.7754vw, 10.53048px);
}
.project ul.project_anchor li a span + span {
	margin-top: 10px;
}
.tablet .project ul.project_anchor li a span + span {
	margin: 0 0 0 10px;
}
.project ul.project_anchor li:last-child a::before {
	display: none;
}
.project h2 {
	text-align: center;
}
.project h2 span {
	display: block;
}
.project h2 span.number {
	font-size: min(13.0814vw, 90px);
	line-height: 1;
	color: #00776A;
	font-weight: 300;
	font-family: 'Lato', sans-serif;
}
.sp .project h2 span.number {
	font-size: min(28.37666vw, 34.05199px);
}
.project h2 span.sub_title {
	font-size: min(6.97674vw, 48px);
	line-height: 1;
	font-weight: bold;
	font-family: 'Lato', sans-serif;
}
.sp .project h2 span.sub_title {
	font-size: min(21.53549vw, 25.84258px);
}
.project h2 span.title {
	font-size: min(4.65116vw, 32px);
	line-height: 1;
}
.sp .project h2 span.title {
	font-size: min(16.58667vw, 19.904px);
}
.project h2 span + span {
	margin-top: 20px;
}
.project .table {
	background: #fff;
}
.project h3 {
	font-size: min(3.48837vw, 24px);
	line-height: 1.3;
	text-align: center;
}
.sp .project h3 {
	font-size: min(13.43716vw, 16.12459px);
}

.project_banner {
	max-width: 560px;
	margin: 50px auto 0;
	border: 1px solid #00776A;
	background: #fff;
}
.project_banner > a {
	display: block;
	padding: 20px;
	color: #000;
}
.project_banner > a > div {
	display: flex;
	align-items: center;
	gap: 20px;
}
.project_banner > a > div .ico {
	width: 39px;
}
.project_banner > a > div .title {
	position: relative;
	padding-right: 50px;
	width: calc(100% - 39px - 20px);
	font-size: min(3.48837vw, 24px);
	line-height: 1.3;
}
.sp .project_banner > a > div .title {
	font-size: min(13.43716vw, 16.12459px);
}
.project_banner > a > div .title:before {
	content: "";
	display: block;
	position: absolute;
	width: 42px;
	height: 1px;
	top: 50%;
	right: 24px;
	background: #00776A;
	transition: right 400ms;
}
.pc .project_banner > a > div .title:before {
	width: 32px;
}
.project_banner > a > div .title:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 60px;
	margin-top: -8px;
	border: 8px solid transparent;
	border-right: 0px;
	border-left: 11px solid #00776A;
	opacity: 0;
	transition: right 400ms, opacity 200ms 100ms;
}
.tablet .project_banner > a > div .title:after {
	margin-top: -4.5px;
	border-top-width: 4.5px;
	border-bottom-width: 4.5px;
	border-left-width: 8px;
}
.project_banner > a:hover {
	opacity: 0.7;
}
.project_banner > a:hover .title:before {
	right: 15px;
}
.project_banner > a:hover .title:after {
	right: 13px;
	opacity: 1;
	transition: right 400ms, opacity 300ms;
}

.page_anchor {
	display: flex;
}
.page_anchor > ul {
	position: relative;
	display: flex;
	justify-content: center;
	max-width: 100%;
	margin: 50px auto 0;
	border: 1px solid #CDD6DD;
	border-radius: 45px;
	background: #fff;
}
.tablet .page_anchor > ul {
	display: block;
	width: 100%;
}
.page_anchor > ul li {
	width: 192px;
}
.tablet .page_anchor > ul li {
	width: 100% !important;
}
.page_anchor > ul li a {
	position: relative;
	display: block;
	padding: 30px min(3vw, 10px) 70px;
	height: 100%;
	font-weight: bold;
	text-align: center;
	color: #000000;
}
.tablet .page_anchor > ul li a {
	padding-bottom: 60px;
}
.page_anchor > ul li a::before {
	content: "";
	position: absolute;
	top: 20px;
	right: 0%;
	display: inline-block;
	height: calc(100% - 40px);
	border-right: 1px solid #00776A;
}
.tablet .page_anchor > ul li a::before {
	top: auto;
	bottom: 0;
	right: 20px;
	width: calc(100% - 40px);
	border-right: none;
	border-bottom: 1px solid #00776A;
}
.page_anchor > ul li a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 20px;
	display: inline-block;
	width: 20px;
	height: 22px;
	background: url(/common/images/icon_arrow_anker_green.svg);
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateX(-50%);
}
.page_anchor > ul li a:hover {
	opacity: 0.7;
}
.page_anchor > ul li a span {
	display: block;
}
.tablet .page_anchor > ul li a span {
	display: inline-block;
}
.page_anchor > ul li a span.number {
	font-size: min(5.81395vw, 40px);
	line-height: 1;
	color: #00776A;
	font-weight: 300;
	font-family: 'Lato', sans-serif;
}
.sp .page_anchor > ul li a span.number {
	font-size: min(19.27072vw, 23.12487px);
}
.page_anchor > ul li a span.sub_title {
	font-size: min(2.03488vw, 14px);
	line-height: 1;
	font-weight: bold;
	font-family: 'Lato', sans-serif;
}
.sp .page_anchor > ul li a span.sub_title {
	font-size: min(8.7754vw, 10.53048px);
}
.page_anchor > ul li a span + span {
	margin-top: 10px;
}
.tablet .page_anchor > ul li a span + span {
	margin: 0 0 0 10px;
}
.page_anchor > ul li:last-child a::before {
	display: none;
}

ul.anchor {
	letter-spacing: -1rem;
}
ul.anchor li {
	position: relative;
	display: inline-block;
	margin-top: 10px;
	margin-right: 20px;
	padding: 0 !important;
	letter-spacing: normal;
}
ul.anchor li::before {
	display: none !important;
}
ul.anchor li a {
	position: relative;
	padding-right: 1.6rem;
	color: #000000;
	position: relative;
	display: inline-block;
	font-size: min(2.32558vw, 16px);
	line-height: 1.7;
}
ul.anchor li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #00776A;
	transition: 0.2s;
	transform: scale(0);
}
ul.anchor li a:hover:before {
	transform: scale(1);
}
.sp ul.anchor li a {
	font-size: min(9.77603vw, 11.73123px);
}
ul.anchor li a::before {
	display: none;
}
ul.anchor li a::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	width: 1.5rem;
	height: 1rem;
	top: 0.3rem;
	background: url(/common/images/arrow_anchor.svg) no-repeat center center;
	background-size: contain;
	transition: all .3s;
}
* + ul.anchor {
	margin-top: 10px;
}
ul.anchor.center {
	text-align: center;
}
ul.anchor.left {
	text-align: left;
}

.groupbox {
	margin-top: 120px;
}
.groupbox > div {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 100px;
}
.groupbox > div + div {
	margin-top: 40px;
}
.tablet .groupbox > div {
	display: block;
	margin-top: 60px;
}
.tablet .groupbox > div#01 {
	margin-top: 30px;
}
.groupbox > div > .image {
	width: 40%;
	margin-top: 0 !Important;
}
.tablet .groupbox > div > .image {
	width: 100%;
}
.groupbox > div > .image img {
	margin-right: 0 !important;
}
.tablet .groupbox > div > .image img {
	margin-right: auto !important;
}
.groupbox > div > .tx {
	width: calc(60% - 100px);
}
.tablet .groupbox > div > .tx {
	width: 100%;
}
.groupbox > div > .tx a {
	color: #00776A !important;
}
.groupbox > div > .tx .title {
	font-size: min(5.23256vw, 36px);
}
.sp .groupbox > div > .tx .title {
	font-size: min(17.98399vw, 21.58079px);
}
.tablet .groupbox > div > .tx .title {
	font-size: min(17.98399vw, 26.97599px) !important;
}
.groupbox > div .mt01 {
	margin-top: min(30px, 2.8vw);
}
.groupbox > div .mt02 {
	margin-top: min(39px, 3.6vw);
}
.groupbox > div .mt03 {
	margin-top: min(47px, 4.3vw);
}
.groupbox > div .mt04 {
	margin-top: min(45px, 4.2vw);
}
.groupbox > div .mt05 {
	margin-top: min(40px, 3.5vw);
}
.tablet .groupbox > div .mt01, .tablet .groupbox > div .mt02, .tablet .groupbox > div .mt03, .tablet .groupbox > div .mt04, .tablet .groupbox > div .mt05 {
	margin-top: 0;
}

.recruitbox {
	margin-top: 120px;
}
.recruitbox.top {
	margin-top: 0;
}
.recruitbox > div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	gap: 40px 100px;
	justify-content: right;
	border-bottom: 1px solid #CDD6DD;
	padding-bottom: 50px;
	z-index: 2;
}
.tablet .recruitbox > div {
	display: block;
}
.recruitbox > div + div {
	margin-top: 50px;
}
.recruitbox > div > .image {
	position: relative;
	max-width: 40%;
	margin-top: 0 !Important;
}
.tablet .recruitbox > div > .image {
	width: 100%;
	max-width: none;
}
.recruitbox > div > .image::before {
	content: "";
	position: absolute;
	bottom: -51px;
	right: 100%;
	width: 50vw;
	height: 5px;
	background: #fff;
	z-index: 5;
}
.recruitbox > div > .image img {
	margin-right: 0 !important;
}
.tablet .recruitbox > div > .image img {
	margin-right: auto !important;
}
.recruitbox > div > .tx {
	width: calc(60% - 100px);
}
.tablet .recruitbox > div > .tx {
	width: 100%;
}
.recruitbox > div > .tx a {
	color: #00776A !important;
}
.recruitbox > div > .tx .title {
	font-size: min(5.23256vw, 36px);
}
.sp .recruitbox > div > .tx .title {
	font-size: min(17.98399vw, 21.58079px);
}
.tablet .recruitbox > div > .tx .title {
	font-size: min(17.98399vw, 26.97599px) !important;
}
.recruitbox .mt01 {
	margin-top: min(30px, 2.8vw);
}
.recruitbox .mt02 {
	margin-top: min(39px, 3.6vw);
}
.recruitbox .mt03 {
	margin-top: min(47px, 4.3vw);
}
.recruitbox .mt04 {
	margin-top: min(45px, 4.2vw);
}
.recruitbox .mt05 {
	margin-top: min(40px, 3.5vw);
}
.tablet .recruitbox .mt01, .tablet .recruitbox .mt02, .tablet .recruitbox .mt03, .tablet .recruitbox .mt04, .tablet .recruitbox .mt05 {
	margin-top: 0;
}

main .contents h1.h1_h2 {
	font-size: min(6.97674vw, 48px);
	line-height: 1.3;
	font-weight: normal;
}
.sp main .contents h1.h1_h2 {
	font-size: min(21.53549vw, 25.84258px);
}
main .contents .column.ir {
	gap: 40px;
	max-width: 1200px;
	margin: 40px auto 0;
}
main .contents .column.ir > div {
	width: calc((100% - 40px) / 2);
}
main .contents .column.ir .label {
	font-size: min(4.36047vw, 30px);
	line-height: 1.5;
}
.sp main .contents .column.ir .label {
	font-size: min(15.84473vw, 19.01367px);
}
main .contents .column.ir .label span {
	display: block;
	font-size: min(2.61628vw, 18px);
	line-height: 1.5;
}
.sp main .contents .column.ir .label span {
	font-size: min(10.7418vw, 12.89016px);
}
main .contents .column.ir .pic {
	margin-top: 20px;
}
main .contents .column.ir .pic img {
	width: 100%;
	height: auto;
}
main .contents .column.ir .table {
	margin-top: 20px;
}
main .contents .column.ir .table th, main .contents .column.ir .table .format > table td, main .contents .format > table .column.ir .table td {
	padding: 10px;
}
main .contents .column.ir .table td {
	padding: 10px;
	text-align: right;
}
main .contents .text .groupbox ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
main .contents .text .groupbox ul > li {
	padding-left: 0;
	font-size: min(2.03488vw, 14px);
	display: inline-block;
	padding: 3px 5px;
	border: 1px solid #00776A;
	color: #00776A;
}
.sp main .contents .text .groupbox ul > li {
	font-size: min(8.7754vw, 10.53048px);
}
main .contents .text .groupbox ul > li::before {
	display: none;
}
main .contents .text .groupbox ul > li + li {
	margin-top: 0;
}

#history_area {
	max-width: 1200px;
	margin: 100px auto 0;
	padding-left: 300px;
}
.tablet #history_area {
	padding-left: 20px;
}
.sp #history_area {
	padding-left: 0;
}
#history_area .head {
	text-align: center;
}
#history_area .head .year {
	font-size: min(14.53488vw, 100px);
	color: #00776A;
	font-family: 'EB Garamond', serif;
}
.sp #history_area .head .year {
	font-size: min(29.22414vw, 35.06897px);
}
#history_area .head p {
	margin-top: 20px;
	font-size: min(3.48837vw, 24px);
}
.sp #history_area .head p {
	font-size: min(13.43716vw, 16.12459px);
}
#history_area .year_box {
	position: relative;
	margin-top: 80px;
	padding-bottom: 50px;
	min-height: 130px;
}
#history_area .year_box + .year_box {
	margin-top: 0;
}
#history_area .year_box::before {
	content: "";
	position: absolute;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	left: 20px;
	transform: translateX(-50%);
	background: #fff;
	border: 1px solid #00776A;
	top: 60px;
	z-index: 5;
}
#history_area .year_box::after {
	content: "";
	position: absolute;
	width: 1px;
	height: calc(100% - 60px);
	left: 20px;
	transform: translateX(-50%);
	background: #00776A;
	top: 60px;
	z-index: 1;
}
#history_area .year_box .year {
	position: absolute;
	font-size: min(5.81395vw, 40px);
	color: #00776A;
	left: 20px;
	transform: translateX(-50%);
	font-family: 'EB Garamond', serif;
}
.sp #history_area .year_box .year {
	font-size: min(19.27072vw, 23.12487px);
}
#history_area .year_box .content {
	padding-top: 15px;
}
#history_area .year_box .content.l > div:first-child {
	text-align: right;
}
#history_area .year_box .content > div {
	width: calc(100% - 80px);
	margin-left: 80px;
	text-align: left !important;
}
#history_area .year_box .content > div + div {
	margin-top: 30px;
}
#history_area .year_box .content .title {
	display: inline-block;
	font-size: min(3.48837vw, 24px);
	text-align: left;
}
.sp #history_area .year_box .content .title {
	font-size: min(13.43716vw, 16.12459px);
}
#history_area .year_box .content p {
	text-align: left;
}
#history_area .year_box .content p + p {
	margin-top: 20px;
}
#history_area .img img {
	max-width: 100%;
}

#history_bg {
	position: fixed;
	width: 300px;
	height: 80vh;
	left: 0;
	bottom: 0;
	z-index: 5;
	transition: opacity 1.0s;
}
.tablet #history_bg {
	display: none;
}
#history_bg > div {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	opacity: 0;
	transition: opacity 1.0s;
	background: no-repeat center bottom;
	background-size: cover;
}
#history_bg > div.bg01 {
	background-image: url(/about/history/images/history_bg01.jpg);
	z-index: 10;
}
.history_bg01 #history_bg > div.bg01 {
	opacity: 1;
}
#history_bg > div.bg02 {
	background-image: url(/about/history/images/history_bg02.jpg);
	z-index: 20;
}
.history_bg02 #history_bg > div.bg02 {
	opacity: 1;
}
#history_bg > div.bg03 {
	background-image: url(/about/history/images/history_bg03.jpg);
	z-index: 30;
}
.history_bg03 #history_bg > div.bg03 {
	opacity: 1;
}
.history_bg04 #history_bg {
	opacity: 0;
}

/* xj library
------------------------------*/
.xj-list .no_link {
	position: relative;
	padding: 18px 0 20px;
}

.xj-list .no_link > div {
	position: relative;
	display: flex;
	align-items: center;
	color: #000000;
}

.xj-list .no_link .date {
	display: block;
	width: 120px;
	font-size: min(2.32558vw, 16px);
	line-height: 1;
}

.xj-list .no_link .title {
	display: block;
	width: calc(100% - 120px);
	font-size: min(2.61628vw, 18px);
	line-height: 1.5;
}

.tablet .xj-list .no_link > div {
	flex-wrap: wrap;
	align-items: start;
}

.tablet .xj-list .no_link .date {
	width: auto;
	top: 0.35em;
	padding-top: 5px;
	padding-right: 15px;
	font-size: min(9.77603vw, 14.66404px);
}

.tablet .xj-list .no_link .title {
	width: 100%;
	margin-top: 10px;
	margin-left: 0px;
	font-size: min(10.7418vw, 16.1127px);
}

/* xj graph
------------------------------*/
main .contents .column.ir .table .xj_chart_table .xj_chart_header_first,
main .contents .column.ir .table .xj_chart_table .xj_chart_header {
	position: relative;
	text-align: center;
	background: #F4F4F4;
	font-weight: normal;
	overflow: hidden;
	white-space: nowrap;
}

.column > a .text {
	position: relative;
	padding-right: 60px;
}
.column > a .text:before {
	content: "";
	display: block;
	position: absolute;
	width: 42px;
	height: 1px;
	top: 50%;
	right: 24px;
	background: #00776A;
	transition: right 400ms;
}
.pc .column > a .text:before {
	width: 32px;
}
.column > a .text:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 60px;
	margin-top: -8px;
	border: 8px solid transparent;
	border-right: 0px;
	border-left: 11px solid #00776A;
	opacity: 0;
	transition: right 400ms, opacity 200ms 100ms;
}
.tablet .column > a .text:after {
	margin-top: -4.5px;
	border-top-width: 4.5px;
	border-bottom-width: 4.5px;
	border-left-width: 8px;
}
.column > a:hover .text:before {
	right: 15px;
}
.column > a:hover .text:after {
	right: 13px;
	opacity: 1;
	transition: right 400ms, opacity 300ms;
}

.inquiry {
	margin-top: 20px;
}
.inquiry th, .inquiry main .contents .format > table td, main .contents .format > table .inquiry td, .inquiry td, .inquiry input, .inquiry select, .inquiry textarea {
	font-size: min(2.61628vw, 18px);
	line-height: 1.7;
}
.sp .inquiry th, .sp .inquiry main .contents .format > table td, main .contents .format > table .sp .inquiry td, .sp .inquiry td, .sp .inquiry input, .sp .inquiry select, .sp .inquiry textarea {
	font-size: min(10.7418vw, 12.89016px);
}
.tablet .inquiry th, .tablet .inquiry main .contents .format > table td, main .contents .format > table .tablet .inquiry td, .tablet .inquiry td, .tablet .inquiry input, .tablet .inquiry select, .tablet .inquiry textarea {
	font-size: min(2.61628vw, 18px);
	line-height: 1.7;
}
.sp .tablet .inquiry th, .sp .tablet .inquiry main .contents .format > table td, main .contents .format > table .sp .tablet .inquiry td, .sp .tablet .inquiry td, .sp .tablet .inquiry input, .sp .tablet .inquiry select, .sp .tablet .inquiry textarea {
	font-size: min(10.7418vw, 12.89016px);
}
.inquiry table {
	width: 100%;
	border-collapse: collapse;
}
.inquiry table span {
	display: inline-block;
}
.inquiry table th, .inquiry main .contents .format > table td, main .contents .inquiry .format > table td, .inquiry table td {
	border: 1px solid #d3d3d3;
	padding: 20px;
}
.tablet .inquiry table th, .tablet .inquiry main .contents .format > table td, main .contents .tablet .inquiry .format > table td, .tablet .inquiry table td {
	padding: 10px;
}
.tablet .inquiry table tr, .tablet .inquiry table th, .tablet .inquiry main .contents .format > table td, main .contents .tablet .inquiry .format > table td, .tablet .inquiry table td {
	display: block;
	border: none;
}
.tablet .inquiry table th, .tablet .inquiry main .contents .format > table td, main .contents .tablet .inquiry .format > table td {
	padding: 20px;
}
.tablet .inquiry table td {
	margin: 3vw 10px;
}
.inquiry table th, .inquiry main .contents .format > table td, main .contents .inquiry .format > table td {
	vertical-align: middle;
	font-weight: normal;
	text-align: left;
	min-width: 320px;
	background: #F4F4F4;
}
.tablet .inquiry table th, .tablet .inquiry main .contents .format > table td, main .contents .tablet .inquiry .format > table td {
	min-width: auto;
}
.inquiry table th > div, .inquiry main .contents .format > table td > div, main .contents .inquiry .format > table td > div {
	padding-right: 60px;
	position: relative;
}
.inquiry table th > div span, .inquiry main .contents .format > table td > div span, main .contents .inquiry .format > table td > div span {
	position: absolute;
	right: 0;
	width: 50px;
	border-radius: 3px;
	padding: 4px 0;
	font-size: min(2.18023vw, 15px);
	line-height: 1.7;
	line-height: 1;
	background: #740000;
	color: #FFF;
	text-align: center;
}
.sp .inquiry table th > div span, .sp .inquiry main .contents .format > table td > div span, main .contents .sp .inquiry .format > table td > div span {
	font-size: min(9.28012vw, 11.13614px);
}
.inquiry table th > div span.en, .inquiry main .contents .format > table td > div span.en, main .contents .inquiry .format > table td > div span.en {
	width: 75px;
}
.tablet .inquiry table th > div span, .tablet .inquiry main .contents .format > table td > div span, main .contents .tablet .inquiry .format > table td > div span {
	font-size: min(2.18023vw, 15px);
	line-height: 1.7;
}
.sp .tablet .inquiry table th > div span, .sp .tablet .inquiry main .contents .format > table td > div span, main .contents .sp .tablet .inquiry .format > table td > div span {
	font-size: min(9.28012vw, 11.13614px);
}
.inquiry table select {
	padding: 5px 30px 5px 5px;
	border: 1px solid #d3d3d3;
	background: url(/common/images/ico_arrow_contact.png) right 5px center no-repeat #fff;
	-moz-appearance: none;
	-webkit-appearance: none;
	-o-appearance: none;
	-ms-appearance: none;
	appearance: none;
}
.inquiry table textarea {
	width: 100%;
}
.inquiry table input {
	width: 20rem;
	max-width: 100%;
	padding: 0 5px;
}
.tablet .inquiry table input {
	width: 100%;
}
.inquiry table input.number {
	width: 6rem;
}
.tablet .inquiry table input.number {
	width: 4rem;
}
.inquiry table .address span {
	width: 6rem;
	display: inline-block;
}
.inquiry .t_center {
	margin: 40px auto 0;
	text-align: center;
}
.inquiry .t_center input {
	display: inline-block;
	min-width: 13.5rem;
	text-align: center;
	border: 1px solid #A7A7A7;
	background: #fff;
	padding: 10px 10px 12px 10px;
	color: #000;
	transition: 0.2s;
	cursor: pointer;
}
.tablet .inquiry .t_center input {
	display: block;
	margin: 0 auto;
}
.inquiry .t_center input:hover {
	background: #00776A;
	color: #fff;
}
.inquiry .t_center input + input {
	margin-left: 30px;
}
.tablet .inquiry .t_center input + input {
	margin-left: auto;
	margin-top: 30px;
}

#inquiry_modal {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	z-index: 100;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	transition: 0.3s;
	pointer-events: none;
}
#inquiry_modal.view {
	opacity: 1;
	pointer-events: auto;
}
#inquiry_modal > div {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	width: 100%;
	max-width: 70%;
	max-height: 75%;
	overflow-y: auto;
	padding: 30px;
}
.tablet #inquiry_modal > div {
	max-width: 90%;
	max-height: 90%;
}
#inquiry_modal > div .col {
	display: flex;
	align-items: center;
}
#inquiry_modal > div .col > p {
	width: calc(100% - 50px);
	padding-right: 50px;
}
#inquiry_modal > div .col > .close {
	position: relative;
	width: 50px;
	top: 0px;
	padding-top: 40px;
	font-size: 14px;
	text-align: center;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#inquiry_modal > div .col > .close:hover {
	opacity: 0.7;
}
.tablet #inquiry_modal > div .col > .close {
	font-size: 12px;
}
#inquiry_modal > div .col > .close::before, #inquiry_modal > div .col > .close::after {
	content: "";
	position: absolute;
	left: 0;
	top: 20px;
	width: 100%;
	height: 2px;
	background-color: #000;
}
#inquiry_modal > div .col > .close::before {
	transform: rotateZ(-45deg);
}
#inquiry_modal > div .col > .close::after {
	transform: rotateZ(45deg);
}
#inquiry_modal > div p.q {
	font-size: min(3.48837vw, 24px);
	line-height: 1.4;
	color: #4837ff;
	font-weight: bold;
}
.sp #inquiry_modal > div p.q {
	font-size: min(13.43716vw, 16.12459px);
}
#inquiry_modal > div p.a {
	margin-top: 10px !important;
}
#inquiry_modal > div p.a span {
	color: #f00;
}

#area_select {
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
	padding: 20px 0;
	display: flex;
}
.tablet #area_select {
	display: block;
}
#area_select > .tx {
	width: 200px;
}
.tablet #area_select > .tx {
	width: auto;
}
#area_select > .select {
	width: calc(100% - 200px);
}
.tablet #area_select > .select {
	width: auto;
	margin-top: 20px;
}
#area_select > .select ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
#area_select > .select ul li {
	display: inline-block;
}
#area_select > .select ul li a {
	font-size: min(2.32558vw, 16px);
	display: block;
	padding: 5px 10px;
	border-radius: 20px;
	color: #00776A;
	border: 1px solid #00776A;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.sp #area_select > .select ul li a {
	font-size: min(9.77603vw, 11.73123px);
}
#area_select > .select ul li a:hover {
	opacity: 0.7;
}
#area_select > .select ul li a.ac {
	background: #00776A;
	color: #fff;
}

.button {
	margin-top: 30px;
}
.button + .button {
	margin-left: 20px;
}
.button a {
	display: inline-block;
	min-width: 13.5rem;
	text-align: center;
	border: 1px solid #A7A7A7;
	margin: auto;
	padding: 10px 10px 12px 10px;
	color: #000;
	transition: 0.2s;
}
.button a:hover {
	background: #00776A;
	color: #fff;
}
.button a span {
	position: relative;
	vertical-align: middle;
}
.button a.blank span {
	padding-right: 40px;
	background: url(/common/images/blank.svg) no-repeat center right 10px;
	background-size: 1.2rem 1.2rem;
}
.button.center {
	text-align: center;
}
.button.right {
	text-align: right;
}
.button.right > a {
	margin-right: 0;
}

#gdpr_modal {
	display: none;
	position: fixed;
	z-index: 1000;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #fff;
	border-top: 1px solid #aaa;
}
#gdpr_modal > div {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 40px 40px 40px;
	display: flex;
	align-items: center;
}
.tablet #gdpr_modal > div {
	padding: 20px 20px 20px;
}
.sp #gdpr_modal > div {
	padding: 20px 15px 20px;
}
.tablet #gdpr_modal > div {
	display: block;
	text-align: center;
}
#gdpr_modal > div .tx {
	width: calc(100% - 400px);
}
.pc #gdpr_modal > div .tx {
	width: calc(100% - 300px);
}
.tablet #gdpr_modal > div .tx {
	width: auto;
	display: inline-block;
	text-align: left;
}
#gdpr_modal > div .tx a {
	color: #00776A;
	position: relative;
	display: inline-block;
}
#gdpr_modal > div .tx a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #00776A;
	transition: 0.2s;
	transform: scale(0);
}
#gdpr_modal > div .tx a:hover:before {
	transform: scale(1);
}
#gdpr_modal > div .btn {
	width: 400px;
}
.pc #gdpr_modal > div .btn {
	width: 300px;
}
.tablet #gdpr_modal > div .btn {
	width: auto;
	margin-top: 20px;
}
#gdpr_modal > div .btn .button {
	margin-top: 0;
}

.inquiry_notise {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #D3D3D3;
}
.inquiry_notise p.q {
	font-size: min(3.48837vw, 24px);
	line-height: 1.4;
	color: #4837ff;
	font-weight: bold;
}
.sp .inquiry_notise p.q {
	font-size: min(13.43716vw, 16.12459px);
}
.inquiry_notise p.a {
	margin-top: 10px !important;
}
.inquiry_notise p.a span {
	color: #f00;
}

.text a, .table a {
	color: #00776A;
}
.text a.pdf, .table a.pdf {
	position: relative;
	display: inline;
	margin-right: 4px;
}
.text a.pdf::after, .table a.pdf::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 19px;
	margin-left: 2px;
	background: url(/common/images/ico_pdf.svg) no-repeat;
	background-size: contain;
}
.text a.blank, .table a.blank {
	position: relative;
	display: inline;
	margin-right: 4px;
}
.text a.blank::after, .table a.blank::after {
	content: "";
	display: inline-block;
	width: 15px;
	height: 14px;
	margin-left: 2px;
	background: url(/common/images/ico_blank.svg) no-repeat;
	background-size: contain;
}

.text .button a.pdf, .table .button a.pdf {
	display: inline-block;
}
.text .button a.blank, .table .button a.blank {
	display: inline-block;
}

.hover_link {
	text-align: center;
	margin: 0px 15px;
}
main .contents .hover_link {
	margin: 0;
}
.hover_link a {
	position: relative;
	display: inline-block;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	width: auto;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.hover_link a:hover {
	opacity: 0.7;
}
.hover_link a img {
	position: relative;
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
	z-index: 2;
	transition: 0.5s;
}
.hover_link a img:first-child {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 5;
}
.hover_link a:hover img:first-child {
	opacity: 0;
}

.prolect_technology {
	position: relative;
	max-width: 1215px;
	margin: auto;
}
.prolect_technology.box01 > .image {
	width: 48%;
	padding-top: min(10.7vw, 140px);
	padding-bottom: min(6.92vw, 90px);
	margin: auto;
}
.tablet .prolect_technology.box01 > .image {
	width: 100%;
	padding: 0;
}
.tablet .prolect_technology.box01 > .image > .view_pc {
	display: none !important;
}
.tablet .prolect_technology.box01 > .image > .view_sp {
	display: block !important;
}
.prolect_technology.box01 > div:not(.image) {
	position: absolute;
	width: 26%;
	margin: 0 !important;
}
.tablet .prolect_technology.box01 > div:not(.image) {
	position: static;
	width: 100%;
	margin-top: 20px !important;
}
.prolect_technology.box01 > div:not(.image).block01 {
	top: 0;
	left: 0;
}
.prolect_technology.box01 > div:not(.image).block02 {
	top: min(18.5vw, 240px);
	left: 0;
}
.prolect_technology.box01 > div:not(.image).block03 {
	bottom: 0;
	left: 0;
}
.prolect_technology.box01 > div:not(.image).block04 {
	top: 0;
	right: 0;
}
.prolect_technology.box01 > div:not(.image).block05 {
	bottom: 0;
	right: 0;
}
.prolect_technology.box01.english > .image {
	padding-bottom: min(13.92vw, 180px);
}
.prolect_technology.box01.english > div:not(.image).block02 {
	top: min(20.5vw, 270px);
}
.prolect_technology .title {
	padding: min(0.7vw, 10px);
	background: #00776A;
	color: #fff;
	font-size: min(1.8vw, 24px);
}
.tablet .prolect_technology .title {
	font-size: 16px;
}
.prolect_technology .title .num {
	margin-right: 0.6rem;
	font-family: 'Lato', sans-serif;
	font-size: min(2.4vw, 32px);
}
.tablet .prolect_technology .title .num {
	font-size: 18px;
}
.prolect_technology .title .sub {
	font-size: min(1.2vw, 16px);
}
.tablet .prolect_technology .title .sub {
	font-size: 12px;
}
.prolect_technology .tx {
	position: relative;
	margin: 0 !important;
	padding: min(1.5vw, 20px);
	font-size: min(1.2vw, 16px);
	border-left: 1px solid #00776A;
	border-bottom: 1px solid #00776A;
	border-right: 1px solid #00776A;
	background: #fff;
	z-index: 5;
}
.tablet .prolect_technology .tx {
	font-size: 12px;
}
.tablet .prolect_technology .image + div {
	margin-top: 20px;
}

#top_alert {
	background: #00776A;
}
#top_alert > div {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 20px 40px 20px;
	text-align: center;
	color: #fff;
}
.tablet #top_alert > div {
	padding: 10px 20px 10px;
}
.sp #top_alert > div {
	padding: 10px 15px 10px;
}

#top_news > div {
	position: relative;
	width: 100%;
	max-width: 1800px;
	margin: auto;
	padding: 60px 40px 0px;
	text-align: center;
	font-size: min(2.90698vw, 20px);
}
.tablet #top_news > div {
	padding: 30px 20px 0px;
}
.sp #top_news > div {
	padding: 30px 15px 0px;
}
.sp #top_news > div {
	font-size: min(11.67343vw, 14.00811px);
}

.acc_btn {
	position: relative;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: inline-block;
	vertical-align: middle;
	background: #fff;
	border: 2px solid #00776A;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	margin-left: 10px;
	margin-bottom: 5px;
}
.acc_btn:hover {
	opacity: 0.7;
}
.acc_btn::before, .acc_btn::after {
	content: "";
	position: absolute;
	background-color: #00776A;
}
.acc_btn::before {
	top: 13px;
	left: 6px;
	width: 15px;
	height: 2px;
}
.acc_btn::after {
	top: 6px;
	left: 12px;
	height: 15px;
	width: 2px;
	transition: 0.3s;
}
.acc_btn.open::after {
	opacity: 0;
	transform: rotateZ(90deg);
}

.acc_area {
	padding-top: 30px;
	display: none;
}

.executives_area {
	display: flex;
}
.sp .executives_area {
	display: block;
}
.executives_area > .image {
	width: 300px;
}
.sp .executives_area > .image {
	display: none;
}
.executives_area > .tx {
	width: calc(100% - 300px);
	padding-left: 40px;
}
.sp .executives_area > .tx {
	width: auto;
	padding-left: 0;
}
.executives_area > .tx .image {
	display: none;
}
.sp .executives_area > .tx .image {
	display: block;
}
.sp .executives_area > .tx .image img {
	width: 100%;
	max-width: 260px;
}
.executives_area + .executives_area {
	margin-top: 60px;
}
.sp .executives_area + .executives_area {
	margin-top: 40px;
}

span.indent {
	display: inline-block;
	padding-left: 2em;
	text-indent: -2em;
}

.name span {
	font-size: min(3.77907vw, 26px);
	font-weight: bold;
}
.sp .name span {
	font-size: min(14.27069vw, 17.12483px);
}

.purpose_contents a {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.purpose_contents a:hover {
	opacity: 0.7;
}
.purpose_contents h2 {
	position: relative;
	display: inline-block;
	font-family: 'Roboto', sans-serif;
	color: #00776A;
	font-size: min(14.53488vw, 100px);
	font-weight: normal;
	margin: 0;
	padding: 0px 100px 0 0;
}
.sp .purpose_contents h2 {
	font-size: min(29.22414vw, 35.06897px);
}
.pc .purpose_contents h2 {
	font-size: min(11.62791vw, 80px);
}
.sp .pc .purpose_contents h2 {
	font-size: min(27.32482vw, 32.78978px);
}
.sp .purpose_contents h2 {
	padding-right: 80px;
	font-size: min(11.62791vw, 80px);
}
.sp .sp .purpose_contents h2 {
	font-size: min(27.32482vw, 32.78978px);
}
.purpose_contents h2::before {
	content: attr(data-sub);
	position: absolute;
	right: 20px;
	top: 0;
	display: block;
	font-size: min(2.32558vw, 16px);
	font-family: "Noto Sans JP", sans-serif;
	color: #00776A;
	font-weight: 500;
}
.sp .purpose_contents h2::before {
	font-size: min(9.77603vw, 11.73123px);
}
.purpose_contents h2::after {
	content: "";
	position: absolute;
	right: 0;
	top: 10px;
	width: 18px;
	height: 18px;
	border-right: 1px solid #00776A;
	border-bottom: 1px solid #00776A;
}
.sp .purpose_contents h2::after {
	width: 12px;
	height: 12px;
}
.purpose_contents h2.alone::after {
	display: none;
}
.purpose_contents h2.wide {
	padding-right: 150px;
}
.sp .purpose_contents h2.wide {
	padding-right: 120px;
}
.sp .purpose_contents h2.wide.top {
	padding-right: 60px;
}
.sp .purpose_contents h2.wide.top::before {
	top: -20px;
}
.sp .purpose_contents h2.wide.top::after {
	top: -12px;
}
.purpose_contents h2.nega {
	color: #fff;
}
.purpose_contents h2.nega::before {
	color: #fff;
}
.purpose_contents h2.nega::after {
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.purpose_contents .purpose_head {
	position: relative;
	display: flex;
}
.tablet .purpose_contents .purpose_head {
	flex-direction: column;
}
.purpose_contents .purpose_head::before {
	content: "";
	position: absolute;
	width: 100%;
	height: calc(100% - 100px);
	background: #00776A;
	left: 0;
	top: 0;
	z-index: -1;
}
.sp .purpose_contents .purpose_head::before {
	height: calc(100% - 60px);
}
.purpose_contents .purpose_head > .img {
	position: relative;
	z-index: 1;
	padding-left: 40px;
	width: min(50%, 900px);
}
.tablet .purpose_contents .purpose_head > .img {
	width: 100%;
	padding: 0 20px;
}
.sp .purpose_contents .purpose_head > .img {
	padding: 0 10px;
}
.purpose_contents .purpose_head > .img img {
	width: 100%;
	display: block;
}
.tablet .purpose_contents .purpose_head > .img img.second {
	display: none;
}
.purpose_contents .purpose_head > .tx {
	width: 50%;
	position: relative;
	z-index: 1;
}
.tablet .purpose_contents .purpose_head > .tx {
	width: 100%;
}
.purpose_contents .purpose_head > .tx .inner {
	padding: 100px 70px;
}
.pc .purpose_contents .purpose_head > .tx .inner {
	padding: 70px 30px;
}
.sp .purpose_contents .purpose_head > .tx .inner {
	padding: 50px 20px;
}
.purpose_contents .purpose_head > .tx p {
	color: #fff;
	line-height: 3;
}
.purpose_contents .purpose_head > .tx p.lead {
	border-top: 1px solid #fff;
	margin-top: 30px;
	padding-top: 85px;
	font-size: min(4.06977vw, 28px);
	line-height: 2.5;
}
.sp .purpose_contents .purpose_head > .tx p.lead {
	font-size: min(15.07298vw, 18.08757px);
}
.sp .purpose_contents .purpose_head > .tx p.lead {
	font-size: min(4.06977vw, 28px);
	line-height: 2.2;
	padding-top: 50px;
}
.sp .sp .purpose_contents .purpose_head > .tx p.lead {
	font-size: min(15.07298vw, 18.08757px);
}
.purpose_contents .purpose_head > .tx p.lead.eng {
	font-size: min(4.65116vw, 32px);
	line-height: 2;
}
.sp .purpose_contents .purpose_head > .tx p.lead.eng {
	font-size: min(16.58667vw, 19.904px);
}
.sp .purpose_contents .purpose_head > .tx p.lead.eng {
	font-size: min(4.94186vw, 34px);
	line-height: 2;
}
.sp .sp .purpose_contents .purpose_head > .tx p.lead.eng {
	font-size: min(17.29951vw, 20.75942px);
}
.purpose_contents .purpose_head > .tx p + p {
	margin-top: 90px;
}
.sp .purpose_contents .purpose_head > .tx p + p {
	margin-top: 50px;
}
.purpose_contents .purpose_head > .tx p br.sp {
	display: none;
}
.sp .purpose_contents .purpose_head > .tx p br.sp {
	display: block;
}
.purpose_contents .purpose_head > .tx .logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% - 12px);
	margin: 0 auto;
	height: 300px;
	background: #fff;
}
.tablet .purpose_contents .purpose_head > .tx .logo {
	width: calc(100% - 40px);
}
.sp .purpose_contents .purpose_head > .tx .logo {
	width: calc(100% - 20px);
	height: 180px;
}
.purpose_contents .purpose_head > .tx .logo img {
	max-width: 100%;
}
.sp .purpose_contents .purpose_head > .tx .logo img {
	width: 220px;
}
.purpose_contents .purpose_head > .tx .bottom_img {
	display: none;
}
.tablet .purpose_contents .purpose_head > .tx .bottom_img {
	display: block;
	padding: 0 20px;
}
.tablet .purpose_contents .purpose_head > .tx .bottom_img img {
	width: 100%;
}
.sp .purpose_contents .purpose_head > .tx .bottom_img {
	padding: 0 10px;
}
.purpose_contents .purpose_mov {
	margin-top: 50px;
	padding: 150px 0;
	background: url(/images/purpose_bg01.png) no-repeat top center/cover;
}
.sp .purpose_contents .purpose_mov {
	padding: 80px 0;
}
.purpose_contents .purpose_mov > .inner {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
}
.purpose_contents .purpose_mov .img {
	margin-top: 50px;
}
.purpose_contents .purpose_mov .img img {
	width: 100%;
}
.purpose_contents .purpose_groups {
	padding: 150px 0;
	background: url(/images/purpose_bg02.png) #00776A no-repeat top center/cover;
}
.sp .purpose_contents .purpose_groups {
	padding: 80px 0 40px;
}
.purpose_contents .purpose_groups > .inner {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
}
.purpose_contents .purpose_groups .swiper-container {
	width: 100%;
	margin: 50px auto;
	position: relative;
	margin-left: -100px;
}
.sp .purpose_contents .purpose_groups .swiper-container {
	margin-left: 0;
}
.purpose_contents .purpose_groups .swiper-wrapper {
	align-items: center;
}
.purpose_contents .purpose_groups .swiper-slide {
	text-align: center;
	font-size: 18px;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}
.purpose_contents .purpose_groups .swiper-slide a {
	display: block;
	width: 100%;
	height: 100%;
}
.purpose_contents .purpose_groups .swiper-slide a p {
	color: #fff;
	margin-top: 5px;
	text-align: left;
}
.purpose_contents .purpose_groups .swiper-slide a p.img {
	margin-top: 0;
}
.sp .purpose_contents .purpose_groups .swiper-slide a p.img {
	aspect-ratio: 4 / 3;
}
.purpose_contents .purpose_groups .swiper-slide.swiper-slide-active p.img {
	position: relative;
}
.purpose_contents .purpose_groups .swiper-slide.swiper-slide-active p.img::before {
	content: "";
	position: absolute;
	z-index: 10;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border: 11px solid #fff;
}
.purpose_contents .purpose_groups .swiper-slide.swiper-slide-active p.img::after {
	content: "";
	position: absolute;
	z-index: 20;
	color: #00776A;
	width: 163px;
	height: 42px;
	background: #fff;
	background: url(/images/purpose_view.svg) no-repeat center/cover;
	right: 0;
	bottom: 0;
}
.purpose_contents .purpose_groups .swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.purpose_contents .purpose_groups .menu {
	position: absolute;
	z-index: 100;
	right: -60px;
	top: calc(50% - 15px);
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	gap: 30px;
	background: #fff;
	padding: 15px;
}
.sp .purpose_contents .purpose_groups .menu {
	position: static;
	transform: translateY(0);
	margin: 40px auto 0;
	width: 260px;
	justify-content: center;
}
.purpose_contents .purpose_groups .menu .counter {
	color: #b3d6d2;
	font-weight: bold;
	padding-bottom: 3px;
}
.sp .purpose_contents .purpose_groups .menu .counter {
	font-size: min(3.48837vw, 24px);
}
.sp .sp .purpose_contents .purpose_groups .menu .counter {
	font-size: min(13.43716vw, 16.12459px);
}
.purpose_contents .purpose_groups .menu .counter .now {
	color: #00776A;
	border-bottom: 5px solid #00776A;
}
.purpose_contents .purpose_groups .menu .controller button {
	border: none;
	padding: 0;
	cursor: pointer;
	transition: 0.3s;
}
.purpose_contents .purpose_groups .menu .controller button:hover {
	opacity: 0.7;
}
.purpose_contents .purpose_other {
	padding: 150px 0;
	background-color: rgba(0, 0, 0, 0.1);
}
.sp .purpose_contents .purpose_other {
	padding: 80px 0;
}
.purpose_contents .purpose_other > .inner {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
}
.purpose_contents .purpose_other > .inner .title {
	font-family: 'Roboto', sans-serif;
	font-size: min(3.48837vw, 24px);
	color: #00776A;
}
.sp .purpose_contents .purpose_other > .inner .title {
	font-size: min(13.43716vw, 16.12459px);
}
.sp .purpose_contents .purpose_other > .inner .title {
	font-size: min(4.06977vw, 28px);
}
.sp .sp .purpose_contents .purpose_other > .inner .title {
	font-size: min(15.07298vw, 18.08757px);
}
.purpose_contents .purpose_other > .inner .title span {
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: min(2.32558vw, 16px);
	font-weight: bold;
	margin-left: 20px;
}
.sp .purpose_contents .purpose_other > .inner .title span {
	font-size: min(9.77603vw, 11.73123px);
}
.purpose_contents .purpose_other > .inner .col {
	display: flex;
	gap: 20px;
	margin-top: 30px;
}
.sp .purpose_contents .purpose_other > .inner .col {
	flex-direction: column;
	width: 100%;
	max-width: 400px;
	margin: 30px auto 0;
}
.purpose_contents .purpose_other > .inner .col > a {
	display: block;
	width: calc((100% - 40px) / 3);
	color: #000;
}
.sp .purpose_contents .purpose_other > .inner .col > a {
	width: 100%;
}
.purpose_contents .purpose_other > .inner .col > a img {
	width: 100%;
}
.purpose_contents .purpose_other > .inner .col > a p {
	margin-top: 10px;
}

.vegas-overlay, .vegas-slide, .vegas-slide-inner, .vegas-timer, .vegas-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	overflow: hidden;
	border: none;
	padding: 0;
	margin: 0;
}

.vegas-overlay {
	opacity: .5;
	background: url(/common/css/overlays/02.png) center center;
}

.vegas-timer {
	top: auto;
	bottom: 0;
	height: 2px;
}

.vegas-timer-progress {
	width: 0;
	height: 100%;
	background: #fff;
	transition: width ease-out;
}

.vegas-timer-running .vegas-timer-progress {
	width: 100%;
}

.vegas-slide, .vegas-slide-inner {
	margin: 0;
	padding: 0;
	background: center center no-repeat;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	will-change: transform,opacity;
}

body .vegas-container {
	overflow: hidden !important;
	position: relative;
}

.vegas-video {
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
}

body.vegas-container {
	overflow: auto;
	position: static;
	z-index: -2;
}

body.vegas-container > .vegas-overlay, body.vegas-container > .vegas-slide, body.vegas-container > .vegas-timer {
	position: fixed;
	z-index: -1;
}

.vegas-transition-blur, .vegas-transition-blur2 {
	opacity: 0;
	-webkit-filter: blur(32px) brightness(1.01);
	filter: blur(32px) brightness(1.01);
}

.vegas-transition-blur-in, .vegas-transition-blur2-in {
	opacity: 1;
	-webkit-filter: blur(0) brightness(1.01);
	filter: blur(0) brightness(1.01);
}

.vegas-transition-blur2-out {
	opacity: 0;
}

.vegas-transition-burn, .vegas-transition-burn2 {
	opacity: 0;
	-webkit-filter: contrast(1000%) saturate(1000%);
	filter: contrast(1000%) saturate(1000%);
}

.vegas-transition-burn-in, .vegas-transition-burn2-in {
	opacity: 1;
	-webkit-filter: contrast(100%) saturate(100%);
	filter: contrast(100%) saturate(100%);
}

.vegas-transition-burn2-out {
	opacity: 0;
	-webkit-filter: contrast(1000%) saturate(1000%);
	filter: contrast(1000%) saturate(1000%);
}

.vegas-transition-fade, .vegas-transition-fade2 {
	opacity: 0;
}

.vegas-transition-fade-in, .vegas-transition-fade2-in {
	opacity: 1;
}

.vegas-transition-fade2-out {
	opacity: 0;
}

.vegas-transition-flash, .vegas-transition-flash2 {
	opacity: 0;
	-webkit-filter: brightness(25);
	filter: brightness(25);
}

.vegas-transition-flash-in, .vegas-transition-flash2-in {
	opacity: 1;
	-webkit-filter: brightness(1);
	filter: brightness(1);
}

.vegas-transition-flash2-out {
	opacity: 0;
	-webkit-filter: brightness(25);
	filter: brightness(25);
}

.vegas-transition-negative, .vegas-transition-negative2 {
	opacity: 0;
	-webkit-filter: invert(100%);
	filter: invert(100%);
}

.vegas-transition-negative-in, .vegas-transition-negative2-in {
	opacity: 1;
	-webkit-filter: invert(0);
	filter: invert(0);
}

.vegas-transition-negative2-out {
	opacity: 0;
	-webkit-filter: invert(100%);
	filter: invert(100%);
}

.vegas-transition-slideDown, .vegas-transition-slideDown2 {
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}

.vegas-transition-slideDown-in, .vegas-transition-slideDown2-in {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.vegas-transition-slideDown2-out {
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}

.vegas-transition-slideLeft, .vegas-transition-slideLeft2 {
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}

.vegas-transition-slideLeft-in, .vegas-transition-slideLeft2-in {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

.vegas-transition-slideLeft2-out, .vegas-transition-slideRight, .vegas-transition-slideRight2 {
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}

.vegas-transition-slideRight-in, .vegas-transition-slideRight2-in {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

.vegas-transition-slideRight2-out {
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}

.vegas-transition-slideUp, .vegas-transition-slideUp2 {
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}

.vegas-transition-slideUp-in, .vegas-transition-slideUp2-in {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.vegas-transition-slideUp2-out {
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}

.vegas-transition-swirlLeft, .vegas-transition-swirlLeft2 {
	-webkit-transform: scale(2) rotate(35deg);
	transform: scale(2) rotate(35deg);
	opacity: 0;
}

.vegas-transition-swirlLeft-in, .vegas-transition-swirlLeft2-in {
	-webkit-transform: scale(1) rotate(0);
	transform: scale(1) rotate(0);
	opacity: 1;
}

.vegas-transition-swirlLeft2-out, .vegas-transition-swirlRight, .vegas-transition-swirlRight2 {
	-webkit-transform: scale(2) rotate(-35deg);
	transform: scale(2) rotate(-35deg);
	opacity: 0;
}

.vegas-transition-swirlRight-in, .vegas-transition-swirlRight2-in {
	-webkit-transform: scale(1) rotate(0);
	transform: scale(1) rotate(0);
	opacity: 1;
}

.vegas-transition-swirlRight2-out {
	-webkit-transform: scale(2) rotate(35deg);
	transform: scale(2) rotate(35deg);
	opacity: 0;
}

.vegas-transition-zoomIn, .vegas-transition-zoomIn2 {
	-webkit-transform: scale(0);
	transform: scale(0);
	opacity: 0;
}

.vegas-transition-zoomIn-in, .vegas-transition-zoomIn2-in {
	-webkit-transform: scale(1);
	transform: scale(1);
	opacity: 1;
}

.vegas-transition-zoomIn2-out, .vegas-transition-zoomOut, .vegas-transition-zoomOut2 {
	-webkit-transform: scale(2);
	transform: scale(2);
	opacity: 0;
}

.vegas-transition-zoomOut-in, .vegas-transition-zoomOut2-in {
	-webkit-transform: scale(1);
	transform: scale(1);
	opacity: 1;
}

.vegas-transition-zoomOut2-out {
	-webkit-transform: scale(0);
	transform: scale(0);
	opacity: 0;
}

.vegas-animation-kenburns {
	-webkit-animation: kenburns ease-out;
	animation: kenburns ease-out;
}

@-webkit-keyframes kenburns {
	0% {
		-webkit-transform: scale(1.5);
		transform: scale(1.5);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
@keyframes kenburns {
	0% {
		-webkit-transform: scale(1.5);
		transform: scale(1.5);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
.vegas-animation-kenburnsDownLeft {
	-webkit-animation: kenburnsDownLeft ease-out;
	animation: kenburnsDownLeft ease-out;
}

@-webkit-keyframes kenburnsDownLeft {
	0% {
		-webkit-transform: scale(1.5) translate(10%, -10%);
		transform: scale(1.5) translate(10%, -10%);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
@keyframes kenburnsDownLeft {
	0% {
		-webkit-transform: scale(1.5) translate(10%, -10%);
		transform: scale(1.5) translate(10%, -10%);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
.vegas-animation-kenburnsDownRight {
	-webkit-animation: kenburnsDownRight ease-out;
	animation: kenburnsDownRight ease-out;
}

@-webkit-keyframes kenburnsDownRight {
	0% {
		-webkit-transform: scale(1.5) translate(-10%, -10%);
		transform: scale(1.5) translate(-10%, -10%);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
@keyframes kenburnsDownRight {
	0% {
		-webkit-transform: scale(1.5) translate(-10%, -10%);
		transform: scale(1.5) translate(-10%, -10%);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
.vegas-animation-kenburnsDown {
	-webkit-animation: kenburnsDown ease-out;
	animation: kenburnsDown ease-out;
}

@-webkit-keyframes kenburnsDown {
	0% {
		-webkit-transform: scale(1.5) translate(0, -10%);
		transform: scale(1.5) translate(0, -10%);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
@keyframes kenburnsDown {
	0% {
		-webkit-transform: scale(1.5) translate(0, -10%);
		transform: scale(1.5) translate(0, -10%);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
.vegas-animation-kenburnsLeft {
	-webkit-animation: kenburnsLeft ease-out;
	animation: kenburnsLeft ease-out;
}

@-webkit-keyframes kenburnsLeft {
	0% {
		-webkit-transform: scale(1.5) translate(10%, 0);
		transform: scale(1.5) translate(10%, 0);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
@keyframes kenburnsLeft {
	0% {
		-webkit-transform: scale(1.5) translate(10%, 0);
		transform: scale(1.5) translate(10%, 0);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
.vegas-animation-kenburnsRight {
	-webkit-animation: kenburnsRight ease-out;
	animation: kenburnsRight ease-out;
}

@-webkit-keyframes kenburnsRight {
	0% {
		-webkit-transform: scale(1.5) translate(-10%, 0);
		transform: scale(1.5) translate(-10%, 0);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
@keyframes kenburnsRight {
	0% {
		-webkit-transform: scale(1.5) translate(-10%, 0);
		transform: scale(1.5) translate(-10%, 0);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
.vegas-animation-kenburnsUpLeft {
	-webkit-animation: kenburnsUpLeft ease-out;
	animation: kenburnsUpLeft ease-out;
}

@-webkit-keyframes kenburnsUpLeft {
	0% {
		-webkit-transform: scale(1.5) translate(10%, 10%);
		transform: scale(1.5) translate(10%, 10%);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
@keyframes kenburnsUpLeft {
	0% {
		-webkit-transform: scale(1.5) translate(10%, 10%);
		transform: scale(1.5) translate(10%, 10%);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
.vegas-animation-kenburnsUpRight {
	-webkit-animation: kenburnsUpRight ease-out;
	animation: kenburnsUpRight ease-out;
}

@-webkit-keyframes kenburnsUpRight {
	0% {
		-webkit-transform: scale(1.5) translate(-10%, 10%);
		transform: scale(1.5) translate(-10%, 10%);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
@keyframes kenburnsUpRight {
	0% {
		-webkit-transform: scale(1.5) translate(-10%, 10%);
		transform: scale(1.5) translate(-10%, 10%);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
.vegas-animation-kenburnsUp {
	-webkit-animation: kenburnsUp ease-out;
	animation: kenburnsUp ease-out;
}

@-webkit-keyframes kenburnsUp {
	0% {
		-webkit-transform: scale(1.5) translate(0, 10%);
		transform: scale(1.5) translate(0, 10%);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
@keyframes kenburnsUp {
	0% {
		-webkit-transform: scale(1.5) translate(0, 10%);
		transform: scale(1.5) translate(0, 10%);
	}
	100% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
}
.vegas-animation-kenburnsR {
	-webkit-animation: kenburnsR ease-out;
	animation: kenburnsR ease-out;
}

@-webkit-keyframes kenburnsR {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1.5);
		transform: scale(1.5);
	}
}
@keyframes kenburnsR {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1.5);
		transform: scale(1.5);
	}
}
.vegas-animation-kenburnsRDownLeft {
	-webkit-animation: kenburnsRDownLeft ease-out;
	animation: kenburnsRDownLeft ease-out;
}

@-webkit-keyframes kenburnsRDownLeft {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(10%, -10%);
		transform: scale(1.5) translate(10%, -10%);
	}
}
@keyframes kenburnsRDownLeft {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(10%, -10%);
		transform: scale(1.5) translate(10%, -10%);
	}
}
.vegas-animation-kenburnsRDownRight {
	-webkit-animation: kenburnsRDownRight ease-out;
	animation: kenburnsRDownRight ease-out;
}

@-webkit-keyframes kenburnsRDownRight {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(-10%, -10%);
		transform: scale(1.5) translate(-10%, -10%);
	}
}
@keyframes kenburnsRDownRight {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(-10%, -10%);
		transform: scale(1.5) translate(-10%, -10%);
	}
}
.vegas-animation-kenburnsRDown {
	-webkit-animation: kenburnsRDown ease-out;
	animation: kenburnsRDown ease-out;
}

@-webkit-keyframes kenburnsRDown {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(0, -10%);
		transform: scale(1.5) translate(0, -10%);
	}
}
@keyframes kenburnsRDown {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(0, -10%);
		transform: scale(1.5) translate(0, -10%);
	}
}
.vegas-animation-kenburnsRLeft {
	-webkit-animation: kenburnsRLeft ease-out;
	animation: kenburnsRLeft ease-out;
}

@-webkit-keyframes kenburnsRLeft {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(10%, 0);
		transform: scale(1.5) translate(10%, 0);
	}
}
@keyframes kenburnsRLeft {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(10%, 0);
		transform: scale(1.5) translate(10%, 0);
	}
}
.vegas-animation-kenburnsRRight {
	-webkit-animation: kenburnsRRight ease-out;
	animation: kenburnsRRight ease-out;
}

@-webkit-keyframes kenburnsRRight {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(-10%, 0);
		transform: scale(1.5) translate(-10%, 0);
	}
}
@keyframes kenburnsRRight {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(-10%, 0);
		transform: scale(1.5) translate(-10%, 0);
	}
}
.vegas-animation-kenburnsRUpLeft {
	-webkit-animation: kenburnsRUpLeft ease-out;
	animation: kenburnsRUpLeft ease-out;
}

@-webkit-keyframes kenburnsRUpLeft {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(10%, 10%);
		transform: scale(1.5) translate(10%, 10%);
	}
}
@keyframes kenburnsRUpLeft {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(10%, 10%);
		transform: scale(1.5) translate(10%, 10%);
	}
}
.vegas-animation-kenburnsRUpRight {
	-webkit-animation: kenburnsRUpRight ease-out;
	animation: kenburnsRUpRight ease-out;
}

@-webkit-keyframes kenburnsRUpRight {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(-10%, 10%);
		transform: scale(1.5) translate(-10%, 10%);
	}
}
@keyframes kenburnsRUpRight {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(-10%, 10%);
		transform: scale(1.5) translate(-10%, 10%);
	}
}
.vegas-animation-kenburnsRUp {
	-webkit-animation: kenburnsRUp ease-out;
	animation: kenburnsRUp ease-out;
}

@-webkit-keyframes kenburnsRUp {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(0, 10%);
		transform: scale(1.5) translate(0, 10%);
	}
}
@keyframes kenburnsRUp {
	0% {
		-webkit-transform: scale(1) translate(0, 0);
		transform: scale(1) translate(0, 0);
	}
	100% {
		-webkit-transform: scale(1.5) translate(0, 10%);
		transform: scale(1.5) translate(0, 10%);
	}
}
