@charset "utf-8";
/* E L E M E N T */
html{font-size: 62.5%;}
html,body,ul,li,dl,dt,dd,ol,h1,h2,h3,h4,h5,iframe,section,p,table,form,a,img,header,footer,hr,div{padding:0; margin:0; box-sizing: border-box;}
html{width:100%; height:100%; overflow-y:scroll;}
body{line-height:150%; font-family: hiragino-kaku-gothic-pron, sans-serif; font-style: normal; font-weight: 300; font-size:1.6rem; font-size:16px; color:#333; padding-top: 70px;} 
table{font-size:1.6rem; font-size:16px; border-collapse:collapse;}
th,td{border: solid 1px #ccc; padding:5px;}
th{background:#eee; font-weight:normal; text-align:left;}
strong{font-weight:normal;}
li{list-style:none;}
img{border:0; vertical-align:top; width: 100%; height: auto;}
hr{height:0; margin:1.5em auto; border:none; border-top:1px solid #cccccc; clear:both;}
a {font-size:100%; vertical-align:baseline; background:transparent;}
a img:hover{filter: alpha(opacity=60); -moz-opacity:0.60; opacity:0.60;}
h1{min-height: 200px; margin-bottom: 100px; font-size: 24px; text-align: center; font-family: source-han-sans-japanese, sans-serif; font-weight: 700; font-style: normal; line-height: 200px; }/*背景は各ページで設定 */
h2 {font-size: 24px; position: relative; padding: 1.5rem; text-align: center; letter-spacing: 5px; margin-bottom: 2em;}
h2 span{font-size: 14px; font-size: 1.4rem; display: block;}
h2:before {
  position: absolute;
  bottom: 10px;
  left: calc(50% - 25px);
  width: 50px;
  height: 2px;
  content: '';
  border-radius: 3px;
  background: #214980;
}
h2.normal {text-align: left; letter-spacing:normal; margin: 1.5em 0; border-left: #214980 3px solid; padding:5px 1em; font-family: source-han-sans-japanese, sans-serif; font-weight: 700; font-style: normal;}
h2.normal:before {all: unset;}
p{padding-bottom: 30px;}

/* L I N K */
a:link{color:#214980; text-decoration:none;}
a:visited{color:#214980; text-decoration:none;}
a:hover{color:#6fb9e0; text-decoration:none;}
a:focus{color:#6fb9e0; text-decoration:none;}
a:active{color:#6fb9e0; text-decoration:none;}

a:link.lk1{color:#214980; display:block; border: #214980 solid 1px; background: #fff; padding: 10px 2em; border-radius: 50px; width: fit-content; margin: auto;}
a:visited.lk1{color:#214980;}
a:hover.lk1{color:#802121;}
a:focus.lk1{color:#802121;}
a:active.lk1{color:#802121;}

/* ヘッダ*/ 
nav{display: none;}
header{width: 100%; margin-left: auto; margin-right: auto; background:#fff; z-index: 100; border-bottom:solid 1px #214980; top:0; position: fixed;}
#logo{flex:0;}
.pc-menu{text-align: center; width: 100%; flex:1; margin-bottom: 10px;}
.pc-menu li{display: inline; padding-left: 1em; padding-right: 1em; font-family: hiragino-kaku-gothic-pron, sans-serif; font-style: normal; font-weight: 300;}
.pc-menu li a {position: relative; display: inline-block; text-decoration: none; padding-bottom: 3px;}
.pc-menu li a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background-color: #214980;
  transform: translateX(-50%);
  transition: width 0.3s ease-out; /* アニメーションの設定 */
}
.pc-menu li a:hover::after {width: 30px;}


/* フッタ*/ 
#gmap{width: 100%; height: 450px;  margin-top: 50px; vertical-align: bottom;}
#copy{text-align: center; color: #fff; padding:20px; background-color: #214980;}

/*トップページ*/ 
h1#top {color: #214980; margin:10px 0 50px 0; height: auto; line-height:inherit;}




/* カラム・レイアウト関係*/ 
.sp{display: none;}
.pc{display: inherit;}
.fbox {display:flex; flex-wrap: wrap;}
.f-end{align-items:flex-end;}
.f-center{justify-content: center;}
.f-height{align-items: stretch;}
.flo-wrap{overflow: hidden;}
.float-r{float: right; padding: 0 0 1em 1em;}/* 携帯では解除*/
.r10{border-radius: 10px;}

.pair-box-l{width: 600px; min-height: 300px; height: fit-content; border: solid 1px #555; border-radius: 0 0 50px 0; padding:50px 1.5em 1.5em 1.5em; background: #fff; float: left; margin-left: 75px; z-index: 1; font-size: 18px;}
.pair-box-r{width: 600px; float: right; margin: 100px 0 0 -100px;}

.w1200{width: 1200px; margin-left: auto; margin-right: auto;}
.w600{width: 600px;}/* 携帯では100%*/ 
.w450{width: 450px;}/* 携帯では100%*/ 
.w300{width: 300px;}
.box2{width: 50%;}/* 携帯では100%*/ 
.box3{width: 30%; margin-left: 1.5%; margin-right: 1.5%; margin-bottom: 1em;}/* 携帯では50%*/ 
.box3 img{width: auto;}
.youtube {width: 100%;aspect-ratio: 16 / 9;}
.youtube iframe {width: 100%;height: 100%;}


.triangle{width: 0; height: 0; border-left: 15px solid transparent; border-right: 15px solid transparent; border-top: 15px solid #214980; margin-top: 1em; margin-bottom: 1em;}
  /* マージン・パディング*/ 
.padding-h{padding-top: 2em; padding-bottom: 2em;}
.padding5px{padding: 5px;}
.padding1{padding: 1em;}
.padding-b50{padding-bottom: 50px;}
.m-auto{margin-left: auto; margin-right: auto;}
.mt1{margin-top: 1em;}
.mt2{margin-top: 2em;}
.m5px{margin: 5px;}

.in-block{display: inline-block;}


/*リスト・テキスト*/
dl{border-top: solid #ddd 3px; border-bottom: solid #ddd 3px; padding: 1.5em;}
dt{font-weight: bold; margin-bottom: 1em;}
dd{border-bottom: dashed #ccc 1px; margin-bottom: 1.5em;}
.lst li{list-style: circle;  border-bottom: solid #ccc 1px; padding:1em 0 5px 0; margin-left: 1em;}
.fs14{font-size: 14px;}
.txt-c{text-align:center;}
.bold{font-weight: bold;}
.bld-font{font-family: source-han-sans-japanese, sans-serif; font-weight: 700; font-style: normal;}
.red{color: #ee2d2d;}
.main-color{color:#214980 ;}

/*背景*/
.bg1{background: #214980; color: #fff;}
.bg2{background: #ebf1c8;}
.bg3{background:rgba(255,255,255,0.5); border-radius: 50px; padding: 10px 1em;}

