@charset "UTF-8";
/* --------------------------------------------------
 00: Reset Style
 -------------------------------------------------- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

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

body {
	line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, picture {
	display: block;
}

h1, h2, h3, h4, h5, h6, dt, th {
	font-weight: normal;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

input, select, button, textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	border-radius: 0;
	border: none;
	background-color: transparent;
	font-family: inherit;
	font-size: 100%;
	vertical-align: middle;
}

select {
	text-indent: .01px;
	text-overflow: "";
}

select::-ms-expand {
	display: none;
}

/* --------------------------------------------------
 01: Utility Style
 -------------------------------------------------- */
/* Float */
.u-fl {
	float: left !important;
}

.u-fr {
	float: right !important;
}

/* Align */
.u-taL {
	text-align: left !important;
}

.u-taR {
	text-align: right !important;
}

.u-taC {
	text-align: center !important;
}

/* size */
.u-txXS {
	font-size: 10px !important;
}

.u-txSS {
	font-size: 11px !important;
}

.u-txS {
	font-size: 12px !important;
}

.u-txM {
	font-size: 14px !important;
}

.u-txL {
	font-size: 16px !important;
}

.u-txLL {
	font-size: 18px !important;
}

.u-txXL {
	font-size: 20px !important;
}

/* Width */
.u-w15px {
	width: 15px !important;
}

.u-w20px {
	width: 20px !important;
}

.u-w25px {
	width: 25px !important;
}

.u-w30px {
	width: 30px !important;
}

.u-w35px {
	width: 35px !important;
}

.u-w40px {
	width: 40px !important;
}

.u-w45px {
	width: 45px !important;
}

.u-w50px {
	width: 50px !important;
}

.u-w55px {
	width: 55px !important;
}

.u-w60px {
	width: 60px !important;
}

.u-w65px {
	width: 65px !important;
}

.u-w70px {
	width: 70px !important;
}

.u-w75px {
	width: 75px !important;
}

.u-w80px {
	width: 80px !important;
}

.u-w85px {
	width: 85px !important;
}

.u-w90px {
	width: 90px !important;
}

.u-w95px {
	width: 95px !important;
}

.u-w100px {
	width: 100px !important;
}

.u-w105px {
	width: 105px !important;
}

.u-w110px {
	width: 110px !important;
}

.u-w115px {
	width: 115px !important;
}

.u-w120px {
	width: 120px !important;
}

.u-w125px {
	width: 125px !important;
}

.u-w130px {
	width: 130px !important;
}

.u-w135px {
	width: 135px !important;
}

.u-w140px {
	width: 140px !important;
}

.u-w145px {
	width: 145px !important;
}

.u-w150px {
	width: 150px !important;
}

.u-w155px {
	width: 155px !important;
}

.u-w160px {
	width: 160px !important;
}

.u-w165px {
	width: 165px !important;
}

.u-w170px {
	width: 170px !important;
}

.u-w175px {
	width: 175px !important;
}

.u-w180px {
	width: 180px !important;
}

.u-w185px {
	width: 185px !important;
}

.u-w190px {
	width: 190px !important;
}

.u-w195px {
	width: 195px !important;
}

.u-w200px {
	width: 200px !important;
}

.u-w205px {
	width: 205px !important;
}

.u-w210px {
	width: 210px !important;
}

.u-w215px {
	width: 215px !important;
}

.u-w220px {
	width: 220px !important;
}

.u-w225px {
	width: 225px !important;
}

.u-w230px {
	width: 230px !important;
}

.u-w235px {
	width: 235px !important;
}

.u-w240px {
	width: 240px !important;
}

.u-w245px {
	width: 245px !important;
}

.u-w250px {
	width: 250px !important;
}

.u-w255px {
	width: 255px !important;
}

.u-w260px {
	width: 260px !important;
}

.u-w265px {
	width: 265px !important;
}

.u-w270px {
	width: 270px !important;
}

.u-w275px {
	width: 275px !important;
}

.u-w280px {
	width: 280px !important;
}

.u-w285px {
	width: 285px !important;
}

.u-w290px {
	width: 290px !important;
}

.u-w295px {
	width: 295px !important;
}

.u-w300px {
	width: 300px !important;
}

.u-w305px {
	width: 305px !important;
}

.u-w310px {
	width: 310px !important;
}

.u-w315px {
	width: 315px !important;
}

.u-w320px {
	width: 320px !important;
}

.u-w325px {
	width: 325px !important;
}

.u-w330px {
	width: 330px !important;
}

.u-w335px {
	width: 335px !important;
}

.u-w340px {
	width: 340px !important;
}

.u-w345px {
	width: 345px !important;
}

.u-w350px {
	width: 350px !important;
}

.u-w355px {
	width: 355px !important;
}

.u-w360px {
	width: 360px !important;
}

.u-w365px {
	width: 365px !important;
}

.u-w370px {
	width: 370px !important;
}

.u-w375px {
	width: 375px !important;
}

.u-w380px {
	width: 380px !important;
}

.u-w385px {
	width: 385px !important;
}

.u-w390px {
	width: 390px !important;
}

.u-w395px {
	width: 395px !important;
}

.u-w400px {
	width: 400px !important;
}

.u-w405px {
	width: 405px !important;
}

.u-w410px {
	width: 410px !important;
}

.u-w415px {
	width: 415px !important;
}

.u-w420px {
	width: 420px !important;
}

.u-w425px {
	width: 425px !important;
}

.u-w430px {
	width: 430px !important;
}

.u-w435px {
	width: 435px !important;
}

.u-w440px {
	width: 440px !important;
}

.u-w445px {
	width: 445px !important;
}

.u-w450px {
	width: 450px !important;
}

.u-w455px {
	width: 455px !important;
}

.u-w460px {
	width: 460px !important;
}

.u-w465px {
	width: 465px !important;
}

.u-w470px {
	width: 470px !important;
}

.u-w475px {
	width: 475px !important;
}

.u-w480px {
	width: 480px !important;
}

.u-w485px {
	width: 485px !important;
}

.u-w490px {
	width: 490px !important;
}

.u-w495px {
	width: 495px !important;
}

.u-w500px {
	width: 500px !important;
}

.u-w5per {
	width: 5% !important;
}

.u-w10per {
	width: 10% !important;
}

.u-w15per {
	width: 15% !important;
}

.u-w20per {
	width: 20% !important;
}

.u-w25per {
	width: 25% !important;
}

.u-w30per {
	width: 30% !important;
}

.u-w35per {
	width: 35% !important;
}

.u-w40per {
	width: 40% !important;
}

.u-w45per {
	width: 45% !important;
}

.u-w50per {
	width: 50% !important;
}

.u-w55per {
	width: 55% !important;
}

.u-w60per {
	width: 60% !important;
}

.u-w65per {
	width: 65% !important;
}

.u-w70per {
	width: 70% !important;
}

.u-w75per {
	width: 75% !important;
}

.u-w80per {
	width: 80% !important;
}

.u-w85per {
	width: 85% !important;
}

.u-w90per {
	width: 90% !important;
}

.u-w95per {
	width: 95% !important;
}

.u-w100per {
	width: 100% !important;
}

/* Margin Padding */
.u-noMargin {
	margin: 0 !important;
}

.u-noPadding {
	padding: 0 !important;
}

.u-mt0 {
	margin-top: 0 !important;
}

.u-mb0 {
	margin-bottom: 0 !important;
}

.u-pt0 {
	padding-top: 0 !important;
}

.u-pb0 {
	padding-bottom: 0 !important;
}

.u-mt5 {
	margin-top: 5px !important;
}

.u-mb5 {
	margin-bottom: 5px !important;
}

.u-pt5 {
	padding-top: 5px !important;
}

.u-pb5 {
	padding-bottom: 5px !important;
}

.u-mt10 {
	margin-top: 10px !important;
}

.u-mb10 {
	margin-bottom: 10px !important;
}

.u-pt10 {
	padding-top: 10px !important;
}

.u-pb10 {
	padding-bottom: 10px !important;
}

.u-mt15 {
	margin-top: 15px !important;
}

.u-mb15 {
	margin-bottom: 15px !important;
}

.u-pt15 {
	padding-top: 15px !important;
}

.u-pb15 {
	padding-bottom: 15px !important;
}

.u-mt20 {
	margin-top: 20px !important;
}

.u-mb20 {
	margin-bottom: 20px !important;
}

.u-pt20 {
	padding-top: 20px !important;
}

.u-pb20 {
	padding-bottom: 20px !important;
}

.u-mt25 {
	margin-top: 25px !important;
}

.u-mb25 {
	margin-bottom: 25px !important;
}

.u-pt25 {
	padding-top: 25px !important;
}

.u-pb25 {
	padding-bottom: 25px !important;
}

.u-mt30 {
	margin-top: 30px !important;
}

.u-mb30 {
	margin-bottom: 30px !important;
}

.u-pt30 {
	padding-top: 30px !important;
}

.u-pb30 {
	padding-bottom: 30px !important;
}

.u-mt35 {
	margin-top: 35px !important;
}

.u-mb35 {
	margin-bottom: 35px !important;
}

.u-pt35 {
	padding-top: 35px !important;
}

.u-pb35 {
	padding-bottom: 35px !important;
}

.u-mt40 {
	margin-top: 40px !important;
}

.u-mb40 {
	margin-bottom: 40px !important;
}

.u-pt40 {
	padding-top: 40px !important;
}

.u-pb40 {
	padding-bottom: 40px !important;
}

.u-mt45 {
	margin-top: 45px !important;
}

.u-mb45 {
	margin-bottom: 45px !important;
}

.u-pt45 {
	padding-top: 45px !important;
}

.u-pb45 {
	padding-bottom: 45px !important;
}

.u-mt50 {
	margin-top: 50px !important;
}

.u-mb50 {
	margin-bottom: 50px !important;
}

.u-pt50 {
	padding-top: 50px !important;
}

.u-pb50 {
	padding-bottom: 50px !important;
}

/* Clear */
.u-clr {
	clear: both;
}

/* Display */
@media only screen and (max-width: 767px) {
	.u-display-pc {
		display: none;
	}
}
.u-display-sp {
	display: none;
}

@media only screen and (max-width: 767px) {
	.u-display-sp {
		display: block;
	}
}
/* --------------------------------------------------
 02: Base Style
 -------------------------------------------------- */
html {
	font-size: 62.5%;
	-ms-overflow-style: -ms-autohiding-scrollbar;
}

body {
	margin: 0 auto;
	background-color: #f2f5f9;
	color: #083e8e;
	padding-bottom: 120px;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic W3", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, system-ui, sans-serif;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-size: 2rem;
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
}

body::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100vh;
	background-color: #fff;
	-webkit-animation: fadeOut 1.5s cubic-bezier(.455, .03, .515, .955) .1s both;
	animation: fadeOut 1.5s cubic-bezier(.455, .03, .515, .955) .1s both;
}

body.is-fixed {
	overflow: hidden;
}

@media only screen and (max-width: 767px) {
	body {
		padding-bottom: 0;
		font-size: 4vw;
	}
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	transition: .3s;
}

/* --------------------------------------------------
 03: Animation
 -------------------------------------------------- */
/* fadeIn */
@-webkit-keyframes fadeIn {
	0% {
		visibility: hidden;
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeIn {
	0% {
		visibility: hidden;
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/* fadeOut */
@-webkit-keyframes fadeOut {
	0% {
		opacity: 1;
		pointer-events: none;
	}
	100% {
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}
}
@keyframes fadeOut {
	0% {
		opacity: 1;
		pointer-events: none;
	}
	100% {
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}
}
/* scrollAnimation */
[data-scroll] {
	opacity: 0;
	-webkit-transform: translate(0, 30px);
	transform: translate(0, 30px);
	transition: opacity .6s cubic-bezier(.55, .055, .675, .19), -webkit-transform .6s cubic-bezier(.55, .055, .675, .19);
	transition: opacity .6s cubic-bezier(.55, .055, .675, .19), transform .6s cubic-bezier(.55, .055, .675, .19);
	transition: opacity .6s cubic-bezier(.55, .055, .675, .19), transform .6s cubic-bezier(.55, .055, .675, .19), -webkit-transform .6s cubic-bezier(.55, .055, .675, .19);
}

[data-scroll].is-active {
	opacity: 1;
	-webkit-transform: translate(0);
	transform: translate(0);
	transition: opacity 1.2s cubic-bezier(.37, .16, .12, 1), -webkit-transform 1.2s cubic-bezier(.37, .16, .12, 1);
	transition: opacity 1.2s cubic-bezier(.37, .16, .12, 1), transform 1.2s cubic-bezier(.37, .16, .12, 1);
	transition: opacity 1.2s cubic-bezier(.37, .16, .12, 1), transform 1.2s cubic-bezier(.37, .16, .12, 1), -webkit-transform 1.2s cubic-bezier(.37, .16, .12, 1);
}

[data-scroll].is-active[data-scroll-delay="100"] {
	transition-delay: .1s;
}

[data-scroll].is-active[data-scroll-delay="200"] {
	transition-delay: .2s;
}

[data-scroll].is-active[data-scroll-delay="300"] {
	transition-delay: .3s;
}

[data-scroll].is-active[data-scroll-delay="400"] {
	transition-delay: .4s;
}

[data-scroll].is-active[data-scroll-delay="500"] {
	transition-delay: .5s;
}

[data-scroll].is-active[data-scroll-delay="600"] {
	transition-delay: .6s;
}

[data-scroll].is-active[data-scroll-delay="700"] {
	transition-delay: .7s;
}

[data-scroll].is-active[data-scroll-delay="800"] {
	transition-delay: .8s;
}

[data-scroll].is-active[data-scroll-delay="900"] {
	transition-delay: .9s;
}

[data-scroll].is-active[data-scroll-delay="1000"] {
	transition-delay: 1s;
}

/* --------------------------------------------------
 04: Link Style
 -------------------------------------------------- */
a {
	color: inherit;
	transition: .3s;
}

a:hover {
	color: #0cba7a;
	text-decoration: none;
}

/* --------------------------------------------------
 05: Wrapper Style
 -------------------------------------------------- */
.l-wrap {
	box-sizing: content-box;
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}

.l-wrap.-wide {
	max-width: 1080px;
}

@media only screen and (max-width: 767px) {
	.l-wrap {
		padding-right: 5.3333333333vw;
		padding-left: 5.3333333333vw;
	}
}
/* --------------------------------------------------
 06: Header Style
 -------------------------------------------------- */
/* l-nav-global */
.l-nav-global {
	position: absolute;
	right: 0;
	bottom: 3.90625vw;
	left: 0;
	z-index: 30;
	transition: bottom .3s cubic-bezier(.215, .61, .355, 1);
}

.l-nav-global.is-active {
	position: fixed;
	bottom: 30px;
}

.l-nav-global__overlay {
	visibility: hidden;
	opacity: 0;
}

.l-nav-global__contents {
	box-sizing: content-box;
	max-width: 1080px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}

.l-nav-global__list {
	display: flex;
	justify-content: space-between;
	padding-right: 7.4074074074%;
	padding-left: 7.4074074074%;
	border-radius: 80px;
	background-color: #0cba7a;
}

.l-nav-global__list li {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.334;
}

.l-nav-global__list li:not(:first-child) {
	margin-left: 4.8148148148%;
}

.l-nav-global__list li a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 80px;
	color: #fff;
	text-align: center;
	text-decoration: none;
}

.l-nav-global__list li a::after {
	content: "";
	width: 100%;
	border-bottom: 2px dotted;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	transition: .3s;
}

.l-nav-global__list li a:hover::after {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

.l-nav-global__close {
	display: none;
}

@media only screen and (max-width: 767px) {
	.l-nav-global {
		position: fixed;
		right: auto;
		bottom: auto;
		left: auto;
		z-index: 30;
	}

	.l-nav-global[aria-hidden=false] .l-nav-global__overlay {
		visibility: visible;
		opacity: 1;
	}

	.l-nav-global[aria-hidden=false] .l-nav-global__contents {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
	}

	.l-nav-global[aria-hidden=false] .l-nav-global__list li {
		visibility: visible;
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	.l-nav-global[aria-hidden=false] .l-nav-global__list li:nth-child(1) {
		transition-delay: .2s;
	}

	.l-nav-global[aria-hidden=false] .l-nav-global__list li:nth-child(2) {
		transition-delay: .25s;
	}

	.l-nav-global[aria-hidden=false] .l-nav-global__list li:nth-child(3) {
		transition-delay: .3s;
	}

	.l-nav-global[aria-hidden=false] .l-nav-global__list li:nth-child(4) {
		transition-delay: .35s;
	}

	.l-nav-global[aria-hidden=false] .l-nav-global__list li:nth-child(5) {
		transition-delay: .4s;
	}

	.l-nav-global[aria-hidden=false] .l-nav-global__list li:nth-child(6) {
		transition-delay: .45s;
	}

	.l-nav-global[aria-hidden=false] .l-nav-global__close {
		visibility: visible;
		opacity: 1;
	}

	.l-nav-global__overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transition: .3s;
	}

	.l-nav-global__contents {
		box-sizing: content-box;
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 0;
		bottom: 0;
		left: 100%;
		z-index: 3;
		max-width: none;
		min-width: 64.8vw;
		height: calc(100% - 26.6666666667vw);
		padding: 0 0 26.6666666667vw;
		background-color: #fff;
		transition: .3s cubic-bezier(.215, .61, .355, 1);
	}

	.l-nav-global__inner {
		overflow-x: hidden;
		overflow-y: auto;
		-ms-overflow-style: none;
		-webkit-overflow-scrolling: touch;
	}

	.l-nav-global__list {
		display: block;
		padding-right: 0;
		padding-left: 0;
		border-radius: 0;
		background-color: transparent;
	}

	.l-nav-global__list li {
		visibility: hidden;
		opacity: 0;
		border-bottom: .5333333333vw solid #f2f5f9;
		font-size: 4.8vw;
		-webkit-transform: translateX(8vw);
		transform: translateX(8vw);
		transition: opacity .5s cubic-bezier(.215, .61, .355, 1), -webkit-transform .5s cubic-bezier(.215, .61, .355, 1);
		transition: opacity .5s cubic-bezier(.215, .61, .355, 1), transform .5s cubic-bezier(.215, .61, .355, 1);
		transition: opacity .5s cubic-bezier(.215, .61, .355, 1), transform .5s cubic-bezier(.215, .61, .355, 1), -webkit-transform .5s cubic-bezier(.215, .61, .355, 1);
	}

	.l-nav-global__list li:not(:first-child) {
		margin-left: 0;
	}

	.l-nav-global__list li a {
		align-items: flex-start;
		height: 18.6666666667vw;
		padding-right: 5.3333333333vw;
		padding-left: 5.3333333333vw;
		color: #083e8e;
		text-align: left;
	}

	.l-nav-global__list li a::after {
		content: none;
	}

	.l-nav-global__close {
		visibility: hidden;
		opacity: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		right: 5.3333333333vw;
		bottom: 10.6666666667vw;
		left: 5.3333333333vw;
		z-index: 10;
		width: calc(100% - 10.6666666667vw);
		height: 10.6666666667vw;
		border-radius: 10.6666666667vw;
		background-color: #0cba7a;
		color: #fff;
		font-size: 4.8vw;
		font-weight: 700;
		text-align: center;
		cursor: pointer;
		transition: opacity .5s .5s;
	}

	.l-nav-global__close:hover {
		opacity: .6;
	}
}
/* l-nav-menu */
.l-nav-menu {
	display: none;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 2.6666666667vw;
	right: 2.6666666667vw;
	z-index: 10;
	width: 18.6666666667vw;
	height: 18.6666666667vw;
	padding-top: 8.5333333333vw;
	border-radius: 100%;
	background-color: #0cba7a;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
	color: #fff;
	font-size: 2.4vw;
	line-height: 1;
	text-align: center;
	cursor: pointer;
}

.l-nav-menu i, .l-nav-menu::before, .l-nav-menu::after {
	display: inline-block;
	position: absolute;
	left: 50%;
	width: 10.6666666667vw;
	height: .5333333333vw;
	background-color: #fff;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	transition: .5s;
}

.l-nav-menu i {
	top: 8vw;
	will-change: opacity;
}

.l-nav-menu::before, .l-nav-menu::after {
	content: "";
	will-change: transform;
}

.l-nav-menu::before {
	top: 5.8666666667vw;
}

.l-nav-menu::after {
	top: 10.1333333333vw;
}

@media only screen and (max-width: 767px) {
	.l-nav-menu {
		display: flex;
	}
}
/* --------------------------------------------------
 07: Contents Style
-------------------------------------------------- */
main {
	overflow: hidden;
}

/* l-contents */
/* --------------------------------------------------
 08: Footer Style
 -------------------------------------------------- */
.l-footer {
	padding-bottom: 20px;
}

.l-footer__list {
	margin-top: 80px;
}

.l-footer__list div:last-child {
	display: flex;
}

.l-footer__list div:last-child dt {
	flex-shrink: 0;
	margin-right: 1em;
}

.l-footer__list div:not(:first-child) {
	margin-top: 5px;
}

.l-footer__list dt, .l-footer__list dd {
	font-size: 1.6rem;
}

.l-footer__list dt {
	font-weight: 700;
}

@media only screen and (max-width: 767px) {
	.l-footer {
		padding-bottom: 5.3333333333vw;
	}

	.l-footer__list {
		margin-top: 10.6666666667vw;
	}

	.l-footer__list div:not(:first-child) {
		margin-top: 2.6666666667vw;
	}

	.l-footer__list dt, .l-footer__list dd {
		font-size: 3.2vw;
	}
}
/* l-sns-footer */
.l-sns-footer {
	padding-top: 100px;
}

.l-sns-footer__headline {
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.l-sns-footer__list {
	display: flex;
	margin-top: 50px;
}

.l-sns-footer__list li {
	flex: 1;
	font-weight: 700;
}

.l-sns-footer__list a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100px;
	color: #fff;
	text-align: center;
	text-decoration: none;
}

.l-sns-footer__list a::before {
	content: "";
	margin-right: 10px;
	background: center/contain no-repeat;
}

.l-sns-footer__list a:hover {
	opacity: .6;
}

.l-sns-footer__list a.-twitter {
	background-color: #1da1f2;
}

.l-sns-footer__list a.-twitter::before {
	width: 36px;
	height: 30px;
	background-image: url(/election2021/assets/img/common/ic_sns_twitter.svg);
}

.l-sns-footer__list a.-instagram {
	background: url(/election2021/assets/img/common/area-sns_bg_instagram.png) center/cover no-repeat;
}

.l-sns-footer__list a.-instagram::before {
	width: 36px;
	height: 36px;
	background-image: url(/election2021/assets/img/common/ic_sns_instagram.svg);
}

.l-sns-footer__list a.-line {
	background-color: #00b900;
}

.l-sns-footer__list a.-line::before {
	width: 36px;
	height: 36px;
	background-image: url(/election2021/assets/img/common/ic_sns_line.svg);
}

@media only screen and (max-width: 767px) {
	.l-sns-footer {
		padding-top: 16vw;
	}

	.l-sns-footer__headline {
		font-size: 4.8vw;
	}

	.l-sns-footer__list {
		display: block;
		margin-top: 5.3333333333vw;
	}

	.l-sns-footer__list li:not(:first-child) {
		margin-top: 4vw;
	}

	.l-sns-footer__list a {
		height: 21.3333333333vw;
	}

	.l-sns-footer__list a::before {
		margin-right: 2.6666666667vw;
	}

	.l-sns-footer__list a:hover {
		opacity: .6;
	}

	.l-sns-footer__list a.-twitter::before {
		width: 9.6vw;
		height: 8vw;
	}

	.l-sns-footer__list a.-instagram::before {
		width: 9.6vw;
		height: 9.6vw;
	}

	.l-sns-footer__list a.-line::before {
		width: 9.6vw;
		height: 9.6vw;
	}
}
/* l-copyright */
.l-copyright {
	margin-top: 75px;
	color: #a2a8be;
	font-size: 1.2rem;
	text-align: right;
}

@media only screen and (max-width: 767px) {
	.l-copyright {
		margin-top: 9.3333333333vw;
		font-size: 2.6666666667vw;
		text-align: left;
	}
}
/* --------------------------------------------------
 Component
 -------------------------------------------------- */
/* GROUP
------------------------------ */
/* c-group-headline */
.c-group-headline {
	margin-bottom: 35px;
}

.c-group-headline.-w {
	color: #fff;
}

.c-group-headline__sub, .c-group-headline__main {
	font-weight: 700;
	line-height: 1.5;
}

.c-group-headline__sub {
	font-size: 1.8rem;
}

.c-group-headline__main {
	font-size: 4.8rem;
}

@media only screen and (max-width: 767px) {
	.c-group-headline {
		margin-bottom: 5.3333333333vw;
	}

	.c-group-headline__sub {
		font-size: 3.4666666667vw;
	}

	.c-group-headline__main {
		font-size: 8vw;
	}
}
/* SLIDE
------------------------------ */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	touch-action: pan-y;
}

.slick-slider button {
	outline: 0;
	cursor: pointer;
}

.slick-slider .slick-track, .slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: 0;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
}

.slick-track:before, .slick-track:after {
	display: table;
	content: "";
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;
	min-height: 1px;
	outline: 0;
}

[dir=rtl] .slick-slide {
	float: right;
}

.slick-slide img {
	display: inline;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: inline-block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}

/* --------------------------------------------------
 Project
 -------------------------------------------------- */
/* --------------------------------------------------
 INDEX
 -------------------------------------------------- */
/* p-visual-main */
.p-visual-main {
	position: relative;
	height: 60vw;
	background: url(/election2021/assets/img/top/visual_bg@pc.jpg) center/cover no-repeat;
}

.p-visual-main .l-wrap {
	position: relative;
	height: 100%;
}

.p-visual-main__logo {
	position: absolute;
	top: 6.40625vw;
	left: 20px;
	line-height: 1;
}

.p-visual-main__logo svg {
	width: 36.596875vw;
	height: 37.27296875vw;
}

.p-visual-main__text {
	position: absolute;
	top: 3.125vw;
	right: 40px;
}

.p-visual-main__text img {
	width: 7.34375vw;
	transition: none;
}

@media only screen and (max-width: 767px) {
	.p-visual-main {
		height: 150vw;
		background-image: url(/election2021/assets/img/top/visual_bg@sp.jpg);
	}

	.p-visual-main__logo {
		top: auto;
		bottom: 6.6666666667vw;
		left: 2.6666666667vw;
	}

	.p-visual-main__logo svg {
		width: 62.6666666667vw;
		height: 64.2666666667vw;
	}

	.p-visual-main__logo svg path {
		fill: #fff;
	}

	.p-visual-main__text {
		top: 5.3333333333vw;
		right: auto;
		left: 5.3333333333vw;
	}

	.p-visual-main__text img {
		width: 15.0666666667vw;
	}
}
/* p-area-message */
.p-area-message {
	padding-top: 80px;
	padding-bottom: 70px;
}

.p-area-message__movie {
	position: relative;
	max-width: 720px;
	margin-right: auto;
	margin-left: auto;
}

.p-area-message__movie iframe, .p-area-message__movie object, .p-area-message__movie embed {
	vertical-align: bottom;
}

.p-area-message__text {
	margin-top: 60px;
}

.p-area-message__text p:not(:first-child) {
	margin-top: 1.5em;
}

.p-area-message__sign {
	margin-top: 30px;
	text-align: right;
}

.p-area-message__sign img[src*=_01] {
	width: 183px;
}

.p-area-message__sign img[src*=_02] {
	width: 295px;
}

@media only screen and (max-width: 767px) {
	.p-area-message {
		padding-top: 10.6666666667vw;
		padding-bottom: 10.6666666667vw;
	}

	.p-area-message__movie {
		max-width: none;
	}

	.p-area-message__movie::before {
		content: "";
		display: block;
		padding-top: 56.25%;
	}

	.p-area-message__movie iframe, .p-area-message__movie object, .p-area-message__movie embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.p-area-message__text {
		margin-top: 8vw;
	}

	.p-area-message__sign {
		margin-top: 8vw;
	}

	.p-area-message__sign img[src*=_01] {
		width: 31.7333333333vw;
	}

	.p-area-message__sign img[src*=_02] {
		width: 51.0666666667vw;
	}
}
/* p-area-policy */
.p-area-policy {
	position: relative;
	z-index: 1;
	padding-top: 175px;
}

.p-area-policy::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: -1;
	height: 600px;
	background: url(/election2021/assets/img/top/area-policy_bg_01.jpg) center/cover no-repeat;
}

.p-area-policy__contents {
	position: relative;
	z-index: 3;
	margin-top: 120px;
	margin-right: calc(50% - 50vw);
	padding: 60px 100px 60px 90px;
	background-color: #fff;
}

.p-area-policy__list {
	max-width: 900px;
}

.p-area-policy__list div:not(:first-child) {
	border-top: 3px solid #f2f5f9;
}

.p-area-policy__list dt, .p-area-policy__list dd {
	padding-left: 125px;
}

.p-area-policy__list dt {
	display: flex;
	align-items: center;
	position: relative;
	padding-top: 45px;
	padding-right: 80px;
	padding-bottom: 45px;
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.5;
	cursor: pointer;
}

.p-area-policy__list dt[aria-expanded=true]::after {
	-webkit-transform: translateY(4px) rotate(225deg);
	transform: translateY(4px) rotate(225deg);
}

.p-area-policy__list dt::before, .p-area-policy__list dt::after {
	content: "";
	position: absolute;
}

.p-area-policy__list dt::before {
	top: 51px;
	right: 20px;
	width: 40px;
	height: 40px;
	border-radius: 100%;
	border: 4px solid;
}

.p-area-policy__list dt::after {
	top: 63px;
	right: 34px;
	width: 12px;
	height: 12px;
	border-right: 4px solid;
	border-bottom: 4px solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: .3s;
}

.p-area-policy__list dt i {
	display: inline-block;
	position: absolute;
	top: 45px;
	left: 0;
	width: 125px;
	line-height: 1;
	text-align: center;
}

.p-area-policy__list dd {
	display: none;
	margin-top: -25px;
	padding-bottom: 45px;
}

.p-area-policy__carousel {
	margin-top: -80px;
}

.p-area-policy__carousel img {
	height: 360px;
}

@media only screen and (max-width: 767px) {
	.p-area-policy {
		padding-top: 10.6666666667vw;
	}

	.p-area-policy::before {
		height: 47.2vw;
	}

	.p-area-policy__contents {
		margin-top: 8vw;
		padding: 0;
	}

	.p-area-policy__list div:not(:first-child) {
		border-top-width: .5333333333vw;
	}

	.p-area-policy__list dt {
		padding: 7.4666666667vw 13.3333333333vw 7.4666666667vw 18.6666666667vw;
		font-size: 4.8vw;
	}

	.p-area-policy__list dt[aria-expanded=true]::after {
		-webkit-transform: translateY(.5333333333vw) rotate(225deg);
		transform: translateY(.5333333333vw) rotate(225deg);
	}

	.p-area-policy__list dt::before {
		top: 8vw;
		right: 5.3333333333vw;
		width: 5.3333333333vw;
		height: 5.3333333333vw;
		border-width: .5333333333vw;
	}

	.p-area-policy__list dt::after {
		top: 9.6vw;
		right: 7.2vw;
		width: 1.6vw;
		height: 1.6vw;
		border-right-width: .5333333333vw;
		border-bottom-width: .5333333333vw;
	}

	.p-area-policy__list dt i {
		top: 6.9333333333vw;
		left: 5.3333333333vw;
		width: auto;
	}

	.p-area-policy__list dt i img {
		width: auto;
		height: 6.8vw;
	}

	.p-area-policy__list dd {
		margin-top: -2.6666666667vw;
		padding: 0 5.3333333333vw 7.4666666667vw;
	}

	.p-area-policy__carousel {
		margin-top: -10.6666666667vw;
	}

	.p-area-policy__carousel img {
		height: 48vw;
	}
}
/* p-area-media */
.p-area-media {
	padding-top: 140px;
	padding-bottom: 150px;
}

.p-area-media__contents {
	margin-top: 45px;
}

.p-area-media__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: -50px;
}

.p-area-media__item {
	position: relative;
	flex-basis: calc(50% - 25px);
	margin-top: 50px;
}

.p-area-media__label {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 20px;
	left: -10px;
	width: 74px;
	height: 26px;
	background-color: #0cba7a;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .2em;
	line-height: 1;
	text-align: center;
}

.p-area-media__image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 265px;
	background-color: #e6ebf3;
	text-align: center;
}

.p-area-media__headline {
	margin-top: 25px;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-area-media__text {
	margin-top: 10px;
	font-size: 1.7rem;
}

.p-area-media__notes {
	margin-top: 15px;
	color: #a2a8be;
	font-size: 1.5rem;
	line-height: 1.5;
}

@media only screen and (max-width: 767px) {
	.p-area-media {
		padding-top: 18.6666666667vw;
		padding-bottom: 18.6666666667vw;
	}

	.p-area-media__contents {
		margin-top: 6vw;
	}

	.p-area-media__list {
		display: block;
		margin-top: 0;
	}

	.p-area-media__item {
		width: 69.0666666667vw !important;
		margin-top: 0;
	}

	.p-area-media__label {
		top: 2.6666666667vw;
		left: -1.3333333333vw;
		width: 13.8666666667vw;
		height: 5.3333333333vw;
		font-size: 2.6666666667vw;
	}

	.p-area-media__image {
		height: 42.9333333333vw;
	}

	.p-area-media__image img {
		width: auto;
		height: 34.6666666667vw;
	}

	.p-area-media__headline {
		margin-top: 4vw;
		font-size: 4.2666666667vw;
	}

	.p-area-media__text {
		margin-top: 2.6666666667vw;
		font-size: 3.4666666667vw;
	}

	.p-area-media__notes {
		margin-top: 4vw;
		font-size: 3.4666666667vw;
	}

	.p-area-media.slick-initialized {
		display: block;
	}

	.p-area-media .slick-list {
		overflow: visible;
	}

	.p-area-media .slick-track {
		display: flex;
	}

	.p-area-media .slick-slide > div {
		height: 100%;
	}

	.p-area-media .slick-slide:not(:first-child) {
		margin-left: 5.3333333333vw;
	}
}
/* p-area-support */
.p-area-support {
	padding-top: 100px;
}

.p-area-support__list {
	margin-top: 50px;
}

.p-area-support__item {
	position: relative;
	margin-right: calc(50% - 50vw);
	padding: 40px calc(50vw - 50%) 40px 90px;
	background-color: #e6ebf3;
}

.p-area-support__item:not(:first-child) {
	margin-top: 3px;
}

.p-area-support__image {
	position: absolute;
	top: 40px;
	left: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.p-area-support__headline {
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-area-support__headline span {
	margin-left: .5em;
	font-size: 1.4rem;
}

.p-area-support__contents {
	margin-top: 10px;
}

.p-area-support__btn {
	display: none;
}

@media only screen and (max-width: 767px) {
	.p-area-support {
		padding-top: 20vw;
	}

	.p-area-support__list {
		margin-top: 6.6666666667vw;
	}

	.p-area-support__item {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin-right: 0;
		padding: 5.3333333333vw 5.3333333333vw;
	}

	.p-area-support__item:not(:first-child) {
		margin-top: .5333333333vw;
	}

	.p-area-support__image {
		position: static;
		flex: 0 0 13.3333333333vw;
		-webkit-transform: none;
		transform: none;
	}

	.p-area-support__headline {
		margin-left: 2.6666666667vw;
		font-size: 4.8vw;
		line-height: 1.223;
	}

	.p-area-support__headline span {
		display: block;
		margin-left: 0;
		font-size: 2.6666666667vw;
	}

	.p-area-support__contents {
		flex-basis: 100%;
		margin-top: 2.6666666667vw;
	}

	.p-area-support__text {
		display: inline;
		vertical-align: -.1333333333vw;
	}

	.p-area-support__more {
		display: none;
	}

	.p-area-support__more[aria-hidden=false] {
		display: inline !important;
	}

	.p-area-support__btn {
		display: inline-block;
		color: #083e8e;
		font-weight: 700;
		cursor: pointer;
	}

	.p-area-support__btn::before {
		content: "…[";
	}

	.p-area-support__btn::after {
		content: "]";
	}

	.p-area-support__btn[aria-expanded=true]::before {
		content: "[";
	}

	.p-area-support__btn[aria-expanded=true] span:first-child {
		display: none;
	}

	.p-area-support__btn[aria-expanded=true] span:last-child {
		display: inline;
	}

	.p-area-support__btn span {
		text-decoration: underline;
	}

	.p-area-support__btn span:last-child {
		display: none;
	}
}
/* p-area-profile */
.p-area-profile {
	position: relative;
	z-index: 1;
	padding-top: 175px;
}

.p-area-profile::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: -1;
	height: 600px;
	background: url(/election2021/assets/img/top/area-profile_bg.jpg) center/cover no-repeat;
}

.p-area-profile__contents {
	position: relative;
	z-index: 3;
	max-width: 630px;
	margin-top: 120px;
	padding: 70px 90px 80px 0;
	background-color: #fff;
}

.p-area-profile__contents::before {
	content: "";
	position: absolute;
	top: 0;
	right: 100%;
	bottom: 0;
	left: -50vw;
	z-index: -1;
	background-color: #fff;
}

.p-area-profile__headline {
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-area-profile__headline span {
	margin-left: 1em;
	font-size: 1.8rem;
}

.p-area-profile__text {
	margin-top: 20px;
}

.p-area-profile__more {
	margin-top: 25px;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: right;
}

@media only screen and (max-width: 767px) {
	.p-area-profile {
		padding-top: 12vw;
	}

	.p-area-profile::before {
		height: 47.2vw;
	}

	.p-area-profile__contents {
		max-width: none;
		margin-top: 9.3333333333vw;
		padding: 6.6666666667vw 5.3333333333vw 8vw 0;
	}

	.p-area-profile__headline {
		font-size: 4.8vw;
	}

	.p-area-profile__headline span {
		font-size: 2.6666666667vw;
	}

	.p-area-profile__text {
		margin-top: 2.6666666667vw;
	}

	.p-area-profile__more {
		margin-top: 4vw;
		font-size: 3.4666666667vw;
	}
}
/*##################################################
-------------LIST-------------
 00: Reset
 01: Utility
 02: Base
 03: Animation
 04: Link
 05: Wrapper
 06: Header
 07: Contents
 08: Footer
     Component
     Project
------------------------------
##################################################*/