@charset "UTF-8";

/* print setting */
@media print {
body {
-webkit-print-color-adjust: exact;
top:0 !IMPORTANT;
left:0 !IMPORTANT;
width:200mm !IMPORTANT;
height:290mm !IMPORTANT;
}
}

@media screen and (min-width: 680px){   
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 680px){   
  .pc { display:none; }
  .sp { display:block; }
}

/* all
-------------------- */
html { font-size: 62.5%; } 
body {
  background-color: #fff;
	 margin: 0;
  color: #0e3069;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
	-webkit-font-smoothing: antialiased;
  font-feature-settings : "palt";
 -webkit-text-size-adjust: 100%;
  font-size: 1.6rem; 
  display: flex; /* フレックスボックスに有効に */
  flex-flow: column; /* 要素を縦に並べる */
  min-height: 100vh;
}

b, strong, .bold{
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
 font-weight: bold;
}
/* IEだけに適応 */
_:lang(x)::-ms-backdrop, body {
    font-family: "メイリオ", Meiryo, sans-serif;
} 
*, *:before, *:after {box-sizing: border-box;}

a:link, a:visited { color: #0e3069; }
a:hover, a:active { color: #fa162d; }
a img { transition: 0.3s;}
a img:hover { opacity:0.7;}

.ind { text-indent: 1em; }
.ind1 { text-indent: -1em; padding-left: 1em; }
.ind4 { text-indent: -4em; padding-left: 4em; }
img { height: auto; max-width: 100%; }
img.lp { border: 1px solid #a9a9a9; }
figure {text-align: center;}
.middle img{ vertical-align: middle; }
ul li { list-style-type: none; }
.cnt {text-align: center;}

/*リスト 黒丸 緑 */
ul.disc li {list-style-type: disc; color: #74caa9;}
ul.disc li span {color: #333;}
ol.decimal li {list-style-type: decimal; margin-left: 2rem!important;}


/* text-layout */
.txt_left { text-align: left!important; word-wrap: break-word; }
.txt_right { text-align: right!important; word-wrap: break-word; }
.cnt { text-align: center; }
.no-wrap { display: inline-block; }

.strong{ font-weight: bold; }

/*別窓アイコン表示*/
.blank { background: url(img/blank.png) right center no-repeat; padding: 0 20px 0 0;}

p {text-align: justify; text-justify: inter-character;}

.frame { border: 1px solid #4662D00; padding: 0.2rem; }
.frame2 { border: 1px solid #999; border-radius: 15px; padding:3%; margin: 2%;}
.frame_d-blue { border: 1px solid #24476b; border-radius: 10px; padding:1rem; margin-bottom: 2%;}
.frame_inline {display:inline-block;}
.frame-bg-blue {background: #E4F1FC;  border-radius: 10px; padding: 1rem;}
.bd_b {border-bottom:1px solid #6e90b3;}

/* トップページへボタン
-------------------- */
.pagetop {width: 72px;height: 72px;/*position: absolute;*/position: fixed; z-index: 1000;}
.pagetop a {
	width: 72px;
	height: 72px;
	background-color: #5CBDE3;
	color: #ff0;
	font-size: 0.8rem;
	text-align: center;
	border-radius: 50%;
	-o-border-radius: 50%;
	-ms-border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	line-height: 1.2;
	display: block;
	text-decoration: none;
	padding-top: 12px;
	transition: all 300ms 0s ease;
}
.pagetop a::before {
	content: '▲';
	display: block;
	color: #ff0;
	margin-bottom: 4px;
}
.pagetop a:hover { background-color: #ff0; transition: all 300ms 0s ease;}
.pagetop a:hover::before {	color: #603813;}

/* 横ボタン
-------------------- */
.fltSide01 {
  position: fixed;
  right: 0;
  bottom: 20px;
  height: 100px;
  width: 100px;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  background-color: #345b83;
  color: #fff!important;
  font-weight: bold;
  text-align: center;
  padding: 10px;
  z-index: 99;
}
.fltSide01:before {
  content: "";
  position: absolute;
  bottom: 20px;
  z-index: 999;
  width: 50px;
  height: 15px;
  border-right: 3px solid #fff;
  border-bottom: 2px solid #fff;
  right: 25px;
  transform: skewX(45deg);
}

/* logo
-------------------- */
div#logo a {
  background: url(../images/logo.svg) center top no-repeat;
  background-size: contain;
  display: block;
  overflow: hidden;
  text-indent: -9999px;
}

/* wrapper
-------------------- */
div#wrapper { width: 100%; height: 100%; flex: 1;}

/* header
-------------------- */
header#header {	overflow: hidden; }
div.head_img { margin: 0 auto; }

/* container
-------------------- */
#container { }




/***************************************************
スライダー
***************************************************/ 
.slide-box { position: relative; margin: 0 auto; padding-top: 70px; max-width: 1024px;}
/* slide */
.slide { position: relative; margin: 0; padding: 0;}
.slide .item { position: relative; height: 100%;}
.slide .item a { display: block;}
.slide .item::before {
  display: block;
  padding-top: 52%;
  content: "";
}
.slide .item .image { position: relative; overflow: hidden;}
.slide .item img { position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; width: 100%;}
.slide > .slick-list,
.slide > .slick-list > .slick-track,
.slide > .slick-list > .slick-track > .slick-slide > div {
  position: relative;
  height: 100%;
}

/* slide-navigation */
.slide-navigation { line-height: 0; position: relative; margin: 0 auto; padding: 0; max-width: 1024px;}
.slide-navigation .item { position: relative; cursor: pointer;}
.slide-navigation .item .image { position: relative; overflow: hidden; width: 100%; height: 100%; margin: 0; padding: 0;}
.slide-navigation .item .image::before {
  display: block;
  padding-top: 50%;
  content: "";
}
.slide-navigation .item .image::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  opacity: 0.3;
  background: #000;
}
.slide-navigation .slick-current .image::after { opacity: 0;}
.slide-navigation .item .image { position: relative; overflow: hidden;}
.slide-navigation .item .image img { position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; width: 100%;}

@media screen and (max-width: 767px) {
  .slide-navigation { width: 100%;}
  .slide-navigation .item .image::before { padding-top: 50%;}
}

/* slick */
.slick-vertical .slick-slide { border: 0 solid transparent;}
.slick-arrow { z-index: 999;}
.slick-next, .slick-prev { top: 30%!important; bottom: 0; margin: auto; }
.slick-prev { left: 20px; right: auto; }
.slick-next { left: auto; right: 20px; }
.slick-next:before, .slick-prev:before {color: #999!important;}



/* article
-------------------- */
article.article { height: 100%; }


/***************************************************
section
***************************************************/
section { margin: 0 auto; padding:4rem 0; overflow: hidden;}
section:not(:last-child) { }
section div.inner {max-width: 1024px; margin:0 auto; padding: 3rem 2rem;}
section div.inner.pd0 {padding: 0rem;}
section p { }
section:before {
    content: "";
    display: block;
    height: 100px; /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -100px; /* heightと同じ分のネガティブマージン */
    visibility: hidden;
}
section.bg_white { background:#fff;}
section.bg_blue { background:#EAF6FD;}

.contents {  margin: 0 auto; padding: 0 1.5rem; max-width: 1024px; }

/***************************************************
フレーム
***************************************************/
.frame_pink { border:6px solid #FFC1DE; border-radius: 30px; background:#fff; }
.frame_blue { border:6px solid #299FD6; border-radius: 30px; background:#fff; }
.frame_green { border:6px solid #99D58A; border-radius: 30px; background:#fff; }
.frame_b-green { border:6px solid #45B7B7; border-radius: 30px; background:#fff; }
.frame_orange { border:6px solid #FFAC73; border-radius: 30px; background:#fff; }


/***************************************************
動画 Vimeo Youtube
***************************************************/
.movie { max-width: 1024px; aspect-ratio: 16 / 9; margin: 0 auto;}
.movie iframe { width: 100%; height: 100%;}


/***************************************************
パンくず
***************************************************/
.breadcrumb { max-width: 1024px; margin: 1rem auto; padding: 0 1.5rem; list-style: none;}
.breadcrumb li { display: inline; list-style: none; font-size: 1rem;}
.breadcrumb li:after { content: '〉'; padding: 0 0.2em; color: #603813;}
.breadcrumb li:last-child:after { content: '';}
.breadcrumb li a { text-decoration: none; color: #603813;}
.breadcrumb li a:hover { text-decoration: underline;}


/***************************************************
テーブル
***************************************************/
table.tbl_style_01 {
 margin: 10px auto;
 border-collapse: collapse;
 border: 1px solid #999;
 font-size: 1rem;
}
table.tbl_style_01 th {
 margin: 0px;
 padding: 1rem;
 font-weight: normal;
 background: #eee;
 border: 1px solid #999;
}
table.tbl_style_01 td {
 margin: 0px;
 padding: 1rem;
 border: 1px solid #999;
}
table.tbl_style_01 .even {background: #eee;}
table.tbl_style_01.left { text-align: left!important;}
table.tbl_style_01 th.middle { vertical-align: middle; }

table.tbl_style_02 { margin: 10px auto; font-size: 1.6rem; }
table.tbl_style_02 th,
table.tbl_style_02 td { padding: 1rem 2rem; border: 1px solid #999; border-right: none !important; border-left: none !important; vertical-align: middle;}
table.tbl_style_02 th { background-color: rgba(220,245,255,0.7);}

/***************************************************
トップボタン
***************************************************/
div.btn { max-width: 400px;  margin: 6px auto;}
div.btn a{
 display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: 1rem auto;
	padding: 1rem 0.5rem;
	font-size: 1.5rem;
	color: #ff0;
	border:none;
 background: #345b83;
	border-bottom: 2px solid #27acd9;
	border-radius: 100vh;
	box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	-webkit-box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	transition: 0.5s;
}
div.btn a:hover{background: #ff0; color:#345b83;}



/***************************************************
ダウンロード
***************************************************/
div.download { width: 100%;}
div.download ul.download_btn {	font-size: 1.0rem;	margin: 0 auto;	display: flex;}
div.download ul.download_btn li { width: 80%;}
div.download ul.download_btn li {	flex-wrap: wrap;}
div.download ul.download_btn li a {
	display: block;
	background-color: #333;
	color: #fff;
 font-size: 1.2rem;
	padding: 1rem;
	text-align: center;
	text-decoration: none;
	transition: all 300ms 0s ease;
}
div.download ul.download_btn li a:hover {	background-color: #00a0e9;	transition: all 300ms 0s ease;}
div.download ul.download_btn li:first-child { margin: 0 auto;}
div.download ul.download_btn li a span.icon { padding: 0 24px; margin-right: 16px;}

/* PDF */
.pdf_DL { width: 80%; margin: 3% auto 6%;}
.pdf_DL a {
    display: block;
    border: 6px solid #345b83;
    padding: 2%;
    font-size: 120%;
    color: #333 !important;
    text-decoration: none;
    text-align: center;
    transition: 0.3s;
}
.pdf_DL a::after {
    content: 'PDF';
    background: red;
    border-radius: 3px;
    padding: 2px 6px;
    color: #fff;
}
.pdf_DL a:hover { background: #345b83; color: #fff !important;}


/* Google Map */
iframe[src*="www.google.com/maps/embed"] {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}

/* What's new */
.info { border-top: 1px solid #345b83; border-bottom: 1px solid #345b83; padding: 2rem 4rem;}
.info p span {font-size: 2.5rem; font-weight: bold;}


/* title
-------------------- */
h1 {
  font-family: "Original Surfer", sans-serif; font-weight: 400;
  position: relative;
  text-align: center;
  margin-bottom: 4rem;
  font-size: 4rem;
  line-height: 1.5;
  color: #345b83;
  text-shadow: 2px 2px 5px #808080;
}
h1 span {display: block; font-size: 3.8rem;}
h1:before {
  position: absolute;
  bottom: -5px;
  left: calc(50% - 50px);
  width: 100px;
  height: 2px;
  content: '';
  border-radius: 3px;
  background: #345b83;
}
h2 {font-weight: bold; text-align: center; margin-bottom: 2rem; font-size: 2.5rem;}
h3 {font-size: 2.5rem; border-bottom: 1px solid #345b83; font-weight: bold; margin-bottom: 1.5rem;}
h4 {font-weight: bold; font-size: 2.5rem; color:#345b83;}
h5 { font-size: 1.1rem;}

.red {color:firebrick!important;}
.green {color: #79B8A8;}
.purple {color: #6166A9;}
.pink {color:#D95278;}


/* footer
-------------------- */
footer { position: sticky; top: 100vh; }
footer#footer { width: 100%;	padding: 2rem 0 4rem; background: #0e3069;}
footer#footer h3 {font-weight: bold; margin-bottom: 1rem; text-align: left; border:none;}
footer#footer p {font-size: 1.6rem;}
footer#footer p span a {font-size: 4rem; color:#fff;}
footer#footer small,footer#footer div { color: #fff; font-size: 1.3rem; text-align: center;}


/* list
-------------------- */
/* none */
ul.list_style_none { list-style: none;}

/* default */
ul.list_style_def,
ul.list_style_def li{
  list-style: circle;
}
/* default */
ul.list_style_disc,
ul.list_style_disc li{ list-style: disc;}
ul.list_style_disc li{ margin-left: 1.5em!important;}

/* number-list
-------------------- */
/* default */
ol.list_style_def {
  list-style: decimal;
}