@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%;
	scroll-behavior: smooth;
	-ms-overflow-style: -ms-autohiding-scrollbar;
}

body {
	padding-top: 72px;
	color: #333;
	font-family: "Zen Kaku Gothic New", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic W3", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, system-ui, sans-serif;
	font-size: 1.6rem;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
}

body.is-fixed {
	overflow: hidden;
}

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

:target {
	scroll-margin-top: 72px;
}

@media only screen and (max-width: 767px) {
	:target {
		scroll-margin-top: 56px;
	}
}
/* lazyload */
.lazyload, .lazyloading {
	opacity: 0;
	visibility: hidden;
}

.lazyloaded {
	opacity: 1;
	visibility: visible;
}

/* --------------------------------------------------
 03: Animation
-------------------------------------------------- */
/* fadeIn */
@-webkit-keyframes fadeIn {
	0% {
		visibility: hidden;
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeIn {
	0% {
		visibility: hidden;
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/* fadeBlur */
@-webkit-keyframes fadeBlur {
	100% {
		opacity: 1;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
}
@keyframes fadeBlur {
	100% {
		opacity: 1;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
}
/* slideFadeIn */
@-webkit-keyframes slideFadeIn {
	100% {
		opacity: 1;
		translate: 0;
	}
}
@keyframes slideFadeIn {
	100% {
		opacity: 1;
		translate: 0;
	}
}
/* 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: #0f99ff;
	text-decoration: none;
	transition: .3s;
}

a:hover {
	color: #0f99ff;
	text-decoration: underline;
}

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

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

/* --------------------------------------------------
 06: Header Style
-------------------------------------------------- */
.l-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 50;
	min-height: 72px;
	padding: 4px 16px 4px 24px;
	background-color: rgba(255, 255, 255, .96);
}

.l-header__logo {
	position: relative;
	z-index: 100;
	flex-shrink: 0;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.334;
}

.l-header__logo a {
	display: block;
	color: #333;
}

.l-header__logo span {
	display: block;
	font-size: 1.2rem;
}

@media only screen and (max-width: 767px) {
	.l-header {
		min-height: 56px;
		padding: 4px 16px;
	}

	.l-header__logo {
		font-size: 2.2rem;
	}

	.l-header__logo span {
		font-size: 1rem;
	}
}
/* l-nav-menu */
.l-nav-menu {
	display: none;
	position: absolute;
	top: calc(50% - 4px);
	right: 128px;
	z-index: 100;
	width: 32px;
	height: 32px;
	color: #333;
	font-size: 1.2rem;
	font-weight: 500;
	cursor: pointer;
	text-align: center;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.l-nav-menu::before, .l-nav-menu::after {
	content: "";
	display: inline-block;
	position: absolute;
	left: 50%;
	width: 100%;
	height: 3px;
	background-color: #333;
	will-change: transform;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	transition: .5s;
}

.l-nav-menu::before {
	top: 20px;
}

.l-nav-menu::after {
	top: 28px;
}

.l-nav-menu span:last-child {
	display: none;
}

.l-nav-menu[aria-expanded=true]::before {
	-webkit-transform: translate(-50%, 4px);
	transform: translate(-50%, 4px);
}

.l-nav-menu[aria-expanded=true]::after {
	-webkit-transform: translate(-50%, -4px);
	transform: translate(-50%, -4px);
}

.l-nav-menu[aria-expanded=true] span:first-child {
	display: none;
}

.l-nav-menu[aria-expanded=true] span:last-child {
	display: inline;
}

@media only screen and (max-width: 1024px) {
	.l-nav-menu {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
}
@media only screen and (max-width: 767px) {
	.l-nav-menu {
		right: 16px;
	}
}
/* l-nav-global */
.l-nav-global {
	display: contents;
}

.l-nav-global__overlay {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	top: 56px;
	left: 0;
	width: 100%;
	height: 100%;
	transition: .5s;
	background-color: rgba(255, 255, 255, .96);
}

.l-nav-global__contents, .l-nav-global__inner {
	display: contents;
}

.l-nav-global__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px clamp(20px, 20px + 12 * (100vw - 1024px) / 342, 32px);
	flex: 1;
	margin-right: 16px;
	margin-left: 16px;
}

.l-nav-global__list li {
	font-weight: 500;
}

.l-nav-global__list a {
	color: inherit;
}

.l-nav-global__list a:hover {
	color: #0f99ff;
	text-decoration: none;
}

.l-nav-global__sns {
	display: flex;
	align-items: center;
	gap: 8px;
}

.l-nav-global__sns li {
	flex-shrink: 0;
}

.l-nav-global__sns a:hover {
	opacity: .5;
}

.l-nav-global__sns img {
	transition: none;
}

@media only screen and (max-width: 1024px) {
	.l-nav-global {
		display: block;
	}

	.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%);
		transition-delay: 0s;
	}

	.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: .5s;
	}

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

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

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

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

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

	.l-nav-global__contents, .l-nav-global__inner {
		display: block;
	}

	.l-nav-global__contents {
		box-sizing: content-box;
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 0;
		left: 100%;
		bottom: 0;
		z-index: 3;
		width: 100%;
		padding-top: 72px;
	}

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

	.l-nav-global__list {
		display: block;
		margin-right: 0;
		margin-left: 0;
	}

	.l-nav-global__list li {
		visibility: hidden;
		opacity: 0;
		background: linear-gradient(to right, #144064, #144064 25%, transparent 25%, transparent 100%) left bottom/4px 1px repeat-x;
		font-size: 2.2rem;
		-webkit-transform: translateX(30px);
		transform: translateX(30px);
		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 a {
		display: flex;
		align-items: center;
		position: relative;
		min-height: 64px;
	}

	.l-nav-global__list a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 2px;
		width: 12px;
		height: 12px;
		border-top: 1px solid;
		border-right: 1px solid;
		-webkit-transform: translateY(-50%) rotate(45deg);
		transform: translateY(-50%) rotate(45deg);
		transition: .3s;
	}

	.l-nav-global__list a:hover::after {
		translate: 4px 0;
	}

	.l-nav-global__sns {
		position: fixed;
		top: 16px;
		right: 16px;
	}
}
@media only screen and (max-width: 767px) {
	.l-nav-global[aria-hidden=false] .l-nav-global__sns li {
		visibility: visible;
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
		transition-delay: .85s;
	}

	.l-nav-global__contents {
		padding-top: 56px;
	}

	.l-nav-global__sns {
		justify-content: center;
		gap: 16px;
		position: static;
		margin-top: 40px;
	}

	.l-nav-global__sns li {
		visibility: hidden;
		opacity: 0;
		-webkit-transform: translateX(30px);
		transform: translateX(30px);
		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__sns img {
		width: 56px;
	}
}
/* --------------------------------------------------
 07: Contents Style
-------------------------------------------------- */
main {
	overflow: hidden;
}

/* l-contents */
/* --------------------------------------------------
 08: Footer Style
-------------------------------------------------- */
.l-footer {
	padding-top: 20px;
	padding-bottom: 20px;
	background-color: #333;
	color: #fff;
}

/* l-copyright */
.l-copyright {
	font-size: 1.4rem;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.l-copyright {
		font-size: 1.2rem;
	}
}
/* --------------------------------------------------
 Component
-------------------------------------------------- */
/* AREA
------------------------------ */
/* c-area-common */
.c-area-common {
	position: relative;
	z-index: 3;
	padding-top: 80px;
	padding-bottom: 80px;
}

.c-area-common.-bg {
	background-color: #f1f4fe;
}

.c-area-common.-bg::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	background: url(/assets/img/common/bg.svg) center;
	opacity: .5;
}

.c-area-common__back:first-child {
	margin-bottom: 24px;
}

.c-area-common__back:not(:first-child) {
	margin-top: 24px;
}

@media only screen and (max-width: 767px) {
	.c-area-common {
		padding-top: 56px;
		padding-bottom: 56px;
	}
}
/* NAV
------------------------------ */
/* c-nav-lower */
.c-nav-lower {
	padding: 32px 40px;
	border-radius: 8px;
	background-color: #f8faff;
}

.c-nav-lower__headline {
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.25;
}

.c-nav-lower ul {
	display: flex;
	justify-content: center;
	gap: 8px 16px;
	margin-top: 20px;
}

.c-nav-lower li {
	flex-basis: 245px;
}

.c-nav-lower li a {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-height: 56px;
	padding: 8px 32px;
	border-radius: 4px;
	border: 1px solid #dbdcdd;
	background-color: #fff;
	color: inherit;
}

.c-nav-lower li a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 18px;
	width: 12px;
	height: 12px;
	border-top: 1px solid;
	border-right: 1px solid;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	transition: translate .3s;
}

.c-nav-lower li a:hover, .c-nav-lower li a.is-active {
	background-color: #0f99ff;
	border-color: #0f99ff;
	color: #fff;
}

.c-nav-lower li a:hover {
	text-decoration: none;
}

.c-nav-lower li a:hover::after {
	translate: 4px 0;
}

.c-nav-lower li a.is-active {
	pointer-events: none;
}

.c-nav-lower li a.is-active::after {
	content: none;
}

@media only screen and (max-width: 767px) {
	.c-nav-lower {
		padding: 16px;
	}

	.c-nav-lower__headline {
		font-size: 1.4rem;
	}

	.c-nav-lower ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
		margin-top: 16px;
	}

	.c-nav-lower li a {
		min-height: 40px;
		padding-right: 20px;
		padding-left: 20px;
	}

	.c-nav-lower li a::after {
		right: 10px;
		width: 8px;
		height: 8px;
	}

	.c-nav-lower li span {
		display: none;
	}
}
/* GROUP
------------------------------ */
/* c-group-header */
.c-group-header {
	text-align: center;
}

.c-group-header:not(:first-child) {
	margin-top: 44px;
}

.c-group-header__tagline {
	margin-bottom: 8px;
	font-size: 2rem;
	line-height: 1.25;
}

.c-group-header__headline {
	font-size: 6.4rem;
	line-height: 1.1;
}

.c-group-header__text {
	margin-top: 32px;
}

@media only screen and (max-width: 1024px) {
	.c-group-header__text {
		text-align: left;
	}
}
@media only screen and (max-width: 767px) {
	.c-group-header:not(:first-child) {
		margin-top: 36px;
	}

	.c-group-header__tagline {
		margin-bottom: 4px;
		font-size: 1.6rem;
	}

	.c-group-header__headline {
		margin-right: -28px;
		margin-left: -28px;
		font-size: 3.2rem;
	}

	.c-group-header__text {
		margin-top: 28px;
	}
}
/* BUTTON
------------------------------ */
/* c-btn */
.c-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: min(100%, 544px);
	height: 72px;
	margin-right: auto;
	margin-left: auto;
	padding: 8px 64px;
	border-radius: 4px;
	background-color: #144064;
	color: #fff;
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
}

.c-btn[target=_blank]::before, .c-btn[href^=mailto]::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	background: center/contain no-repeat;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.c-btn[target=_blank]::before {
	width: 24px;
	height: 24px;
	background-image: url(/assets/img/common/ic_window.svg);
}

.c-btn[href^=mailto]::before {
	width: 32px;
	height: 24px;
	background-image: url(/assets/img/common/ic_mail.svg);
}

.c-btn:hover {
	background-color: #0f99ff;
	color: #fff;
	text-decoration: none;
}

@media only screen and (max-width: 767px) {
	.c-btn {
		height: 56px;
		padding-right: 52px;
		padding-left: 52px;
		font-size: 1.8rem;
	}
}
/* c-btn-back */
.c-btn-back {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	max-width: 160px;
	min-height: 40px;
	padding: 8px 32px;
	border-radius: 4px;
	border: 1px solid #dbdcdd;
	background-color: #fff;
	color: inherit;
}

.c-btn-back::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 18px;
	width: 12px;
	height: 12px;
	border-bottom: 1px solid;
	border-left: 1px solid;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	transition: translate .3s;
}

.c-btn-back:hover {
	background-color: #0f99ff;
	border-color: #0f99ff;
	color: #fff;
	text-decoration: none;
}

.c-btn-back:hover::before {
	translate: -4px 0;
}

/* --------------------------------------------------
 Project
-------------------------------------------------- */
/* --------------------------------------------------
 INDEX
-------------------------------------------------- */
/* p-visual */
.p-visual {
	position: relative;
	height: 600px;
}

.p-visual__slide {
	overflow: hidden;
	height: 100%;
}

.p-visual__slide .swiper-wrapper {
	transition: linear 1s;
}

.p-visual__slide .swiper-slide {
	opacity: 0;
	overflow: hidden;
	max-width: 400px;
	margin-right: 40px;
	margin-left: 40px;
	text-align: center;
	translate: 0 80px;
	-webkit-animation: slideFadeIn 1.1s cubic-bezier(0, 0, .13, .99) both;
	animation: slideFadeIn 1.1s cubic-bezier(0, 0, .13, .99) both;
}

.p-visual__slide .swiper-slide:nth-child(4n+1) {
	-webkit-animation-delay: .18s;
	animation-delay: .18s;
}

.p-visual__slide .swiper-slide:nth-child(4n+2) {
	-webkit-animation-delay: .21s;
	animation-delay: .21s;
}

.p-visual__slide .swiper-slide:nth-child(4n+3) {
	-webkit-animation-delay: .24s;
	animation-delay: .24s;
}

.p-visual__slide .swiper-slide:nth-child(4n+4) {
	-webkit-animation-delay: .15s;
	animation-delay: .15s;
}

.p-visual__slide .swiper-slide:nth-child(4n+1), .p-visual__slide .swiper-slide:nth-child(4n+2) {
	margin-top: -16px;
}

.p-visual__slide .swiper-slide:nth-child(4n+3), .p-visual__slide .swiper-slide:nth-child(4n+4) {
	margin-top: 40px;
}

.p-visual__slide .swiper-slide img {
	border-radius: 120px 0 120px 0;
}

.p-visual__slide .swiper-slide img:not(:first-child) {
	margin-top: 64px;
}

.p-visual__slide .swiper-slide img[width="240"] {
	border-radius: 72px 0 72px 0;
}

.p-visual .l-wrap {
	position: absolute;
	inset: 0;
	z-index: 3;
	margin-right: auto;
	margin-left: auto;
}

.p-visual__contents {
	opacity: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin-top: 64px;
	margin-left: auto;
	max-width: 55.2631578947%;
	padding-right: 5.2631578947%;
	padding-left: 5.2631578947%;
	border-top-left-radius: 200px;
	background-color: rgba(255, 255, 255, .8);
	text-align: left;
	-webkit-filter: blur(30px);
	filter: blur(30px);
	-webkit-animation: fadeBlur 1.5s .2s cubic-bezier(.76, 0, .24, 1) both;
	animation: fadeBlur 1.5s .2s cubic-bezier(.76, 0, .24, 1) both;
}

.p-visual__headline {
	font-size: min(8.2236842105vw, 10rem);
	font-weight: 400;
	line-height: 1.2;
}

.p-visual__headline span {
	display: block;
	font-size: 2rem;
	font-weight: 500;
	text-align: left;
}

.p-visual__copy {
	margin-top: 16px;
}

@media only screen and (max-width: 1024px) {
	.p-visual {
		height: 400px;
	}

	.p-visual__slide .swiper-slide {
		max-width: 268px;
		margin-right: 28px;
		margin-left: 28px;
	}

	.p-visual__slide .swiper-slide:nth-child(4n+1), .p-visual__slide .swiper-slide:nth-child(4n+2) {
		margin-top: -12px;
	}

	.p-visual__slide .swiper-slide:nth-child(4n+3), .p-visual__slide .swiper-slide:nth-child(4n+4) {
		margin-top: 24px;
	}

	.p-visual__slide .swiper-slide img {
		border-radius: 80px 0 80px 0;
	}

	.p-visual__slide .swiper-slide img:not(:first-child) {
		margin-top: 42px;
	}

	.p-visual__slide .swiper-slide img[width="240"] {
		width: 160px;
		border-radius: 48px 0 48px 0;
	}

	.p-visual__contents {
		margin-top: 40px;
		max-width: 452px;
		padding-right: 40px;
		padding-left: 40px;
		border-radius: 120px 0 120px 0;
	}

	.p-visual__headline {
		font-size: 6.7rem;
	}

	.p-visual__headline span {
		font-size: 1.3rem;
	}

	.p-visual__copy img {
		width: 324px;
	}
}
@media only screen and (max-width: 767px) {
	.p-visual {
		height: 280px;
	}

	.p-visual__slide .swiper-slide {
		max-width: 200px;
		margin-right: 20px;
		margin-left: 20px;
	}

	.p-visual__slide .swiper-slide:nth-child(4n+1), .p-visual__slide .swiper-slide:nth-child(4n+2) {
		margin-top: -8px;
	}

	.p-visual__slide .swiper-slide:nth-child(4n+3), .p-visual__slide .swiper-slide:nth-child(4n+4) {
		margin-top: 20px;
	}

	.p-visual__slide .swiper-slide img {
		border-radius: 60px 0 60px 0;
	}

	.p-visual__slide .swiper-slide img:not(:first-child) {
		margin-top: 32px;
	}

	.p-visual__slide .swiper-slide img[width="240"] {
		width: 120px;
		border-radius: 36px 0 36px 0;
	}

	.p-visual__contents {
		max-width: none;
		margin: 0 -12px 0 0;
		padding-right: 12px;
		padding-left: 12px;
		border-radius: 80px 0 80px 0;
		-webkit-transform: translateY(50%);
		transform: translateY(50%);
	}

	.p-visual__headline {
		font-size: 4.9rem;
	}

	.p-visual__headline span {
		font-size: 1.2rem;
	}

	.p-visual__copy img {
		width: 238px;
	}
}
/* p-area-profile */
.p-area-profile {
	background-color: #f1f4fe;
	padding-bottom: 80px;
}

.p-area-profile__unit {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-start;
	gap: 0 4.6052631579%;
}

.p-area-profile__contents {
	flex-basis: 55.2631578947%;
	padding: 76px 5.2631578947% 60px;
	border-bottom-right-radius: 200px;
	background-color: rgba(255, 255, 255, .64);
}

.p-area-profile__text p {
	font-size: 1.8rem;
	line-height: 1.8;
}

.p-area-profile__text p.-copy {
	margin-top: 1em !important;
	font-size: 2.6rem;
	line-height: 1.5;
}

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

.p-area-profile__profile {
	flex: 1;
	max-width: 424px;
	padding-top: 48px;
}

.p-area-profile__group {
	display: flex;
	align-items: center;
	gap: 0 16px;
}

.p-area-profile__image {
	overflow: hidden;
	flex-basis: 240px;
	border-radius: 100%;
	background-color: #fff;
}

.p-area-profile__image img {
	width: 100%;
	max-width: none;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-area-profile__name {
	flex: 1 0 auto;
	font-size: 2.6rem;
}

.p-area-profile__name span {
	display: block;
	margin-top: 4px;
	font-size: 1.4rem;
}

.p-area-profile__list {
	margin-top: 24px;
}

.p-area-profile__list > div {
	display: grid;
	grid-template-columns: 4em 1fr;
	margin-top: -1px;
	padding-top: 8px;
	padding-bottom: 8px;
	border-top: 1px solid #dbdcdd;
	border-bottom: 1px solid #dbdcdd;
}

.p-area-profile__list > div.-other {
	grid-template-columns: 8em 1fr;
}

.p-area-profile__list dt, .p-area-profile__list dd {
	font-size: 1.4rem;
}

@media only screen and (max-width: 1024px) {
	.p-area-profile {
		scroll-margin-top: 28px;
		padding-top: 64px;
		padding-bottom: 80px;
	}

	.p-area-profile__unit {
		display: block;
	}

	.p-area-profile__contents {
		padding: 0;
		border-bottom-right-radius: 0;
		background-color: transparent;
	}

	.p-area-profile__profile {
		display: flex;
		max-width: none;
		margin-top: 72px;
		padding-top: 0;
		gap: 0 32px;
	}

	.p-area-profile__group {
		display: block;
		flex: 0 0 240px;
	}

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

	.p-area-profile__name {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		margin: 8px auto 0;
	}
}
@media only screen and (max-width: 767px) {
	.p-area-profile {
		scroll-margin-top: -88px;
		padding-top: 168px;
		padding-bottom: 56px;
	}

	.p-area-profile__text p {
		font-size: 1.4rem;
	}

	.p-area-profile__text p.-copy {
		font-size: 1.8rem;
	}

	.p-area-profile__profile {
		display: block;
		margin-top: 44px;
	}

	.p-area-profile__group {
		max-width: 160px;
		margin-right: auto;
		margin-left: auto;
	}

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

	.p-area-profile__name {
		width: auto;
		font-size: 2.2rem;
		text-align: center;
	}

	.p-area-profile__name span {
		margin-top: 0;
		font-size: 1.2rem;
	}

	.p-area-profile__list > div {
		grid-template-columns: 3.5em 1fr;
	}

	.p-area-profile__list > div.-other {
		grid-template-columns: 7.5em 1fr;
	}

	.p-area-profile__list dt, .p-area-profile__list dd {
		font-size: 1.2rem;
	}
}
/* p-area-style */
.p-area-style.-lower .p-area-style__text {
	text-align: left;
}

.p-area-style__headline-main {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 3;
	min-height: 48px;
	padding: 4px 8px;
	border-radius: 20px 0 20px 0;
	background-color: #0f99ff;
	color: #fff;
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
}

.p-area-style__headline-main::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	background: url(/assets/img/common/bg.svg) center top;
	opacity: .1;
}

.p-area-style__headline-main:not(:first-child) {
	margin-top: 72px;
}

.p-area-style__unit {
	margin-top: 44px;
}

.p-area-style__unit:not(:last-child) {
	margin-bottom: 72px;
}

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

.p-area-style__headline {
	padding-bottom: 8px;
	background: linear-gradient(to right, #144064, #144064 25%, transparent 25%, transparent 100%) left bottom/4px 1px repeat-x;
	color: #0f99ff;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
}

.p-area-style__lead {
	margin-top: 24px;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
}

.p-area-style__text {
	margin-top: 16px;
	text-align: center;
}

.p-area-style__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 16px;
	margin-top: 24px;
}

.p-area-style__list li {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 4px 8px;
	background-color: #f6fd47;
	font-weight: 500;
	line-height: 1.25;
}

.p-area-style__footer {
	margin-top: 24px;
	padding: 24px;
	border-radius: 8px;
	background-color: #f1f4fe;
}

.p-area-style__headline-sub {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 240px;
	height: 40px;
	margin-right: auto;
	margin-left: auto;
	padding: 4px 20px;
	border: 3px solid #c83956;
	border-radius: 40px;
	background-color: #fff;
	color: #c83956;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.25;
	text-align: center;
}

.p-area-style__policy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 4px 8px;
	background-color: #f6fd47;
	font-weight: 500;
}

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

.p-area-style__report.-success dt {
	color: #c83956;
}

.p-area-style__report.-success dd {
	color: #c83956;
}

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

.p-area-style__report > div {
	display: flex;
	align-items: center;
	gap: 8px;
}

.p-area-style__report dt {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 64px;
	height: 64px;
	border: 3px solid;
	border-radius: 100%;
	background-color: #fff;
	color: #9ca1af;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1;
	text-align: center;
	-webkit-transform: rotate(-15deg);
	transform: rotate(-15deg);
}

.p-area-style__report dd {
	color: #7c7c7c;
}

@media only screen and (max-width: 767px) {
	.p-area-style__headline-main {
		min-height: 40px;
		border-radius: 16px 0 16px 0;
		font-size: 2rem;
	}

	.p-area-style__headline-main:not(:first-child) {
		margin-top: 40px;
	}

	.p-area-style__unit {
		margin-top: 40px;
	}

	.p-area-style__unit:not(:last-child) {
		margin-bottom: 48px;
	}

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

	.p-area-style__headline {
		font-size: 1.8rem;
	}

	.p-area-style__lead {
		margin: 16px -.5em 0;
		font-size: 1.6rem;
		text-align: left;
	}

	.p-area-style__text {
		margin-top: 12px;
		text-align: left;
	}

	.p-area-style__list {
		justify-content: flex-start;
		gap: 8px;
	}

	.p-area-style__list li {
		min-height: 28px;
	}

	.p-area-style__footer {
		padding: 16px;
	}

	.p-area-style__headline-sub {
		max-width: 160px;
		font-size: 1.4rem;
	}

	.p-area-style__report > div {
		align-items: flex-start;
	}

	.p-area-style__report dt {
		flex-basis: 56px;
		height: 56px;
		font-size: 1.6rem;
	}
}
/* p-area-info */
.p-area-info {
	padding-bottom: 0;
}

.p-area-info__contents {
	min-height: 876px;
	margin: 40px calc(50% - 50vw) 0;
	padding: 48px calc(50vw - 50%) 80px;
	background: url(/assets/img/top/area-info_bg@pc.webp) center/cover no-repeat;
}

.p-area-info__sns {
	max-width: 544px;
}

.p-area-info__blog {
	margin-top: 24px;
}

@media only screen and (max-width: 1024px) {
	.p-area-info__contents {
		padding-top: 0;
		padding-bottom: 530px;
		background: url(/assets/img/top/area-info_bg@sp.webp) center bottom/auto 482px no-repeat;
	}

	.p-area-info__sns {
		margin-right: auto;
		margin-left: auto;
	}

	.p-area-info__blog {
		margin-top: 24px;
	}
}
@media only screen and (max-width: 767px) {
	.p-area-info__contents {
		min-height: auto;
		padding-bottom: 272px;
		background-size: auto 240px;
	}
}
/* p-area-contact */
.p-area-contact__btn {
	margin-top: 20px;
}

.p-area-contact__list {
	margin-top: 68px;
}

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

.p-area-contact__headline {
	padding-bottom: 8px;
	background: linear-gradient(to right, #144064, #144064 25%, transparent 25%, transparent 100%) left bottom/4px 1px repeat-x;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
}

.p-area-contact__text {
	margin-top: 20px;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-area-contact__list {
		margin-top: 44px;
	}

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

	.p-area-contact__headline {
		font-size: 1.8rem;
	}

	.p-area-contact__text {
		margin-top: 16px;
		text-align: left;
	}
}
/* p-block-support */
.p-block-support {
	margin-top: 40px;
}

.p-block-support__headline {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
}

.p-block-support__movie {
	position: relative;
	margin-top: 24px;
}

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

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

@media only screen and (max-width: 767px) {
	.p-block-support__headline {
		margin-top: 28px;
		font-size: 1.6rem;
		text-align: left;
	}

	.p-block-support__movie {
		margin-top: 16px;
	}
}
/* p-unit-contact */
.p-unit-contact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 20px;
}

.p-unit-contact__item {
	flex: 1;
	max-width: 532px;
	margin-right: auto;
	margin-left: auto;
	border-radius: 8px;
	background-color: #fff;
}

.p-unit-contact__headline {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 8px 20px;
	border-radius: 8px 8px 0 0;
	background-color: #9ca1af;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
}

.p-unit-contact__contents {
	padding: 20px;
}

.p-unit-contact__text {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-right: auto;
	margin-left: auto;
	font-weight: 500;
}

.p-unit-contact__text b {
	font-size: 2.6rem;
}

.p-unit-contact__list {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-right: auto;
	margin-left: auto;
}

.p-unit-contact__list > div {
	display: grid;
	grid-template-columns: 5em 1fr;
}

.p-unit-contact__list dt, .p-unit-contact__list dd {
	font-weight: 500;
}

.p-unit-contact__list dd {
	padding-left: 1em;
	text-indent: -1em;
}

.p-unit-contact__list dd::before {
	content: "：";
}

@media only screen and (max-width: 1024px) {
	.p-unit-contact {
		display: block;
	}

	.p-unit-contact__item:not(:first-child) {
		margin-top: 24px;
	}
}
@media only screen and (max-width: 767px) {
	.p-unit-contact__headline {
		height: 40px;
		font-size: 1.6rem;
	}

	.p-unit-contact__contents {
		padding: 16px 8px;
	}

	.p-unit-contact__text b {
		font-size: 2.2rem;
	}

	.p-unit-contact__list {
		padding-right: 16px;
		padding-left: 16px;
	}
}
/*##################################################
-------------LIST-------------
 00: Reset
 01: Utility
 02: Base
 03: Animation
 04: Link
 05: Wrapper
 06: Header
 07: Contents
 08: Footer
     Component
     Project
------------------------------
##################################################*/