@charset "UTF-8";
/* CSS Document */



@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&display=swap');
/*
font-family: 'Noto Sans JP', sans-serif;
Light 300
Regular 400
Medium 500
*/

@font-face {
	font-family:'DINPro-Light';
	src: url("../../../fonts/DINPro-Light.eot");
	src: url("../../../fonts/DINPro-Light.eot?#iefix") format("embedded-opentype"), 
	url('../../../fonts/DINPro-Light.woff2') format('woff2'),
	url('../../../fonts/DINPro-Light.woff') format('woff'),
	url('../../../fonts/DINPro-Light.ttf') format('truetype'),
	url('../../../fonts/DINPro-Light.svg#DINPro-Light') format('svg');
}

@font-face {
	font-family:'DINPro-Regular';
	src:url('../../../fonts/DINPro-Regular.eot');
	src:url('../../../fonts/DINPro-Regular.eot?#iefix') format('embedded-opentype'),
	url('../../../fonts/DINPro-Regular.woff2') format('woff2'),
	url('../../../fonts/DINPro-Regular.woff') format('woff'),
	url('../../../fonts/DINPro-Regular.ttf') format('truetype'),
	url('../../../fonts/DINPro-Regular.svg#DINPro-Regular') format('svg');
}

@font-face {
	font-family:'DINPro-Medium';
	src:url('../../../fonts/DINPro-Medium.eot');
	src:url('../../../fonts/DINPro-Medium.eot?#iefix') format('embedded-opentype'),
	url('../../../fonts/DINPro-Medium.woff2') format('woff2'),
	url('../../../fonts/DINPro-Medium.woff') format('woff'),
	url('../../../fonts/DINPro-Medium.ttf') format('truetype'),
	url('../../../fonts/DINPro-Medium.svg#DINPro-Medium') format('svg');
}

@font-face {
	font-family:'DINPro-Bold';
	src:url('../../../fonts/DINPro-Bold.eot');
	src:url('../../../fonts/DINPro-Bold.eot?#iefix') format('embedded-opentype'),
	url('../../../fonts/DINPro-Bold.woff2') format('woff2'),
	url('../../../fonts/DINPro-Bold.woff') format('woff'),
	url('../../../fonts/DINPro-Bold.ttf') format('truetype'),
	url('../../../fonts/DINPro-Bold.svg#DINPro-Bold') format('svg');
}




/* ---------- RESET ---------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, b, u, i, center,
ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, textarea, input {
  margin:0;
  padding:0;
  border:0;
  font-size: 100%;
  font:inherit;
  vertical-align: baseline;
  text-decoration:none;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul, li {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
input, textarea, button{
  -webkit-apparence:none;
  border:none;
  background: none;
  outline: none;
}
input:focus, textarea:focus{
  -webkit-apparence:none;
  outline: none;
  border:none;
}
img{
	border:none;
	outline:none;
	vertical-align:top;
	font-size:0;
	line-height:0;
}
img a{
	border:none;
	outline: none;
}
a:focus{
	outline:none;
}
hr {
  height:0;
  margin:0;
  padding:0;
  border:0;
}
h1, h2, h3, h4, h5, h6, p{
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  text-decoration:none;
}

input, textarea, button{
  -webkit-apparence:none;
  border:none;
  background: none;
  outline: none;
}
/*
a{
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
*/

img{
	width:100%;
	height:auto;
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
	transform:translate3d(0,0,0);
}
*{
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    -webkit-box-shadow:none;
    box-shadow:none;   
    outline:none;
	box-sizing:border-box;
	margin:0;
	padding:0;
}
.clear:after,
ul:after,
li:after,
dl:after{
	  content: "";
	  display: table;
	  float:none;
	  clear: both;
}

html,body{
	width: 100%;
	height: 100%;
	min-height:100%;
	z-index:1;
	position:relative;
}



body{
    font-family: 'Noto Sans JP','ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'メイリオ', 'Meiryo', Arial, Meiryo, "MS PGothic", sans-serif;
	-webkit-text-size-adjust: 100%;
    color:#000;
	font-weight:400;
    background: #FFF;
    line-height: 1.5;
}

body.fixed{position: fixed;}




.main{
	margin:0;
	padding:0;
	width:100%;
	height:100%;
}
.main img{
	width:100%;
	height:auto;
}


#loader-bg{
	display:block;
	position:fixed;
	width:100%;
	height:100vh;
	min-height:100vh;
	top:0px;
	left:0px;
	background:#FFF;
	z-index:1000;
	overflow:hidden;
}




/*----- Loading -----*/

.lodingAnime {
	position:absolute;
	width:90px;
	height:90px;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
}
.lodingAnime::after{
	border-radius:45%;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border:1px solid rgba(220,207,0,0.6);
	animation: rotation 5s infinite linear;
}
.circle1,
.circle2,
.circle3 {
	opacity:0.6;
	position:absolute;
	border:1px solid #FFDA01;
	width:100px;
	height:100px;
	top:0;
	left:0;
	-webkit-transform-origin:50% 43%;
	transform-origin:50% 43%;
	border-radius:43%;
	animation: rotation 2s infinite linear;
}
.circle2 {
	width:95px;
	height:95px;
	opacity: .3;
	border:1px solid #3FB266;
	animation: rotation 5s infinite linear;
}
.circle3 {
	width:92px;
	height:92px;
	border:1px solid #6EC8E2;
	animation: rotation 3s infinite linear;
}

@keyframes rotation{
  from { 
 	 -webkit-transform:rotate(0deg);
	         transform:rotate(0deg);
  }
  to {
	 -webkit-transform:rotate(360deg);
	         transform:rotate(360deg);
	  }
}

@keyframes color-fade{
  0% { opacity: 1; }
  50% { opacity: .5;}
}



/* ---------------------------- */



/* standard */
.fade,
.fade.delighter{
	opacity:0;
	position: relative;
	top: 40px;
	-webkit-transition:all 1.0s cubic-bezier(0.165, 0.84, 0.44, 1);	
	transition:all 1.0s cubic-bezier(0.165, 0.84, 0.44, 1);
}
/* start */
.fade.delighter.started{
	opacity:1;
	top: 0;
}


/* ---------------------------- */



#mainNavi{
	width: 100%;
	background: #80BFE1;
	color: #FFF;
	position: fixed;
	top: -81px;
	opacity: 0;
	left: 0;
	z-index: 500;
	-webkit-transition: top 0.6s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.6s cubic-bezier(0.33, 1, 0.68, 1);
	transition: top 0.6s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}

#mainNavi.view{top: 0;opacity: 1;}

#mainNavi .navBody{
	width: 97%;
	max-width: 1220px;
	margin: 0 auto;
	height: 80px;
	position: relative;
}

#mainNavi h2{
	position: absolute;
	top: 50%;
	left: 0;
	width: 220px;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
	z-index: 10;
}

#mainNavi .HHlogo{
	position: absolute;
	top: 50%;
	right: 0;
	width: 90px;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
	z-index: 10;
}




/*------------------NAVI LIST------------------*/


#mainNavi .navList{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 220px;
	right: 90px;
	width: calc(100% - 220px - 90px);
}

#mainNavi .navList ul{
	width: 100%;
	display: flex;
	position: relative;
	z-index: 20;
	justify-content: center;
}
#mainNavi .navList li{
	position: relative;
	font-family:'DINPro-Medium';
	font-size: 25px;
}

#mainNavi .navList li > a{
	color: #FFF;
	display: block;
	line-height: 80px;
	white-space: nowrap;
	padding: 0 2vw;
}
/*#mainNavi .navList li:nth-child(1) a{background: rgba(255,255,255,0.1);}
#mainNavi .navList li:nth-child(2) a{background: rgba(255,255,255,0.2);}
#mainNavi .navList li:nth-child(3) a{background: rgba(255,255,255,0.3);}
#mainNavi .navList li:nth-child(4) a{background: rgba(255,255,255,0.4);}
#mainNavi .navList li:nth-child(5) a{background: rgba(255,255,255,0.5);}
*/

#mainNavi .navList li > a > span{
	display: block;
}
#mainNavi .navList li.current-item > a{color:#FD9C00;}



#mainNavi #slide-line{
	position: absolute;
    top: 50%;
	margin-top: 14px;
	height: 2px;
	z-index: 5;
	background:#FD9C00;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}


/*-------------SUB MENU--------------*/


#mainNavi .sub{
	position: absolute;
	top: 80px;
	left: 0;
	width: 100%;
	background: #80BFE1;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: visibility 0.3s, opacity 0.3s;
	transition: visibility 0.3s, opacity 0.3s;
}
#mainNavi .sub.active{
	visibility: visible;
	opacity: 1;
}
#mainNavi .sub a{
	width: 100%;
	display: block;
	color: #FFF;
	line-height: 1;
	text-align: center;
	padding: 0.5em 0;
}


@media(min-width:769px) {
#mainNavi .sub a{-webkit-transition: color 0.3s;transition: color 0.3s;}
#mainNavi .sub a:hover{color: #FD9C00;}
}



@media(max-width: 1120px) {
#mainNavi h2{width: 200px;}
#mainNavi .HHlogo{width: 80px;}
#mainNavi .navList{left: 200px;right: 80px;width: calc(100% - 200px - 80px);}
#mainNavi .navList li{font-size: 21px;}
}

@media(max-width: 900px) {
#mainNavi h2{width:180px;}
#mainNavi .HHlogo{width: 75px;}
#mainNavi .navList{left: 180px;right: 75px;width: calc(100% - 180px - 75px);}
#mainNavi .navList li{font-size: 19px;}
#mainNavi .navList li > a{padding: 0 1.6vw;}
}




/*================================================================*/




@media(max-width:768px) {

.screenWide{display: none;}

#mainNavi{
	height: 70px;
	top: -71px;
	-webkit-transition: top 0.6s cubic-bezier(0.45, 0, 0.55, 1), opacity 0.6s cubic-bezier(0.45, 0, 0.55, 1);
	transition: top 0.6s cubic-bezier(0.45, 0, 0.55, 1), opacity 0.6s cubic-bezier(0.45, 0, 0.55, 1);
}



#mainNavi .navBody{
	position: fixed;
	top: 0;
	left: -250px;
	width: 250px;
	height: 100vh;
	margin: 0;
	padding-top: 70px;
	-webkit-transition: left 0.6s cubic-bezier(0.33, 1, 0.68, 1);
	transition: left 0.6s cubic-bezier(0.33, 1, 0.68, 1);
	background:#FFF;
}
#mainNavi.active .navBody{left: 0;}

#mainNavi h2{
	position:relative;
	top: 0;
	width:75%;
	margin: 0 auto;
	-webkit-transform:none;
	transform:none;
	z-index: 10;
	padding: 2vh 0 5vh;
}
#mainNavi .navList{
	position: relative;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
}
#mainNavi .navList ul{display: block;}
#mainNavi .navList li{padding: 3vh 0;font-size: 25px;}
#mainNavi .navList li > a{
	line-height: 1;
	padding: 0;
	text-align: center;
	color:#0280C3;
}
#mainNavi .navList li.current-item a{text-decoration:underline; }

#mainNavi .HHlogo{display: none;}
#mainNavi #slide-line{display: none;}
#mainNavi .sub{display: none;}






/*------------SP Burger Navi ---------------*/


#mainNavi .burger{
	width: 40px;
	height: 26px;
	position:absolute;
	top: 21px;
	left: 20px;
	z-index: 100;
	display: block;
}
#mainNavi .burger-trigger,
#mainNavi .burger-trigger span {
	display: inline-block;
	 box-sizing: border-box;
}
#mainNavi .burger-trigger{
	position: relative;
	width: 100%;
	height: 26px;
	background: none;
	border: none;
	appearance: none;
	cursor: pointer;
}
#mainNavi .burger-trigger:focus:not(:focus-visible) {outline: none;}
#mainNavi .burger-trigger span {
	position: absolute;
	width: 100%;
	height: 2px;
	background: #FFF;
	pointer-events: none;
}
#mainNavi .burger-trigger span:nth-of-type(1) {top: 0;right:0;transition: top .4s , width .3s , background .3s;}
#mainNavi .burger-trigger span:nth-of-type(2) {top: 12px;left: 0;transition: opacity .4s , background .3s;}
#mainNavi .burger-trigger span:nth-of-type(3) {bottom: 0;left: 0;transition: bottom .4s , background .3s;}
#mainNavi .burger-trigger.active span:nth-of-type(1) {
	top: 12px;
	right: 0px;
	transform: rotate(-45deg);
	background: #0280C3;
	transition: right .3s, width .3s, background .3s, top .3s cubic-bezier(.36, -.42, .68, -.56), transform .3s .3s;
}
#mainNavi .burger-trigger.active span:nth-of-type(2) {
	opacity: 0;
	transition: opacity .05s .3s, background .3s;
}
#mainNavi .burger-trigger.active span:nth-of-type(3) {
	bottom: 12px;
	transform: rotate(45deg);
	background: #0280C3;
	transition: width .3s, background .3s, bottom .3s cubic-bezier(.36, -.42, .68, -.56), transform .3s .3s;
}
}



@media(max-width:480px) {

#mainNavi .navBody{left: -230px;width: 230px;}
#mainNavi .navList li{padding: 3.3vh 0;ont-size: 23px;}

}


/*----------------------------------------*/



footer{
	width:100%;
	font-size:13px;
	font-family:'DINPro-Regular';
	text-align:center;
	padding:150px 0 50px;
}


@media(max-width:768px) {
footer{padding:15% 0 50px;}
}

@media(max-width:480px) {
footer{padding:25% 0 40px;font-size:12px;}
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/


.header2nd{
    width: 100%;
	padding-top: 80px;
}
.header2nd .title{
    width: 360px;
    margin: 0 auto;
    padding: 140px 0;
}
.header2nd .title h1{
    width: 100%;
    fill:#0F2F53;
}

@media(max-width:1080px) {
.header2nd .title{width: 330px;padding: 120px 0;}
}
@media(max-width:768px) {
.header2nd{padding-top: 70px;}
.header2nd .title{width: 300px;padding: 17% 0;}
}
@media(max-width:650px) {
.header2nd .title{width: 48%;}
}
@media(max-width:480px) {
.header2nd .title{width: 54%;padding: 21% 0;}
}






/*----------------------------------------*/


/* マスクで現れる */

.pointView{
	width:100%;
	box-sizing:border-box;
	position: relative;
	z-index:5;
	margin-top:0px;
}
.point-image{}
.point-image .point-image-motion{
	width:100%;
	height:100%;
	position:absolute;
	background-color:#FF6466;
	z-index:100;
	left:0;
	-webkit-transition: width 1.0s cubic-bezier(0.23, 1, 0.32, 1) 0s;
	transition: width 1.0s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.point-image .BTinner { visibility: hidden; }
.point-image.mask-image .point-image-motion { width: 0; left: 0; }
.point-image.mask-image .BTinner { visibility: hidden; }
.point-image.show-image .point-image-motion {
	width: 0;
	right: 0;
	left:inherit;
	-webkit-transition: width 1.0s cubic-bezier(0.23, 1, 0.32, 1) 0s;
	transition: width 1.0s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.point-image.show-image .BTinner {visibility:visible;}





/*
.inView{
	position:relative;
	opacity:0;
	top:50px;
}
*/
















