@charset "utf8";
* {
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box !important;
}
body {
	-webkit-text-size-adjust: 100%;
	}
	
/* -----------------------------------------------
	Reset
 ------------------------------------------------- */

/*-- Bace --*/
html { 
	margin: 0;
	padding: 0;
   height:100%;
}

body { 
	margin: 0;
	padding: 0;
   height:100%;
	color: #393939;
	font-size: 83%;
	line-height: 150%;
}

*{
    margin:0;
    padding:0;
}

div,p,table { 
	margin: 0;
	padding: 0;
	text-align: left;
}

h1,h2,h3,h4,h5,h6 {
	margin: 0;
	padding: 0;
	line-height: 100%;
	font-weight: normal;
	text-align: left;
}

dl,ul,ol,dt,dd { 
	margin: 0;
	padding: 0;
}

ul li {
	margin: 0;
	padding: 0;
	line-height: 1.5;
	list-style:none;
}

ol li {
	margin: 0 0 0 2.0em;
	padding: 0;
	line-height: 1.5;
	list-style: decimal;
}

address,caption,cite,strong,th {
	font-style: normal;
	font-weight: normal;
}

abbr,acronym,img {
	border: 0;
}

img {
	vertical-align: bottom;
}

/*-- Link --*/

a:link    { color: #231815; text-decoration: none; }
a:active  { color: #231815; text-decoration: none; }
a:visited { color: #5311cc; text-decoration: none; }
a:hover   {
	color: #1111cc;
	text-decoration: underline;
}

a { outline: none; }


/* -----------------------------------------------
	Selector
 ------------------------------------------------- */

.f-left {
	float: left;
	display: inline;
}

img.f-left {
	float: left;
}

.f-right {
	float: right;
	text-align: right;
	display: inline;
}

img.f-right {
	float: right;
	display: block;
}

.clear {
	clear: both;
}

.min-height_120 { 
	min-height:120px; 
	height:auto !important; 
	height:120px; 
}

.markerAdjust {
	text-indent:1em;
	padding-left:-1em;
}

/*-- Space --*/
.mrT5 { margin-top:5px !important; }
.mrT15 { margin-top:15px !important; }
.mrT25 { margin-top:25px !important; }
.mrT30 { margin-top:30px !important; }
.mrT40 { margin-top:40px !important; }
.mrB20 { margin-bottom:20px !important; }
.mrB40 { margin-bottom:40px !important; }
.mrR15 { margin-right:15px !important; }
.mrR25 { margin-right:25px !important; }
.paT20 { padding-top:20px !important; }
.paB30 { padding-bottom:30px !important; }
.paB40 { padding-bottom:40px !important; }
.paL10 { padding-left:10px !important; }
.paL15 { padding-left:15px !important; }
.mrL15 { margin-left:15px !important; }
.mrL20 { margin-left:20px !important; }
.mrL40 { margin-left:40px !important; }
.mrL50 { margin-left:50px !important; }

/*-- Clear Fix --*/
.clearFix:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}

.clearFix {
	zoom: 100%;
}


/*-- text --*/

.txtSmall {
	font-size: 0.8em;
}
.txtSmall2 {
	font-size: 0.9em;
}

.txtLarge {
	font-size: 1.2em;
}

.txtBold {
	font-weight: bold;
}

.txtLeft {
	text-align: left;
}

.txtRight {
	text-align: right;
}

.txtCenter {
	text-align: center;
}

.txtNarrow { 
	letter-spacing:-1px;
}

.red {
	color: #E60012;
}

.blue {
	color: #0068b6;
}
.thinblue{
	
	color: #82C9FF;	
}

.hdTxt {	
	font-size: 150%;
	line-height: 150%;
	font-weight: bold;
	color: #0085d0;
}

.shdTxt {	
	font-size: 80%;
	font-weight: bold;
	color: #0085d0;
}

.hdTxtEn {
	font-size: 140%;
	line-height: 140%;
	font-weight: bold;
	color: #0085d0;
}

/* -----------------------------------------------
	Contents
 ------------------------------------------------- */
body > #container {
    height: auto;
}

#container {
	width: 800px;
	margin: 0 auto;
	padding: 0;
	border-left: 6px #0080cb solid;
	border-right: 6px #0080cb solid;
	height:100%;
	height:auto !important; 
	min-height: 100%;
	zoom: 100%;
}
		
#container:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}

#wrapper {
	width: 700px;
	margin: 0 auto;
}

#wrapperIn {
	padding-bottom: 20px;
	min-height:630px; 
	height:auto !important; 
	height:630px; 
	zoom: 100%;
}
	
#wrapperIn:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}

#main {
	width: 700px;
	float: right;
	zoom: 100%;
}
	
#main:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}

.section {
	width: 700px;
	zoom: 100%;
}
	
.section:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}

.sct_in {
	width: 675px;
	margin-left: auto;
	margin-right: auto;
}

/*-- Header --*/
	
	#titleArea {
		width: 100%;
		margin: 0;
		padding: 20px 30px;
		border-bottom: 3px #0080cb solid;
		zoom: 100%;
		z-index: 80;
	}
	
	#titleArea:after {
		content: ".";
		display: block;
		visibility: hidden;
		height: 0.1px;
		font-size: 0.1em;
		line-height: 0;
		clear: both;
	}
	
		#titleArea ul {
			width: 210px;
			float: right;
			margin-top: 15px;
		}

			#titleArea ul li {
				width: 90px;
				height: 18px;
				float: right;
				margin-left: 15px;
			}

			#titleArea ul li.liCenter {
				padding: 0 15px;
			}


/*-- Global Navigation --*/
	
	#gNav {
		width: 100%;
		margin: 0 auto;
		background: linear-gradient(to bottom, #ffffff 0%,#e5e6e6 100%);
		z-index: 50;
        padding: .5rem 0;
	}
	
	#gNav_en {
		width: 800px;
		height: 49px;
		margin: 0 auto 35px;
		background: url(../image/common/gnav_bg.gif) left repeat-x;
		z-index: 50;
	}

	.btnArea_en {
		width:620px;
	}
	
	/*-- Level One --*/
	ul.dropdown { 
		position: relative; 
		margin: 0 auto; 
        display: flex;
        justify-content: center;
        width: 80%;
	}
		ul.dropdown > li { 
			font-weight: bold;  
			zoom: 1; 
            margin: 0 1%;
			z-index: 60;
            text-align: center;
            position: relative;

		}
ul.dropdown > li > a:hover {
    			background: #edebeb; 
    border-radius: 20px;
    width: 100%;
    box-shadow:0px -2px 0px 1px #e7e7e7;
    border-bottom: 1px solid #fff;
}
ul.dropdown > li > a {
    width: 100%;
    display: inline-block;
    font-size: 14px;
    text-align: center;
    padding:.4rem .8rem;
            border-bottom: 1px solid #e9eaea;


}
ul.dropdown > li > a:link,
ul.dropdown > li > a:visited {
     color: #2785d0;   
}
		
		ul.dropdown a:active { color: #ffa500; }
		ul.dropdown > li li a { display: block; /*padding: 4px 8px;*/ /*border-right: 1px solid #333;*/color: #2785d0; }
		ul.dropdown > li li:last-child a { border-right: none; } /* Doesn't work in IE */
		ul.dropdown > li li.hover,
		ul.dropdown > li li:hover { background: #95ddff; color: black; position: relative; }
		ul.dropdown > li li.hover a { color: #00469b; }
		
	/*-- Level Tow --*/
	ul.dropdown ul { 
		width: 100px; 
		color: #00469b; 
		visibility: hidden; 
		position: absolute; 
		top: 100%; 
		left: 3px; 
	}
		ul.dropdown ul li { 
			font-weight: normal; 
			background: #f6f6f6; 
			color: #000; 
			padding: 5px;/*border-bottom: 1px solid #ccc;*/ 
			float: none; 
			border-top: none; 
			font-size: 0.9em;
			text-align: center;
			border-right: 1px #c4c4c4 solid;
			border-top: 1px #fff solid;
			border-bottom: 1px #e0e0e0 solid;
			word-wrap: break-word;
			z-index: 70;
		}
									  
	/* IE 6 & 7 Needs Inline Block */
	ul.dropdown ul li a { border-right: none; width: 100%; display: inline-block; } 

	/*-- Level Three --*/
	ul.dropdown ul ul { 
		left: 100%; 
		top: 0; 
	}
	ul.dropdown li:hover > ul { 
		visibility: visible; 
	}


/*-- Mail To --*/
.mailto {
	margin: 0;
	padding-left: 0;
}
	
.mailto a:link    { color: #1111cc; text-decoration: underline; }
.mailto a:active  { color: #1111cc; text-decoration: underline; }
.mailto a:visited { color: #5311cc; text-decoration: underline; }
.mailto a:hover   { color: #0080cb; text-decoration: underline; }


/*-- Go Top --*/

.goTop {
	padding: 30px 40px 30px 00;
	text-align: right;
	font-size: 83%;
}

.goTop a:link     { color:#1111cc;text-decoration:underline; }
.goTop a:visited  { color:#1111cc;text-decoration:underline; }
.goTop a:hover    { color:#0080cb;text-decoration:underline; }


/*-- Link --*/

.newsLink a:link    { color: #393939; text-decoration: underline; }
.newsLink a:active  { color: #393939; text-decoration: underline; }
.newsLink a:visited { color: #393939; text-decoration: underline; }
.newsLink a:hover   {
	color: #0A3290;
	text-decoration: underline;
}

/*-- Footer --*/

#footer {
	width: 760px;
	margin: 0 auto;
}

	#footer address {
		margin-top: 5px;
		font-weight: bold;
		text-align: left;
		font-size: 76%;
	}

	#footer p {
		margin: 10px auto 0;
		padding-bottom: 10px;
		text-align: center;
		font-size: 80%;
	}
	
	#footer p span {
		display: block;
		margin-top: 8px;
		font-size: 76%;
		color: #888888;
	}
.superscript sup {
	font-size: 9px;
}
.headlines a {
	text-decoration: underline;
}
#footerNav {
	width: 100%;
	padding: 1rem 2rem;
	background: #0080cb;
	margin-top: 3rem;
}
#footerNav ul {
	display: grid;
	grid-template-columns:16.6% 16.6% 16.6% 16.6% 16.6% 1fr;
}
#footerNav ul li {
	padding: .5rem;
	text-align:center;
}
#footerNav ul li a:link,
#footerNav ul li a:visited {
	color: #fff;
}


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

スマホ専用

------------------------------------------------*/
@media screen and (min-width: 481px) {
    #gNav input,
        #gNav label,
        #gNav_en input,
        #gNav_en label{
        display: none;
    }
}
@media screen and (max-width: 480px) {
    #gNav {
        margin-bottom: 0;
    }

    
	#titleArea ul {
		margin:8px 95px 0 auto;
		float: none;
		display: flex;
		width: auto;
		justify-content: flex-start;
		flex-direction: row-reverse;
	}
    
    #titleArea ul li {
		margin-left: 5px;
		height: 20px;
		position: relative;
		width: auto;
		float: none;
	}
	#titleArea ul li a {
		display: block;
		width: 100%;
		margin-top: -18px;
		height: 18px;
	}
	#titleArea ul li:before {
		content: "Home";
		display: block;
		background: #103290;
		color: #fff;
		height: 18px;
		text-align:center;
		font-size: 12px;
		line-height: 18px;
		pointer-events: none;
	}
	#titleArea ul li:first-of-type:before {
		content: "English";
	}
	#en #titleArea ul li:first-of-type:before {
		content: "Japanese";
	}
	#titleArea ul li img {
		height: auto;
		width: 100%;
		object-fit: cover;
		visibility: hidden;
		margin-top: -18px;
		
	}
    ul.dropdown {
        flex-wrap: wrap;
        width: 100%;
    }
    ul.dropdown li {
        float: none;
    }
    ul.dropdown > li {
        width: 100%;
        text-align: left;
        position: relative;
    }
    ul.dropdown > li > a:link, ul.dropdown > li > a:visited {
        color: #dceff9;
        padding: .8rem;
        text-align: left;
    }
    #gNav #hamMenu {
        padding: 2rem;
    }
    ul.dropdown > li > a {
        border-bottom: 1px solid #2073a3;
        box-shadow: inset 0px -1px 0px 0px #0e4868;
    }
    ul.dropdown > li:before {
        content: "▲";
        position: absolute;
        color: #fff;
        right: 10px;
        top: 14px;
        transform: rotate(90deg);
        font-size: 10px;
    }
    ul.dropdown ul {
        position: relative;
        visibility: visible;
        top: 0;
        width: 100%;
    }
    ul.dropdown ul li {
        background: none;
        border: none;
    }
    ul.dropdown ul {
        margin-top: .5rem;
       visibility: visible!important;
    }
    ul.dropdown ul li a {
        color: #fff !important;
    }
 /*--------------------
common
----------------------*/   
    
    #container {
        width: 100%;
    }
    img {
        width: 100%;
    }
    
/*--------------------
header
----------------------*/
    #titleArea {
        width: 100%;
        padding: .5rem;
        position: relative;
        z-index: 1;
    } 
    img.f-left {
        float: none;
    }
    #titleArea img {
        max-width: 300px;
        height: auto;
        object-fit: contain;
    }
    
    
    
    #footer {
        width: 100%;
        padding: 0 1rem 1rem;
    }
    #footer img {
        width: 50%;
        height: auto;
        object-fit: contain;
    }
    address + p{
        word-break: break-all;
    }
    

} 

@media only screen and (max-width: 480px) {
/* ハンバーガーメニュー　*/
.nav-ham {
  display: none;
  position: absolute;
  top: 2.2rem;
  right: 5.2%;
  width: 40px;
  height: 14px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  z-index: 100;
}

.nav-ham span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  transition: transform 0.5s, opacity 0.5s, width 0.3s;
}

.nav-ham span:nth-child(1) {
  top: 0;
}

.nav-ham span:nth-child(2) {
  top: 0;
  bottom: 0;
  margin: auto;
}

.nav-ham span:nth-child(3) {
  bottom: 0;
}
#hamMenu{
  position: fixed;
  background: rgb(4 26 78 / 90%);
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  color: #ffffff;
  display: flex;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transform: translateX(100%);
  transition: 0.5s ease-in-out;
  z-index: 50;
}

#hamMenu ul li {
  position: relative;
  transform: translateX(-30px);
  transition: transform 1.3s ease;
}

#hamMenu ul li:nth-child(2) {
  transition-delay: 0.15s;
}

#hamMenu ul li:nth-child(3) {
  transition-delay: 0.3s;
}

#hamMenu ul li:nth-child(4) {
  transition-delay: 0.45s;
}

#hamMenu ul li a {
  color: #fff;
}



  /* body
--------------------------------*/

  /*sp nav*/
  .nav-ham {
    display: block;
    position: absolute;
    top: 53px;
    right: 20px;
    width: 14px;
    height: 12px;
    cursor: pointer;
    z-index: 100;
	transition: .3s all;
  }
  .nav-ham:before {
	  content: "Menu";
	  position:absolute;
	  right: -5px;
	  top: -3px;
	  text-indent: 5px;
	  line-height: 18px;
	  font-size: 12px;
	  display: block;
	  width: 85px;
	  background: #103290;
	  height: 18px;
	  color: #fff;
	}
	#en .nav-ham:before {
		top:-12px;
	}
	#en .nav-ham span:nth-child(1) {
		top: -8px;

	}
	#en .nav-ham span:nth-child(2) {
		top: -16px;
	}
	#en .nav-ham span:nth-child(3) {
		bottom: 8px;
	}
	.open .nav-ham:before {
		background: none;
	}
  .open .nav-ham {
    position: fixed;
	transform: translateY(-30px);
  }
  .open .nav-ham span {
    background-color: #fff;
  }
  .open .nav-ham span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  .open .nav-ham span:nth-child(2) {
    top: 0;
    bottom: 0;
    margin: auto;
    width: 0px;
    opacity: 0;
  }
  .open .nav-ham span:nth-child(3) {
    transform: translateY(-4px) rotate(-45deg);
  }
  .open #hamMenu {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
  }
  .open #hamMenu ul li {
    transform: translateX(0);
      text-align: left;
  }
  .overlay {
    content: "";
    display: block;
    width: 0;
    height: 0;
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.5s;
  }
    ul.dropdown > li li.hover {
        background: none;
        color: #fff;
    }
	body {
		font-size: 15px;
	}
	#footerNav ul {
		display: grid;
		grid-template-columns:50% 50%;
		grid-template-rows:33% 33% 1fr ;
	}

	#footerNav ul li {
		text-align:left;
		font-size: 14px;
	}

}

