@charset "utf-8";

/* Reset
   ========================================================================== */

html {
/*    font-family: sans-serif;*/
} 

body {
    margin: 0;
	-webkit-text-size-adjust: 100%;	
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block;
}

audio, canvas, progress, video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden], template {
    display: none;
}

a {
    background: none repeat scroll 0 0 transparent;
}

a:active, a:hover {
    outline: 0 none;
}
#main_contents a{
 text-decoration:underline;
 color:#284868;
 }
#main_contents #info a{
 color:#333;
 text-decoration:none;
 }
#main_contents .info_all a{
 color:#fff;
 }
#main_contents #info .info_all a{
 color:#fff;
 }
abbr[title] {
    border-bottom: 1px dotted;
}

b, strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

mark {
    background: none repeat scroll 0 0 #ff0;
    color: #000;
}

small {
    /*font-size: 62.5%;*/
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0 none;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 1em 40px;
}

hr {
    box-sizing: content-box;
    height: 0;
}

pre {
    overflow: auto;
}

code, kbd, pre, samp {
    font-family: monospace,monospace;
    font-size: 1em;
}

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button {
    overflow: visible;
}

button, select {
    text-transform: none;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    cursor: pointer;
}

button[disabled], html input[disabled] {
    cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0 none;
    padding: 0;
}

input {
    line-height: normal;
}

input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}
input[type="search"] {
    box-sizing: content-box;
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0 none;
    padding: 0;
}

textarea {
    overflow: auto;
}

optgroup {
    font-weight: bold;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

h1, h2, h3, h4, h5.h6 {
    font-weight: normal;
    margin: 0;
    padding: 0;
}

p {
    margin: 0 0 1em;
}

td, th {
    margin: 0;
    padding: 0;
}

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

ul, li {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
ul.point{
 list-style-type: disc;
 }
ul.point li{
 list-style-type: disc;
 margin-left:1em;
 }
ol.num li{
 list-style-type: decimal;
 margin-left:1em;
 }
ol.num li{
 }
a {
    color: inherit;
    text-decoration: none;
}

nav a,
.side_menu a,
.info_all a {
	display:block;
}

a:hover {
    text-decoration: none;
}

.clear {
    clear: both;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

.clearfix {
    display: inline-block;
}

* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

body {
    color: #333333;
    font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial,"メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
    font-size: 16px;
    letter-spacing: -0.001em;
    line-height: 1.6;
    overflow-x: hidden;
    text-align: center;
    background: url("../images/bg.gif") repeat scroll 0 0 rgba(0, 0, 0, 0);	
	background-color:#f9f9f9;
}

.ie8 img {
    width: auto;
}

address{
	font-style:normal;
}


/* 共通
   ========================================================================== */

#wrapper {
    margin: 0 auto;
    text-align: left;
    width: 100%;
	font-size: 87.5%;
	background: #F2F2F2;
}

/* テキスト揃え */
.text_center{
	text-align: center;
}

/* 画像位置揃え */
.img_center img{
    display: block;
    margin: 0 auto;
    max-width:100%;
}

/* フォントカラー */
.color_wh {
    color: #fff;
}

/* フォントサイズ */
.font10 {
    font-size: 62.5%;
}

.font12 {
    font-size: 75%;
}

#information p {
    font-size: 81.25%;
}

.font14 {
    font-size: 87.5%;
}

.font18 {
    font-size: 112.5%;
}
	
.hover_line a:hover {
    text-decoration: underline;
}

/* lighter */
.lighter {
    font-weight: lighter;
}

/*.bold {
    font-weight: bold;
}*/

#news .pd_btm_n {
    padding-bottom: 0;
}

.touch-button{
	display:none;
}

.fade {
    transition: all 0.5s ease-in-out 0s;
}

.fade:hover {
    opacity: 0.7;
}

.photo01 {
	border: 1px solid #CCCCCC;
	border-radius:6px;
	width: 148px;
	height: 195px;
	margin-bottom: 2em;	
}



.photo01 img {
	margin:3px;	
	width: 142px;
}

.photo {
	float: left;
}

.photo_right {
	float: right;
}

.photo02 {
	float: left;
  margin-right: 50px;
  /* margin-top: 35px; */
  height: 196px;
  margin-bottom: 49px;
}

.photo03 {
	margin-right: 20px;
	margin-top:5px;
}

.a_line {
	text-decoration: underline;
}

.red {
	color: #C9282E;
}

/* TOPへ
   ========================================================================== */

#ptop {
    background-color: #284868;
    border-radius: 5px;
    bottom: 15px;
    color: #ffffff;
    font-size: 12px;
    height: 30px;
    padding: 10px 4px 0;
    position: fixed;
    right: 20px;
    text-align: center;
    text-decoration: none;
    width: 30px;
}

/* ヘッダー
   ========================================================================== */

header {
	height: 75px;
	width: 100%;
	
	background: #002060; /* Old browsers */
}
header p {
	color: #EEEEEE;
	width: 160px;
	height: 30px;
	float:right;
	margin: 22px 0 0 2px;
}
header p a{
	display:block;
	border:1px solid #fff;
	padding:3px;
}
header p a::before{
	display:inline-block;
	content:"▲";
	transform: rotate(90deg);
	-ms-transform: rotate(90deg);
 	-moz-transform: rotate(90deg);
 	-webkit-transform: rotate(90deg);
 	-o-transform: rotate(90deg);
	color:#fff;
	padding:0 3px;
}
#header_inner {
	height:inherit;
	width: 960px;
	margin: 0 auto;
}

header h1 {
	width: 517px;
	height: 75px;
	float: left;
}

/* スライダー
   ========================================================================== */

.flex-control-nav {
	display: none;
}

#topimg_msg {
 	left: -308px;
    margin-left: 50%;
    position: absolute;
    top: 343px;
    width: 960px;
    z-index: 100;
}

/* リード文
   ========================================================================== */

#lead {
	display: none;
}


/* グローバルナビ
   ========================================================================== */
   
nav {
	height: 50px;
	background: #002060;
	color: #fff;
	font-size: 107%;
}

nav ul {
	width: 960px;
	margin: 0 auto;
}

nav ul li {
	display: inline-block;
	width: 190px;
	height: 50px;
	vertical-align: middle;
	line-height: 50px;
	text-align: center;
    vertical-align: middle;
	position:relative;
}
#nav_home {
	width: 60px;
}

nav ul li:hover,nav ul li a:hover{
	background: #3D6D9E;
}

nav ul li ul.submenu02 {
    /*left: 1px;*/
	background: #F8F8F8;
    position: absolute;
    top: 50px;
}
nav ul li.topmenu02 ul.submenu02 {
    width: 200px;
}
nav ul li.topmenu02 ul.submenu02 li{
    width: 200px;
}
nav ul li.topmenu03 ul.submenu02 {
    width: 200px;
}
nav ul li.topmenu03 ul.submenu02 li{
    width: 200px;
}
nav ul li.topmenu04 ul.submenu02 {
    width: 200px;
}
nav ul li.topmenu04 ul.submenu02 li{
    width: 200px;
}
nav ul li.topmenu05 ul.submenu02 {
    width: 200px;
}
nav ul li.topmenu05 ul.submenu02 li{
    width: 200px;
}
nav ul li.topmenu08 ul.submenu02 {
    width: 200px;
}
nav ul li.topmenu08 ul.submenu02 li{
    width: 200px;
}

nav ul li ul.submenu02 li {
	border:1px solid #ccc;
    clear: both;
    height: 52px;
	background: #F8F8F8;
	position: relative;
	color: #000;
    z-index:999;
}

nav ul li ul.submenu02 li:hover {
	background: #3D6D9E;
	color: #fff;
}
/*nav ul li topmenu li {
    float: left;*/
/*    height: 62px;*/
/*    position: relative;
}
*/


/* コンテンツ
   ========================================================================== */

#contents {
	width: 960px;
	margin: 0 auto;
	padding: 35px 0;
}

#main_contents {
	float: left;
}


/* サイド
   ========================================================================== */

#side {
	float: right;
	padding-top: 33px
}

#side div {
	margin-bottom: 5px;
}

/* footer
   ========================================================================== */
   
footer {   
	background: #131726;
	height: 45px;
	font-size: 78.5%;
	color: #fff;
	padding: 10px 0;
}

#ftr_logo {
	float: left;
	margin-right: 35px;
}

#ftr_inner {
	width: 960px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {

/* スマホ共通
   ========================================================================== */
	
img {
    max-width: 100%;
	height: auto;
}

body{
/*    background-size:50px;*/
/* フォントファミリ明朝 */
	/* font-family:Times New Roman , "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", Hiragino Mincho ProN , "MSP明朝","MS PMincho","MS 明朝",serif; */
	background:#EEEEEE;
}

#wrapper {
    margin: 0 auto;
    width: 100%;
	background: #EEEEEE;
}

.photo01 {
	border: 1px solid #DDDDDD;
	border-radius:6px;
	width: 186px;
	height: 246px;
	margin-bottom: 2em;
	margin: 0 auto;	
	background: #DDDDDD;
}

.photo01 img {
	margin:3px;
	width: 180px;
}

.photo {
	float: none;
}

.photo02 {
	float: left;
	margin-right: 20px;
}

.photo03 {
    height: 189px;
	width: 142px;
    margin: 1em auto;
}

.photo_right {
	float: none;
}

.iframe-content {
      width:100%;
      height:200px;
      overflow:auto;
      -webkit-overflow-scrolling:touch;
}
	
.iframe-content iframe {
      width:100%;
      height:100%;
      border:none;
    }

nav ul li.topmenu02 ul.submenu02 {
    width: 100%;
}
nav ul li.topmenu02 ul.submenu02 li{
    width: 100%;
}
nav ul li.topmenu03 ul.submenu02 {
    width: 100%;
}
nav ul li.topmenu03 ul.submenu02 li{
    width: 100%;
}
nav ul li.topmenu04 ul.submenu02 {
    width: 100%;
}
nav ul li.topmenu04 ul.submenu02 li{
    width: 100%;
}
nav ul li.topmenu05 ul.submenu02 {
    width: 100%;
}
nav ul li.topmenu05 ul.submenu02 li{
    width: 100%;
}
nav ul li.topmenu08 ul.submenu02 {
    width: 100%;
}
nav ul li.topmenu08 ul.submenu02 li{
    width: 100%;
}

/* コンテンツ
   ========================================================================== */

#contents {
	width: 100%;
	margin: 0 auto;
	padding: 0 0 16px 0;
 z-index:1;
}

#main_contents {
	float: none;
}


/* ヘッダー
   ========================================================================== */

header {
	height: 75px;
	width: 100%;
	
	background: #002060; /* Old browsers */
	/* IE9 SVG, needs conditional override of 'filter' to 'none' */
/*	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzM1NWY4OSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxZTIwMzciIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); */
/*	background: -moz-linear-gradient(top,  #355f89 0%, #1e2037 100%);  */
/*	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#355f89), color-stop(100%,#1e2037)); */
/*	background: -webkit-linear-gradient(top,  #355f89 0%,#1e2037 100%); */
/*	background: -o-linear-gradient(top,  #355f89 0%,#1e2037 100%); /* Opera 11.10+ */
/*	background: -ms-linear-gradient(top,  #355f89 0%,#1e2037 100%); */
/*	background: linear-gradient(to bottom,  #355f89 0%,#1e2037 100%); */
/*	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#355f89', endColorstr='#1e2037',GradientType=0 ); */
}

header p {
	display: none;
}

#header_inner {
	width: 100%;
}

header h1.logo {
	width: calc(100% - 110px);
	height: 100%;
	float: none;
	background: url(../images/title_logo.png) no-repeat left;
	background-size:contain;
}   

header h1.logo img {
	display: none;
}

header h1.logo a {
	display: block;
	height: 75px;
	width: 320px;
}

/* スライダー
   ========================================================================== */

#topimg_msg {
	display: none;
}

#home_slider {
	position: relative;	
}

.flex-viewport .flex-prev {
	display:none; 
}

/* リード文
   ========================================================================== */

#lead {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 20px 5%;
	box-sizing:border-box;
	background: #fff;
	font-size: 85.7%;
	
}

/* グローバルナビ
   ========================================================================== */
   
nav {
    height: 0;
    position: absolute;
    top: 75px;
    width: 100%;
}

nav ul {
	width: 100%;
	position: relative;
	top: 40px;
	z-index: 999;
}

nav ul li {
	display: inline-block;
	width: 100%;
	height: auto;
	vertical-align: middle;
	line-height: 50px;
	text-align: center;
    vertical-align: middle;
	position:relative;
	top: 0;
}

#nav_home {
	display: none;
}

nav ul li:hover{
	background: #3D6D9E;
}

nav ul li ul.submenu02 {
    /*left: 1px;*/
   /* top: 40px*/;
    width: 100%;
	height: 100%;
	position: static;
}

nav ul li ul.submenu02 li {
    height: 40px;
	background: #284868;
	position: relative;
	color: #000;
	top: -7px;
}

nav ul li ul.submenu02 li:hover {
	background: #3D6D9E;
	color: #fff;
}
/*nav ul li topmenu li {
    float: left;*/
/*    height: 62px;*/
/*    position: relative;
}
*/

#nav_home ul li a{
	display: block;

}

/* サイド
   ========================================================================== */

#side {
	float: none;
	padding-top: 33px;
	width: 90%;
	margin:0 auto;
	text-align: center;
}

#side div {
	margin-bottom: 5px;
}

/* footer
   ========================================================================== */
   
footer {   
	background: #131726;
	height: 100%;
	font-size: 100%;
	color: #fff;
	padding: 2em 0;
	width: 100%;
}

#ftr_logo {
	float: none;
	margin-right: 35px;
}

#ftr_inner {
	width: 90%;
	margin: 0 auto;
}

small {
	font-size: 85.7%;
	display: inline-block;
	line-height: 1.2;
}

footer address {
	line-height: 1.4;
	margin-bottom: 1em;
}

footer span {
	display: block;
}

.address_space {
	margin-top: -1.2em;
}

}

/* navi */
header{
 position:relative;
 }
header nav{
 position:absolute;
 top:0;
 width:100%;
 height:75px;
 background:transparent;
 }
header nav ul{
 top:0;
 width:auto;
 }
header nav ul li{
 display:block;
 width:calc(100%-50px);
 }
header nav ul li.home{
 width:50px;
 }
header nav ul li.home a{
 display:block;
 }
header nav#spnavi ul li{
 height:auto;
 }
header nav#spnavi ul li{
  line-height:49px;
}
header nav#pcnavi ul li{
  line-height:auto;
}
input.togglebox{
  display:none;
  }
#menubar > label{
  z-index:20;
 width:75px;
 height:62px;
 position:absolute;
 }
#menubar > label{
 right:0;
 }
#menubar{
 z-index:10;
 display:block;
 left:0;
 right:0;
 width:100%;
 margin:0 auto;
 max-width:1200px;
 position:absolute;
 background: #002060;
 color:#fff;
 }
.hmb a{
  justify-content: center;
  align-items: center;
  width:75px;
  height:75px;
  cursor:pointer;
 }
.hmb a img{
 display:block;
 margin-left:5px;
 width:55%;
 }
.hmb a#menuclose img{
 width:45%;
 }
.hmb a span{
 text-align:center;
 display:block;
 }
.hmb a span.title{
 line-height:1em;
 font-size:0.8em;
 }
.openbtn,.closebtn{
  cursor:pointer;
 }
.openbtn[aria-hidden=false]{
  display:flex;
 }
.openbtn[aria-hidden=true]{
  display:none;
 }
.closebtn[aria-hidden=true]{
  display:none;
 }
.closebtn[aria-hidden=false]{
  display:flex;
 }
.verticaldrawer[aria-hidden=true]{
  max-height: 0;
 }
.verticaldrawer[aria-hidden=false]{
  max-height: 500vh;
 }
.horizontaldrawer[aria-hidden=true]{
 max-width: 0;
 }
.horizontaldrawer[aria-hidden=false]{
  max-width: 100vw;
 }
label.togglebox{
 display:block;
 }
input.togglebox:checked + .btnarea > label .closebtn{
 display:flex;
 }
input.togglebox:checked + .btnarea > label .openbtn{
  display:none;
 }
input.togglebox:checked + .btnarea + .horizontaldrawer{
  display:block;
  max-width: 100vw;
 }
input.togglebox:checked + .btnarea + .verticaldrawer{
  display:block;
  max-height: 500vh;
 }
#spdrawer{
 position:absolute;
 top:75px;
  width:100%;
 background: #002060;
  padding:0;
  overflow:hidden;
  transition: 0.3s;
  z-index:200;
  }
#spdrawer li{
  padding:0;
  margin:0;
  }
#spdrawer li a{
  padding:0 15px;
  text-decoration:none;
  color:#fff;
  width:100%;
  box-sizing:border-box;
  position:relative;
  }
#spdrawer li.link > a{
  display:block;
  background-color: #D4CEBC;
  color:#333;
  }
#spdrawer li ul{
  width:100%;
  overflow:hidden;
  transition: 0.3s;
  }
#spdrawer li.link a{
 display:block;
 background: #002060;
 color:#fff;
  }
#spdrawer li li a.openbtn,#spdrawer li li a.closebtn{
 background-color:#c7a2cd;
 color:#fff;
 }
#spdrawer li li.link a{
  background-color: #D4CEBC;
  color:#333;
  }
#spdrawer li a span.icon{
  width:70px;
  text-align:right;
  position:absolute;
  right:15px;
  }
#spdrawer li a span.icon img{
  vertical-align:middle;
  width:15px;
  }
#spdrawer li a span.title{
  flex:1;
  }
#header_inner{
 height:75px;
 position:relative;
 }
#header_inner h1.logo{
 z-index:15;
 position:relative;
 }
header p.fade{
 z-index:15;
 position:relative;
 }
#top header{
	height:125px;
}
#top.home header{
	height:calc(75px + 64px + 100vw * 9 / 16);
 }
#pcdrawer{
 display:flex;
 margin:75px auto 0 auto;
 width:960px;
 }
.home #pcdrawer{
 margin-top:calc(80px + 100vw * 9 / 16);
 }
header nav#pcnavi ul li{
 text-align:center;
 }
#pcdrawer .btnarea a{
 justify-content: center;
 flex-wrap:wrap;
 height:50px;
 position:relative;
 }
#pcdrawer .btnarea a span{
 width:100%;
 text-align:center;
 }
#pcdrawer .btnarea a span.icon{
 height:10px;
 position:absolute;
 bottom:5px;
 line-height:10px;
 }
#pcdrawer .btnarea a span.icon img{
 width:8px;
  }
#pcdrawer span.title{
 font-size:100%;
 }
#pcdrawer ul{
 overflow:hidden;
 z-index:50;
 position:relative;
 }
#pcdrawer li li.link a{
  background-color: #D4CEBC;
  color:#333;
  border-bottom:1px solid #aaa;
  line-height:49px;
 }
#pcdrawer li li.link a:hover{
	background: #3D6D9E;
	color:#fff;
 }
@media screen and (min-width: 769px) {
 #spnavi{
  display:none;
  }
 #pcnavi{
  display:block;
  }
 }

@media screen and (max-width: 768px) {
 #top header{
  height:85px;
  }
 #top.home header{
  height:325px;
  }
 #pcnavi{
  display:none;
  }
 #top #pankuzu{
  top:0;
  }
}

ul.column2{
 display:flex;
 flex-wrap:wrap;
 gap:2em 3em;
 margin:0;
 padding:0;
 list-style:none;
 }
ul.column2 li{
 width:calc( 50% - 1.5em );
 margin:0;
 padding:0;
 }
ul.column2 li p:last-child{
 margin-bottom:0;
 }
@media screen and (max-width: 768px) {
 ul.column2{
  display:block;
  }
 ul.column2 li{
  width:100%;
  }
}
