@charset "UTF-8";

/* +++Google fonts+++ */
@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap');



html{
	font-size: min(62.5%, .520vw);
}

*{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-feature-settings: "halt";
}
body{
	font-family: "Noto Sans JP", YuGothic, 游ゴシック, メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  	font-optical-sizing: auto;
	font-style: normal;
	position: relative;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	word-break: normal;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
	font-weight: 400;
	-ms-overflow-style:none;
	scrollbar-width: none;

	overflow-x: hidden;

	font-size: 1.6rem;

	color: #fff;
}
body::-webkit-scrollbar{
	display: none;
}
body.ov-hidden{
/*
	position: fixed;
	left: 0;
	top: 0;
*/
	overflow: hidden;
}

body.scroll-lock{
	overflow: hidden;
}

body.ov-hidden2{
	overflow: hidden;
}
.en{
	font-family: "Heebo", YuGothic, 游ゴシック, メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

.flex{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
}
.column{
	flex-direction: column;
}
.flex_all_center{
	display: flex;
	justify-content: center;
	align-items: center;
}
.a-items_end{
	align-items: flex-end;
}
.a-items_center{
	align-items: center;
}
.s-between{
	justify-content: space-between;
}
.text-black,
.text-black *{
	color: #000 !important;
}
.text-blue,
.text-blue *{
	color: #2D68AA !important;
}
.text-gray,
.text-gray *{
	color: #666664 !important;
}
.text-center{
	text-align: center;
}
.normal,
.normal *{
	font-weight: 400 !important;
}
.medium,
.medium *{
	font-weight: 500 !important;
}
.bold,
.bold *{
	font-weight: 700 !important;
}
.light,
.light *{
	font-weight: 300 !important;
}
.thin,
.thin *{
	font-weight: 100 !important;
}
.bg-white{
	background: #fff;
}
.bg-blue{
	background: #2C68AA;
}
.bg-sky{
	background: #008CC5;
}
.text-blue{
	color: #2C68AA !important;
}

main{
	display: block;
}

img{
	border:none;
	-webkit-backface-visibility: hidden;
}
ul,ol{
	list-style: none;
}
li{
	list-style-type: none;
}
a{
	text-decoration: none;
	color: #fff;
	transition: .3s all ease;
}
a:hover{
	opacity: .7;
}
p{
	line-height: 2;
}
.logo{
	display: block;
}
.logo *,
.pic img{
	display: block;
	width: 100%;
}

table{
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}
.outer{
	position: relative;
	margin-left: auto;
	margin-right: auto;
	padding-left: 4rem;
	padding-right: 3rem;
	width: 100%;
}
.max1360{
	width: 100%;
	max-width: 136rem;
	height: 100%;
	margin: 0 auto;
}
.max1200{
	max-width: 120rem;
	width: 100%;
	margin: 0 auto;
}

.max1230{
	max-width: 123rem !important;
	width: 100% !important;
	margin: 0 auto;
}
.max900{
	max-width: 90rem;
	width: 100%;
	margin: 0 auto;
}
.max1040{
	max-width: 104rem;
	width: 100%;
	margin: 0 auto;
}
a{
	transition: .3s all ease;
}
.parag{
	line-height: 2.25;
	letter-spacing: .1em;
}
.logo a,
.logo *,
.pic img,
.pic picture,
.pic source,
.pic a{
	display: block;
	width: 100%;
}
.pic img{
	object-fit: cover;
	font-family: "object-fit: cover;";
}
input,
select,
textarea{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	font-family: 'Outfit', 'Zen Kaku Gothic New', sans-serif;
	font-size: 1.6rem;
}





.wrapper {
	display: flex !important;       /* 横並び */
	overflow: hidden !important;    /* ブラウザ横スクロールを消す */
	height: 100vh !important;
}
.js-scroll{
	flex: 0 0 100vw !important;     /* 画面幅1枚ずつ */
	height: 100vh !important;
}
.blur{
	filter: blur(20px);
}








/* +++#header+++ */
#header{
	position: fixed;
	top: 0;
	left: 0;
/*
	width: 100%;
*/
	width: auto;
	padding-top: 2.5rem;
	z-index: 9999999;
}
#header .logo{
	width: 31.8rem;
}

#header .logo .white{
	display: block;
}
#header .logo .blue{
	display: none;
}
#menu-button{
	outline: none;
	width: 16.5rem;
	height: 4rem;
	border-radius: 2rem;
	border: 1px solid #f5f6f6;
	background: rgba(255,255,255,.4);
	position: fixed;
	top: 2.5rem;
	right: 3rem;
	z-index: 9999999;
	cursor: pointer;
	font-size: 1.2rem;
	color: #fff;
	padding-inline: 2.1rem;
}
#menu-button .bars{
	width: 3.2rem;
/*
	height: 100%;
*/
	height: 3rem;
	position: relative;
/*
	margin-right: 2.8rem;
*/
}
#menu-button .bars span{
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
	transition: .3s all ease;

	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
#menu-button .bars span:nth-of-type(1){
	transform: translateY(-.4rem);
}
#menu-button .bars span:nth-of-type(2){
	transform: translateY(.4rem);
}
.ov-hidden #menu-button .bars span:nth-of-type(1){
	transform: translateY(0) rotate(33deg);
}
.ov-hidden #menu-button .bars span:nth-of-type(2){
	transform: translateY(0) rotate(-33deg);
}
.menu-button-text{
	letter-spacing: .3em;
	padding-left: 3rem;
}
#menu-button .no-active{
	display: none;
}
.ov-hidden #menu-button .no-active{
	display: block;
}
.ov-hidden #menu-button .active{
	display: none;
}
body.ov-hidden{
	overflow: hidden;
}

/* +++nav+++ */
nav{
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100vh;
	backdrop-filter: blur(20px);
/*
	background: rgba(45,157,202,.8);
*/
	background: rgba(0,140,197,.8);
	z-index: 999999;
	padding-top: 22vh;
	padding-left: 15.5rem;
	padding-bottom: 16rem;
	overflow: auto;
	transition: .3s all ease;
	visibility: hidden;
	opacity: 0;
}
.ov-hidden nav{
	visibility: visible;
	opacity: 1;
}
nav .logo{
	position: fixed;
	left: 4rem;
	top: 4rem;
	width: 31.8rem;
}
.nav-area{
	max-width: 136rem;
	margin: 0 auto;
}
.global-navi>li{
	width: 34rem;
	margin-bottom: 9rem;
}
.global-navi>li>a,
.global-navi .parent{
	font-size: 1.8rem;
	letter-spacing: .05em;
	font-weight: 500;
}
.global-navi>li>a:before,
.global-navi .parent:before{
	content: attr(data-en);
	font-size: 4rem;
	display: block;
	margin-bottom: 2rem;
}
.global-navi .child{
	letter-spacing: .05em;
	padding-top: 3rem;
}
.global-navi .child li{
	margin-bottom: 1.5rem;
}
.global-navi .child li a{
	display: flex;
	align-items: center;
}
.global-navi .child li a:before{
	content: "";
	display: block;
	width: 6rem;
	height: 1px;
	background: #fff;
	margin-right: 3.5rem;
}
.contact-list>li{
	margin-right: 8rem;
	text-align: center;
}
.contact-list>li a{
	width: 32.8rem;
	height: 15.8rem;
	border: 1px solid #fff;
}
.contact-list dd{
	font-size: 3rem;
	text-align: center;
	font-weight: 500;
	margin-top: 1rem;
}
.contact-list li:nth-of-type(2) dd{
	font-size: 2.3rem;
}
.sns-list li{
	width: 3rem;
	margin-right: 3.5rem;
}

/* +++.sec+++ */
.sec{
	position: relative;
/*
	padding: min(4rem, 3.8vh) 4rem;
*/
	padding: 6.7rem 4rem 10rem;
	z-index: 9;
	width: 100vw;
	height: 100vh;
}
.sec-inner{
	width: 100%;
	height: 100%;
}
.sec-title01{
	font-size: 2.4rem;
	margin-bottom: min(1.523vh, 1.6rem);
}
.title-en{
	font-size: 12.8rem;
	line-height: .62;
	margin-bottom: 7rem;
}
.title-en span{
	font-size: 78.125%;
	margin-right: .2em;
	-webkit-text-stroke: 1px #fff;
	text-stroke: 1px #fff;
	color: #1e9bcd;
	paint-order: stroke;
}
.sec-title02{
	line-height: 1.4;
	font-size: 4rem;
	margin-bottom: 3.8rem;
}

/* +++.sec-title03+++ */
.sec-title03{
	font-size: 4.8rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 3rem;
}


/* +++.sec-title04+++ */
.sec-title04{
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 2rem;
}

/* +++.button01+++ */
.button01{
	width: 26rem;
	height: 8rem;
	border-radius: 4rem;
}
.button01:after{
	width: 2.4rem;
	height: 1.2rem;
	margin-left: 2rem;
	content: "";
	display: block;
	background: url(../images/arrow-blue01.svg) no-repeat;
	background-position: center;
	background-size: 100% auto;
}

/* +++.button02+++ */
.button02{
	position: relative;
	width: fit-content;
	padding-bottom: 1.5rem;
}
.button02:after{
	content: "";
	display: block;
	width: 2.4rem;
	height: 1.2rem;
	background: url(../images/arrow-white01.svg) no-repeat;
	background-size: 100% auto;
	background-position: center;
	margin-left: 2rem;
	transform: translateY(.2em);
}
.button02:before{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
}
/* +++button03+++ */
.button03{
	width: 28rem;
	height: 6.5rem;
	border-radius: 3.3rem;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #2C68AA;
	font-weight: 500;
	margin: 3rem auto 0;
}
.button03:after{
	content: "";
	display: block;
	width: 2rem;
	height: 2.5rem;
	margin-left: 2rem;
	background: url(../images/file-icon01.svg) no-repeat;
	background-size: 100% auto;
	background-position: center;
}
/* +++button04+++ */
.button04{
	border-bottom: 2px solid #2D68AA;
	font-weight: 500;
	padding-bottom: 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.button04:before{
	content: "";
	display: block;
	width: 2rem;
	height: 2.5rem;
	background: url(../images/file-icon01.svg) no-repeat;
	background-position: center center;
	background-size: 100% auto;
	
}
/* +++button05+++ */
.button05{
	height: 8rem;
	border-radius: 4rem;
	text-align: center;
	line-height: 1.4;
	border: 2px solid #2D68AA;
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-left: 2rem;
}
.button05:after{
	content: "";
	display: block;
	width: 2.4rem;
	height: 1em;
	background: url(../images/arrow-blue02.svg) no-repeat;
	background-position: center center;
	background-size: 100% auto;
	margin-left: 2rem;
}


@media screen and (min-width: 1033px){
	.sec{
		width: 100vw;
		height: 100vh;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;
	}
}

#page-top{
	color: #fff;
	position: absolute;
	right: 4rem;
	bottom: 0;
	top: 0;
	margin: auto;
	height: 2.4em;
	line-height: 1.2;
	font-size: 2rem;
	z-index: 9;
	text-align: center;
}
#page-top:before{
	content: "";
	display: block;
	width: 2.4rem;
	height: 1.2rem;
	background: url(../images/footer-arrow01.svg) no-repeat;
	background-position: center;
	background-size: 100% auto;
	margin-right: 1rem;
}



/* +++#footer+++ */
#footer{
	overflow: hidden;
	position: relative;
	z-index: 999;
}
#footer .bg-scroll{
	position: absolute;
	left: 0;
	top: 0;
}
.bg-scroll{
	width: 100%;
	height: 100vh;
	overflow: hidden;
	display: flex;
	z-index: 1;
	background: linear-gradient(90deg, #008CC5, #2BA1D0);
}
.bg-scroll .pic{
	width: 150%;
	position: absolute;
	left: 0;
	top: 0;
}

.fixed{
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	z-index: 1;
}
.bg-scroll img,
.bg-scroll .pic{
	height: 100vh;
}
.bg-scroll .pic:nth-of-type(1){
	animation-name: bg-scroll01;
	animation-duration: 120s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-direction: normal;
	
	z-index: 9;
}
.bg-scroll .pic:nth-of-type(2){
	animation-name: bg-scroll02;
	animation-duration: 120s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-direction: normal;
	
	z-index: 9;
}
@keyframes bg-scroll01{
	0%, 100% {
		-webkit-transform: translateX(calc(-3.8% + 3.8vw));
		transform: translateX(calc(-3.8% + 3.8vw));
		opacity: 1;
	}
	48% {
		opacity: 1;
	}
	50% {
		-webkit-transform: translateX(calc(-100% + 100vw));
		transform: translateX(calc(-100% + 100vw));
		opacity: 0;
	}
	98% {
		opacity: 0;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}
@keyframes bg-scroll02{
	0%, 100% {
		-webkit-transform: translateX(calc(-100% + 100vw));
		transform: translateX(calc(-100% + 100vw));
		opacity: 0;
	}

	48% {
		opacity: 0;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	50% {
		opacity: 1;
	}
	52% {
		opacity: 1;
	}
	98% {
		opacity: 1;
	}
}

#footer .max1200{
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 9;
}
#footer h2{
	width: 44.6rem;
	margin: 0 auto 4rem;
}
.contact-area{
	padding: 5rem 4rem 5rem 5rem;
	border: 1px solid rgba(255,255,255,.6);
	background: rgba(255,255,255,.6);
	box-shadow: 0 2rem 3rem #197CB1;
	backdrop-filter: blur(20px);
	width: 100%;
	max-width: 101.6rem;
	margin: 0 auto 4rem;
	border-radius: 2rem;
}
#footer h3{
	font-size: 1.8rem;
	margin-bottom: 1.5rem;
}
#footer .contact-area .pc-event-none{
	font-size: 3.8rem;
}
#footer .bg-blue,
#footer .bg-sky{
	width: 32rem;
	height: 9rem;
	font-size: 2rem;
	border-radius: 4.5rem;
}
#footer .bg-sky:before{
	content: "";
	display: block;
	width: 2rem;
	height: 100%;
	margin-right: .7rem;
	background: url(../images/footer-icon01.svg) no-repeat;
	background-size: 100% auto;
	background-position: center;
}
#footer .bg-blue:before{
	content: "";
	display: block;
	width: 1.6rem;
	height: 100%;
	margin-right: .9rem;
	background: url(../images/footer-icon02.svg) no-repeat;
	background-size: 100% auto;
	background-position: center;
}
.office-list li{
	padding: 0 3rem;
}
.office-list li:nth-of-type(2){
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
}
.office-list h4{
	font-size: 2rem;
	margin-bottom: 1.5rem;
}
.office-list p{
	line-height: 1.6;
}
.sitemap-copyrights{
	padding: 0 4rem 5rem;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 9;
}
.sitemap li{
	margin-right: 3rem;
}
#copyrights{
	font-size: 1.2rem;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
	width: fit-content;
}


/* +++++.page-title+++++ */
.block{
	display: block;
}
.text-center{
	text-align: center;
}
.page-title{
	position: relative;
	padding-top: min(2rem, 4.6vh);
}
.page-title .en{
	opacity: .2;
	letter-spacing: 0;
	font-size: 10rem;
	line-height: .75;
}
.page-title .ja{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1rem;
	margin: auto;
	font-size: 3.6rem;
}

/* +++++bread-crumbs+++++ */
.bread-crumbs{
/*
	margin: min(1rem, 1.714vh) 0 min(4rem, 3.8vh);
*/
	font-size: 1.2rem;
	margin: 0;
	width: calc(100vw - 24.5rem);
	position: fixed;
	left: 0;
	top: calc(6.5rem - 1em);
	justify-content: flex-end;
	z-index: 9999;
}
.bread-crumbs li{
	display: flex;
	margin-bottom: .5em;
}
.bread-crumbs li:not(:last-of-type):after{
	content: "/";
	margin: 0 1em;
}
.bread-crumbs li a{
	text-decoration: underline;
}
.bread-crumbs li a:hover{
	text-decoration: none;
}
/* +++++.sec-title02+++++ */
.sec-title02{
/*
	font-size: 2.5rem;
*/
	font-size: 4rem;
	margin-bottom: min(4rem, 3.8vh);
}

/* +++++background animation+++++ */
.bg-pic{
	width: 100vw;
	height: 100vh;
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-position: left top;
}
.bg-pic{
	animation-name: bg-slide;
	animation-duration: 15s;
	animation-fill-mode: both;
	animation-timing-function: linear;
}
@keyframes bg-slide{
	0%{
		background-position: left top;
	}
	100%{
		background-position: right top;
	}
}



/* +++lightbox customize+++ */
#lightbox{
	margin-top: 18vh;
}
.lightboxOverlay{
	background: #018CC5 !important;
	backdrop-filter: blur(20px);
}
.lightbox .lb-image{
	border: none !important;
	border-radius: 2rem !important;
	margin: auto;
}
.lb-data .lb-close{
	display: none !important;
}
.lb-outerContainer{
	background: none !important;
	width: 100%;
	height: 100%;
}
.lb-number{
	display: none !important;
}
.lb-data .lb-details{
	width: 100% !important;
}
.lb-data .lb-caption{
	display: block;
	text-align: center;
	color: #fff !important;
	font-weight: 400 !important;
	font-size: 1.4rem;
	margin: 2rem auto 3rem;
}
.lb-nav{
	position: relative !important;
	left: auto !important;
	display: flex !important;
	justify-content: center;
}
.lb-prev,
.lb-next{
	display: block !important;
	background: url(../images/prev-arrow01.svg) no-repeat !important;
	background-size: 100% auto !important;
	background-position: center !important;
	width: 2rem !important;
	height: 2rem !important;
	float: none !important;
	margin: 0 .7rem !important;
	opacity: 1 !important;
}
.lb-next{
	transform: scale(-1,1) !important;
}

.lb-outerContainer{
	width: 55rem !important;
	height: 39.3rem !important;
	margin: auto;
}
.lb-container{
	width: 100% !important;
	height: 100% !important;
	display: flex;
	justify-content: center;
	align-items: center;
}
.lb-image{
	display: block;
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
/*
	object-fit: cover !important;
*/
	object-fit: contain !important;
}


/* ++++ pager ++++ */

.pager{
	width: 100vw;
	position: fixed;
	left: 0;
	bottom: 2rem;
	padding-right: 5rem;
	justify-content: flex-end;
	font-size: 1.6rem;
	letter-spacing: 0;
	z-index: 99999;
	font-weight: 700;
}
.pager ol{
	position: relative;
}
.pager ol:before{
	content: "";
	display: block;
	width: calc(100% - 1em);
	height: 1px;
	background: #fff;
	margin: 0 auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
.pager li{
	padding-top: 1.2rem;
	position: relative;
}
.pager li a:before{
	content: "";
	display: block;
	width: .7rem;
	height: .7rem;
	border-radius: 50%;
	background: #fff;
	position: absolute;
	left: 0;
	right: 0;
	top: -.3rem;
	margin: auto;
	opacity: 0;
	transition: .3s opacity ease;
}
.pager li a.current:before{
	opacity: 1;
}
.pager li:not(:last-of-type){
	margin-right: 4rem;
	
}



/* ++++ loading ++++ */

.loading{
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 19999999;
	background: #fff;
	width: 100%;
	height: 100%;
}
.loading_inner{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.loading_inner img{
	width: 150px;
}



/*
@media screen and (max-width: 1024px){
	html{
		font-size: min(62.5%, .625vw);
	}
}
*/

/* ++++++++++++++++++++++++++++++++++++++++ */
/* +++++++++++++SP style+++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++ */

@media screen and (max-width: 1032px){
	html{
		font-size: min(62.5%, 2.666666vw); /* +++375px時に10px相当+++ */
	}


	body{
		font-size: 1.4rem;
		overflow-x: hidden;
	}

	.wrapper{
		width: 100% !important;
		display: block !important;
	}



/* +++#header+++ */
	#header{
		height: 6rem;
		width: 100%;
		background: rgba(45,157,202,.65);
		padding: 0 2rem;
		align-items: center;
	}
	#header .logo{
		width: 15rem;
	}

	#header .logo .blue{
		display: none !important;
	}
	#header .logo .white{
		display: block !important;
	}
	#menu-button{
		width: 10rem;
		height: 3rem;
		border-radius: 1.5rem;
		top: 1.5rem;
		right: 2rem;
		font-size: 1rem;
		color: #fff;
		padding-inline: 1rem;
		padding: 0 10px;
		justify-content: center;
	}
	#menu-button .bars{
		position: absolute;
		left: 1.5rem;
		top: 0;
		bottom: 0;
		width: 2.2rem;
		margin-right: .8rem;
	}


/* +++nav+++ */
	nav{
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		width: 100%;
		height: 100vh;
		background: #2d9dca;
		z-index: 999998;
		padding-top: 6rem;
		padding-left: 2rem;
		padding-right: 2rem;
		padding-bottom: 3rem;
		overflow: auto;
	}
	nav .logo{
		position: fixed;
		left: 2rem;
		top: 1.5rem;
		width: 15rem;
	}
	.nav-area{
		max-width: 100%;
		margin: 0 auto;
	}
	.global-navi>li{
		width: 50%;
		margin-bottom: 0;
		padding: 1.6rem 0
	}
	.global-navi>li>a,
	.global-navi .parent{
		font-size: 1.3rem;
	}
	.global-navi>li>a:before,
	.global-navi .parent:before{
		content: attr(data-en);
		font-size: 2.2rem;
		margin-bottom: .6rem;
	}
	.global-navi .child{
		letter-spacing: .05em;
		padding-top: 1.6rem;
		font-size: 1.3rem;
	}
	.global-navi .child li{
		margin-bottom: 2.2rem;
		line-height: 1.4;
	}
	.global-navi .child li:last-of-type{
		margin-bottom: 0;
	}
	.global-navi .child li a:before{
		width: 3rem;
		margin-right: 1.2rem;
	}
	.contact-list{
		display: block;
		width: 100%;
	}
	.contact-list>li{
		margin-right: 0;
		margin-top: 1.6rem;
		width: 100%;
	}
	.contact-list>li a{
		width: 100%;
		height: 7.5rem;
	}
	.contact-list dd{
		font-size: 2.2rem;
	}
	.contact-list li:nth-of-type(2) dd{
		font-size: 2rem;
	}
	.sns-list{
		justify-content: center;
		width: 100%;
	}
	.sns-list li{
		width: 2.4rem;
		margin: 1.6rem .8rem 0;;
	}

	.bg-scroll .pic img{
		width: auto;
		height: 100vh;
		object-fit: cover;
	}


/* +++.sec+++ */
	.sec{
		padding: 8rem 1.5rem;
		width: 100vw;
		height: auto;
		min-height: 100vh;
	}

	.sec-title01{
		font-size: 1.6rem;
		margin-bottom: 1.2rem;
	}
	.title-en{
		font-size: 5.4rem;
		margin-bottom: 3.6rem;
	}
	.sec-title02{
		line-height: 1.4;
		font-size: 2.2rem;
		margin-bottom: 2rem;
	}



/* +++++.page-title+++++ */
	.page-title{
		padding-top: 3.6rem;
		margin-top: 2.4rem;
		margin-bottom: 3.6rem;
	}
	.page-title .en{
		font-size: 3.6rem;
		line-height: 1.1;
	}
	.page-title .ja{
		bottom: 1rem;
		font-size: 1.5rem;
	}

/* +++++bread-crumbs+++++ */
	.bread-crumbs{
/*
		margin: 2.4rem 0 3.6rem;
*/
		margin: 0;
		width: auto;
		padding: 0 2rem;
		top: 7.2rem;
		font-size: 1.1rem;
		justify-content: flex-start;
	}
/* +++++.sec-title02+++++ */
.sec-title02{
	font-size: 2.5rem;
	margin-bottom: min(4rem, 3.8vh);
}



/* +++.sec-title03+++ */
	.sec-title03{
		font-size: 2.4rem;
		margin-bottom: 1.5rem;
	}


/* +++.sec-title04+++ */
	.sec-title04{
		font-size: 2rem;
		margin-bottom: 1rem;
	}

/* +++.button01+++ */
	.button01{
		width: 27rem;
		height: 6rem;
		border-radius: 3rem;
	}
	.button01:after{
		width: 2rem;
		height: 1em;
		margin-left: 3rem;
	}

/* +++.button02+++ */
	.button02{
		padding-bottom: 1.2rem;
	}
	.button02:after{
		width: 2rem;
		height: 1rem;
	}
/* +++button03+++ */
.button03{
	width: 28rem;
	height: 6.5rem;
	border-radius: 3.3rem;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #2C68AA;
	font-weight: 500;
	margin: 3rem auto 0;
}
.button03:after{
	content: "";
	display: block;
	width: 2rem;
	height: 2.5rem;
	margin-left: 2rem;
	background: url(../images/file-icon01.svg) no-repeat;
	background-size: 100% auto;
	background-position: center;
}
/* +++button04+++ */
	.button04{
		padding-bottom: 1rem;
		justify-content: center;
	}
	.button04:before{
		margin-right: 1.2rem;
	}
/* +++button05+++ */
	.button05{
		height: 6rem;
		border-radius: 3rem;
		text-align: left;
	}
.button05:after{
	content: "";
	display: block;
	width: 2.4rem;
	height: 1em;
	background: url(../images/arrow-blue02.svg) no-repeat;
	background-position: center center;
	background-size: 100% auto;
	margin-left: 2rem;
}






/* +++#footer+++ */
	#footer{
		height: auto;
		min-height: auto !important;
		padding-bottom: 2rem;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	#footer .bg-scroll,
	#footer .bg-scroll .pic,
	#footer .bg-scroll .pic img{
		height: 100%;
	}
	#footer h2{
		width: 24rem;
		margin: 0 auto 2.4rem;
	}
	.contact-area{
		padding: 2rem;
		width: 100%;
		max-width: 36rem;
		margin: 0 auto 2.4rem;
		border-radius: 1.2rem;
		text-align: center;
		display: block;
	}
	#footer h3{
		font-size: 1.6rem;
		margin-bottom: 1.2rem;
	}
	#footer .contact-area .pc-event-none{
		font-size: 2.4rem;
	}
	#footer .bg-blue,
	#footer .bg-sky{
		width: 100%;
		height: 5rem;
		font-size: 1.6rem;
		border-radius: 2.5rem;
		margin-top: 1.2rem;
	}
	#footer .bg-sky:before{
		content: "";
		display: block;
		width: 1.6rem;
		height: 100%;
		margin-right: .7rem;
		background: url(../images/footer-icon01.svg) no-repeat;
		background-size: 100% auto;
		background-position: center;
	}
	#footer .bg-blue:before{
		content: "";
		display: block;
		width: 1.2rem;
		height: 100%;
		margin-right: .9rem;
		background: url(../images/footer-icon02.svg) no-repeat;
		background-size: 100% auto;
		background-position: center;
	}
	.office-list{
		display: block;
	}
	.office-list li{
		padding: 1.5rem 0;
	}
	.office-list li:nth-of-type(2){
		border-left: none;
		border-right: none;
	}
	.office-list h4{
		font-size: 1.5rem;
		margin-bottom: .8rem;
	}
	.office-list p{
		line-height: 1.4;
		font-size: 1.3rem;
	}
	.sitemap-copyrights{
		padding: 1.5rem 0 0;
		position: relative;
		left: auto;
		bottom: auto;
		width: 100%;
	}
	.sitemap{
		width: 100%;
	}
	.sitemap li{
		margin-right: 0;
		text-align: center;
		width: 25%;
	}
	#copyrights{
		font-size: 1rem;
		position: relative;
		left: auto;
		right: auto;
		text-align: center;
		margin-top: 2.4rem;
	}
	#page-top{
		display: none;
	}




	.wrapper {
		display: block !important;
		height: auto !important;
	}
	.js-scroll{
		height: auto !important;
	}



/* +++lightbox customize+++ */
	#lightbox{
		margin-top: calc((100vh - (100vw - 3rem) / 3 * 2) / 2 - 6rem) !important;
	}

	.lightbox .lb-image{
		border-radius: 1.2rem !important;
	}

	.lb-nav{
		margin-top: 1.2rem;
		height: 1.2rem;
	}
	.lb-prev,
	.lb-next{
		width: 1.2rem !important;
		height: 1.2rem !important;
		float: none !important;
		margin: 0 .7rem !important;
		opacity: 1 !important;
	}


	.lb-outerContainer{
		width: calc(100vw - 3rem) !important;
		height: calc((100vw - 3rem) / 3 * 2) !important;
	}
	.lb-container{
		width: 100% !important;
		height: 100% !important;
	}
	.lb-image{
		display: block;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}


/* ++++ pager ++++ */
	.pager{
		width: auto;
		left: auto;
		right: 0;
		bottom: 0;
		top: 0;
		padding-right: 1rem;
		align-items: center;
		font-size: 1.2rem;
		height: fit-content;
		margin: auto;
		display: none;
	}
	.pager ol{
		display: block;
	}
	.pager ol:before{
		content: "";
		display: block;
		width: 1px;
		height: calc(100% - 1em);
		background: #fff;
		margin: .5em 0 0 auto;
	}
	.pager li{
		padding-top: 0;
		padding-right: 1rem;
	}
	.pager li a{
		text-shadow: 0 0 .5rem #197CB1;
	}
	.pager li a:before{
		left: auto;
		right: -.3rem;
		top: 0;
		bottom: 0
	}
	.pager li a.current:before{
		opacity: 1;
	}
	.pager li:not(:last-of-type){
		margin-right: 0;
		margin-bottom: 4rem;
		
	}
}



@media screen and (min-width: 769px) and (max-width: 1032px){
	html{
		font-size: 62.5%;
	}
}







@media screen and (min-width: 1033px){
	.pc-none{
		display: none;
	}
	.pc-event-none{
		pointer-events: none;
		text-decoration: none;
	}
}
@media screen and (max-width: 1032px){
	.sp-none{
		display: none;
	}
}