@charset "utf-8";
/* CSS Document */

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

html, body {
background-color:#ffffff;
font-family:"Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Mplus 1p" sans-serif; 
font-feature-settings : "palt";
line-height: 2.2rem;
color:#3E3A39;
}
a:link { color: #333333; text-decoration:none }
a:visited { color: #333333; text-decoration:none }
a:hover { opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha(opacity=70)"; text-decoration:none }
a:active { color: #333333; text-decoration:none }

a.overwhite{background-color:#ffffff; display:block;}
a.overwhite:hover img{
cursor:pointer;
filter: alpha(opacity=60);        /* ie lt 8 */
-ms-filter: "alpha(opacity=60)";  /* ie 8 */
-moz-opacity:0.6;                 /* FF lt 1.5, Netscape */
-khtml-opacity: 0.6;              /* Safari 1.x */
opacity:0.6;
zoom:1;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
::i-block-chrome, body {font-feature-settings: "pkna";}
}

/* レスポンシブのフォントサイズ指定　
-------------------------------------------------- */
html {font-size: calc(.78125vw + 7.5px);}
/* min */
@media(max-width: 320px) { html{ font-size: 62.5%; }}
/* max */
@media(min-width: 961px) {html { font-size: 80%; }}
h1 { font-size: 3.2rem; }
h2 { font-size: 2.6rem; }
h3 { font-size: 2.4rem; }
h4 { font-size: 2.2rem; }
h5 { font-size: 2rem;   }
h6 { font-size: 1.6rem; }
p  { font-size: 1.36rem; }
td { font-size: 1.36rem; }

/* navbar
-------------------------------------------------- */
@media (min-width:768px){.navbar{border-radius:0}}
@media (min-width: 768px){
.navbar-nav{
margin: 0 auto;
display: table;
table-layout: fixed;
float:none;
font-size:1.14em;
}}
.navbar{position:relative;min-height:50px;margin-bottom:0px;border:1px solid transparent;}
.fixed {
position: fixed;
top: 0;
width: 100%;
z-index: 10000;
}
.nav-justified {
display: table;
table-layout: fixed;
width: 100%;
}
.navbar .nav-justified > li {
display: table-cell;
width: 100%;
}
.navbar-default {
  background-color: #1F294C;
  border: none;
}
.navbar-default .navbar-brand {
  color: #ffffff;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #555C77;
}
.navbar-default .navbar-text {
  color: #ffffff;
}
.navbar-default .navbar-nav > li > a {
  color: #ffffff;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #CDCFD7;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #ffffff;
  background-color: #555C77;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: #ffffff;
  background-color: #555C77;
}
.navbar-default .navbar-toggle {
  border-color: #1F294C;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #1F294C;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #ffffff;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #ffffff;
}
.navbar-default .navbar-link {
  color: #ffffff;
}
.navbar-default .navbar-link:hover {
  color: #555C77;
}

@media (max-width: 767px) {
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
color: #ffffff;
}
.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
color: #555C77;
}
.navbar-default .navbar-nav .open .dropdown-menu > .active > a,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #555C77;
background-color: #237745;
}}

/*マウスオーバーで子メニュー表示
-------------------------------------------------- */
@media (min-width: 768px) {
  ul.nav li.dropdown:hover > ul.dropdown-menu {
    display: block;    
  }
}

/* carousel
-------------------------------------------------- */
/* carousel-control のグラデーションを無色化 */
.carousel-control.left,
.carousel-control.right{background-image:none;}
.carousel .item {background-color:transport;}
/* 幅100％ */
.carousel{
   width:100%;  /*サイズ指定*/
   margin:auto;
}
.carousel img{
   width:100%;
}

/* breadcrumb
-------------------------------------------------- */
.breadcrumb {
padding: 8px 15px;
margin-bottom: 22px;
list-style: none;
background-color: rgba(248,248,248,0.00);
border-radius: none;
font-size:1.1rem;
}

/* smooth-scroll 
-------------------------------------------------- */
.back-top {
position: fixed;
bottom: 3%;
right: 5%;
display: none;
}
.back-top a{color:rgba(100,100,100,0.4);}

/* google-map 
-------------------------------------------------- */
.ggmap {
position: relative;
padding-bottom: 0;
padding-top: 30px;
padding-left: 0;
padding-right: 0;
height: 0;
overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/* link-box 
-------------------------------------------------- */
.link_box {
position: relative;
/*padding: 0.1%;*/
	
}
.link_box a {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
text-indent: -999px;
}
.link_box a:hover {
background-color: #FFFFFF;
filter: alpha(opacity=70);
-moz-opacity: 0.5;
opacity: 0.5;
}

/* jumbotron
-------------------------------------------------- */
.container .jumbotron,.container-fluid .jumbotron {border-radius: 0;}
.jumbotron01 { background: url(../img/headimg_01.jpg) center no-repeat; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;  min-height:360px; color:#ffffff}
.jumbotron02 { background: url(../img/slide_02.jpg) center no-repeat; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; height:500px; color:#ffffff;}
.jumbotron02::before {
  content:"";
  display: block;
  padding-top:8%;
}
.jumbotron03 { background: url(../img/headimg_02.jpg) center no-repeat; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;  min-height:360px; color:#ffffff}
.jumbotron04 { background: url(../img/headimg_03.jpg) center no-repeat; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;  min-height:360px; color:#ffffff}
.jumbotron05 { background: url(../img/headimg_04.jpg) center no-repeat; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;  min-height:360px; color:#ffffff}

/* table
-------------------------------------------------- */
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #EAEAEA;
}
.table2>tbody>tr>td,.table2>tbody>tr>th,.table2>tfoot>tr>td,.table2>tfoot>tr>th,.table2>thead>tr>td,.table2>thead>tr>th{padding:16px 20px;line-height:1.42857143;vertical-align:top;border-top:none!important}


/* メールフォーム 
-------------------------------------------------- */
#formWrap {
	width:100%;
	margin:0 auto;
	line-height:180%;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	border-top:3px solid #ffffff;
	padding:10px;
}
table.formTable th{
	width:26%;
	font-weight:normal;
	background:#CDCFD7;
font-size:1.16em;}
/*　フォーム用レスポンシブ用CSS　*/
@media screen and (max-width:572px) {
#formWrap {
	width:95%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
input[type="text"], textarea {
	width:80%;
	padding:5px;
	display:block;
}
input[type="submit"], input[type="reset"], input[type="button"] {
	display:block;
	width:100%;
	height:46px;
}
}

/* サムネイルトリミング 
-------------------------------------------------- */
.workim {
  width: 152px;  /* トリミングしたい幅 */
  height: 152px;  /* トリミングしたい高さ */
  object-fit: cover;
  overflow: hidden;
  position: relative;
}
.workim img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.workim_top{
  width: 232px;  /* トリミングしたい幅 */
  height: 158px;  /* トリミングしたい高さ */
  object-fit: cover;
  overflow: hidden;
  position: relative;
}
.workim_top img{
/* 画像を上下左右に中央配置する（絶対指定） */
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  /* 画像の最大サイズは枠の1.5倍まで */
  max-width: 150%;
  max-height: 150%;
}

/* other 
-------------------------------------------------- */
.bg_01 { background-color:#F2F3F3;}
@media only screen and (min-width : 992px) {.bg_verticalline {background-image:url(../img/verticalline.png); background-repeat:repeat-y;background-position : right top; }}
.bg_02 {background-color:#164575; color:#FFFFFF; padding:24px 0; margin:60px 0;}
.bg_03 {background-color:#1F294C; color:#FFFFFF; padding:10px 0; margin:16px 0 16px 0;}
.bg_04 {background-color:#ffffff; color:#0080C2; border:1px #C4C5C5 solid; padding:16px 0; margin:20px 0;}
.bg_05 {background-color:#0080C2; height:14px;}
.bg_06 {background-color:#0080C2;}
.bg_07 {background-color:#ffffff; border: 15px solid #0080C2;}
.bg_08 {background-color:#164575; color:#FFFFFF; padding:0 8px; margin:10px 0 10px 0; width:100px}
.bg_09 {background-color:#ffffff; color:#164575; padding:24px 0; margin:60px 0;}
.bg_10 {background-color:#CDCFD7; border-radius:28px; align-content:center; max-width:200px;} 

.img_radius01 {border-radius:200px;}
.hr_01 { border-top: 1px dotted #0080C2;}
.hr_tablecolor {border-top: 1px solid #ddd; margin-top:0; margin-bottom:0;}
.hr_list {border-bottom: solid 1px #B0B0B1; margin-bottom:1px;}
.hr_list_no {border-bottom: none; margin-bottom:1px;}

.hr_list2 {border-bottom: solid 1px #dddddd; margin-bottom:1px;}
.listwidth {width:100%}

.topimg01 {background:#fff url(../img/img_011.jpg) no-repeat center center; background-size:cover; height:270px}
.topimg02 {background:#fff url(../img/img_012.jpg) no-repeat center center; background-size:cover; height:270px}
.topimg03 {background:#fff url(../img/img_013.jpg) no-repeat center center; background-size:cover; height:270px}
.topimg04 {background:#fff url(../img/stripe.png) repeat-x center center; height:14px; margin-top:0}

.parent {/*親要素*/
position: relative;
height: 270px;
}
.parent p {
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translate(-50%,-50%);
-webkit-transform : translate(-50%,-50%);
transform : translate(-50%,-50%);
width: 260px;
text-align: center;/*一応BOX内の文字も中央寄せ*/
}
.inner {background: url(../img/blue.png)repeat; color:#FFFFFF; padding:22px 0; }

.panel_br {	padding:4px;background-color:#1F294C;	color:#FFFFFF; }


/* space
-------------------------------------------------- */
.sp_01 {padding-top:13px}
.sp_02 {padding:0 15px}
.sp_03 {padding-bottom:16px}
.sp_04 {margin:30px 0}
.sp_05 {padding-top:80px}
.sp_06 {padding-bottom:60px}
.sp_07 {padding-bottom:38px}
.sp_08 {padding-top:0}
.sp_09 {padding-top:32px}
.sp_10 {padding-top:64px; padding-bottom:64px; margin:80px 0 60px 0;}
.sp_11 {margin-bottom:26px}
.sp_12 {margin-bottom:80px}
.sp_13 {padding-top:16px; padding-bottom:16px; margin:20px 0;}
.sp_14 {padding-bottom:12px}
@media only screen and (max-width : 768px) {.sp_15 {padding:28px;}}
.sp_16 {padding-bottom:2px}
.sp_17 {padding-top:100px; padding-bottom:6px; }
.sp_18 {padding-top:140px; padding-bottom:6px; }
.sp_19 {margin-bottom:0}
.sp_20 {padding-top:12px;padding-bottom:14px;}
.sp_21 {margin-bottom:100px}
.sp_22 {margin:0; padding:0;}
.sp_23 {padding:18px 0 24px 0;}
.sp_24 {padding-top:15px;padding-bottom:14px;}
.sp_25 {margin-bottom:10px}
.sp_26 {padding-top:64px; padding-bottom:64px}
.sp_27 {margin-top:0}
.sp_28 {margin-bottom:60px}
.sp_29 {padding:0 6px;}
.sp_30 {margin-bottom:30px}
.sp_31 {margin-top:16px; margin-bottom:10px;}
.sp_32 {margin-top:10px; margin-bottom:6px;}


/* text
-------------------------------------------------- */
.noto100 {font-weight:100; font-family:'Noto Sans JP', sans-serif; font-feature-settings: "palt"; }
.noto300 {font-weight:300; font-family:'Noto Sans JP', sans-serif; font-feature-settings: "palt"; }
.noto400 {font-weight:400; font-family:'Noto Sans JP', sans-serif; font-feature-settings: "palt"; }
.noto500 {font-weight:500; font-family:'Noto Sans JP', sans-serif; font-feature-settings: "palt"; }
.noto700 {font-weight:700; font-family:'Noto Sans JP', sans-serif; font-feature-settings: "palt"; }
.noto900 {font-weight:900; font-family:'Noto Sans JP', sans-serif; font-feature-settings: "palt"; }
.h1_header {font-size: 0.9em; line-height:1em; font-weight:100 !important; margin-top:8px; margin-bottom:2px}
.footer_fo {font-size: 0.7em; line-height:1em; font-weight:100 !important;}
small { font-size:1.1rem; color:#333333 !important}
.small { font-size:1.1rem; color:#333333 !important}
.copyright {font-size:0.8rem}
.fo_01 {color:#0080C2;}
.fo_01 a {color:#0080C2;}
.fo_02 {font-size:1.64em; line-height:1.1em;}
.fo_03 {font-size:0.82rem;}
.fo_04 {line-height:1em;}
.fo_05 {font-size:0.96em !important;}
.fo_06 {font-size:1.8rem}
.fo_07 {font-size:0.96rem;}
.fo_08 {color:#727171}
.fo_09 {font-size:1.3rem; line-height:2.8rem;}
.fo_10 {color:#164575;}
.fo_11 {color:#BE0D23;}
.fo_12 {font-size:2.2rem}
.fo_13 {font-size:1.3em; line-height:1em;}
.fo_14 {font-size:1.1em; line-height:1.1em;}
.fo_15 {font-size:3rem; line-height:1.4em}
.fo_16 {font-size:1.52rem}
.fo_17 {line-height:1.4em;}
.fo_18 {color:#ffffff;}
.fo_19 {font-size:1.16em;line-height:3em; text-align:left}
.fo_20 {font-size:3.4rem !important; line-height:6rem;text-shadow: 0 -3px 3px #000, -3px 0 3px #000, 3px 0 3px #000;}
.fo_21 {text-shadow: 0 -3px 3px #666666, -3px 0 3px #666666, 3px 0 3px #666666;}
.fo_22 {line-height:2em; vertical-align:26%;}
