body {
  font-family: /*"Kozuka Gothic Pr6N", "小塚ゴシック Pr6N", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;*/ "小塚ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  color:#000;
  font-size:17px;overflow-x:hidden;
}
img {max-width:100%;height:auto;image-rendering: -webkit-optimize-contrast;}
li {list-style:none;}
.sp {display:none;}
a {color:#0c57b1;text-decoration:none;}
a:hover {text-decoration:underline;}

.wrap {max-width:1300px;margin:0 auto;padding-bottom:80px;}
.mainwrap {position:relative;}
.inner {padding:0 50px;}
.inner_s {max-width:1000px;margin:0 auto;}
.flex-space {display:flex;justify-content:space-between;}
.flex-space-wrap {display:flex;justify-content:space-between;flex-wrap:wrap;}
.flex-center {display:flex;justify-content:center;}
.flex-center-wrap {display:flex;justify-content:center;flex-wrap:wrap;}
.flex-start {display:flex;justify-content:flex-start;}

header.inner {display:flex;justify-content:space-between;padding-top:20px;padding-bottom:10px;}
#headnav {width:78.5%;position:relative;}
#headnav ul {display:flex;justify-content:space-between;padding-top:45px;}
#headnav ul li {font-size:17px;font-weight:bold;border-right:1px #ccc solid;padding:0 3%;}
#headnav ul li:first-child {border-left:1px #ccc solid;}
#headnav ul li a {color:#000;}
#headnav .gsearch {
    position: absolute;
    top: -14px;
    width: 270px;
    right: 312px;
    z-index: 9999;
}
table.gsc-search-box td.gsc-input {
    padding-right:0!important;
}
.gsc-search-button {
    margin-left:0!important;
}
#headnav .language {
    position: absolute;
    top: 0;
    right: 170px;
    text-align: center;
}
.language dl {
    position: relative;
    font-size: 13px;
}
.language dl dd {
    display: none;
    position: relative;
    z-index: 100;
}
.language dl a {
    display: block;
    color: #111;
    width: 120px;
    padding: 3px 10px 4px;
    line-height: 1.8;
    background: #eeeeee;
    text-decoration:none;
}
#headnav .grouplogo {
    position: absolute;
    top: 0;
    right: 0;
}
#headnav .grouplogo img {
    width: 142px;
    height: 30px;
}

footer {background:#eee;border-top:3px #568ac9 solid;}
footer .wrap {display:flex;justify-content:space-between;align-items: center;padding:25px 50px;}
footer .leftblock {text-align:left;display:flex;justify-content:start;}
footer .leftblock .item {margin:0 10px;font-size:14px;line-height:1.8;}
footer .rightblock {text-align:right;}
footer .rightblock ul {margin-right:40px;margin-bottom:10px;}
footer .certification li {display:inline-block;margin-left:15px;vertical-align:sub;}
footer .utility li {display:inline-block;font-size:13px;}
footer .utility li a {color:#000;padding:0 10px;}
footer .utility li:after {content:'|';}
footer .utility li:last-child:after {content:'';}
footer .utility li:last-child a {padding-right:0;}
footer .copy {font-size:13px;margin-left:10px;}

img#totop {position:fixed;right:5%;cursor:pointer;}

@media screen and (max-width: 1024px) {
#headnav ul li {font-size:16px;padding:0 1.5%;}
}

@media screen and (max-width: 1024px) {
.inner_s {max-width:96%;}

}

@media screen and (max-width: 768px) {
h2[id]:before {
    display: block;
    height: 7rem;
    margin-top: -7rem;
    content: "";
}
.pc {display:none;}
.sp {display:block;}
.wrap {width:100%;padding-bottom:20px;}
.inner {padding:0 20px;}
.inner_s {padding:0 20px;width:100%;}
.logo {max-width:30%;}
.flex-space, .flex-space-wrap, .flex-center, .flex-start {display:block;}

header {position:fixed;top:0;left:0;z-index:10;background:#fff;}
header.inner {width:100%;}
#menu {
  position: relative;
  height: 40px;
  width: 28px;
  display: inline-block;
  box-sizing: border-box;
}
#menu div {
  position: absolute;
  left: 0;
  height: 2px;
  width: 28px;
  background-color: #444;
  border-radius: 2px;
  display: inline-block;
  box-sizing: border-box;
}
#menu div:nth-of-type(1) {bottom: 20px;}
#menu div:nth-of-type(2) {bottom: 10px;}
#menu div:nth-of-type(3) {bottom: 0;}
#menu div.hide {display:none;}
#close {display:none;}
#close.active {
  display: block;
  margin-top:14px;
  position: relative;
  width: 30px;
  height: 30px;
}
#close::before, #close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 30px;
  background: #333;
}
 #close::before {transform: translate(-50%,-50%) rotate(45deg);}
#close::after {transform: translate(-50%,-50%) rotate(-45deg);}
#spmenu {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:9;background:#0c57b1;padding-top:100px;overflow-y:auto;}
#spmenu.active {display:block;}
#spmenu ul {padding:25px;}
#spmenu ul ul {padding:0;border:none;display:none;}
#spmenu ul li {padding:8px 25px;border-top:1px #ccc solid;font-size:16px;position:relative;}
#spmenu ul li:last-child {border-bottom:1px #ccc solid;}
#spmenu ul li li, #spmenu ul li li:last-child {border:none;font-size:14px;}
#spmenu li:after {content:"→";position:absolute;right:10px;top:7px;color:#fff;font-size:18px;font-weight:bold;}
#spmenu li li:after {content:">";position:absolute;right:-13px;top:8px;color:#fff;font-size:15px;font-weight:normal;}
#spmenu li.parent:after {content:"+";position:absolute;right:10px;top:9px;color:#fff;font-size:18px;font-weight:bold;}
#spmenu li.parent.open:after {content:"―";position:absolute;right:10px;top:10px;color:#fff;font-size:18px;font-weight:bold;}
#spmenu a {color:#fff;}
#spmenu li a {display:block;}
#spmenu li.parent a {display:inline-block;}
#spmenu li.parent li a {display:block;}
#spmenu ul li.sfont {font-size:14px;}
.linkbox {text-align:center;}
.linkbox div {margin:20px auto;}
.linkbox div div {margin:0 auto;}
#spmenu .linkbox .contact a {width:276px;background:#fff;color:#000;display:block;text-align:center;padding:5px 0;margin:0 auto;font-size:18px;}
.language dl {width:40%;margin:0 30%;}
#spmenu .language dl a {width:100%;color:#000;}

footer .wrap {display:block;padding:20px 30px 10px 30px;}
footer .leftblock, footer .rightblock {text-align:center;display:block;margin:0 auto;}
footer .rightblock.pc {display:none;}
footer .item.address {width:320px;padding:10px 0 15px 0;text-align:left;margin:0 auto;}
footer .rightblock ul {margin-right:0;}
footer .certification li {margin-left: 5px;margin-right: 5px;}
footer .certification li {max-width:45px;}
footer .certification li:first-child {max-width:120px;}
footer .copy {margin-top:15px;margin-left:0;}
footer .wrap:last-child {padding-top:0;}
img#totop {right:0;}
}

.pdmenu {padding:10px 30px 40px 30px;}
div.pdmenu {padding:20px 10px 40px 10px;}
.pdmenu select {width:100%;padding:10px;text-align:center;background:#0d57b1;color:#fff;}
.pdmenu option {background:#fff;padding:10px 0;color:#000;}

@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}
@media screen and (max-width: 423px) {
footer .wrap {padding: 20px 5px 10px 5px;}
}
@media screen and (max-width: 360px) {
footer .certification li {max-width:40px;}
footer .certification li:first-child {max-width:110px;}
footer .copy {font-size:12px;}
}
