@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;        
}

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

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


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

.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: 25px; font-weight: bold; text-align: center; margin-bottom: 50px; line-height: 1.5em; }
.main_tit span { position: relative; }
.main_tit span::before {
display: block;
position: absolute;
top: -2px;
left: 50%;
-webkit-transform: translate(-70%, 0);
transform: translate(-70%, 0);
width: 4px;
height: 4px;
border-radius: 4px;
background-color: #003567;
border-radius: 50%;
content: "";
}
.main_subtit { font-size: 20px; font-weight: bold; color: #003567; text-align: center; line-height: 1.5em;  }
.main_txt { line-height: 2em; text-align: center; }
.main_txt span { color: #003567; font-weight: bold; }


.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: #003567; position: absolute;
top: -1px; left: -3px; }
.sub_titbox .line::after { content: ""; display: block; width: 4px; height: 4px; border-radius: 4px; background: #003567; position: absolute; top: -1px; right: -3px;  }

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

/*-----#hedimg--------*/
#hedImg { margin-top: 100px; padding: 0px 0px 50px;  margin-bottom: 100px; position: relative; }
#hedImg::before { background: url(../images/com/bg-dot.png) repeat center 7px;
border-radius: 10px;
content: '';
display: block;
opacity: .7;
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
z-index: -10; }
.hed_tit { text-align: center; }
.hed_tit h2.en { font-size: 55px; letter-spacing: 0.1em; color: #003567; font-weight: bold; margin-bottom: 15px; }
.hed_tit h3 { font-size: 16px; font-weight: bold; }


/*--パンくず---------*/
#pan_area {
width: 100%;
font-size: 1.3rem;
padding-top: 15px;
margin-bottom: 15px;
}
#pan_area h3 {
font-size: 1.3rem;
font-weight: 500;
}
#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 #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;*/
}


#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;
width: 54px;
}

#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 { position: relative; color: #fff; margin: 0 auto; border: 2px solid #003567; border-radius: 30px; width: 200px;  background: #003567; }
.com_btn a { display: block; padding: 15px; color: #fff; text-align: center; font-weight: bold; }
.com_btn a span::after { position: absolute; display: block; content: "\f054"; font-family: "Font Awesome 5 Free"; color: #fff; font-weight: bold; right:30px; top: 15px; font-size: 14px;  -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;
}
.com_btn a:hover span::after { color: #003567;  right: 20px; -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;
}
.com_btn:hover { background: #fff; color: #003567; border: 2px solid #003567; }
.com_btn a:hover { color: #003567;  }


.com_btn2 { position: relative; color: #003567; margin: 0 auto; border: 2px solid #003567; border-radius: 30px; width: 200px;  background: #fff; }
.com_btn2 a { display: block; padding: 15px; color:#003567; text-align: center; font-weight: bold; }
.com_btn2 a span::after { position: absolute; display: block; content: "\f054"; font-family: "Font Awesome 5 Free"; color: #003567;  font-weight: bold; right:30px; top: 17px; font-size: 16px;  -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;
}
.com_btn2 a:hover span::after {  right: 20px; -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;
}
/*.com_btn2:hover { background: #fff; color: #003567; border: 2px solid #003567; }
.com_btn2 a:hover { color: #003567;  }*/








.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: #765635;
}

.com_txt { text-align: center; line-height: 2em; font-size: 16px;  }

/* header
--------------------------------------------*/
#header {
width: 100%;
min-width: 1100px;
height: 100px;
/*overflow: hidden;*/
position: fixed;
top: 0;
z-index: 100;
-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 {
-moz-transition: all 0.3s;
position: absolute;
top: 15px;
left: 15px;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
width: 22vw;
}

.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;
}

header.smaller .logo_Hed {
opacity: 1!important;
width: 300px;
display: block;
position: absolute;
left: 15px;
top: 18px;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
/*
header.smaller .logo_Hed {
margin: 10px 0 10px 10px;
}*/

header.smaller .logo_Hed img {
width: 100%;
height: auto;
}

header.smaller #menu { 
margin-top: 15px; 
}


header.smaller .mainMenuInWrap { 
height: 70px;
margin-top: 0px; 
}

header.smaller .mainMenuIn { margin-right: 10px; }

.mainMenuInWrap {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
box-sizing: border-box;
margin: auto 0 auto auto;
margin-right: 80px;
}

.mainMenu {
width: 100%;
min-width: 1100px;
height: 100px;
display: flex;
display: -ms-flexbox;
justify-content: space-between;
-webkit-justify-content: space-between;
-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;
}
.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;
}
.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: #003567; padding: 2px 15px; border-radius: 20px; 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; }

.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; 
}

.entry_box { width: 150px; margin-right: 70px; margin-top: 10px;  }
.entry_btn { width: 100%; margin: 0 auto; }
.entry_btn a { padding: 10px; background: #003567; color: #fff; font-weight: bold; display: block; text-align: center; border-radius: 30px; border: 1px solid #003567; }
.entry_btn a:hover { background: #fff; color: #003567; border: 1px solid #003567; }

header.smaller .entry_box { width: 140px; margin-top: 12px;  }
header.smaller .entry_box a { padding: 10px; }

#menu {
display: flex;
display: -ms-flexbox;
justify-content: flex-end;
-ms-flex-pack: end;
}

header.smaller #menu { margin-top: 0px; }

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

#menu li:nth-child(7n+7) {
margin-right: 0px;
}
#menu li:nth-child(7n+7) a { padding: 0 0 10px 15px; }

#menu li a {
color: #222;
padding: 0px 15px 10px;
/*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;
font-weight: 400;
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;
font-size: 13px;
letter-spacing: 0.08em;
}
#menu li a:hover { color: #003567; }



header.smaller #menu li a {
color: #222;
}
header.smaller #menu li a:hover { color: #003567; }

/*.mainMenuIn {
margin-right: 15px;
}
*/
.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;
}

header.smaller #header {
height: 80px;
background: rgba(255,255,255,1);
}


header.smaller .subMenu {
display: none;
}


header.smaller .mainMenu {
height: 70px;
}

header.smaller #menu li a {
padding: 10px;
padding-bottom: 17px;
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;
/*display: table-cell;
line-height: 50px;*/
}

header.smaller #menu li a:hover { color: #003567; }

header.smaller .inqBox a {
display: block;
line-height: 50px;
width: 120px;
padding: 10px;
text-align: center;
}

header.smaller .menuWrap .menu { margin-top: 25px; }

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

.menu{
display: block;
position: relative;
width: 30px;
margin: 0 auto; 
height: 15px;
margin-top: 37px;
}
.menu__line{
background: #000;
display: block;
height: 1px;
position: absolute;
transition:transform .3s;
width: 30px;
}
.menu__line--top {
width: 40px;
}


.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 { flex-basis: 50%; background: #fff;  width: 100%; height: 100%; display: flex; align-items: center; background-position:bottom right,center center; background-repeat: no-repeat, repeat; }
 
.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: 100%; }
.gnav_contents_box .info_btn li a { padding: 10px; font-size: 16px; }

.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: 18px;
font-weight: 400;
padding-bottom: 5px;
text-decoration: none;
transition: .5s;
text-align: center; 
}

.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: 350px; margin-bottom: 70px;  padding-left: 20%;}
.gnav_logo img { width: 100%; height: auto; }


/* footer
--------------------------------------------*/
#footer {
box-sizing: border-box;
width: 100%;
min-width: 1100px;
padding: 40px 0 0px;
border-top: 1px solid rgba(0,0,0,0.08);
}

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

.footerTopIn {
width: 1200px;
min-width: 1200px;
margin: 0 auto 40px;
display: flex; flex-wrap: wrap; 
}

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

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

.footerCp .f_logo {
width: 320px;
margin: auto auto auto 0;
margin-bottom: 20px;
}

.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 { flex-basis: 60%;  margin: 0 auto; padding-bottom: 40px; display: flex; flex-wrap: wrap; }

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

.footerMu a:hover { color: #003567; }


.footerMuList {
width: 100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
flex-wrap: wrap;
justify-content: flex-start;
margin-bottom: 45px;
}

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

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

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


.footerBottomIn {width: 100%;
padding-bottom: 40px;
border-top: 1px solid rgba(0,0,0,0.08);
padding-top: 40px;
background: #003567;
color: #fff; 
}

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

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

.f_tel_box { margin-top: 10px; box-sizing: border-box; width: 250px; }
.f_tel_tit { color: #003567!important; text-align: center; font-weight: bold; margin-bottom: 10px; font-size: 12px!important; }
.f_tel a.f_tel_number { font-weight: bold; font-size: 30px;  position: relative; }
.f_tel span.f_tel_icon { font-size: 25px; font-weight: bold!important; padding-right: 10px; color: #003567; }
.f_tel_txt { font-size: 12px; display: block; }




}




/*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) {

.main_box { margin: 0 auto; width: 100%;  }
.main_tit { font-size: 20px; font-weight: bold; text-align: center; margin-bottom: 30px; line-height: 1.8em;  }
.main_tit span { position: relative; }
.main_tit span::before {
display: block;
position: absolute;
top: -2px;
left: 50%;
-webkit-transform: translate(-70%, 0);
transform: translate(-70%, 0);
width: 4px;
height: 4px;
border-radius: 4px;
background-color: #003567;
border-radius: 50%;
content: "";
}
.main_subtit { font-size: 16px; font-weight: bold; color: #003567; text-align: center; }
.main_txt { line-height: 2em; text-align: center; }
.main_txt span { color: #003567; font-weight: bold; }

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

/*-----タイトル-----*/
.com_btn { position: relative; color: #fff; margin: 0 auto; border: 2px solid #003567; border-radius: 30px; width: 200px;  background: #003567; }
.com_btn a { display: block; padding: 15px; color: #fff; text-align: center; font-weight: bold; }
.com_btn a span::after { position: absolute; display: block; content: "\f054"; font-family: "Font Awesome 5 Free"; color: #fff; font-weight: bold; right:30px; top: 17px; font-size: 16px;  -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;
}
.com_btn a:hover span::after { color: #003567;  right: 20px; -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;
}
.com_btn:hover { background: #fff; color: #003567; border: 2px solid #003567; }
.com_btn a:hover { color: #003567;  }


.com_btn2 { position: relative; color: #003567; margin: 0 auto; border: 2px solid #003567; border-radius: 30px; width: 200px;  background: #fff; }
.com_btn2 a { display: block; padding: 15px; color:#003567; text-align: center; font-weight: bold; }
.com_btn2 a span::after { position: absolute; display: block; content: "\f054"; font-family: "Font Awesome 5 Free"; color: #003567;  font-weight: bold; right:30px; top: 17px; font-size: 16px;  -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;
}
.com_btn2 a:hover span::after {  right: 20px; -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;
}
.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: 0px 0px 30px;  margin-bottom: 50px; position: relative; }
#hedImg::before { background: url(../images/com/bg-dot.png) repeat center 7px;
border-radius: 10px;
content: '';
display: block;
opacity: .7;
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
z-index: -10; }
.hed_tit { text-align: center; }
.hed_tit h2.en { font-size: 30px; letter-spacing: 0.1em; color: #003567; font-weight: bold; }
.hed_tit h3 { font-size: 14px; font-weight: bold; }


/*--パンくず---------*/
#pan_area {
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;
display: -ms-flexbox;
justify-content: space-between;
-webkit-justify-content: space-between;
}

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

.logo_Hed {
width: 180px;
margin-left: 10px;
}

.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 {
width: 30px;
position: fixed;
right: 15px;
top: 0px;
z-index: 20000;
cursor : pointer;
}

.menu{
display: block;
position: relative;
width: 20px;
margin: 0 auto; 
height: 15px;
margin-top: 20px;
}
.menu__line{
background: #000;
display: block;
height: 1px;
position: absolute;
transition:transform .3s;
width: 20px;
}
.menu__line--top {
width: 30px;
}
.mainMenu {
z-index: 10!important;
}

.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: 1000;
}
.gnav__wrap{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
align-items: center;
height: 100%;
position: absolute;
width: 100%;
}
.entry_box { width: 200px; margin-right: 100px; margin-top: 3px;  }
.entry_btn { width: 200px; margin: 0 auto; margin-top: 30px; }
.entry_btn a { padding: 15px; background: #003567; color: #fff; font-weight: bold; display: block; text-align: center; border-radius: 30px; border: 1px solid #003567; }
.entry_btn a:hover { background: #fff; color: #003567; border: 1px solid #003567; }

.gnav_bg_img { display: none;}
/*.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: #fff; width: 100%; height: 100%; display: flex; align-items: center;  background-repeat: no-repeat, repeat; }
 
.gnav_contents_box { width: 100%; align-items: center; }

.gnav__menu{
height: 100%;
padding: 0 10%;
/*position: absolute;
left: 50%;
transform: translateX(-50%);
width: 170px;*/
}
.gnav__menu__item{
opacity: 0;
text-align: center;
}
.gnav__menu li:nth-child(n+2) { margin-top: 25px; }

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

.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 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: #003567; padding: 2px 15px; border-radius: 20px; 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: 10px; font-size: 14px; }


/* footer
--------------------------------------------*/
#footer {
box-sizing: border-box;
width: 100%;
padding: 30px 0 20px;
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;
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: #003567; }
.f_tel_txt { font-size: 10px; display: block; }




}