@charset "UTF-8";

/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {	margin: 0;	padding: 0;	border: 0;	font-size: 100%;	font: inherit;	vertical-align: baseline;	box-sizing:border-box;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {	display: block;}
body {	line-height: 1;}
ol, ul {	list-style: none;}
blockquote, q {	quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {	content: '';	content: none;}
table {	border-collapse: collapse;	border-spacing: 0;}

form button:hover{
   cursor: pointer;
 cursor: hand;
 opacity: 0.8;
 }

 .wysiwyg  iframe{
   max-width: 100%;
 }

 .f_red{
   color: #f00;
 }


@media screen and (max-width: 1299px) {
#gnavs{max-width: 100%; width: 100%; height: 90px; background: #fff; display: none; }
#gnavs .side-fix{width: 100%; background: #fff; margin: 0 auto; position: fixed; top: 0px; right: 0; z-index: 1000;}
#gnavs .side-fix .navi-inner{position: relative; padding: 25px 0; background: #fff; width: 100%;max-width: 100%; margin: 0px auto ; text-align: center; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;-webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center;-webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;}
#gnavs .side-fix .navi-inner .navi-link{position: absolute; left: 260px!important; top: 30px!important; font-size: 0.8rem; letter-spacing: 1px;}
#gnavs .side-fix .g-logo{position: absolute; left: 10px; top: 20px; text-align: left; background: #fff}
#gnavs .side-fix .g-logo img{width: 80%; margin-top: 3%}
#gnavs .side-fix li.list { position: relative; display: inline-block; margin-right: 2px; left: -16%}
#gnavs .side-fix li.list span { cursor: pointer;}
#gnavs .side-fix li.list span,
#gnavs .side-fix li.list a{width: 100%; border-right: 1px solid #e7e7e7; display: block; text-align: center; font-size: 0.6rem; padding: 1px 10px 1px 3.5px!important; }


#gnavs .side-fix li.list a img{width: 70%}
#gnavs .side-fix li.list:nth-child(8) a { border-right: none;}
#gnavs .side-fix .list1 { position: absolute; right: 5%!important; top: 15%!important; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;}
#gnavs .side-fix .list1 img{ width: 80%}
#gnavs .side-fix .list1 .g-link1{}

#gnavs .side-fix .g-link1 { font-size: 0.8rem!important; letter-spacing: 1.5px!important; line-height: 1.9!important; text-align: center; position: absolute; right: 300px; top: 15px; }
#gnavs .side-fix .g-link1 span{ font-size: 0.6rem!important; color: #808080; letter-spacing: 1.45px!important; }
}

@media screen and (max-width: 1279px) {
#gnavs{max-width: 100%; width: 100%; height: 90px; background: #fff; display: none; }
#gnavs .side-fix{width: 100%; background: #fff; margin: 0 auto; position: fixed; top: 0px; right: 0; z-index: 1000;}
#gnavs .side-fix .navi-inner{position: relative; padding: 25px 0; background: #fff; width: 100%;max-width: 100%; margin: 0px auto ; text-align: center; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;-webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center;-webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;}
#gnavs .side-fix .navi-inner .navi-link{position: absolute; left: 260px!important; top: 30px!important; font-size: 0.8rem; letter-spacing: 1px;}
#gnavs .side-fix .g-logo{position: absolute; left: 10px; top: 20px; text-align: left; background: #fff}
#gnavs .side-fix .g-logo img{width: 80%; margin-top: 3%}
#gnavs .side-fix li.list { position: relative; display: inline-block; margin-right: 2px; left: -16%}
#gnavs .side-fix li.list span { cursor: pointer;}
#gnavs .side-fix li.list span,
#gnavs .side-fix li.list a{width: 100%; border-right: 1px solid #e7e7e7; display: block; text-align: center; font-size: 0.7rem; padding: 1px 10px 1px 3.5px!important; }
#gnavs .side-fix li.list a img{width: 70%}
#gnavs .side-fix li.list:nth-child(8) a { border-right: none;}
#gnavs .side-fix .list1 { position: absolute; right: 5%!important; top: 15%!important; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;}
#gnavs .side-fix .list1 img{ width: 80%}
#gnavs .side-fix .list1 .g-link1{}

#gnavs .side-fix .g-link1 { font-size: 0.8rem!important; letter-spacing: 1.5px!important; line-height: 1.9!important; text-align: center; position: absolute; right: 300px; top: 15px; }
#gnavs .side-fix .g-link1 span{ font-size: 0.6rem!important; color: #808080; letter-spacing: 1.45px!important; }
}


@media screen and (max-width: 1109px) {
#gnavs{max-width: 100%; width: 100%; height: 90px; background: #fff; display: none; }
#gnavs .side-fix{width: 100%; background: #fff; margin: 0 auto; position: fixed; top: 0px; right: 0; z-index: 1000;}
#gnavs .side-fix .navi-inner{position: relative; padding: 25px 0; background: #fff; width: 100%;max-width: 100%; margin: 0px auto ; text-align: center; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;-webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center;-webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;}
#gnavs .side-fix .navi-inner .navi-link{position: absolute; left: 250px!important; top: 30px!important; font-size: 0.3rem!important; letter-spacing: 1px;}
#gnavs .side-fix .g-logo{position: absolute; left: 10px; top: 20px; text-align: left; background: #fff}
#gnavs .side-fix .g-logo img{width: 80%; margin-top: 3%}
#gnavs .side-fix li.list { position: relative; display: inline-block; margin-right: 1px; left: -20%}
#gnavs .side-fix li.list span { cursor: pointer;}
#gnavs .side-fix li.list span,
#gnavs .side-fix li.list a{width: 100%; border-right: 1px solid #e7e7e7; display: block; text-align: center; font-size: 0.3rem!important; padding: 1px 5px 1px 3px!important; }
#gnavs .side-fix li.list a img{width: 70%}
#gnavs .side-fix li.list:nth-child(8) a { border-right: none;}
#gnavs .side-fix .list1 { position: absolute; right: 5%!important; top: 15%!important; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;}
#gnavs .side-fix .list1 img{ width: 80%}
#gnavs .side-fix .list1 .g-link1{}

#gnavs .side-fix .g-link1 {display: none; font-size: 0.3rem!important; letter-spacing: 1.5px!important; line-height: 1.9!important; text-align: center; position: absolute; right: 290px; top: 20px; }
#gnavs .side-fix .g-link1 span{ font-size: 0.3rem!important; color: #808080; letter-spacing: 1.45px!important; }
}


@media screen and (min-width: 768px),print {
   /* bese */
   body { font-size: 16px;
      overflow-x: hidden;
   line-height: 1.8;
   }

.js-fadein {
  opacity: 0; 
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s;
}
.js-fadein.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

   header{max-width: 1920px; width: 100%; height: 70px; margin: 0px auto 60px auto; padding-top: 33px; position: relative; z-index: 2}
   header .h-logo{max-width: 1280px; position: relative; margin-left: 1.4%}
   header .h-logo span{width: 100%; max-width: 1280px; font-size: 21px; color: #2C66CF; font-weight: bold; position: absolute; left: 280px; top: 15px}
   
   header .btn01{ font-size: 16px; letter-spacing: 1.95px; line-height: 1.4; text-align: center; position: absolute; right: 372px; top: 28px; }
   header .btn01 span{ font-size: 12px; color: #808080; letter-spacing: 1.8px; }
   header .btn02{ position: absolute; right: 100px; top: 0px; }

   header .header-sns{ position: absolute; right: 560px; top: 35px;
      align-items: center;
      display:-webkit-box;display:-ms-flexbox;display:flex;
      -ms-flex-wrap: wrap;flex-wrap: wrap;
      -webkit-box-orient: horizontal;-webkit-box-direction: normal;}
   header .header-sns li{margin:0 20px 0 0;}

   .pc-menu{ position: absolute; right: 0; top: 0}


   #gnavs{max-width: 100%; width: 100%; height: 80px; background: #fff; display: none; box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 25px 5px 0px rgba(10,10,10,0.02);}
   #gnavs .side-fix{width: 100%; background: #fff; margin: 0 auto; position: fixed; top: 0px; right: 0; z-index: 1000;}
   #gnavs .side-fix .navi-inner{position: relative; padding: 25px 0; background: #fff; width: 100%;max-width: 100%; margin: 0px auto ; text-align: center; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;-webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center;-webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;}
   #gnavs .side-fix .navi-inner .navi-link{position: absolute; left: 230px; top: 30px; font-size: 0.8rem; letter-spacing: 1px;}
   #gnavs .side-fix .g-logo{position: absolute; left: 1%; top: 25%; text-align: left;}
   #gnavs .side-fix .g-logo img{width: 100%}
   #gnavs .side-fix li.list {font-weight: 300; position: relative; display: inline-block; margin-right: 2px;}
   #gnavs .side-fix li.list span { cursor: pointer;}
   #gnavs .side-fix li.list span,
   #gnavs .side-fix li.list a{border-right: 1px solid #1A1A1A; display: block; text-align: center; padding: 1px 15px; }
   #gnavs .side-fix li.list:nth-child(9) a { border-right: none;}
   #gnavs .side-fix .g-link1 { font-size: 16px; letter-spacing: 1.95px; line-height: 1.4; text-align: center; position: absolute; right: 300px; top: 15px; }
   #gnavs .side-fix .g-link1 span{ font-size: 12px; color: #808080; letter-spacing: 1.8px; }
   #gnavs .side-fix .g-link2 {position: absolute; right: 80px; top: 0px; }

   .nav_fixed { position: fixed; top: 0; width: 100%; z-index: 10000;display: block!important;}


   #pc-menu-open{ display: none; background: #f8f8f8; width: 100vw; height: 100vh; position: fixed; top: 0; z-index: 10000; overflow-y: scroll; }
   #pc-menu-open .open-close-01{ position: absolute; top: 0; right: 0; }
   #pc-menu-open { background: #000; padding: 80px 0; line-height: 1.6; opacity: 0.9;}
   #pc-menu-open  .menu-open-Box{width: 100%; max-width: 90%; margin: 0 auto; position: relative;}
   #pc-menu-open  .menu-open-Box .logo{position: absolute; left: -4%; top: -5%;}
   #pc-menu-open  .menu-open-Box .open-txt {width: 640px; margin: 0 auto 25px; display: block; border-bottom: 1px solid #7D7D7D; position: relative; padding: 0 10px 5px; }
   #pc-menu-open  .menu-open-Box .open-txt a{font-size: 54px; letter-spacing: 5px; color: #fff;}
   #pc-menu-open  .menu-open-Box .open-txt a:hover{text-decoration: none}
   #pc-menu-open  .menu-open-Box .open-txt a span{font-size: 16px; letter-spacing: 0.5px; position: absolute; right: 0px; bottom: 10px;}
   #pc-menu-open  .menu-open-Box .h-link{text-align: center; margin-right: 20px; margin-top: 80px;}

   #pc-menu-open  .menu-open-Box .header-sns{width: 550px; margin: 30px auto 0;padding: 0px 0px 60px 0px;
   display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap: wrap;flex-wrap: wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;}
   #pc-menu-open  .menu-open-Box .header-sns li{margin:0 45px 0 0;}
   #pc-menu-open  .menu-open-Box .header-sns li:nth-child(3){margin:-5px 55px 0 0;}
   #pc-menu-open  .menu-open-Box .header-sns li:nth-child(4){margin:3px 55px 0 0;}
   #pc-menu-open  .menu-open-Box .header-sns li:last-child{margin:-4px 0 0 0;}


   #g-nav1{ width: 1100px; margin: 0px auto 10px auto; padding: 20px 0; text-align: center; font-size: 0.875em;}
   #g-nav1 li.list { position: relative; display: inline-block; margin-right: 2px;}
   #g-nav1 li.list span { cursor: pointer;}
   #g-nav1 li.list span,
   #g-nav1 li.list a{ border-right: 1px solid #999; display: block; text-align: center; padding: 10px 20px; }
   #g-nav1 li.list:first-child a { border-left: 1px solid #999;}
   #g-nav1 .dropmenu li.list ul.sub { visibility: hidden; opacity: 0; transition: 0s; position: absolute; top: 35px; left: 0; margin: 0; padding: 0; z-index: 500; width: 220px;}
   #g-nav1 .dropmenu li.list:hover ul { visibility: visible; opacity: 1; display: block; }
   #g-nav1 .dropmenu li.list ul li:last-child a { border-bottom: 1px solid #ccc; }
   #g-nav1 .dropmenu li.list ul li a { visibility: hidden; opacity: 0; transition: 0.9s; background: #fff; display: block; width: 220px; padding: 10px; color: #000; border: 1px solid #ccc; border-bottom: none; }
   #g-nav1 .dropmenu li.list:hover ul li a { visibility: visible; opacity: 1; }


   #end-contact {min-height: 300px; background: url(../images/common/end-bg.png) no-repeat top center; color: #fff; padding: 65px 0 35px; background-size: cover;}
   #end-contact .end-contact-inner{ max-width: 1100px; margin: 0 auto; position: relative;}
   
   #end-contact .end-contact-ttl { margin-bottom: 10px; text-align: center; font-size: 84px; font-weight: 600; line-height: 1.2; letter-spacing: 3px;}
   #end-contact .end-contact-ttl a{ color: #fff;  position: relative; display: inline-block; text-decoration: none;}
   #end-contact .end-contact-ttl a::after{ position: absolute; bottom: -1px; left: 0; content: ''; width: 100%; height: 3px; background: #fff; transform: scale(0, 1); transform-origin: left top; transition: transform .3s;}
   #end-contact .end-contact-ttl a:hover::after { transform: scale(1, 1);}
   #end-contact .end-contact-ttl1 { margin-bottom: 30px; text-align: center; font-size: 24px; letter-spacing: 2px;}

   #end-contact .end-btn {text-align: right; position: absolute; right: -50px; top: 50px;}
   #end-contact .end-btn a{width: 200px; background-image: url(../images/common/btn-hober-icon1.png); background-repeat: no-repeat; padding-right: 70px; padding-top: 50px; background-position: bottom 36px left 60px; -webkit-transition: 0.3s ease-out; transition: 0.3s ease-out;}
   #end-contact .end-btn a:hover{background-position: bottom 36px left 45px;}

   #end-contact1 { background: #E6E6E6; border-bottom: 1px solid #CCCCCC; padding: 20px 30px }
   #end-contact1 .end-contact1-inner{ width: 1200px; margin: 0 auto; position: relative;}
   #end-contact1 .end-contact1-inner .end-contact-tel {font-size: 24px; text-align: center; letter-spacing: 1.95px; line-height: 1.2}
   #end-contact1 .end-contact1-inner .end-contact-tel span{font-size: 12px; color: #808080; letter-spacing: 1px;}
   #end-contact1 .end-contact1-inner .end-human {position: absolute; left: 330px; top: -60px;}
   .end-humantxt{padding: 8px 0 0 0; font-weight: bold; letter-spacing: 1px; border-top: 1px solid #F2F2F2; text-align: center; font-size: 14px; background: #E6E6E6;}

   footer{ width: 100%; min-width: 1100px; min-height: 250px; background: #E6E6E6;
      border-bottom: 10px solid #B3B3B3; padding: 100px 0 50px; line-height: 1.6;}
   footer .footer-Box{ width: 100%; max-width: 90%; margin: 0 auto; position: relative;}
   footer .footer-Box .f-navi-link{position: relative; left: 0; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;}
   footer .footer-Box .f-navi-link li{font-size: 13px; margin-right: 25px; letter-spacing: 2px;
   margin-bottom: 16px;   }
   footer .footer-Box .f-logo{}
   footer .footer-Box .copyright{ font-size:12px; letter-spacing: 1px; text-align: right; padding: 10px 0px 20px; display: block; }
   
   footer .footer-Box .flex-f-Box{
   display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;-webkit-box-pack: end; -ms-flex-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end;
   }
   footer .footer-Box .flex-f-Box p:nth-child(1){
      width: 156px;
      margin-right: 32px;}
   footer .footer-Box .flex-f-Box p:nth-child(1) img{
      width: 100%;
      height: auto;
   }

   footer .footer-Box .footer-sns{ position: absolute; bottom:40px; left:0;
   -webkit-box-orient:horizontal;-webkit-box-direction:normal;
   -ms-flex-wrap: wrap;flex-wrap: wrap;
   display:-webkit-box;display:-ms-flexbox;display:flex;}
   footer .footer-Box .footer-sns li{margin:0 25px 0 0;}
   footer .footer-Box .footer-sns li:last-child{margin:-3px 0 0 0;}

   /* common */
   
   /* 2カラムサイト----------------
   #tow-cl{ width: 1100px; margin: 0 auto; padding: 20px 0;}
   #tow-cl main{ width: 800px!important; float: left;  }
   #tow-cl #side{ width: 280px; float: left; margin-right: 19px; background: #333; height: 800px; }
   #blog #tow-cl #side{ display: none;}
   #blog #tow-cl main{ width: 1100px !important;}*/
   /* 1カラムサイト */
   /*#one-cl{ }*/
   

   h1.main-title{ width: 100%; min-width: 1100px; background: #333; color: #fff; padding: 50px 0; text-align: center; }
   h1.main-title .en {width: 1200px; margin: 0 auto; display: block; font-size: 64px; letter-spacing: 6px; position: relative; left: -10px; text-transform: uppercase;font-family: 'Montserrat', sans-serif;margin-bottom: -25px;}
   h1.main-title .jp {width: 1200px; margin: 0 auto; display: block; font-size: 24px; letter-spacing: 3px; position: relative; left: 0px; font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;font-weight: 600;font-style: normal;}

   h2.sub-title{ padding: 25px 20px 10px; margin-bottom: 50px; font-size: 28px; font-weight: bold; letter-spacing: 2px; text-align: center; border-bottom: solid 2px #000;}
   h2.sub-title1{font-size: 24px; position: relative; margin-bottom: 20px; margin-left: 20px;}
   h2.sub-title1 .span1{font-size: 14px; position: absolute; left: 40px; top: -15px}
   h2.sub-title1 .span2{font-size: 40px; position: absolute; left: 100px; top: -15px}
   .seo_bread_list{font-family: noto-sans-cjk-jp, sans-serif;font-style: normal;max-width: 1200px; width: 100%; padding: 20px 0; margin: 0 auto; font-size: 14px; letter-spacing: 1px; line-height: 1.4; }
   .seo_bread_list li{ margin-right: 10px; float: left;  }
   .seo_bread_list li::after{ content: " >"; }
   .seo_bread_list li:last-child::after{ content: ""; }
   
   /*pc・タブレットcss*/
   /*pc_defaultset*/
   .pc { display: block !important; }
   /*pcのみ表示ブロック*/
   .pc2 { display: inline-block !important; }
   /*pcのみ表示ブロック*/
   .sp, .sp2 { display: none !important; }
   /*スマホのみ表示ブロック*/
   .h_menu { display: none; }
   /*スマホ用ヘッダ*/
   .sp-header { display: none; }
   /*スマホ用メニュー*/
   #sp-global-nav { display: none; }
   /*スマホ用メニュー*/
   .sp-fix-list { display: none; }
   /* Antialiasing ※任意　*/
   
   .fit img { object-fit: cover; font-family: "object-fit: cover;"; }
   
   html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
   
   /* WEB FONTs 游ゴシックかすれ予防*/
   @font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
   @font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
   @font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
   @font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
   @font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
   @font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 100; }
   @font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 200; }
   .f-min { font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
   .f-min-02 { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","Sawarabi Mincho","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
   .f-gothic { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック","Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  Verdana, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
.f-noto{font-family: noto-sans-cjk-jp, sans-serif;font-style: normal;}
.f-noto-c{font-family: noto-serif, serif;font-style: normal;}
.f-otf {font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;font-weight: 600;font-style: normal;}
.f-mon {font-family: 'Montserrat', sans-serif;}

   body { -webkit-text-size-adjust: 100%; }
   img { vertical-align: bottom; }
   a { text-decoration: none; color: #090909; }
   a:hover { text-decoration: underline; }
   .nobd a:hover { text-decoration: none !important; }
   
   /* clearfix */
   .clearfix { zoom: 1; }
   .clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }
   /* wysiwyg */
   .wysiwyg { word-wrap: break-word; margin-bottom: 50px;}
   .wysiwyg strong { font-weight: bolder; }
   .wysiwyg em { font-family: "ＭＳ ゴシック",sans-serif; font-style: italic; }
   .wysiwyg img { max-width: 100% !important; height: auto !important; }
   .wysiwyg p { min-height: 15px; min-width: 10px; line-height: 1.6;}
   .wysiwyg h1, .wysiwyg h2, .wysiwyg h3, .wysiwyg h4, .wysiwyg h5, .wysiwyg h6 { color: #333; font-weight: bold; text-align: left;}
   .wysiwyg h1 { background-color: #0A9FE6; padding: 12px 24px; font-size: 1.25rem; line-height: 1.6; margin: 0.5em 0 1em;}
   .wysiwyg h2 { border-top: 1px solid #333; border-bottom: 1px solid #333; padding: 12px; font-size: 1.25rem; line-height: 1.6; margin: 0.5em 0 1em;}
   .wysiwyg h3 { border-left: 6px solid #0A9FE6; padding: 5px 20px; font-size: 1.25rem; line-height: 1.6; margin: 0.5em 0 1em;}
   .wysiwyg h4 { border-bottom: 1px solid #000; padding: 0 0 10px; font-size: 1.188rem; line-height: 1.6; margin: 0.5em 0 1em;}
   .wysiwyg h5 { border-bottom: 1px dashed #000; padding: 0 0 10px; font-size: 1.188rem; line-height: 1.6; margin: 0.5em 0 1em;}
   .wysiwyg h6 { background-color: #0A9FE6; border: 1px dotted #999; padding: 10px; font-size: 1rem; line-height: 1.6; margin: 0.5em 0 1em;}
   .wysiwyg ul { list-style-type: disc; line-height: 1.6; font-size: 0.875rem; margin: 0.5em 0 1em 2em}
   .wysiwyg ol { list-style-type: decimal; line-height: 1.6; font-size: 0.875rem; margin: 0.5em 0 1em 2em}
   .wysiwyg table th,
   .wysiwyg table td { border: 1px solid #999; padding: 10px; font-size: 0.875rem; margin: 0.5em 0 1em;}
   
   /* リンク透明 */
   a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
   /* リンク透明にしない */
   .noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
   /*---------------------------------------- 　　外部サービス ----------------------------------------*/
   /* ggmap */
   /* <div class="ggmap">iframeのコピーしたコード</div> */
   .ggmap { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
   .ggmap iframe, .ggmap object, .ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
   /* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
   .youtube { position: relative; width: 100%; padding-top: 56.25%; }
   .youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
   /*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
   @font-face { font-family: 'jp-sttl01';
   /* お好きな名前にしましょう */
   src: url("../font/.eot");
   /* IE9以上用 */
   src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
   /* iOS, Android用 */
   /* 念の為指定しておきます */
   font-weight: normal;
   /* 念の為指定しておきます */
   font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
   .myWebFontClass { font-family: 'jp-sttl01'; }
   }
   @media screen and (max-width: 1200px) {
   html {
      overflow: auto;
   }
   body {
      overflow: visible;
   }
   }

@media screen and (min-width: 768px) and (max-width: 1065px) {

   header .header-sns{width:300px; position: absolute;left: 25px; top: 100px; z-index: 100;
      align-items: center;
      display:-webkit-box;display:-ms-flexbox;display:flex;
      -ms-flex-wrap: wrap;flex-wrap: wrap;
      -webkit-box-orient: horizontal;-webkit-box-direction: normal;}
   header .header-sns li{margin:0 20px 0 0;}
   header .header-sns li img{ width:2vw; }

}


@media screen and (max-width: 767px) {

   footer .footer-Box .flex-f-Box p:nth-child(1){
      width: 37.681vw;
      margin: 0 auto;
      margin-bottom: 6vw;
   }



   .mw_wp_form input[type="file"] {
      display: inline-block;
      width: 100%;
      font-size: 3.8vw;
  }
html{
   font-size:62.5% ; 
}

body { overflow: hidden; font-size: 16px; font-family: sans-serif; -webkit-text-size-adjust: 100%;
line-height: 1.6;
}
.pc, .pc2 { display: none !important; }
/*pcのみ表示ブロック*/
.sp { display: block !important; }
/*スマホのみ表示ブロック*/
.sp2 { display: inline-block !important; }
/*スマホのみ表示ブロック*/
.no-br { display: none; }
/*スマホでbrを解除したい場合に使用*/
.sp_display_block { display: block !important; }
/*スマホでflexboxを解除したい場合等に使用*/
.pc-menu{ display: none; }
.side-fix{ display: none; }
.fix-list{ display: none; }
#pc-menu-open{ display: none; }
#g-nav{ display: none; }


.js-fadein {
  opacity: 0; 
  visibility: hidden;
  transform: translateY(10vw);
  transition: all 1.8s;
}
.js-fadein.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

.sp-header .h-menu { position: fixed; top: 0; right: 0; width: 15vw!important; z-index: 997;}
.sp-header .h-menu img { height: 15vw!important; width: auto;}

header .h-logo{ background: #fff; padding: 3% 4% 4%}
header .h-logo img{ height: 13vw; width: 36vw!important;}

nav#sp-global-nav .h-logo { background: #000;  padding: 3% 4% 4%}
nav#sp-global-nav .h-logo img { height: 13vw; width: 36vw!important;}
nav#sp-global-nav { font-size: 3.8vw; z-index: 999; overflow: scroll; position: fixed; top: 0; width: 100vw; height: 100vh; display: none; background-color: #000; box-sizing: border-box; color: #fff; }
nav#sp-global-nav .open-close-01 { position: fixed; top: 0; right: 0; width: 15vw; z-index: 998;}
nav#sp-global-nav .open-close-01 img { height: 15vw; width: auto;}

nav#sp-global-nav .open-color-Box {padding: 5% 0 50vw}
nav#sp-global-nav .open-link { width: 80%; margin: 0 auto 5%;}

nav#sp-global-nav .list { margin: 3% 5% 15%;}
nav#sp-global-nav .list li a {font-size: 6vw; letter-spacing: 0.5vw; color: #fff; line-height: 1.4; text-decoration: none; padding: 5% 5% 1%; margin-bottom: 3%; display: block; border-bottom: 1px solid #7D7D7D; position: relative;}
nav#sp-global-nav .list li a span{font-size: 3vw; letter-spacing: 0.1vw; position: absolute; right: 5%; bottom: 15%}


nav#sp-global-nav .header-sns{
      justify-content: center;align-items: center;
      display:-webkit-box;display:-ms-flexbox;display:flex;
      -ms-flex-wrap: wrap;flex-wrap: wrap;
      -webkit-box-orient: horizontal;-webkit-box-direction: normal;}

nav#sp-global-nav .header-sns li{margin:0 3vw 0 3vw; width: 10vw;}



.sp-fix-list {background: url(../images/common/sp-fix-bg.png) no-repeat top center; position: fixed; bottom: 0; width: 100%; z-index: 996; padding-top: 5vw; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: flex-end;}
.sp-fix-list .tel {  }
.sp-fix-list .icon { }


#end-contact {background: url(../images/common/sp-end-bg.png) no-repeat top center; color: #fff; padding: 15vw 0 30vw; background-size: cover;}
#end-contact .end-contact-inner{ max-width: 100vw; margin: 0 auto; position: relative;}

#end-contact .end-contact-ttl { margin-bottom: 3vw; text-align: center; font-size: 11vw; font-weight: 600; line-height: 1.2; letter-spacing: 0.5vw;}
#end-contact .end-contact-ttl a{ color: #fff;  position: relative; display: inline-block; text-decoration: none;}
#end-contact .end-contact-ttl a::after{ position: absolute; bottom: -1vw; left: 0; content: ''; width: 100%; height: 1vw; background: #fff; transform: scale(0, 1); transform-origin: left top; transition: transform .3s;}
#end-contact .end-contact-ttl a:hover::after { transform: scale(1, 1);}
#end-contact .end-contact-ttl1 { margin-bottom: 3vw; text-align: center; font-size: 3.8vw; letter-spacing: 0.2vw;}

#end-contact .end-btn {width: 15vw; text-align: right; position: absolute; left: 43vw; top: 33vw;}
#end-contact .end-btn a{width: 20vw; background-image: url(../images/common/btn-hober-icon1.png); background-repeat: no-repeat; padding-right: 4vw; padding-top: 5vw; background-position: bottom 7vw left 10vw; -webkit-transition: 0.3s ease-out; transition: 0.3s ease-out;}
#end-contact .end-btn a:hover{background-position: bottom 7vw left 7vw;}

#end-contact1 { background: #E6E6E6; border-bottom: 1px solid #CCCCCC; padding: 20vw 0 5vw}
#end-contact1 .end-contact1-inner{ width: 85vw; margin: 0 auto; position: relative;}
#end-contact1 .end-contact1-inner .end-contact-tel {position: relative; z-index: 20; font-size: 24px; text-align: center; letter-spacing: 1.95px; line-height: 1.2}
#end-contact1 .end-contact1-inner .end-contact-tel span{font-size: 12px; color: #808080; letter-spacing: 1px;}
#end-contact1 .end-contact1-inner .end-human {width: 25vw; position: absolute; left: 5vw; top: -25vw; z-index: 10;}
#end-contact1 .end-contact1-inner .end-humantxt{padding: 0 0 0 0; font-weight: bold; letter-spacing: 1px;
   position: absolute; top:-16.5vw; left:31vw; z-index: 10;width: 60vw;
    text-align: left; font-size: 3.4vw;}



.sp-page-top a { text-align: center; display: block; padding: 5% 3%;}
.sp-page-top a img { width: 10%; height: auto;}

footer{ width: 100vw; background: #fff; border-bottom: 10px solid #B3B3B3;padding: 15vw 0 20vw; line-height: 1.6;border-top: 1px solid #F2F2F2;}
footer .footer-Box{ width: 95vw; margin: 0 auto; position: relative;}
footer .footer-Box .f-logo{width: 35vw; margin: 0 auto 1vw;}
footer .footer-Box .copyright{ font-size: 3.4vw; letter-spacing: 0.3vw; text-align: center; padding: 5vw 0 10vw; display: block; }

footer .footer-Box .footer-sns{width: 67vw; margin: 0 auto 12vw;
-webkit-box-orient:horizontal;-webkit-box-direction:normal;
-ms-flex-wrap: wrap;flex-wrap: wrap;
display:-webkit-box;display:-ms-flexbox;display:flex;}
footer .footer-Box .footer-sns li{margin:0 7vw 0 0;}
footer .footer-Box .footer-sns li:last-child{margin:-1vw 0 0 0;}


h1.main-title{ width: 100vw; color: #fff; padding: 20vw 0 10vw; text-align: left; margin-bottom: 3vw; }
h1.main-title .en {width: 100vw; display: block; margin-left: 5vw; text-align: left; font-size: 8vw; letter-spacing: 1vw; position: relative; left: -1vw; text-transform: uppercase;font-family: 'Montserrat', sans-serif;margin-bottom: -1vw;}
h1.main-title .jp {width: 100vw; display: block; margin-left: 5vw; text-align: left; font-size: 3vw; letter-spacing: 0.5vw; position: relative; left: 0; font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;font-weight: 600;font-style: normal;}


h2.sub-title{ font-weight: bold; padding: 3% 3% 1%; margin-bottom: 5%; font-size: 5vw; letter-spacing: 0.3vw; text-align: center; border-bottom: solid #000 1px;}
h2.sub-title1{font-size: 5vw; margin-bottom: 5vw; margin-left: 5vw}
h2.sub-title1 .span1{font-size: 3vw; position: absolute; left: 10vw; top: -3vw}
h2.sub-title1 .span2{font-size: 6vw; position: absolute; left: 25vw; top: -1vw}

.seo_bread_list{font-family: noto-sans-cjk-jp, sans-serif;font-style: normal; width: 100%; padding: 2vw 2vw 3.5vw; margin: 0 auto; font-size: 3.2vw; color: #666; line-height: 1.6;}
/*.seo_bread_list{display: none;}*/
 .seo_bread_list a { color: #666;}
.seo_bread_list li{ margin-right: 1.5vw; float: left;  }
.seo_bread_list li::after{ content: ">"; }
.seo_bread_list li:last-child::after{ content: none; } 

/* 2カラムサイト---------------- */
#tow-cl #side{ display: none;}

.fit img { object-fit: cover; }
.wysiwyg img { width: auto !important; height: auto !important; }
html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
/* WEB FONTs 游ゴシックかすれ予防*/
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 100; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 200; }
.f-min { font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
.f-min-02 { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","Sawarabi Mincho","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.f-gothic { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック","Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  Verdana, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
.f-noto{font-family: noto-sans-cjk-jp, sans-serif;font-style: normal;}
.f-noto-c{font-family: noto-serif, serif;font-style: normal;}
.f-otf {font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;font-weight: 600;font-style: normal;}
.f-mon {font-family: 'Montserrat', sans-serif;}

body { -webkit-text-size-adjust: 100%; }
img { vertical-align: bottom; max-width: 100%; }
a { text-decoration: none; color: #090909; }
a:hover { text-decoration: underline; }
.nobd a:hover { text-decoration: none !important; }
.clearfix { zoom: 1; }
.clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }

/* wysiwyg */
.wysiwyg { word-wrap: break-word; margin-bottom: 30px; font-size: 1.4rem;}
.wysiwyg strong { font-weight: bolder; }
.wysiwyg em { font-family: "ＭＳ ゴシック",sans-serif; font-style: italic; }
.wysiwyg img { max-width: 100% !important; height: auto !important; }
.wysiwyg p { min-height: 3vw; min-width: 3vw; line-height: 1.6;}
.wysiwyg h1, .wysiwyg h2, .wysiwyg h3, .wysiwyg h4, .wysiwyg h5, .wysiwyg h6 { color: #333; font-weight: bold; text-align: left;}
.wysiwyg h1 { background-color: #0A9FE6; padding: 3%; font-size: 4.2vw; line-height: 1.6; margin: 0.2vw 0 4.2vw;}
.wysiwyg h2 { border-top: 1px solid #333; border-bottom: 1px solid #333; padding: 3%; font-size: 4.2vw; line-height: 1.6; margin: 0.2vw 0 4.2vw;}
.wysiwyg h3 { border-left: 4px solid #0A9FE6; padding: 3%; font-size: 4.2vw; line-height: 1.6; margin: 0.2vw 0 4.2vw;}
.wysiwyg h4 { border-bottom: 1px solid #000; padding: 0 0 3%; font-size: 4vw; line-height: 1.6; margin: 0.2vw 0 4.2vw;}
.wysiwyg h5 { border-bottom: 1px dashed #000; padding: 0 0 3%; font-size: 3.6vw; line-height: 1.6; margin: 0.2vw 0 4.2vw;}
.wysiwyg h6 { background-color: #0A9FE6; border: 1px dotted #999; padding: 3%; font-size: 3.6vw; line-height: 1.6; margin: 0.2vw 0 4.2vw;}
.wysiwyg ul { list-style-type: disc; line-height: 1.6; margin: 0.2vw 0 4.2vw 8vw}
.wysiwyg ol { list-style-type: decimal; line-height: 1.6; font-size: 3.6vw; margin: 0.2vw 0 4.2vw 8vw}
.wysiwyg table { width: 100% !important;}
.wysiwyg table th,
.wysiwyg table td { border: 1px solid #999; padding: 3%; font-size: 3.6vw; margin: 0.2vw 0 4.2vw 8vw}
/* img-block */
/* アンカーリンク調整 */
.hideAnchor { display: block; height: 0px; overflow: hidden; text-indent: -9999px; margin-top: -10px; padding-bottom: 10px; }
/* スクロール縦 */
.scroll-y { box-sizing: border-box; overflow-y: scroll; transform: translateZ(0); }
/* リンク透明 */
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
/* リンク透明にしない */
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* ggmap */
/* <div class="ggmap">iframeのコピーしたコード</div> */
.sp-ggmap { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
.sp-ggmap iframe, .sp-ggmap object, .sp-ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
/*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
@font-face { font-family: 'jp-sttl01';
/* お好きな名前にしましょう */
src: url("../font/.eot");
/* IE9以上用 */
src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
/* iOS, Android用 */
/* 念の為指定しておきます */
font-weight: normal;
/* 念の為指定しておきます */
font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
.myWebFontClass { font-family: 'jp-sttl01'; }
}

@media screen and (max-height: 450px) {
   /* 高さ450px以下の場合 andoroidのフォーム対策 ストーカーバナー用　*/
	.sp-fix-list{display: none;}
}

/* 20260924 スクロール時の固定グロナビ（#gnavs）が1920px未満でTEL・ENTRYと重なる対策
   ※上方の max-width:1299px 等の指定は後続の min-width:768px 指定に打ち消され効いていないため、ここで幅ごとに再指定 */
@media screen and (min-width: 768px) and (max-width: 1919px) {
#gnavs .side-fix .navi-inner .navi-link { left: 230px !important; }
#gnavs .side-fix li.list { left: 0; margin-right: 0; }
#gnavs .side-fix li.list a { font-size: 11px !important; letter-spacing: 1px; padding: 1px 8px !important; }
}
@media screen and (min-width: 768px) and (max-width: 1679px) {
#gnavs .side-fix .g-link1 { display: none; }
}
@media screen and (min-width: 768px) and (max-width: 1459px) {
#gnavs .side-fix .navi-inner .navi-link { left: 200px !important; }
#gnavs .side-fix li.list a { font-size: 10px !important; letter-spacing: 0.5px; padding: 1px 6px !important; }
}
@media screen and (min-width: 768px) and (max-width: 1359px) {
#gnavs .side-fix .navi-inner .navi-link { left: 180px !important; }
#gnavs .side-fix li.list a { font-size: 9.5px !important; padding: 1px 5px !important; }
}
