@charset "utf-8";
/* Simple fluid media
   Note: Fluid media requires that you remove the media's height and width attributes from the HTML
   http://www.alistapart.com/articles/fluid-images/ 
*/
img, object, embed, video {
	max-width: 100%;
}

/* IE 6 does not support max-width so default to width 100% */
.ie6 img {
	width:100%;
}

.fluid {
	clear: both;
	margin-left: 0;
	width: 100%;
	float: left;
	display: block;
}

.fluidList {
    list-style:none;
    list-style-image:none;
    margin:0;
    padding:0;        
}


@keyframes scrollMark {
 0% {
  opacity:0;
  transform:translate(0)
 }
 20% {
  opacity:1;
  transform:translate(0)
 }
 80% {
  opacity:1;
  transform:translate(-45px)
 }
 to {
  opacity:0;
  transform:translate(-45px)
 }
}

/* Mobile Layout: 480px and below. */

/*.en { font-family: 'Open Sans', sans-serif; }*/
.en { font-family: 'Raleway', sans-serif; }


/*PC*/
@media print, screen and (min-width: 769px) {

body { min-width: 1300px; }

a.anchor {
display: block;
position: relative;
top: -90px;
visibility: hidden;
}


.gridContainer {
width:100%;
min-width: 1100px;
/*padding:0;
clear: none;
float: none;
margin:0 auto;*/
}
#div1 {
}
.zeroMargin_mobile {
margin-left: 0;
}
.hide_mobile {
display: none;
}

.pcBr {
display: inline-block;
}

.spBr {
display: none;
}

.pc {
display: block;
}

.sp {
display: none!important;
}

.main_box { margin: 0 auto; width: 1000px;  }
.main_tit { font-size: 30px; line-height: 2em; text-align: left; margin-bottom: 30px; }
.main_txt { line-height: 2em; text-align: left; position: relative; z-index: 10; }
.main_box { margin: 0 auto; width: 100%;  }
.main_subtit { font-size: 20px; font-weight: bold; color: #074ca2; text-align: left; }



.sub_titbox .sub_titbox_tit { font-size: 20px; font-weight: bold; position: relative; line-height: 1.5em;}
.sub_titbox .line {  position: relative; display: block; width: 40px; height: 2px; background: rgba(0,53,103,0.6); margin: 30px 0 30px 3px; border: none; overflow: visible; }
.sub_titbox .line::before { content: ""; display: block; width: 4px; height: 4px; border-radius: 4px; background: #074ca2; position: absolute;
top: -1px; left: -3px; }
.sub_titbox .line::after { content: ""; display: block; width: 4px; height: 4px; border-radius: 4px; background: #074ca2; position: absolute; top: -1px; right: -3px;  }

/* com
--------------------------------------------*/
.comPd { padding-bottom: 100px; }

/*-----#hedimg--------*/
/*#hedImg { padding: 250px 0px 200px;  margin-bottom: 100px; position: relative; }

.hed_tit { text-align: center; color: #fff; position: relative; z-index: 50; }
.hed_tit h2.en { font-size: 60px; letter-spacing: 0.1em; color: #fff; font-weight: bold; margin-bottom: 15px; }
.hed_tit h3 { font-size: 16px; font-weight: bold; }*/

/*--------com_hed_box---------*/
#com_hed { width: 100%;  overflow: hidden;  box-sizing: border-box; position: relative; height: 700px; }
#com_hed2 { width: 100%;  overflow: hidden;  box-sizing: border-box; position: relative; height: 300px; }
.com_hed_box { margin-bottom: 100px; min-width: 1100px; }
.com_hed_box { width: 100%; padding-left: 250px; box-sizing: border-box; position: relative; background: #518ce0;  }
.com_hed_box2 { width: 100%; padding-left: 250px; box-sizing: border-box; position: relative; background: #518ce0;  margin-bottom: 100px; }

.com_hed_img { background: url(../images/slider/slider01.jpg) center center no-repeat; background-size: cover; height: 700px;} 
.com_hed_tit_blue  { font-size: 70px; font-weight: bold;  line-height: 1.5em; color: #518ce0; margin-bottom: 15px; }
.com_hed_tit_white { font-size: 70px; font-weight: bold;  line-height: 1.5em; color: #fff; margin-bottom: 15px; }
.com_hed_tit_white_mini  { font-size: 30px; font-weight: bold;  line-height: 1em; color: #fff; }
.com_hed_tit_black_mini { font-size: 30px; font-weight: bold;  line-height: 1em; color: #000; }
.com_hed_txt_blue { font-size: 18px; font-weight: 500; line-height: 2.5em; color: #518ce0; }
.com_hed_txt_white { font-size: 18px; font-weight: 500; line-height: 2.5em; color: #fff; }
.com_hed_txtbox_blue { position: absolute; left: -200px; text-align: left; line-height: 2.5em; z-index: 10;     top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%); transition: all 2s; color: #518ce0; }
.com_hed_txtbox_white { position: absolute; left:0; text-align: left; line-height: 2.5em; z-index: 0;     top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%); transition: all 2s; color: #fff; margin-left: 50px;  }

/*--パンくず---------*/
#pan_area {
width: 100%;
font-size: 1.3rem;
position: absolute;
bottom: 15px;
right: 15px;
color: #fff; 
z-index: 10;
}
#pan_area h3 {
font-size: 1.3rem;
font-weight: 500;
color: #fff;
}
#pan_area #pan_area_in {
width: 100%;
margin: 0 auto;
display: -webkit-flex;
display: -webkit-box;
display: -ms-flexbox;

display: flex;
justify-content: flex-end;
-webkit-box-pack: end;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
#pan_area #pan_area_in .pan_list {
padding-right: 16px;
margin-right: 10px;
position: relative;
}
#pan_area #pan_area_in .pan_list::before {
position: absolute;
content: "";
right: 0;
top: 50%;
width: 4px;
height: 4px;
margin-top: -2px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
#pan_area #pan_area_in .pan_list:last-child {
padding-right: 0;
margin-right: 0;
}
#pan_area #pan_area_in .pan_list:last-child::before {
display: none;
}
#pan_area #pan_area_in .pan_list a {
text-decoration: underline;
color: #fff;
/*text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;*/
}


#contents {
width: 100%;
min-width: 1100px;
margin: auto;
overflow: hidden;
}

.contentsIn {
width: 1100px;
margin: 0 auto;
}

.fL {
float: left;
}

.fR {
float: right;
}

.w1100 {
width: 1100px;
margin-left: auto;
margin-right: auto;
}


.w1200 {
width: 1200px;
margin: 0 auto;
}

.comPd01 {
padding: 0 0 100px;
}

.comInBox01 {
margin-bottom: 100px;
}

.comInBox01:last-child {
margin-bottom: 0px;
}

.comPd_80 {
padding: 80px 0;
}

.comPd_top80 {
padding: 80px 0 0;
}

.pt100 {
padding-top: 100px;
}


.w48_l {
width: 48%;
float: left;
}

.w48_r {
width: 48%;
float: right;
}

.w48_l img,.w48_r img {
width: 100%;
height: auto;
}




/*--スクロールトップ---------*/
#totop {
bottom: 20px;
display: block;
position: fixed;
right: 30px;
z-index: 2000;
}

#totop a {
display: block;
width: 70px;
height: 70px;
text-indent: -1000em;
overflow: hidden;
background: url(../images/com/btn_scroll_top.png) 0 0 no-repeat;
background-size: auto auto;
background-size: 100% auto;
}

/*-----------*/
.bgWhite {
background-color: #fff;
}

.comPd70 {
padding: 70px 0;
}

.pt80 {
padding-top: 80px;
}

.w80p {
width: 80%;
margin-left: auto;
margin-right: auto;
}
.waku_fff {
border: #fff 1px solid;
}

.rightBtn {
margin-left: auto;
margin-right: 0;
}

.centerBtn {
margin-left: auto;
margin-right: auto;
}

/*中ページのヘッド*/
/*//////*/
/*.hedTitBox {
padding: 30px 0 50px;
}*/

/*-----タイトル-----*/
.com_btn { margin: 0 auto; width: 160px; }
.com_btn a { display: flex; flex-wrap: wrap; align-items: center;  }
.com_btn a span.btn_ar { width: 46px; height: 46px; border-radius: 46px; border: 1px solid #518de1; display: block; margin-right: 15px; position: relative; text-align: center; flex-basis: 46px; max-width: 46px;  }
.com_btn a span.btn_ar::before { position: absolute; top: 10px; left: 0; right: 0; margin: auto; font-family: "Font Awesome 5 Free"; content: "\f054"; font-weight: bold; display: block;margin: auto; color: #518de1; }

.com_btn a:hover .btn_ar { border: 1px solid #518de1; background: #518de1; color: #fff; -moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;}
.com_btn a:hover .btn_ar::before { color: #fff;-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.com_btn a span.en { font-weight: bold; -moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;  color: #518de1; }
.com_btn a:hover span.en { letter-spacing: 0.09em; -moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;  }

.com_btn2 { margin: 0 auto; width: 160px; }
.com_btn2 a { display: flex; flex-wrap: wrap; align-items: center; color: #fff;  }
.com_btn2 a span.btn_ar { width: 46px; height: 46px; border-radius: 46px; border: 1px solid #fff; display: block; margin-right: 15px; position: relative; text-align: center; flex-basis: 46px; max-width: 46px;  }
.com_btn2 a span.btn_ar::before { position: absolute; top: 10px; left: 0; right: 0; margin: auto; font-family: "Font Awesome 5 Free"; content: "\f054"; font-weight: bold; display: block;margin: auto; color: #fff; }

.com_btn2 a:hover .btn_ar { border: 1px solid #fff; background: #fff; color: #fff; -moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;}
.com_btn2 a:hover .btn_ar::before { color: #518de1;-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.com_btn2 a span.en { font-weight: bold; -moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;  }
.com_btn2 a:hover span.en { letter-spacing: 0.09em; -moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;  }




.com_table {
border-top: 1px solid #dfdfdf;
width: 100%;
}

.com_table th {
/*background:#F0F0F0;*/
width:25%;
background:none;
border-bottom: 1px solid #dfdfdf;
padding: 30px;
text-align: left;
display:table-cell;
position: relative;
}

.com_table th span {
font-style: italic;
font-family: 'Osaka','Verdana';
}

.com_table td {
border-bottom: 1px solid #dfdfdf;
/*border-left: 1px solid #f1f0ee;*/
padding: 30px;
display:table-cell;
vertical-align: middle;
}

.com_table2 {
width: 100%;
}

.com_table2 th {
color: #FFF;
line-height: 1.1;
padding: 1.0em;
background: #2a2a2a;
text-align: center;
border-bottom: #fff 1px solid;
}

.com_table2 td {
padding: 1.0em;
border-bottom: solid 1px #E4E4E4;
vertical-align: middle;
}

/*タイトル*/
.comTit01 { font-size: 25px; text-align: center; font-weight: bold; margin-bottom: 50px; color: #765635; position: relative; padding-bottom: 15px; }
.comTit01::before { content: ""; position: absolute; bottom: 0; width: 50px; height: 1px; border-top: 1px dashed #765635; left: 0; right: 0; margin: auto; display: block; }
.comTit02 { font-size: 20px; text-align: center; font-weight: 400; margin-bottom: 50px; }

.comTit03 {
position: relative;
display: inline-block;
padding-left: 35px;
font-size: 20px;
font-weight: bold;
letter-spacing: 0.01em;
margin-bottom: 20px;
}

.comTit03:before {
content: '';
position: absolute;
top: 50%;
left:0;
display: inline-block;
margin-top: -2px;
width: 20px;
height: 2px;
background-color:#074ca2;
}

.com_txt { text-align: left; line-height: 2em;  }

/* header
--------------------------------------------*/
#header {
width: 250px;
height: 100vh;
position: fixed;
left: 0px;
top: 0px;
z-index: 1000000;
background-color: #fff;
cursor: pointer;
border-right: 1px solid #eaeaea;
-webkit-transition: all 700ms cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition: all 700ms cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition: all 700ms cubic-bezier(0.165, 0.84, 0.44, 1);
transition: all 700ms cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.logo_Hed {
width: 200px;
margin: 0 auto;
}

.logo_Hed img {
width: 100%;
height: auto;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

.logo_Hed a {
display: block;
width: 100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

.mainMenuInWrap {
margin-top: 30px;
}
.mainMenu {
width: 98%;
margin: 0 auto;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
left: 0;
right: 0;
margin: auto;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}

.subMenu {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
color: #222!important;
}

.subMenu li {
padding-right: 10px;
margin-right: 20px;
}

.subMenu li:last-child {
margin-right: 0px;
}

.subMenu li a {
font-size: 1.2rem;
color: #222;
font-weight: 400; 
}

#menu {
width: 100%;
margin: 0 auto;
}


#menu li {
font-size: 14px;
text-align: center;
}

#menu li:nth-child(n+2) {
margin-top: 15px;
}

#menu li a {
display: block;
font-weight: 500;
letter-spacing: 0.08em;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
line-height: 1.2em;
letter-spacing: 0.08em;
}

#menu li a span.hvr-underline-from-center { padding-bottom: 5px; }

#menu li a span.link_img { padding-left: 5px; }

#menu li a:hover {
color: #518de1;
}

.contact_box { 
margin-top: 30px;
}

.contact_btn {
width: 150px;
margin: 0 auto; 
text-align: center;
}

.contact_btn a {
display: block;
background: #518de1;
color: #fff;
letter-spacing: .1em;
padding: 5px;
box-sizing: border-box;
font-weight: bold;
border: 1px solid #518de1;
border-radius: 30px;
}

.contact_btn a:hover {
background: #fff;
color: #518de1;
}

.contact_txt { text-align: left; font-size: 20px; font-weight: bold; margin-top: 15px; margin-left: 25px;}

.contact_txt span.h_tel_icon {
font-size: 20px;
font-weight: bold!important;
padding-right: 10px;
color: #518de1;
}

.contact_txt2 { 
text-align: center;
font-size: 12px;
font-weight: bold;
margin-top: 0px; 
}

.contact_txt3 { 
text-align: center;
font-size: 12px;
font-weight: bold;
margin-top: 15px; 
}

#l_main {
width: calc(100% - 250px);
margin-left: 250px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

.l_inner {
margin: 0 10%;
}

.inqBox {
width: 280px;
}

.inqBox ul {
display: table;
height: 100%;
margin-left: auto;
margin-right: 0;
}

.inqBox li {
display: table-cell;
}

.inqBox a {
font-size: 1.5rem;
display: block;
line-height: 80px;
width: 120px;
padding: 10px;
text-align: center;
}

.inq1 a,
.inq2 a {
color: #fff;
font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,Osaka,"MS Pゴシック","MS PGothic",sans-serif;
font-weight: bold;
letter-spacing: 0.08em;
}

.inq1 a {
background-color: #454545;
}

.inq2 a {
background-color:  #dd0012;
}

.inq1 a:hover,
.inq2 a:hover {
background-color: #666666;
}

.sp_list {
display: none;
}

/*menu*/
.menuWrap {
/*width: 50px;
position: fixed;
right: 15px;
top: 0px;
z-index: 20000;
cursor : pointer;*/
display: none;
}

.menu{
display: block;
position: relative;
width: 30px;
margin: 0 auto; 
height: 15px;
margin-top: 37px;
}
.menu__line{
background: #fff;
display: block;
height: 1px;
position: absolute;
transition:transform .3s;
width: 30px;
}
.menu__line--top {
width: 40px;
}
header.smaller .menuWrap .menu .menu__line { background: #000!important; }
header.smaller .menuWrap .menu .menu__line.active { background: #000; }
.menuWrap .menu__line { background: #fff; }
.menuWrap .menu__line.active { background: #000; }
.menu__line--center{
top: 0px;
}
.menu__line--bottom{
bottom: 0;
}
.menu__line--top.active{
top: 7px;
transform: rotate(45deg);
width: 100%;
}
.menu__line--center.active{
transform:scaleX(0);
}
.menu__line--bottom.active{
bottom: 7px;
transform: rotate(135deg);
}
/*gnav*/
.gnav{
display: none;
height: 100%;
position: fixed;
width: 100%;
top: 0;
z-index: 98;
}
.gnav__wrap{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
align-items: center;
height: 100%;
position: absolute;
width: 100%;
}

/*.gnav_bg_img { flex-basis: 50%; width: 100%; height: 100%; align-items: center; }
.gnav_bg_img .bg_img { background: url(../images/com/gnav_bg_img.jpg) center center; background-size: cover; width: 100%; height: 100%; }*/

.gnav_contents { width: 100%; background: #eff2f5;  height: 100%; display: flex; align-items: center; border: 60px solid #fff; box-sizing: border-box;  }
 
.gnav_contents_box { width: 100%; align-items: center; }

.gnav_contents_box .entry_btn { width: 70%; margin: 0 auto; }
.gnav_contents_box .info_btn { justify-content: space-between; width: 70%; margin: 0 auto; }
.gnav_contents_box .info_btn li { width: 48%; }
.gnav_contents_box .info_btn li a { padding: 10px; font-size: 16px; background: #074ca2; border: 1px solid #074ca2; color: #fff;  }
.gnav_contents_box .info_btn li:nth-child(2n+2) a { background: #999; border: 1px solid #999; }



.gnav__menu{
height: 100%;
padding: 0 20%;
display: flex;flex-wrap: wrap; justify-content: space-between; 
margin-bottom: 70px; 
}

.gnav__menu li { width: 48%; text-align: left; }
.gnav__menu li:nth-child(n+3) { margin-top: 30px; }



.gnav__menu__item{
opacity: 0;
text-align: center;
}

.gnav__menu__item a{
color: #333;
font-size: 14px;
font-weight: 400;
padding-bottom: 5px;
text-decoration: none;
transition: .5s;
text-align: center;
padding-left: 30px;
position: relative;
}

.gnav__menu__item a::before { position: absolute; width: 15px; height: 1px; background: #074ca2; content: ""; display: block; left: 0; top: 45%; }


.gnav__menu__item a span { display: block; font-size: 25px; letter-spacing: 0.03em; font-weight: 400; }
.gnav__menu__item a i { padding-left: 15px; }

.gnav__menu__item a:hover{
color: #666;
}

.gnav_logo { width: 250px; margin: 0 auto 70px; }
.gnav_logo img { width: 100%; height: auto; }


/* footer
--------------------------------------------*/
#footer {
box-sizing: border-box;
width: calc(80% - 250px);
margin: auto 0 auto auto;
min-width: 1100px;
padding: 50px 0 50px;
border-top: 1px solid #eaeaea;
background: #fff;
}

.footerCp { text-align: center; flex-basis: 20%; margin-right: 5%; max-width: 20%;  }

.footerTopIn {
width: 90px;
min-width: 950px;
margin: 0 auto;
padding-bottom: 50px;
display: flex; flex-wrap: wrap; 
border-bottom: 1px solid #eaeaea; 
}

.footerCp__img {
width: 220px;
margin: 0 auto; 
margin-bottom: 15px;
}

.footerCp__img img {
width: 100%;
height: auto;
}

.footerCp .f_logo {
width: 200px;
margin: auto auto auto 0;
margin-bottom: 15px;
}

.footerCp .f_logo span.c_en { display: block; font-family: 'Open Sans', sans-serif; font-size: 14px; margin-top: 10px; text-align: center; color: #333; }

.footerCp .f_logo img { width: 100%; height: auto; }
.f_adress_box { text-align: left; }
.f_adress_box .f_adress span { display: block; position: relative; }

.footerCp p {
color: #333;
font-size: 1.3rem;
line-height: 1.8;
letter-spacing: 0.05em;
}

.footerMu { display: flex; flex-wrap: wrap; flex-basis: 75%; max-width: 75%;  }

.footerMu a {
color: #333;
font-size: 1.3rem;
display: block;
} 

.footerMu a:hover { color: #518de1;; }

.footerMu a span.link_img { padding-left: 5px;  }


.footerMuList {
width: 90%;
display:-webkit-box ;
display:-ms-flexbox ;
display:flex;
flex-wrap: wrap;
justify-content: flex-start;
}

.footerMuList li {
width: 32%;
margin-right: 2%;
}

.footerMuList li:nth-child(3n+3) {
margin-right: 0px;
}
.footerMuList li:nth-child(n+4) { margin-top: 30px; }

.footerMuList li:last-child {
margin-right: 0px;
}


.footerBottomIn {
width: 1200px;
min-width: 1200px;
margin: 0 auto;
}

.footerBottomIn p,
.footerBottomIn p a {
font-size: 1.3rem;
color: #333;
}

.footerBottomIn p.copy {
font-size: 1.2rem;
color: #818181;
text-align: left; 
}

.f_tel { margin-top: 10px; text-align: left; }
.f_tel a.f_tel_number { font-weight: bold; font-size: 22px;  position: relative; }
/*.f_tel a.f_tel_number::before {  font-family: "Font Awesome 5 Free"; content: "\f87b";  font-weight: bold; }*/
.f_tel span.f_tel_icon { font-size: 20px; font-weight: bold!important; padding-right: 5px; color: #518de1; }
.f_tel_txt { font-size: 12px; padding-left: 40px; display: block; }





.footer_box { 
width: 1200px;
min-width: 1200px;
margin: 0 auto;
display: flex; flex-wrap: wrap; justify-content: space-between; padding-top: 50px; }
.footer_c { flex-basis: 60%; max-width: 60%; }
.footer_c_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: flex-start; }
.footer_c_list li { margin-right: 15px; }
.footer_c_list li a { color: #818181; display: block; font-weight: 500; font-size: 1.2rem;}

.footer_pri { flex-basis: 18%; max-width: 18%; }
.footer_pri_img { width: 200px; margin: 0 auto; }
.footer_pri_img img { width: 100%; height: auto; }
.footer_pri_img:nth-child(n+2) { margin-top: 10px; }



.cont404 { margin: 100px 0 0;}
.cont404 h3 { font-size: 80px; margin: 0 0 10px; line-height: 1em; }
.cont404 p { font-size: 24px; margin: 0 0 60px;}
.cont404 .btn { width: 400px; margin: auto auto auto 0; }
.cont404 .btn a { display: block; padding: 30px; background: #518de1; color: #fff; text-align: center; position: relative; font-size: 16px; }
.cont404 .btn a::before { position: absolute; font-family: "Font Awesome 5 Free"; content: "\f054"; display: block; right: 40px; font-size: 14px; font-weight: bold; color: #fff; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.cont404 .btn a:hover::before { right: 30px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }






}




/*pcとsp共通*/
/*----------------------------*/
.gridContainer {
overflow: hidden;
}




.imgSlide {
width: 100%;
height: 100%;
overflow: hidden;
}
.imgSlide .imgSlideIn {
width: inherit;
height: inherit;
opacity: 0;
}
.isPlay {
animation-name: play;
animation-duration: .5s;
animation-fill-mode: forwards;
animation-timing-function: cubic-bezier(.8,0,.5,1);
position: relative;
opacity: 1 !important;
}
.isPlay:before {
animation-name: maskOut;
animation-duration: .5s;
animation-delay: .5s;
animation-fill-mode: forwards;
animation-timing-function: cubic-bezier(.8,0,.5,1);
content: '';
position: absolute;
top: 0;
left: 0;
z-index: 1;
width: 100%;
height: 100%;
background-color: #202020;
}
@keyframes play {
from {
transform: translateX(-100%);
}
to {
transform: translateX(0);
}
}
@keyframes maskOut {
from {
transform: translateX(0);
}
to {
transform: translateX(100%);
}
}
/*----------------------------------------------------------------------*/







/*sp*/
@media only screen and (max-width: 768px) {
/*header.smaller .menuWrap .menu__line { background: #000; }
header.smaller .menuWrap .menu { margin-top: 25px; }
header.smaller .menuWrap .menu__line.active { background: #000; }*/
.menuWrap .menu__line.active { background: #fff; }
.main_tit { font-size: 20px; line-height: 2em; text-align: left; margin-bottom: 30px; }
.main_txt { line-height: 2em; text-align: left; }
.main_box { margin: 0 auto; width: 100%;  }
.main_subtit { font-size: 16px; font-weight: bold; color: #074ca2; text-align: left; }

#l_main {
width: 100%;
margin: 0 auto;
}

.l_inner {
width: 98%;
margin: 0 auto; 
}

.sub_titbox .sub_titbox_tit { font-size: 16px; font-weight: bold; position: relative;  text-align: center;}
.sub_titbox .line {  position: relative; display: block; width: 40px; height: 2px; background: rgba(0,53,103,0.6); margin: 15px auto 30px auto; border: none; overflow: visible; }
.sub_titbox .line::before { content: ""; display: block; width: 4px; height: 4px; border-radius: 4px; background: #074ca2; position: absolute;
top: -1px; left: -3px; }
.sub_titbox .line::after { content: ""; display: block; width: 4px; height: 4px; border-radius: 4px; background: #074ca2; position: absolute; top: -1px; right: -3px;  }

/*-----タイトル-----*/
.com_btn { margin: 0 auto; width: 160px; }
.com_btn a { display: flex; flex-wrap: wrap; align-items: center; color: #518de1; }
.com_btn a span.btn_ar { width: 46px; height: 46px; border-radius: 46px; border: 1px solid #518de1; display: block; margin-right: 15px; position: relative; text-align: center; flex-basis: 46px; max-width: 46px; }
.com_btn a span.btn_ar::before { position: absolute; top: 10px; left: 0; right: 0; margin: auto; font-family: "Font Awesome 5 Free"; content: "\f054"; font-weight: bold; display: block;margin: auto; color: #518de1; }

.com_btn a:hover .btn_ar { border: 1px solid #518de1; background: #518de1; color: #fff; -moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;}
.com_btn a:hover .btn_ar::before { color: #fff;-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.com_btn a span.en { font-weight: bold; -moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;  }
.com_btn a:hover span.en { letter-spacing: 0.09em; -moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;  }
.com_btn2 { margin: 0 auto; width: 160px; }
.com_btn2 a { display: flex; flex-wrap: wrap; align-items: center; color: #fff;  }
.com_btn2 a span.btn_ar { width: 46px; height: 46px; border-radius: 46px; border: 1px solid #fff; display: block; margin-right: 15px; position: relative; text-align: center; flex-basis: 46px; max-width: 46px; }
.com_btn2 a span.btn_ar::before { position: absolute; top: 10px; left: 0; right: 0; margin: auto; font-family: "Font Awesome 5 Free"; content: "\f054"; font-weight: bold; display: block;margin: auto; color: #fff; }

.com_btn2 a:hover .btn_ar { border: 1px solid #fff; background: #fff; color: #fff; -moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;}
.com_btn2 a:hover .btn_ar::before { color: #518de1;-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.com_btn2 a span.en { font-weight: bold; -moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;  }
.com_btn2 a:hover span.en { letter-spacing: 0.09em; -moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;  }
.comTit01 { font-size: 20px; text-align: center; font-weight: bold; margin-bottom: 30px; color: #765635; position: relative; padding-bottom: 15px; }
.comTit01::before { content: ""; position: absolute; bottom: 0; width: 50px; height: 1px; border-top: 1px dashed #765635; left: 0; right: 0; margin: auto; display: block; }
.comTit02 { font-size: 18px; text-align: center; font-weight: 400; margin-bottom: 50px; }

.comTit03 {
position: relative;
display: inline-block;
padding-left: 35px;
font-size: 18px;
font-weight: bold;
letter-spacing: 0.01em;
margin-bottom: 20px;
}

.comTit03:before {
content: '';
position: absolute;
top: 50%;
left:0;
display: inline-block;
margin-top: -2px;
width: 20px;
height: 2px;
background-color: #765635;
}

.gridContainer {
width:100%;
padding:0;
clear: none;
float: none;
margin:0 auto;
}
#div1 {
}
.zeroMargin_desktop {
margin-left: 0;
}
.hide_desktop {
display: none;
}

.pcBr {
display: none;
}

.spBr {
display: inline-block;
}

.pc {
display: none!important;
}

.sp {
display: block!important;
}

.w80p {
width: 100%;
margin-left: auto;
margin-right: auto;
}

.lH2 {
line-height: 2em;
}

.w48_l {
width: 100%;
float: left;
}

.w48_r {
width: 100%;
float: right;
}

.w48_l img,.w48_r img {
width: 100%;
height: auto;
}
.box { margin-bottom: 70px!important; }

/* com
--------------------------------------------*/
.comPd { padding-bottom: 70px; }

/*-----#hedimg--------*/
/*#hedImg { padding: 100px 0px 100px;  margin-bottom: 70px; position: relative; }
#hedImg::before { background: url("../images/com/hed_com.png") ;  position: absolute; content: ""; display: block; width: 100%; height: 100%; left: 0; top: 0; display: block; opacity: 0.6;}
.hed_tit { text-align: left; color: #fff; position: relative; z-index: 50; margin-left: 30px;  }
.hed_tit h2.en { font-size: 30px; letter-spacing: 0.1em; color: #fff; font-weight: 500; margin-bottom: 15px; }
.hed_tit h3 { font-size: 14px; font-weight: bold; }
*/

/*--------com_hed_box---------*/
#com_hed { width: 100%;  overflow: hidden;  box-sizing: border-box; position: relative; }
#com_hed2 { width: 100%;  overflow: hidden;  box-sizing: border-box; position: relative; height: 200px; }

.com_hed_box { margin-bottom: 70px; width: 100%; margin-top: -50px;  }
.com_hed_box { width: 100%;  box-sizing: border-box; position: relative;  }
.com_hed_box::before {
content: "";
display: block;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 300px;
background: #518ce0; 
}


.com_hed_box2 { margin-bottom: 70px; width: 100%;   }
.com_hed_box2 { width: 100%;  box-sizing: border-box; position: relative;  }
.com_hed_box2::before {
content: "";
display: block;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 200px;
background: #518ce0; 
}



.com_hed_img { background: url(../images/slider/slider01.jpg) center center no-repeat; background-size: cover; height: 200px;  } 
.com_hed_tit_blue  { font-size: 40px; font-weight: bold;  line-height: 1.5em; color: #518ce0; margin-bottom: 15px; }
.com_hed_tit_white { font-size: 40px; font-weight: bold; color: #fff; }
.com_hed_tit_white_mini  { font-size: 30px; font-weight: bold;  line-height: 1em; color: #fff; }
.com_hed_tit_black_mini { font-size: 30px; font-weight: bold;  line-height: 1em; color: #000; }
.com_hed_txt_blue { font-size: 14px; font-weight: 500; line-height: 2.5em; color: #518ce0; }
.com_hed_txt_white { font-size: 14px; font-weight: 500; line-height: 2.5em; color: #fff; }
.com_hed_txtbox_blue { position: absolute; left: 0; text-align: left; line-height: 2.5em; z-index: 10;     top: 100px; color: #518ce0; display: none; }
.com_hed_txtbox_white { position: absolute; left:0; text-align: left; line-height: 2.5em; z-index: 0;     top: 70px; color: #fff; margin-left: 30px;  }
.hed_img { width: 90%; margin: auto auto auto 0; margin-top: 150px; }
/*--パンくず---------*/
#pan_area {
display: none;
width: 100%;
font-size: 10px;
padding-top: 10px;
}
#pan_area h3 {
font-size: 10px;
font-weight: 500;
}
#pan_area #pan_area_in {
width: 100%;
margin: 0 auto 15px;
display: -webkit-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
justify-content: flex-end;
}
#pan_area #pan_area_in .pan_list {
padding-right: 16px;
margin-right: 10px;
position: relative;
}
#pan_area #pan_area_in .pan_list::before {
position: absolute;
content: "";
right: 0;
top: 50%;
width: 4px;
height: 4px;
margin-top: -2px;
border-top: 1px solid #303030;
border-right: 1px solid #303030;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
#pan_area #pan_area_in .pan_list:last-child {
padding-right: 0;
margin-right: 0;
}
#pan_area #pan_area_in .pan_list:last-child::before {
display: none;
}
#pan_area #pan_area_in .pan_list a {
text-decoration: underline;
/*text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;*/
}

#totop {
bottom: 30px;
display: block;
position: fixed;
right: 20px;
z-index: 2000;
width: 45px;
}

#totop a {
display: block;
width: 50px;
height: 50px;
text-indent: -1000em;
overflow: hidden;
background: url(../images/com/btn_scroll_top.png) 0 0 no-repeat;
background-size: auto auto;
background-size: 100% auto;
}

/***********/


#contents {
width: 100%;
margin: auto;
overflow: hidden;
}

.contentsIn {
width: 98%;
margin: 0 auto;
}

.fL {
float: left;
}

.fR {
float: right;
}

.w1100 {
width: 96%;
margin-left: auto;
margin-right: auto;
}

.w1200 {
width: 96%;
margin-left: auto;
margin-right: auto;
}

.comPd01 {
padding: 0 0 40px;
}

.comInBox01 {
margin-bottom: 60px;
}

.comInBox01:last-child {
margin-bottom: 0px;
}

.comPd_80 {
padding: 40px 0;
}

.comPd_top80 {
padding: 40px 0 0;
}

.p_relative {
position: relative;
}

.bgGray {
background-color: #ecf0f4;
}

/*-----------*/
.bgWhite {
background-color: #fff;
}

.comPd70 {
padding: 40px 0;
}

.pt80 {
padding-top: 0;
}

/*//////*/
/*.hedTitBox {
padding: 20px 0 30px;
}*/

/*-----タイトル-----*/

.com_table {
border-top: 1px solid #dfdfdf;
width: 100%;
margin:0 0 40px;
}
	
.com_table th {
background:#F0F0F0;
width:96%;
background:none;
border-bottom:none;
padding: 4% 2%;
text-align: center;
display: block;
position: relative;
border-bottom: #dfdfdf dashed 1px;
}

.com_table th span {
font-style: italic;
font-family: 'Osaka','Verdana';
}	

.com_table td {
border-bottom: 1px solid #dfdfdf;
border-left: none;
padding: 4% 2%;
display: block;
}

.com_table2 {
width: 100%;
}

.com_table2 th {
display: block;
color: #FFF;
line-height: 1.1;
padding: 1.0em;
background: #2a2a2a;
text-align: center;
}

.com_table2 td {
display: block;
padding: 1.0em;
border-bottom: solid 1px #E4E4E4;
vertical-align: middle;
}


/*背景色*/
.comBg01 {
background-color: #f3f2e9;
}


/* header
--------------------------------------------*/
#header {
width: 100%;
display: flex;
height: 50px;
display: -ms-flexbox;
justify-content: space-between;
-webkit-justify-content: space-between;
}

.mainMenu {
box-sizing: border-box;
width: 100%;
align-items: center;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}

.logo_Hed {
position: absolute;
top: 11px;
left: 5px;
width: 150px;
z-index: 100;
}
.small_hed {
display: none;
}
.logo_Hed img { width: 100%; height: auto; }
.logo_Hed a { display: block;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;}


.mainMenuInWrap,
.mainMenuIn {
display: none;
}

.inqBox {
display: none;
}




/*menu*/
.menuWrap {
padding: 17px;
position: fixed;
right: 0px;
top: 0px;
z-index: 10000;
background-color: #074c9a;
cursor : pointer;
}

.menu{
display: block;
position: relative;
width: 20px;
height: 16px;
}
.menu__line{
background: #fff;
display: block;
height: 1px;
position: absolute;
transition:transform .3s;
width: 100%;
}
.menu__line--center{
top: 7px;
}
.menu__line--bottom{
bottom: 0;
}
.menu__line--top.active{
top: 7px;
transform: rotate(45deg);
}
.menu__line--center.active{
transform:scaleX(0);
}
.menu__line--bottom.active{
bottom: 7px;
transform: rotate(135deg);
}
/*gnav*/
.gnav{
background: rgba(255,255,255,1);
display: none;
height: 100%;
position: fixed;
width: 100%;
z-index: 1000;
}
.gnav__wrap{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
/*align-items:center;
display: flex;*/
height: 100%;
position: absolute;
width: 100%;
}

.gnav_contents { width: 80%; }


.gnav__menu{
padding: 0 10%;
/*position: absolute;
left: 50%;
transform: translateX(-50%);
width: 170px;*/
}
.gnav__menu__item{
margin: 15px 0 15px 0px;
opacity: 0;
text-align: center; 
}
.gnav__menu__item a{
color: #000;
font-size: 14px;
font-weight: bold;
text-align: center; 
text-decoration: none;
transition: .5s;
}
.gnav__menu__item a span.en { display: block; text-align: center; letter-spacing: 0.02em; }

.logo_Hed_menu { position: absolute; top: 15px; left: 15px; width: 180px; }
.logo_Hed_menu img { width: 100%; height: auto; }

.gnav_logo { width: 180px; margin: 0 auto 30px; }
.gnav_logo img { width: 100%; height: auto; }


.info_btn { display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;}

.info_btn li {
width: 110px;
text-align: center;
margin-right: 20px;
}
.info_btn li:nth-child(2n+2) { margin-right: 0px; }
.info_btn li a { display: block; font-size: 12px; font-weight: bold; color: #fff; background: #074ca2; padding: 2px 15px; letter-spacing: 0.08em;  }
.info_btn li:nth-child(2n+2) a { background: #999; }
.info_btn li a:hover { opacity: 0.7; }
header.smaller .info_btn { margin-top: 10px; }

.gnav_contents_box .info_btn { justify-content: space-between; width: 70%; margin: 0 auto; margin-top: 30px!important; }
.gnav_contents_box .info_btn li { width: 48%; }
.gnav_contents_box .info_btn li a { padding: 5px; font-size: 12px; }


/* footer
--------------------------------------------*/
#footer {
box-sizing: border-box;
width: 100%;
padding: 30px 0 15px;
border-top: 1px solid #dddddd;
}


.footerTopIn {
padding-bottom: 15px;
margin-bottom: 15px;
border-bottom: 1px solid #dddddd;
}

.footerCp__img {
width: 150px;
margin: 0 auto 15px;
}

.footerCp__img img {
width: 100%;
height: auto;
}

.footerCp h3.f_logo {
width: 200px;
margin:0 auto 10px;
}

.footerCp h3.f_logo img { width: 100%; height: auto; }

.footerCp p {
color: #222;
font-size: 1.3rem;
line-height: 1.8;
letter-spacing: 0.05em;
text-align: center;
}
.footerCp .f_logo span.c_en { display: block; font-family: 'Open Sans', sans-serif; font-size: 12px; margin-top: 10px; text-align: center; color: #333; }
.footerMu {
display: none;
}

.f_adress_tit { display: block; }

.footerMu a {
color: #222;
font-size: 1.3rem;
display: block;
} 

.footerMuList {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
margin-bottom: 45px;
}

.footerMuList li {
margin-right: 60px;
}

.footerMuList li:last-child {
margin-right: 0px;
}

.footerMuBtnWrap {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
}

.footerMuBtn02 {
margin-left: 50px;
}

.footerMuBtn01 a,
.footerMuBtn02 a {
padding: 8px 60px;
border: #fff 1px solid;
background-color: #333333;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

.footerMuBtn01 a:hover {
background-color: #ff0048;
}

.footerMuBtn02 a:hover {
background-color: #cd4a38;
}

.footerBottomIn {
width: 100%;
}

/*.footerBottomIn p:first-child {
display: none;
}
*/
.footerBottomIn p,
.footerBottomIn p a {
font-size: 1.3rem;
}

.footerBottomIn p.copy {
font-size: 10px;
text-align: center;
margin-top: 15px;
color: #222;
}

.f_tel { margin-top: 10px; text-align: center; }
.f_tel a.f_tel_number { font-weight: bold; font-size: 18px;  position: relative; color: #333; }
/*.f_tel a.f_tel_number::before {  font-family: "Font Awesome 5 Free"; content: "\f87b";  font-weight: bold; }*/
.f_tel span.f_tel_icon { font-size: 20px; font-weight: bold!important; padding-right: 10px; color: #518de1; }
.f_tel_txt { font-size: 10px; display: block; }

.footer_pri { width: 150px; margin: 0 auto; margin-top: 15px; }
.footer_pri_img { width: 100%; margin: 0 auto; }
.footer_pri_img img { width: 100%; height: auto; }
.footer_pri_img:nth-child(n+2) { margin-top: 10px; }

.footer_c { display: none; }

.cont404 { margin: 60px 0 0;}
.cont404 h3 { font-size: 40px; margin: 0 0 10px; line-height: 1em; }
.cont404 p { font-size: 16px; margin: 0 0 60px;}
.cont404 .btn { width: 300px; margin: auto auto auto 0; }
.cont404 .btn a { display: block; padding: 30px; background: #518de1; color: #fff; text-align: center; position: relative; font-size: 14px;  }
.cont404 .btn a::before { position: absolute; font-family: "Font Awesome 5 Free"; content: "\f054"; display: block; right: 40px; font-size: 14px; font-weight: bold; color: #fff; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.cont404 .btn a:hover::before { right: 30px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }


}
