@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

/*-------------------------------------------

reset

-------------------------------------------*/

html, body, 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, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video{
  margin:0;
  padding:0;
  border:0;
  outline:0;
  vertical-align:baseline;
  background:transparent;
}
article, aside, figure, footer, header, hgroup, nav, section{display:block;}

*, ::after, ::before{
  box-sizing: border-box;
}
html{overflow-y:scroll;}
ul{list-style:none;}
blockquote, q{quotes:none;}
blockquote:before,
blockquote:after,
q:before,
q:after{content:''; content:none;}
a{margin:0; padding:0;  vertical-align:baseline; background:transparent;}
del{text-decoration:line-through;}
abbr[title], dfn[title]{border-bottom:1px dotted #000; cursor:help;}
table{border-collapse:collapse; border-spacing:0;}
th{font-weight:bold; vertical-align:top;}
td{font-weight:normal; vertical-align:top;}
hr{display:block; height:1px; border:0; border-top:1px solid #999; margin:1em 0; padding:0;}
input, select{vertical-align:top;}
pre{
  white-space:pre;
  white-space:pre-wrap;
  white-space:pre-line;
  word-wrap:break-word;
}
input[type="radio"]{vertical-align:middle;}
input[type="checkbox"]{vertical-align:middle;}
select, input, textarea{font:99% sans-serif;}

a:hover, a:active{outline:none;}
strong, th{font-weight:bold;}
td, td img{vertical-align:top;}
sub, sup{line-height:0; position:relative;}

sup {
  top: -0.25em;
  font-size: 0.95em;
}

sub{bottom:-0.25em;}
pre, code, kbd, samp{font-family:monospace, sans-serif;}
.clickable,
label,
input[type=button],
input[type=submit],
button{cursor:pointer;}
button, input, select, textarea{margin:0;}
button{
  width:auto;
  overflow:visible;
  padding: 0;
  appearance: none;
  background: 0 0;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
img{vertical-align:bottom;}

a {color: inherit;text-decoration: none;}

/*-------------------------------------------

Base Setting

-------------------------------------------*/

html {
	font-size:62.5%;
	-webkit-text-size-adjust: 100%;
}

body{
	font-family: 'Noto Sans JP',"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
	font-size: 1.6rem;
	color:#fff;
	line-height:1.5;
	-webkit-text-size-adjust:none;
}

html,
body {
	overflow-x: hidden;
}

html.isOpen,
body.isOpen {
	overflow: hidden;
}
@media screen and (max-width:767px) {
	body{
		font-size: 1.6rem;
	}
	body{
		min-width: 320px;	
	}
}

.both{
	clear: both;
}

.clear:after{content:"";display:table;clear:both;}
.clear{zoom:1;}
.clearfix:after {
	content: " ";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

@media screen and (max-width:767px) {
	img {
		height: auto;
		max-width: 100%;
	}
}


/*-------------------------------------------

general

-------------------------------------------*/
.ffMont {
	font-family: "Montserrat", sans-serif !important;
}

.posRel {
	position: relative !important;
}

.taL{text-align:left !important;}
.taC{text-align:center !important;}
.taR{text-align:right !important;}

.layoutC {
	text-align: center;
}

.vT{vertical-align:top !important;}
.vM{vertical-align:middle !important;}
.vB{vertical-align:bottom !important;}

.fL{float:left;}
.fR{float:right;}
.fN{float:none;}

.fwB{font-weight:bold !important;}
.fw4{font-weight:400 !important;}
.fw5{font-weight:500 !important;}
.fw6{font-weight:600 !important;}
.fw7{font-weight:700 !important;}
.fwN{font-weight:normal !important;}

.wordB{
	word-break:break-all;
	word-wrap: break-word;
}

.indent li {
	margin-left: 1em;
	text-indent: -1em;
}

.borderNone{border:none !important;}

.w100p{width: 100% !important;}
.w95p {width: 95% !important;}
.w90p {width: 90% !important;}
.w85p {width: 85% !important;}
.w80p {width: 80% !important;}
.w75p {width: 75% !important;}
.w70p {width: 70% !important;}
.w65p {width: 65% !important;}
.w60p {width: 60% !important;}
.w55p {width: 55% !important;}
.w51p {width: 51% !important;}
.w50p {width: 50% !important;}
.w49p {width: 49% !important;}
.w48p {width: 48% !important;}
.w47p {width: 47% !important;}
.w46p {width: 46% !important;}
.w45p {width: 45% !important;}
.w40p {width: 40% !important;}
.w35p {width: 35% !important;}
.w30p {width: 30% !important;}
.w26p {width: 26% !important;}
.w25p {width: 25% !important;}
.w20p {width: 20% !important;}
.w15p {width: 15% !important;}
.w10p {width: 10% !important;}
.w8p  {width: 8% !important;}
.w5p  {width: 5% !important;}

.mT0{margin-top:0px !important;}
.mT5{margin-top:5px !important;}
.mT10{margin-top:10px !important;}
.mT15{margin-top:15px !important;}
.mT20{margin-top:20px !important;}
.mT25{margin-top:25px !important;}
.mT30{margin-top:30px !important;}
.mT35{margin-top:35px !important;}
.mT40{margin-top:40px !important;}
.mT45{margin-top:45px !important;}
.mT50{margin-top:50px !important;}
.mT55{margin-top:55px !important;}
.mT60{margin-top:60px !important;}
.mT65{margin-top:65px !important;}
.mT70{margin-top:70px !important;}
.mT75{margin-top:75px !important;}
.mT80{margin-top:80px !important;}
.mT85{margin-top:85px !important;}
.mT90{margin-top:90px !important;}
.mT95{margin-top:95px !important;}
.mT100{margin-top:100px !important;}
.mB0{margin-bottom:0px !important;}
.mB5{margin-bottom:5px !important;}
.mB10{margin-bottom:10px !important;}
.mB15{margin-bottom:15px !important;}
.mB20{margin-bottom:20px !important;}
.mB25{margin-bottom:25px !important;}
.mB30{margin-bottom:30px !important;}
.mB35{margin-bottom:35px !important;}
.mB40{margin-bottom:40px !important;}
.mB45{margin-bottom:45px !important;}
.mB50{margin-bottom:50px !important;}
.mB55{margin-bottom:55px !important;}
.mB60{margin-bottom:60px !important;}
.mB65{margin-bottom:65px !important;}
.mB70{margin-bottom:70px !important;}
.mB75{margin-bottom:75px !important;}
.mB80{margin-bottom:80px !important;}
.mB85{margin-bottom:85px !important;}
.mB90{margin-bottom:90px !important;}
.mB95{margin-bottom:95px !important;}
.mB100{margin-bottom:100px !important;}

.mL0{margin-left:0px !important;}
.mR0{margin-right:0px !important;}

.mCenter{margin-left:auto !important;margin-right:auto !important;}

.pT0{padding-top:0px !important;}
.pT5{padding-top:5px !important;}
.pT10{padding-top:10px !important;}
.pT15{padding-top:15px !important;}
.pT20{padding-top:20px !important;}
.pT25{padding-top:25px !important;}
.pT30{padding-top:30px !important;}
.pT35{padding-top:35px !important;}
.pT40{padding-top:40px !important;}
.pT45{padding-top:45px !important;}
.pT50{padding-top:50px !important;}
.pT55{padding-top:55px !important;}
.pT60{padding-top:60px !important;}
.pT65{padding-top:65px !important;}
.pT70{padding-top:70px !important;}
.pT75{padding-top:75px !important;}
.pT80{padding-top:80px !important;}
.pT85{padding-top:85px !important;}
.pT90{padding-top:90px !important;}
.pT95{padding-top:95px !important;}
.pT100{padding-top:100px !important;}

.pB0{padding-bottom:0px !important;}
.pB5{padding-bottom:5px !important;}
.pB10{padding-bottom:10px !important;}
.pB15{padding-bottom:15px !important;}
.pB20{padding-bottom:20px !important;}
.pB25{padding-bottom:25px !important;}
.pB30{padding-bottom:30px !important;}
.pB35{padding-bottom:35px !important;}
.pB40{padding-bottom:40px !important;}
.pB45{padding-bottom:45px !important;}
.pB50{padding-bottom:50px !important;}
.pB55{padding-bottom:55px !important;}
.pB60{padding-bottom:60px !important;}
.pB65{padding-bottom:65px !important;}
.pB70{padding-bottom:70px !important;}
.pB85{padding-bottom:75px !important;}
.pB90{padding-bottom:80px !important;}
.pB95{padding-bottom:95px !important;}
.pB100{padding-bottom:100px !important;}

.pL0{padding-left:0px !important;}
.pL5{padding-left:5px !important;}
.pL10{padding-left:10px !important;}
.pL15{padding-left:15px !important;}
.pL20{padding-left:20px !important;}
.pL25{padding-left:25px !important;}
.pL30{padding-left:30px !important;}
.pL35{padding-left:35px !important;}
.pL40{padding-left:40px !important;}
.pL45{padding-left:45px !important;}
.pL50{padding-left:50px !important;}
.pL55{padding-left:55px !important;}
.pL60{padding-left:60px !important;}
.pL65{padding-left:65px !important;}
.pL70{padding-left:70px !important;}
.pL75{padding-left:75px !important;}
.pL80{padding-left:80px !important;}
.pL85{padding-left:85px !important;}
.pL90{padding-left:90px !important;}
.pL95{padding-left:95px !important;}
.pL100{padding-left:100px !important;}

.pR0{padding-right:0px !important;}
.pR5{padding-right:5px !important;}
.pR10{padding-right:10px !important;}
.pR15{padding-right:15px !important;}
.pR20{padding-right:20px !important;}
.pR25{padding-right:25px !important;}
.pR30{padding-right:30px !important;}
.pR35{padding-right:35px !important;}
.pR40{padding-right:40px !important;}
.pR45{padding-right:45px !important;}
.pR50{padding-right:50px !important;}
.pR55{padding-right:55px !important;}
.pR60{padding-right:60px !important;}
.pR65{padding-right:65px !important;}
.pR70{padding-right:70px !important;}
.pR75{padding-right:75px !important;}
.pR80{padding-right:80px !important;}
.pR85{padding-right:85px !important;}
.pR90{padding-right:90px !important;}
.pR95{padding-right:95px !important;}
.pR100{padding-right:100px !important;}
@media screen and (max-width:767px) {
	.sp_mT0{margin-top: 0 !important;}
	.sp_mB0{margin-bottom: 0 !important;}
	.sp_pT0{padding-top: 0 !important;}
	.sp_pL0{padding-left: 0 !important;}
	.sp_pB0{padding-bottom: 0 !important;}
	.sp_pR0{padding-right: 0 !important;}
}


/*-------------------------------------------

pc / sp

-------------------------------------------*/
.display_none{
	display: none;
}

.onlyPC{display: block!important;}
.onlyPC_ib{display: inline-block!important;}
.onlySP{display: none!important;}
.onlySP_ib{display: none!important;}

@media screen and (max-width:767px) {
	.onlyPC{display: none!important;}
	.onlyPC_ib{display: none!important;}
	.onlySP{display: block!important;}
	.onlySP_ib{display: inline-block!important;}
}


/*-------------------------------------------

content

-------------------------------------------*/
.no-scroll {
  overflow: hidden;
	height: 100vh;
}

.inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 20px;
}

.sectionInner {
	max-width: 1200px;
	margin: 0 auto;
}

.contentInner {
	max-width: 1120px;
	margin: 0 auto;
}

.inner img {
	max-width: 100%;
}

.hide {
	opacity: 0;
}

.flexBox {
	display: flex !important;
}

.flexSpace {
	justify-content: space-between !important;
}

.verticalTxt {
	writing-mode: vertical-rl;
  text-orientation: upright;
}

.rotateTxt {
	transform: rotate(90deg);
	display: inline-block;
}

.sectionTtl {
	position: absolute;
}

.sectionTtl .mainTtl {
	font-size: min(8.93vw, 100px);
	opacity: 0.5;
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0.04em;
}

.subTtl {
	font-size: min(1.96vw, 22px);
	position: absolute;
	line-height: 1;
	top: calc(-1 * min(0.36vw, 4px));
	letter-spacing: 0.22em;
}

.subTtl.left {
	left: min(8.66vw, 97px);
}

.subTtl.right {
	right: min(8.57vw, 96px);
	top: min(3.66vw, 41px);
}

.line span {
	display: inline-block;
	padding-top: min(1.96vw, 22px);
	position: relative;
}

.line span::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	width: 1px;
	height: min(1.34vw, 15px);
	background-color: #fff;
	margin-left: -1px;
}

@media (max-width: 1279px) and (min-width: 768px) {
	.line span::before {
		margin-left: 0;
	}
}

@media (max-width: 767px) {
	.inner {
		padding: 0;
	}

	.contentInner {
		max-width: min(84.54vw, 700px);
	}

	.rotateTxt.noneSp {
		transform: rotate(0);
	}

	.verticalTxt.noneSp {
		writing-mode: inherit;
		text-orientation: inherit;
	}

	.sectionTtl {
		position: relative;
	}

	.sectionTtl .mainTtl {
    font-size: min(10.87vw, 90px);
	}

	.subTtl {
    font-size: min(2.9vw, 24px);
		right: 0 !important;
	}

	.line span {
    padding-top: 0;
    padding-left: min(4.83vw, 40px);
	}

	.line span::before {
    left: 0;
    top: 50%;
    width: min(2.9vw, 24px);
    height: 1px;
    margin-left: 0;
    margin-top: -1px;
	}
}

/*-------------------------------------------

headerArea

-------------------------------------------*/
.headerArea {
	padding-top: min(4.91vw, 55px);
}

.headerArea .logo {
	width: calc(719 / 2240 * 100%);
	margin-top: min(0.45vw, 5px);
}

.headerArea .linkList {
	width: 100%;
}

.headerArea .linkList a {
	font-size: min(1.52vw, 17px);
	font-weight: 500;
}

.headerArea .linkList a:hover {
	opacity: 0.7;
}

@keyframes slideDown {
  from { opacity: 0; transform: translateY(-20px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media not (max-width: 767px) {
	.headerArea .linkBox {
		width: 52.5%;
		padding-top: min(2.05vw, 23px);
	}
}

@media (max-width: 767px) {
	.wrapper {
		padding-top: min(15.94vw, 132px);
	}
	
	header {
		position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100000;
	}

	.headerArea {
    padding-top: min(6.76vw, 56px);
	}

	.headerArea .contentInner {
		max-width: min(89.37vw, 740px);
	}

	.headerArea .logo {
    width: min(51.45vw, 426px);
	}

	nav.mobileMenu .mobileMenuOverlay {
		z-index: 1337;
		width: 100%;
		height: 100vh;
		position: fixed;
		background: rgba(0,75,145,0.6);
		backdrop-filter: blur(5px);
		-webkit-backdrop-filter: blur(5px);
		top: 0;
		left: 0;
		text-align: center;
		opacity: 0;
		pointer-events: none;
		transform: translateY(20px);
		transition: opacity 0.3s ease, transform 0.3s ease;
	}

	nav.mobileMenu .mobileMenuOverlay.visible {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	nav.mobileMenu .mobileMenuOverlay ul {
		position: relative;
		top: 48%;
		transform: perspective(1px) translateY(-50%);
	}

	nav.mobileMenu .mobileMenuOverlay ul li {
		margin-bottom: min(7.25vw, 60px);
	}

	nav.mobileMenu .mobileMenuOverlay ul li a {
		font-size: min(6.28vw, 52px);
	}
	
	.hamburgerMenu,
	.hamburgerMenu:after,
	.hamburgerMenu:before {
		width: min(7.73vw, 64px);
		height: min(0.72vw, 6px);
	}
	
	.hamburgerWrapper {
		display: block;
		padding-top: 20px;
		z-index: 1338;
		position: relative;
	}
	
	.hamburgerMenu {
		position: relative;
		transition: all 0ms 200ms;
		display: block;
	}
	
	.hamburgerMenu:before {
		content: "";
		position: absolute;
		left: 0;
		bottom: 8px;
		background: #fff;
		transition: bottom 200ms 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
	}
	
	.hamburgerMenu:after {
		content: "";
		position: absolute;
		right: 0;
		top: 3px;
		background: #fff;
		transition: top 200ms 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
		width: min(4.83vw, 40px);
	}
	
	.hamburgerMenu.animate:after {
		top: 0;
		transform: rotate(45deg);
		transition: top 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms 200ms cubic-bezier(0.23, 1, 0.32, 1);
		width: min(7.73vw, 64px);
	}
	
	.hamburgerMenu.animate:before {
		bottom: 0;
		transform: rotate(-45deg);
		transition: bottom 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms 200ms cubic-bezier(0.23, 1, 0.32, 1);
	}
}


/*-------------------------------------------

contactArea

-------------------------------------------*/
.contactArea {
	margin-top: min(12.32vw, 138px);
	padding-top: min(4.83vw, 40px);
}

.contactArea .sectionTtl {
	margin-top: min(0.45vw, 5px);
}

.contactArea .subTtl {
	letter-spacing: 0.1em;
}

.contactArea .sectionCnt > .flexBox {
	width: 100%;
	max-width: min(89.29vw, 1000px);
	margin: min(3.21vw, 36px) auto 0;
	padding: min(6.52vw, 73px) min(8.75vw, 98px);
	background: linear-gradient(to right, rgba(103, 192, 225, 1) 0%, rgba(50, 126, 210, 1) 100%);
	border-radius: min(0.89vw, 10px);
	box-shadow: 0px 5px 4.2px 0.8px rgba(0, 0, 0, 0.16);
}

.contactArea .sectionCnt .col .txt {
	font-size: min(1.61vw, 18px);
	font-weight: 500;
}

.contactArea .col .txtMain {
	font-size: min(2.14vw, 24px);
	font-weight: 500;
	margin-top: min(0.89vw, 10px);
}

.contactArea  .col.mail {
	padding-left: min(12.05vw, 135px);
	background: url('/common/images/ico_mail.png') center left/ min(7.5vw, 84px) min(5.18vw, 58px) no-repeat;
}

.contactArea  .col.phone {
	padding-left: min(11.61vw, 130px);
	background: url('/common/images/ico_phone.png') center left/ min(6.7vw, 75px) min(6.7vw, 75px) no-repeat;
}

@media not (max-width: 767px) {
	.contactArea .col.phone a {
		pointer-events: none;
	}

	.contactArea .col .txtMain a {
		display: inline-block;
		position: relative;
		transition: .3s;
	}

	.contactArea .col .txtMain a::after {
		position: absolute;
		bottom: .3em;
		left: 0;
		content: '';
		width: 100%;
		height: 1px;
		background-color: #fff;
		opacity: 0;
		transition: .3s;
	}

	.contactArea .col .txtMain a:hover::after {
		bottom: 0;
  	opacity: 1;
	}
}

@media (max-width: 767px) {
	.contactArea {
		margin-top: min(15.46vw, 128px);
		padding-top: min(4.83vw, 40px);
	}

	.contactArea .sectionCnt {
		margin: 0 calc(-1 * min(4.35vw, 36px));
	}

	.contactArea .sectionTtl {
    margin-top: min(1.93vw, 16px);
	}

	.contactArea .sectionCnt > .flexBox {
    width: 100%;
		max-width: 100%;
		margin: min(7.97vw, 66px) auto 0;
		padding: min(7.25vw, 60px) min(8.75vw, 98px) min(6.28vw, 52px);
		border-radius: min(2.42vw, 20px);
	}

	.contactArea .col.mail {
    padding-left: 0;
    padding-top: min(14.73vw, 122px);
    background: url('/common/images/ico_mail.png') center top min(0.97vw, 8px) / min(13.53vw, 112px) min(9.42vw, 78px) no-repeat;
		width: 45%;
    text-align: center;
	}

	.contactArea .col.phone {
    padding-left: 0;
    padding-top: min(14.73vw, 122px);
    background: url('/common/images/ico_phone.png') center top / min(12.08vw, 100px) min(12.08vw, 100px) no-repeat;
    width: 45%;
    text-align: center;
	}

	.contactArea .sectionCnt .col .txt {
    font-size: min(3.38vw, 28px);
	}

	.contactArea .col .txtMain {
    font-size: min(3.86vw, 32px);
    margin-top: min(1.93vw, 16px);
	}
}

/*-------------------------------------------

footerArea

-------------------------------------------*/
.footerArea {
	margin-top: min(10.71vw, 120px);
	overflow: hidden;
}

.footerArea img {
	max-width: 100%;
}

.footerArea > .sectionInner {
	padding-left: min(3.57vw, 40px);
	padding-top: min(3.21vw, 36px);
	padding-bottom: min(3.13vw, 35px);
}

.footerArea > .sectionInner::after {
	content: '';
	position: absolute;
	right: calc(-1 * min(18.04vw, 202px));
	bottom: calc(-1 * min(38.93vw, 436px));
	width: min(113.57vw, 1272px);
	height: min(71.16vw, 797px);
	background: url('/common/images/bg_footer.png') center/ 100% auto no-repeat;
}

.footerArea .topBox {
	position: relative;
	z-index: 1;
}

.footerArea .topBox .left {
	width: min(19.64vw, 220px);
}

.footerArea .topBox .left > a {
	display: inline-block;
	margin-top: min(3.84vw, 43px);
	font-size: min(1.25vw, 14px);
	padding-right: min(2.68vw, 30px);
	background: url('/common/images/ico_blank.png') center right/ min(1.43vw, 16px) min(1.16vw, 13px) no-repeat;
	letter-spacing: 0.1em;
}

.footerArea .topBox .left > a:hover {
	opacity: 0.7;
}

.footerArea .topBox .right {
	width: min(66.61vw, 746px);
	margin-top: min(10.63vw, 119px);
}

.footerArea .footerList {
	gap: min(6.34vw, 71px);
}

.footerArea .footerList > li > a {
	font-weight: 500;
	font-size: min(1.79vw, 20px);
}

.footerArea .footerList li > a:hover {
	opacity: 0.7;
}

.footerArea .footerList > li .subList {
	margin-top: min(1.79vw, 20px);
}

.footerArea .footerList > li .subList li:nth-child(n+2) {
	margin-top: min(0.71vw, 8px);
}

.footerArea .footerList > li .subList a {
	font-size: min(1.25vw, 14px);
}

.footerArea .footerList > li:last-child .subList {
	margin-top: min(4.64vw, 52px);
}

.footerArea .footerList > li:last-child .subList li:nth-child(n+2) {
	margin-top: min(1.79vw, 20px);
}

.footerArea .footerList .subList a.icoPdf {
	font-size: min(1.07vw, 12px);
	display: flex;
	align-items: flex-start;
	gap: min(1.07vw, 12px);
	letter-spacing: 0.1em;
}

.footerArea .footerList a.icoPdf span {
	display: inline-block;
}

.footerArea .footerList a.icoPdf span:last-child {
	font-size: min(0.89vw, 10px);
	padding: 4px 7px;
	border-radius: 20px;
	background-color: #004B91;
}

.footerArea .footerList a.icoPdf:hover {
	opacity: 1;
}

.footerArea .footerList a.icoPdf:hover span:last-child {
	background-color: #fff;
	color: #004B91;
}

.footerArea .bottomBox {
	padding: min(2.59vw, 29px);
	background-color: #004B91;
}

.footerArea .bottomBox .sectionInner {
	padding-left: min(3.57vw, 40px);
	padding-right: min(1.43vw, 16px);
}

.footerArea .bottomBox p {
	font-size: min(1.07vw, 12px);
	font-weight: 500;
}

.footerArea .bottomBox p:first-child {
	letter-spacing: 0.06em;
}

.footerArea #toTop {
	position: fixed;
	bottom: min(2.05vw, 23px);
	right: min(3.57vw, 40px);
	z-index: 1000;
	display: inline-block;
}

.footerArea #toTop a {
	display: block;
	position: relative;
	width: min(3.93vw, 44px);
	height: min(3.93vw, 44px);
	border-radius: 50%;
	text-align: center;
	border: 1px solid #fff;
	background: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
	display: block;
}

.footerArea #toTop a.show {
	opacity: 1;
	visibility: visible;
}

.footerArea #toTop a.show:hover {
	background: linear-gradient(to bottom, rgba(112,178,210,0.2) 1%,rgba(105,169,205,0.2) 17%,rgba(87,144,194,0.2) 37%,rgba(58,105,175,0.2) 63%,rgba(24,57,152,0.2) 89%,rgba(24,57,152,0.2) 100%);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

.footerArea #toTop a::before {
	content: '';
	border: solid #fff;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: min(0.45vw, 5px);
	transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: calc(-1 * min(0.36vw, 4px));
	margin-left: calc(-1 * min(0.54vw, 6px));
}

@media (max-width: 1279px) and (min-width: 768px) {
	.footerArea .footerList {
    gap: min(4.02vw, 45px);
	}
}

@media (max-width: 767px) {
	.footerArea {
    margin-top: min(10.63vw, 88px);
	}

	.footerArea > .sectionInner {
    padding: min(13.04vw, 108px) min(7.73vw, 64px) min(11.35vw, 94px);
	}

	.footerArea .topBox > * {
    width: min(34.78vw, 288px) !important;
	}

	.footerArea .topBox .right {
    margin-top: min(15.46vw, 128px);
	}

	.footerArea .footerList {
    gap: min(4.83vw, 40px);
    flex-direction: column;
	}

	.footerArea .footerList > li > a {
    font-size: min(4.83vw, 40px);
	}

	.footerArea .footerList > li .subList {
    margin-top: min(2.42vw, 20px);
	}

	.footerArea .footerList > li .subList li:nth-child(n+2) {
    margin-top: min(1.93vw, 16px);
	}

	.footerArea .footerList > li .subList a {
    font-size: min(3.38vw, 28px);
	}

	.footerArea .left .subList {
		margin-top: min(9.66vw, 80px);
	}

	.footerArea .left .subList li:nth-child(n+2) {
		margin-top: min(3.86vw, 32px);
	}

	.footerArea .left .subList a.icoPdf {
		font-size: min(2.9vw, 24px);
		display: flex;
		align-items: flex-start;
		gap: min(0.97vw, 8px);
		flex-direction: column;
	}
	
	.footerArea .left a.icoPdf span {
		display: inline-block;
	}
	
	.footerArea .left a.icoPdf span:last-child {
		font-size: min(2.42vw, 20px);
		padding: min(0.48vw, 4px) min(2.66vw, 22px);
		border-radius: min(4.83vw, 40px);
		background-color: #004B91;
	}

	.footerArea .topBox .left > a {
    margin-top: min(9.66vw, 80px);
    font-size: min(2.9vw, 24px);
    padding-right: min(6.76vw, 56px);
    background: url('/common/images/ico_blank.png') center right / min(3.86vw, 32px) min(3.14vw, 26px) no-repeat;
    letter-spacing: 0.1em;
	}

	.footerArea > .sectionInner::after {
    right: calc(-1 * min(33.09vw, 274px));
    bottom: calc(-1 * min(17.39vw, 144px));
    width: min(157vw, 1300px);
    height: min(98.31vw, 814px);
	}

	.footerArea .bottomBox .sectionInner {
    padding-left: 0;
    flex-direction: column;
    align-items: center;
		gap: min(2.42vw, 20px);
	}

	.footerArea .bottomBox {
    padding: min(3.62vw, 30px) min(3.62vw, 30px) min(4.11vw, 34px);
	}

	.footerArea .bottomBox p {
    font-size: min(2.42vw, 20px);
	}

	.footerArea .bottomBox p:first-child {
    letter-spacing: 0.1em;
	}

	.footerArea #toTop {
    bottom: min(6.04vw, 50px);
    right: min(7.49vw, 62px);
	}

	.footerArea #toTop a {
    width: min(9.66vw, 80px);
    height: min(9.66vw, 80px);
	}

	.footerArea #toTop a::before {
    padding: min(0.97vw, 8px);
    margin-top: calc(-1 * min(0.48vw, 4px));
    margin-left: calc(-1 * min(1.21vw, 10px));
	}
}

/*-------------------------------------------

Animation

-------------------------------------------*/
.box {
	opacity: 0;
	transform: translate(0, 0);
  transition: opacity 1.6s ease-out, transform 2s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.slideLeft {
	transform: translateX(-60px);
}

.slideRight {
	transform: translateX(60px);
}

.slideUp {
	transform: translateY(60px);
}

.showAnim {
	opacity: 1;
	transform: translate(0, 0);
}

.delay00.showAnim {
	transition-delay: 0.3s;
}

.delay01.showAnim {
	transition-delay: 0.6s;
}

.delay02.showAnim {
	transition-delay: 0.9s;
}

.delay03.showAnim {
	transition-delay: 1.2s;
}

.delay04.showAnim {
	transition-delay: 1.5s;
}

@media (max-width: 767px) {
	.slideLeft.slideUpSp,
	.slideRight.slideUpSp {
		transform: translate(0, 60px);
	}

	.slideUpSp.showAnim {
		opacity: 1;
		transform: translate(0, 0);
	}

	.slideUp.slideLeftSp {
		transform: translate(-60px, 0);
	}

	.slideLeftSp.showAnim {
		opacity: 1;
		transform: translate(0, 0);
	}

	.slideLeft.slideDownSp,
	.slideRight.slideDownSp {
		transform: translate(0, -60px);
	}

	.slideDownSp.showAnim {
		opacity: 1;
		transform: translate(0, 0);
	}

	.delaySp.showAnim {
		transition-delay: 0s;
	}
	
	.delaySp00.showAnim {
		transition-delay: 0.3s;
	}

	.delaySp01.showAnim {
		transition-delay: 0.6s;
	}

	.delaySp02.showAnim {
		transition-delay: 0.9s;
	}

	.delayF01.showAnim {
		transition-delay: 0.2s;
	}

	.delayF01.showAnim {
		transition-delay: 0.4s;
	}
}