﻿@charset "UTF-8";

/* !HTML5 elements
---------------------------------------------------------- */
header, footer, nav, section, aside, article
{ display: block;}

/* !Reseting
---------------------------------------------------------- */

body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td
{ margin: 0; padding: 0;}
input, textarea
{ margin: 0; font-size: 100%;}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
fieldset, img
{ border: 0;}
img
{ vertical-align: top; max-width: 100%;}
address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: normal;}
ol, ul
{ list-style: none;}
caption, th
{ text-align: left;}
h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: normal;}
q:after, q:before
{ content:'';}
a, input,select,textarea,button
{ outline: none; }
abbr, acronym
{ border: 0;}

select::-ms-expand {
	display: none;
} 
input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
} 
select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	font-family: "Noto Sans JP", sans-serif;
}
input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}
input[type=reset],
input[type=button],
input[type=submit]  {
	font-family: "Noto Sans JP", sans-serif;
	cursor: pointer;
}

/* !Clearfix
---------------------------------------------------------- */
.clearfix {
	display: block;
	min-height: 1%;
}
.clearfix:after {
	clear: both;
	content:".";
	display: block;
	height: 0;
	visibility: hidden;
} 

/* !Layout
---------------------------------------------------------- */
html { 
	overflow-y: scroll;
	font-size: 62.5%;
}
body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	-webkit-text-size-adjust: none;
	line-height: 1.5;
	color: #000;
} 

@media screen and (max-width: 1060px) {
  html { 
    font-size: 0.9434vw;
  }
}
@media screen and (max-width: 768px) {
  html { 
    font-size: 62.5%;
  } 
   
}

*{ 
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}

/* !Base Fonts -------------------------------------------------------------- */
a {
	color: inherit;
	text-decoration: none;
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}

a:hover {
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}

.op img,
.op input {
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;	
}
.op:hover img,
.op:hover input {
	opacity: .7;
	-webkit-opacity: .7;
	-moz-opacity: .7;
	filter: alpha(opacity=70);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=70)"; /* IE 8 */
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
}

.fwN { font-weight: normal;}
.fwB { font-weight: bold;}
.fs10   { font-size: 1.0rem;}
.fs11   { font-size: 1.1rem;}
.fs12   { font-size: 1.2rem;}
.fs13   { font-size: 1.3rem;}
.fs14   { font-size: 1.4rem;}
.fs15   { font-size: 1.5rem;}
.fs16   { font-size: 1.6rem;}
.fs17   { font-size: 1.7rem;}
.fs18   { font-size: 1.8rem;}
.fs19   { font-size: 1.9rem;}
.fs20   { font-size: 2.0rem;}
.fs21   { font-size: 2.1rem;}
.fs22   { font-size: 2.2rem;}
.fs23   { font-size: 2.3rem;}
.fs24   { font-size: 2.4rem;}
.fs25   { font-size: 2.5rem;}
sup   { font-size: 8px; vertical-align: top;}
sub   { font-size: 8px; vertical-align: baseline;}

/* !Inline Align ------------------------------------------------------------ */
.taL { text-align: left   !important;}
.taC { text-align: center !important;}
.taR { text-align: right  !important;}
.vaT { vertical-align: top    !important;}
.vaM { vertical-align: middle !important;}
.vaB { vertical-align: bottom !important;}
.blockC { margin-right: auto; margin-left: auto; text-align: left;}
* html .blockC { margin-right: 0; margin-left: 0;}
.blockR { margin-left: auto; text-align: left;}
* html .blockR { margin-left: 0;}

/* !Width ------------------------------------------------------------------- */
.w03per { width: 3%  !important;}
.w05per { width: 5%  !important;}
.w10per { width: 10% !important;}
.w13per { width: 13% !important;}
.w15per { width: 15% !important;}
.w20per { width: 20% !important;}
.wQuart { width: 25% !important;}
.w30per { width: 30% !important;}
.wTri   { width: 33.33% !important;}
.w35per { width: 35% !important;}
.w40per { width: 40% !important;}
.w45per { width: 45% !important;}
.wHalf  { width: 50% !important;}
.wMax   { width: 100% !important;}

/* !Floats ------------------------------------------------------------------ */
.flL    { display: inline; float: left;}
.flR    { display: inline; float: right;}
.flImgL { display: inline; float: left; margin-right: 10px;}
.flImgR { display: inline; float: right; margin-left: 10px;}
.ftBox  { overflow: hidden;}

/* !Tools ------------------------------------------------------------------- */
.clear { clear: both;}
.block { display: block !important;}
.hide  { display: none !important;}
.bgN   { background: none !important;}
.tdU   { text-decoration: underline;}
.tdN   { text-decoration: none;}

/* !JavaScript -------------------------------------------------------------- */
.over { /* ロールオーバー呼び出し用 */ }

@media screen and (min-width: 768px) {
	.sp {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.pc {
		display: none;
	}
}

.bgBlue {
	background: #002060;
}
 
.colorRed {
	color: #E0021F;
}
 
.hdL {
	margin: 0 auto 3rem;
	max-width: 109.6rem;
	padding: 2.5rem 14.8rem;
	background: url(../img/bg_hd.png)no-repeat center;
	background-size: cover;
	mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0, rgba(0,0,0,1) 15%, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
	mask-mode: alpha;
	text-align: center;
	color: #fff;
	font-weight: 700;
}
.hdL p + p {
	margin-top: 1.6rem;
	padding-top: 1.6rem;
	border-top: 2px solid;
}
.hdL .eng {
	letter-spacing: 0.16em;
	font-size: 3rem;
}
.hdL .jap {
	font-size: 4rem;
}

.hdM {
	margin-bottom: 1.6rem;
	text-align: center;
	color: #002060;
	font-size: 4.2rem;
	font-weight: 700;
}
.hdM .small {
	font-size: 4rem;
}

.hdS {
	line-height: 2.375;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
}

.anchorArea {
	position: relative;
}
.anchorArea .anchor {
	position: absolute;
	top: -7.5rem;
}


/*** hover ***/
@media screen and (min-width: 960px) {

}
/*** pc ***/
@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}
/*** sp ***/
@media screen and (max-width: 767px) {
	
	.hdL {
	    margin-bottom: 2rem;
	    padding: 1.5rem 2rem;
	    mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1));
	}
	.hdL .eng {
	    font-size: 1.5rem;
	}
	.hdL .jap {
	    font-size: 1.8rem;
	}
	.hdL p + p {
	    margin-top: 1rem;
	    padding-top: 0.8rem;
	}
	
	.hdM {
		margin-bottom: 1rem;
		font-size: 1.7rem;
	}
	.hdM .small {
	    font-size: 1.9rem;
	}
	
	.hdS {
	    line-height: 1.785;
	    font-size: 1.4rem;
	}
	
	.anchorArea .anchor {
		top: -5.6rem;
	}
}

