@charset "utf-8";

/* base ------------------------*/
main {
    -webkit-animation:fadeIn 1.5s ease 0s 1 normal;
    animation:fadeIn 1.5s ease 0s 1 normal;
}
@-webkit-keyframes fadeIn {
    0% {opacity:0}
    100% {opacity:1}
}
@keyframes fadeIn {
    0% {opacity:0}
    100% {opacity:1}
}

#wrapper { position:relative; }

#pan { margin-bottom:20px; padding:.8em 0; text-align:right; }
#pan li { display:inline-block; font-size:14px; }
#pan li:not(:first-child):before { content:">"; margin:0 0.5em; color:#888; font-size:15px; }



/* header ------------------------*/
#header { position:fixed; top:0; left:0; bottom:0; right: 0; z-index:999; width:240px;
 padding:25px 0 18px; font-size:14px; border-right:1px solid #ddd; background:#fff; }
#header .h_inner { margin:0 10px; }
#header .h_narrow { margin: 0 10px;}

.sns_list { position:absolute; right:0; bottom:25px; left:0; text-align:center; line-height:1; }
.sns_list li { display:inline-block; border:1px solid #ddd; -webkit-transition:all .5s; transition:all .5s; }
.sns_list li a { display:block; color:#fff; }
.sns_list li:hover { border-color:#666; }

/* hnav ------------------------*/
#hnav { position:fixed; top:0; left:220px; right:0; z-index:998; }
#hnav {
 font-size:.875em; font-weight:bold; background:#1e8d78;
 -webkit-transition:all .5s ease-out; transition:all .5s ease-out; }
#hnav .hmenu { float:right; }
#hnav .hmenu > li { position:relative; float:left; border-left:1px solid #1a816e; }
#hnav .hmenu > li > a { display:block; padding:.9em 1.5em 1em; line-height:1.4; }

#hnav .hmenu > li a {position:relative; display:block; color:#fff; }
#hnav li:hover > a { background:#1a816e }

#hnav .hsubmenu { position:absolute; z-index:99; top:100%; left:0; overflow:hidden;
 width:240px; max-height:0; opacity:0;
 -webkit-transition:all .3s ease-in; transition:all .3s ease-in; background:#1a816e; }
#hnav .hsubmenu li a { padding:.4em 1.5em; color:#fff; }
#hnav .hmenu > li:hover .hsubmenu { max-height:9999px; padding-top:10px; padding-bottom:10px; opacity:1; }
#hnav .hmenu > li:last-child .hsubmenu { left:auto; right:0; }


/* gnav ------------------------*/
#gnav li a { position:relative; display:block; font-weight:bold; color:#333; transition-property:none; }
#gnav .menu > li > a { padding:.52em 20px .50em; }
#gnav .menu > li > a.current:before { content:""; position:absolute; top:0; bottom:0; left:0; width:3px; height:1em; margin:auto 0; background:#1e8d78; }
#gnav li a span:not(.small) { display:block; }

#header #h_enet { position:relative; margin-bottom:18px; padding:25px 0 20px; text-align:center; background:#edf4da; }
#header #h_enet .elogo { margin: 0 auto 14px; width: 144px;}
#header #h_enet .login { position:relative; margin:1.2em 0 .8em; }
#header #h_enet .login a:hover { background:#ffca00; }
#header #h_enet .login a { display:block; padding:.4em .2em; color:#333; text-align:center; font-weight:bold; border-radius:5px; background:#ffde00; }
#header #h_enet .login .available { opacity:0; position:absolute; bottom:100%; width:100%; margin:0 0 1em; padding:0 1em; line-height:1.6; font-size:.9em; font-weight:bold; border-radius:5px;
  border:4px solid #1e8d78; background:#fff; box-shadow:3px 3px 3px rgb(202, 208, 187);
  -webkit-transition:all .25s ease-in; transition:all .25s ease-in; }
#header #h_enet .login .available:before { content:""; position:absolute; z-index:2; right:0; bottom:-14px; left:0; width:0; height:0; margin:0 auto; border-width:10px 5px 0 5px; border-style:solid; border-color:#1e8d78 transparent transparent transparent; }
#header #h_enet .login:hover .available { opacity:1; padding-top:1em; padding-bottom:1em; }

#header #h_enet .enet_menu .enet_btn,
#header #h_enet .manual a{ display:block ; padding:.45em .5em; color:#333 !important;
     line-height:1.5; text-align:center; font-size:.95em; font-weight:bold;
      border:1px solid #c5d49c; border-radius:3px; background:#fff; }
#header #h_enet .enet_menu .enet_btn:before { content:""; display:inline-block; width:1em; height:1em; margin-right:.8em; vertical-align:middle;
   background:url(../img/common/ico_menu.svg) no-repeat center; }
#header #h_enet .manual a { margin-top: .6em;}

#header #h_enet .e-certificate { position:relative; margin:.8em 0; }
#header #h_enet .e-certificate a { display:block; padding:.4em .2em; color:#fff; text-align:center; font-weight:bold; border-radius:5px; background:#0070c0; }
#header #h_enet .e-certificate a:hover { background:#014a7e; }
#header .available { margin-top: 1.5em; font-weight: bold; line-height: 1.4;}
#header .mente { margin: .8em 0; line-height: 1.4;}
#header .mente a { text-decoration: underline; color: #f00; font-size: .875em;}

#header .btn-esure { display:block; margin:0 20px; padding: 0.5em; font-weight: bold; color: #fff; background:#8BC145; padding:.45em; border-radius: 5px; }
#header .btn-esure:hover { background: #679231; }

/* main ------------------------*/
main { display:block; overflow:hidden; margin-left:240px; background:#f6f6f6; }
.inner { margin:0 50px; }

/* footer------------------------*/
#footer { padding-top:38px; color:#000; border-top:1px solid #ddd; background:#eaeede; }

.fnav { margin-bottom:56px; }
.fnav a { position:relative; display:block; padding:.35em 0 .35em 1.2em; line-height:1.4; }
.fnav .nav_group { margin-right:2%; }
.fnav .nav_group > ul + ul { margin-top:1.25em; }
.fnav .fmenu { font-size:.938em; border-left:4px solid #d3e0d0; }
.fnav .fmenu > li > strong { position:relative; display:block; padding:.35em 0 .35em 1.2em; }
.fnav .fmenu > li > strong:before { content:""; position:absolute; left:-4px; top:0; bottom:0;
  width:4px; height:100%; background:#71aa9b; }

.copyright { margin:0; padding:1.4em 0; color:#fff; font-size:.75em; background:#1e8d78; }

#pagetop { position:fixed; right:0; bottom:0; z-index:999; }
#pagetop a {
  display:block; width:70px; height:70px; position:relative;
  padding-top:31px; font-size:12px; text-align:center; line-height:1.2; background-color:#eaeede;
  }
#pagetop a::before {
  content:""; position:absolute; top:12px; left:50%;
  width:8px; height:8px;
  border-top:2px solid #1e8d78;
  border-right:2px solid #1e8d78;
  -webkit-transform:rotate(-45deg) translateX(-50%);
  transform:rotate(-45deg) translateX(-50%);
  }


/* common --------------------- */
.sec_box { padding:60px 0;}

ul.circle > li { margin-bottom:0.5em; padding-left:28px; position:relative; }
ul.circle > li::before { content:""; position:absolute; left:8px; top:.6em; display:block; width:10px; height:10px; background:url(../img/common/li_circle.svg) 0 0 no-repeat; background-size:cover; }

/* title */
.conttl { margin-bottom:.8em; font-size:1.75em; font-weight:bold; letter-spacing:.1em; line-height:1.4; }
.conttl span { margin-left:1.5em; color:#49bc9d; font-size:.464em; letter-spacing:.1em; }

/* button */
.button { position:relative; display:inline-block; min-width:10em; margin:0 auto; padding:.5em 1.5em .4em;
  color:#fff; font-size:1em; text-align:center; font-weight:bold; text-decoration:none !important;
  border-radius:5px; border:none; border-bottom:2px solid #1e8d78; background:#49bc9d;
 }
a.button { -webkit-transition-property:background; transition-property:background;
 -webkit-transition-duration:.3s; transition-duration:.3s; }
.button:hover { color:#fff; }
.button.important{ border-bottom:2px solid #bc4030; background:#e76a5a; }

.button.icon:before { content:""; display:inline-block; width:1.2em; height:1.2em; margin:.3em .5em 0 0; vertical-align:top; background:no-repeat center / 100%; }
.button.print { background:#888; border-bottom-color:#666; }
.button.mail:before { background-image:url(../img/common/ico_mail.svg); }
.button.print:before { background-image:url(../img/common/ico_print.svg); }

.button2 { padding:.5em 1.5em .4em; border-radius: 5px; border: 2px solid #1e8d78; text-align:center; font-weight:bold; text-decoration:none !important; }

.txt_link { color:#ef7c37; text-decoration:underline; }

/* icon */

:is(a[href$=".xls"], a[href*=".xlsx"]):not(.no_icon) {
  display:inline-block;
  padding-left:28px;
  background:url(../img/common/ico_excel.svg) no-repeat 5px center;
  background-size:18px auto;
}
a[href*=".pdf"]:not(.no_icon) {
  display:inline-block;
  padding-left:28px;
  background:url(../img/common/ico_pdf.png) no-repeat 5px center;
  background-size:18px auto;
}

/* IE10以降 */
@media all and (-ms-high-contrast:none){
  #hnav .hmenu > li > a { padding:1.1em 1.5em .9em; }
  #header #h_enet .login a { padding-top:.6em; padding-bottom:.2em }

  .button { padding-top:.8em; }
  .button.icon:before { background-size:90%; }

}

/* ================================================================
  レスポンシブ
=================================================================== */
/* 1370px以上 */
@media screen and (min-width:1680px) {
  .inner { max-width:1350px; margin:0 auto;  }

}


/* 1099px以上 */
@media screen and (min-width:1099px) {
  #header .sitename .sp { display:none; }
  .fnav { -webkit-flex-wrap:nowrap; flex-wrap:nowrap; }
}
/* 960以上 */
@media screen and (min-width:960px) {
  #header { overflow-y: auto;}
  #header .sitename .sp { display:none; }
  #header .sitename { margin:0 0 0; padding-bottom:28px; text-align:center; border-bottom:1px solid #eee; }
  #header .sitename img { width:90%; }
  .menu-button { display:none; }
  #gnav { margin-bottom:1em; }
  #gnav .menu > li:hover { background:#35a788; }
  #gnav .menu > li:hover > a { color:#fff; }
  #gnav .menu > li:hover .submenu { max-width:260px; }
  #gnav .subNav { display:none; }

  #gnav .submenu { position:absolute; left:100%; top:0; bottom:0; z-index:999;
    width:260px; max-width:0; height:100vh; padding-top:20px; padding-bottom:20px;
    overflow:hidden; color:#fff; background:#35a788;
    -webkit-transition:all .25s ease-in; transition:all .25s ease-in; }

  #gnav .nav_inner { min-width:220px; margin-left:20px; margin-right:20px; }
  #gnav .submenu .navttl { position:relative; padding:1em 0; font-size:1.35em; font-weight:bold; text-align:center; }
  #gnav .submenu ul { border-top:1px solid #299477; }
  #gnav .submenu li { border-bottom:1px solid #299477; }
  #gnav .submenu li a { position:relative; padding:.5em 1.5em .5em .5em; color:#fff; }
  #gnav .submenu li a:before { content:""; position:absolute; top:0; right:.8em; bottom:0;
    width:.3em; height:.3em; margin:auto 0;
    border-right:2px solid #fff; border-top:2px solid #fff;
    -webkit-transform:rotate(45deg); transform:rotate(45deg); }
  #gnav .site_search { display:none; }

  .enet_menu_list { overflow:hidden; position:absolute; top:0; left:100%; width:260px; max-width:0; padding:1.5em 0;
    font-weight:bold; text-align:left; background:#c5d49c; z-index:999; opacity:0;
    -webkit-transition:all .25s ease-in; transition:all .25s ease-in; }
  .enet_menu_list .menu_inner { min-width:220px; }
  .enet_menu_list li { border-bottom:1px solid #b2bf8f; }
  .enet_menu_list li a { position:relative; display:block; padding:.45em 0 .45em .5em; font-size:.95em; line-height:1.5; color:#333; }
  .enet_menu_list li a:before { content:""; position:absolute; top:0; right:.8em; bottom:0;
    width:.3em; height:.3em; margin:auto 0;
    border-right:2px solid #fff; border-top:2px solid #fff;
    -webkit-transform:rotate(45deg); transform:rotate(45deg); }

  .enet_menu:hover .enet_menu_list { opacity:1; padding-left:20px; padding-right:20px; max-width:260px; }

  /* button */
  .button:hover { color:#fff; margin-top:2px; border-bottom:none; background:#43ad90; }
  .button.important:hover { color:#fff; margin-top:2px; border-bottom:none; background:#e76a5a; }
  .button.print:hover { background:#888; }

  @media screen and (max-height:600px) {
    #header { padding-top:20px; }
    #header .sitename { margin-bottom:12px; padding-bottom:20px; }
    #gnav .menu > li > a { padding-top:.42em; padding-bottom:.40em; }
  }

}

/* 600以上 */
@media screen and (min-width:600px) {

  .f_info .logo { float:left; margin-right:40px; padding-right:40px; border-right:1px solid #ddd; }
  .f_info .address { float:left; margin:0; }
  .f_info .lang_btn { float:right; padding-left:1.6em; border-left:1px solid #ddd; }
  .f_info .lang_btn li:not(:last-child) { margin-bottom:5px; }

  .button + .button { margin-left:1em; }
}

@media screen and (max-height:575px) and (min-width:960px) {
  #header #h_enet { position:static; }
}

/* 1024px以下 */
@media screen and (max-width:1024px) {
  body { font-size:15px; }
  .wide_inner, .inner, .narrow { width:auto; margin:0 40px; }
  .inner .narrow  { margin:0; }

  /* header------------------------*/


  /* footer ------------------------*/


  /* common ------------------------*/

  /* title */
  .conttl { font-size:1.6em; }
  .subttl { font-size:1.4em; }

  @media screen and (min-width:600px){
    .fnav { -webkit-justify-content:flex-start; justify-content:flex-start; }
    .fnav > ul { width:31.33%; margin-bottom:20px; margin-right:3.5%; }
    .fnav > ul:nth-child(3n) { margin-right:0; }

  }

}

/* ================================================================
  タブレット
=================================================================== */
@media screen and (max-width:959px) {
  #wrapper { padding-top:60px; }

  #header { padding:15px; bottom:auto; width:100%; height:auto; border-right:none; border-bottom:1px solid #eee; }
  #header .sitename .pc { display:none; }
  #header .sitename { float:left; }
  #header .sitename img { width:280px; }
  #header .h_inner { margin:0; }
  #header .h_narrow { margin: 0;}
  #header .site_search { margin-bottom:1.5em; padding:.5em; background:#f7f4f9; }

  main { margin-left:0; }
  #hnav { display:none; }

  #gnav { position:fixed; z-index:1000; top:0; right:0; width:320px; height:100%; overflow-y:auto;
    padding:0 25px 25px; background:#35a788;
   -webkit-transition:all .3s ease-in; transition:all .3s ease-in;
   -webkit-transform:translate(320px); transform:translate(320px);
   -webkit-overflow-scrolling:touch; }
  #gnav.open { -webkit-transform:translate(0); transform:translate(0); }
  #gnav .submenu { display:none; }
  #gnav a, #gnav a:hover { color:#fff; }
  #gnav .menu { margin-bottom:10px; }
  #gnav .menu > li > a { padding-left:0; padding-right:0; }
  #gnav .menu > li > a.current:before { left:-25px; }
  #gnav .navttl { display:none; }
  #gnav .nav_inner { position:relative; margin:.2em 0 .5em; padding-left:1.5em; }
  #gnav .nav_inner:before { content:""; position:absolute; top:0; bottom:0; left:.35em; width:3px; height:100%; background:#e8e19c; }
  #gnav .submenu li a { position:relative; display:block; padding:.3em 1em .3em 0; }

  #gnav .lang_btn { display:block; text-align:center; }
  #gnav .lang_btn li { display:inline-block; }

  #gnav .subNav { display:block; margin:20px 0; padding:10px 0 8px; border-top:1px solid #299477; border-bottom:1px solid #299477; }
  #gnav .subNav li a { padding:.2em 0; }

  .overlay { position:fixed; z-index:999; top:0; right:0; bottom:0; left:0;display:none;
    width:100%; height:100%; background:rgba(0, 0, 0, .5);  }

  #gnav .sns_list { position:static; margin-bottom:1.5em; }

  #header #h_enet { margin:0 -25px 20px; padding:25px 25px 20px; }
  #header .enet_menu_list { margin-top:.8em; }
  #header .enet_menu_list .menu_inner { margin-left:.35em; text-align:left; border-left:3px solid #e8e19c; }
  #header .enet_menu_list li a { padding:.3em 0 .3em 1em; }

  #header .btn-esure { margin:0; }

  /* menuボタン */
  .menu-button { position:absolute; z-index:9999; top:0; right:0; bottom:0; padding:11px 15px; background:#35a788; }

  .menu-button,
  .menu-button span { display:block; transition:all .5s; -webkit-transition:all .5s; box-sizing:border-box; }
  .menu-button .h_menu { position:relative; width:30px; height:18px; margin:0 auto; }
  .menu-button span { position:absolute; left:0; width:100%; height:2px; background-color:#fff; }

  .menu-button span:nth-of-type(1) { top:0; }
  .menu-button span:nth-of-type(2) { top:8px; }
  .menu-button span:nth-of-type(3) { bottom:0; }

  .menu-button.open span:nth-of-type(1) {
    -webkit-transform:translateY(8px) rotate(-45deg);
    transform:translateY(8px) rotate(-45deg);
  }
  .menu-button.open span:nth-of-type(2) {
    opacity:0;
  }
  .menu-button.open span:nth-of-type(3) {
    -webkit-transform:translateY(-8px) rotate(45deg);
    transform:translateY(-8px) rotate(45deg);
  }
  .menu-button .label { width:auto; height:auto; margin:0 0 7px; color:#fff; font-weight:bold;
    text-align:center; line-height:1; font-size:10px; }

  .dropdown { z-index:1; cursor:pointer; }
  .dropdown:after { content:""; position:absolute; top:1em; right:.5em; z-index:-1; width:.3em; height:.3em;
    -webkit-transform:rotate(45deg); transform:rotate(45deg);
    border-right:2px solid #fff; border-bottom:2px solid #fff;
    -webkit-transition:all .3s ease-out; transition:all .3s ease-out; }
  .dropdown.active:after { -webkit-transform:rotate(225deg) translateY(-.2em) translateX(-.15em);
    transform:rotate(225deg) translateY(-.2em) translateX(-.15em); }

  /* footer */
  #footer { margin-top:20px; }
  #footer .fnav { margin-bottom:30px; }

  /* pick up */
  .pickup_list .slick-prev { left:-40px; }
  .pickup_list .slick-next { right:-40px; }
}


/* ============================================================================
  スマホ
============================================================================ */
@media screen and (max-width:599px){
  body { font-size:14px; }
  .wide_inner,
  .inner, .narrow { margin:0 15px; }

  .pan { display:none; }

  /* header------------------------*/
  #header { padding:18px 15px; }
  #header .sitename img { width:210px; }

  #header .available { display: flex; justify-content: center;}

  /* gnav------------------------*/

  /* footer------------------------*/
  #footer { margin-top:40px; }
  #footer .logo img { margin-left:-2%; }
  #footer .fnav .nav_group { width:48%; margin-right:0; }

  #footer .f_info { padding:0 0 25px; border-top:none; text-align:center; }
  #footer .lang_btn li { display:inline-block; }

  #footer .f_subnav { padding-left:0; padding-right:0; text-align:center; line-height:2; }
  #footer .f_subnav li { float:none; display:inline-block; }
  #footer .f_subnav li + li { margin-left:.8em; padding-left:.8em; }
  .copyright { text-align:center; }

  #pagetop a { height:55px; }

  /* common ------------------------*/
  .sec_box { padding:40px 0;}

  /* tel */

  /* title */
  .conttl { font-size:1.5em; }
  .topittl { font-size:1.3em; }

  /* button */
  .button { min-width:200px; padding:.6em 3em .5em 3em; }

  .button.mail { padding-top:1em; padding-bottom:.9em; }
  .button.pdf { padding-left:3em; padding-right:1.5em; }

  .button + .button { margin-top:1em; }

  ul.circle > li { padding-left:20px; }
  ul.circle > li::before { left:2px; }
}


@media print{
  #header, #hnav, #footer, .pan, .pageNav, .no_print { display:none !important; }
  main { margin-left:0; padding:0; background:#fff; }
  .inner { margin:0; }
  .pageTitle { padding:0 !important; }
}