@charset "utf-8";
/* CSS Document */
html, body, figure, section, header, footer, nav, p, div, h1, h2, h3, ul, li, dl, dt, dd {
  border: 0;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  font-size: 100%;
  font: inherit;
  margin:0;
  padding:0;
  vertical-align: baseline;
}
ul {
  list-style:none;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display:block;
}
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
small {
  font-size: 80%;
}
img {
  border:none;
  vertical-align:bottom;
}
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  outline:none;
}
a:active, a:hover {
  outline-width: 0;
}
body {
  font-size:14px;
  font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height:1;
  overflow-x:hidden;
}

/*header ///////////////////////////////////////////////////////////////////*/
#header {
  position:absolute;
  top:0;
  width:100%;
  z-index:100;
}
#header > h1 {
  display:inline-block;
  padding:10px 0 0 10px;
}
#header::after {
  content:"";
  display:block;
  clear:both;
}
#navigation {
  display:inline-block;
  vertical-align:top;
}
#navigation li {
  display:inline-block;
}
#navigation li > a {
  color:#0F218B;
  display:block;
  line-height:50px;
  padding:1em;
  text-decoration:none;
}
#navigation li > a:hover {
  background-color:rgba(0,0,100,.1);
}
#header_nav {
  display:inline-block;
  float:right;
}

/* 問い合わせ ///////////////////////////////////////////////////////////////////////*/
#contact-us {
  color:#0F218B;
  display:inline-block;
  font-size:.85em;
  line-height:1.2;
  padding:.5em;
  text-align: right;
}
.call-center {
  color:inherit;
  font-size:1.9em;
  font-weight:bold;
  text-decoration:none;
}
#contact-us small {
  font-size:1.1em;
  font-weight:bold;
}
.inquiry-link {
  background-color:#0f218b;
  -webkit-box-shadow:1px 1px 10px rgba(255,255,255,1), 1px 1px 20px rgba(255,255,255,1);
  box-shadow:1px 1px 10px rgba(255,255,255,1), 1px 1px 20px rgba(255,255,255,1);
  -webkit-border-radius:2px;
  border-radius:2px;
  color:#fff;
  display:inline-block;
  font-size:1.1em;
  text-decoration:none;
  margin-top:.5em;
  padding:.8em 1.6em;
  text-align:center;
}
.inquiry-link::after {
  background: url(/img/icon_mail.png) no-repeat 50% 50%;
  background-size:16px;
  content: "";
  display: inline-block;
  height: 16px;
  margin-left: 0.5em;
  opacity:.5;
  vertical-align: middle;
  width: 16px;
}

/*共通 //////////////////////////////////////////////////////////////////////////////*/
.sp {
  display: none;
}
#sp_menu {
  display:none;
}
#wrapper {
  position:relative;
}
.section {
  font-size:1.2em;
  min-height:100vh;
}
.section-inner {
  margin: 0 auto;
  min-height:100vh;
  max-width:1280px;
  position:relative;
}
.section-inner p {
  font-size:.9em;
  line-height:2;
}
.cercle {
  -webkit-border-radius: 50px;
  border-radius: 50px;
  display: inline-block;
  height: 0.8em;
  margin-right: 0.5em;
  vertical-align: baseline;
  width: 0.8em;
}
.btn {
  position:relative;
}
.btn::before {
  content:"";
  background-color:rgba(255,255,255,.2);
  display:block;
  height:100%;
  left:0;
  position:absolute;
  top:0;
  width:0;
}
.btn:hover::before {
  -webkit-transition:all .1s 0s ease;
  transition:all .1s 0s ease;
  width:100%;
}
/*footer //////////////////////////////////////////////////////////////////////////////*/
#footer {
  background:#ABABAB;
  color:#fff;
  text-align:center;
  position:relative;
  z-index:99;
}
#footer a {
  color:inherit;
}
#footer a:hover {
  color:#0066FF;
}
#footer-nav {
  padding:2em 120px;
}
#footer-nav li {
  display:inline;
}
#footer-nav li + li::before {
  content:"|";
  margin:0 1em;
}
#credit {
  font-size:.8em;
  padding: 0 140px;
}
#credit span + span::before {
  content:"|";
  margin:0 .2em;
}
#author {
  left:1em;
  position:absolute;
  top:5px;
}
#copylight {
  display:block;
  padding:1em 0 .5em;
}
/*スクロールトップBT //////////////////////////////////////////////////////////////////////////////*/
#scrolltop {
  background-color: #97CEDD;
  -webkit-border-radius: 50px;
  border-radius: 50px;
  bottom: 10px;
  -webkit-box-shadow:1px 1px 20px rgba(0, 0, 0, 0.2);
  box-shadow:1px 1px 20px rgba(0, 0, 0, 0.2);
  color: #fff;
  font-size: 1.3em;
  height: 70px;
  line-height: 70px;
  opacity:0;
  position: fixed;
  right: 10px;
  text-align: center;
  text-decoration: none;
  -webkit-transform:translateY(100px);
  transform:translateY(100px);
  -webkit-transition: opacity .5s 0s ease, transform .5s 0s ease;
  transition: opacity .5s 0s ease, transform .5s 0s ease;
  width: 70px;
  z-index: 20;
}
#scrolltop.on {
  opacity:1;
  -webkit-transform:translateY(0);
  transform:translateY(0);
}
#scrolltop > span {
  background:#06F;
  display:block;
  height:8px;
  position:absolute;
  margin-left:-18px;
  width:34px;
}
#b1 {
  -webkit-transform:rotate(35deg);
  transform:rotate(35deg);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  -webkit-transition:all .5s 0s ease;
  transition:all .5s 0s ease;
  left:48px;
  top:42px;
}
#b2 {
  left:26px;
  top:42px;
  -webkit-transform:rotate(-35deg);
  transform:rotate(-35deg);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transition:all 1s 0s ease;
  transition:all 1s 0s ease;
}
#scrolltop:hover #b1 {
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
  left:43px;
  opacity:.8;
  width:36px;
}
#scrolltop:hover #b2 {
  left:28px;
  opacity:.8;
  -webkit-transform:rotate(-45deg);
  transform:rotate(-45deg);
  width:36px;
}

.page header{
  background-color:#fff;
}
.page #main{
  max-width:1080px;
  margin:0 auto;
  padding-top:100px;
}
.page h2{
  border-bottom:solid 1px #ddd;
  font-size:1.5em;
  font-weight:bold;
  margin-bottom:2em;
  padding:2em 1em;
}
@media screen and (max-device-width:1024px) and (-webkit-min-device-pixel-ratio: 1.1), (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1.1) {
    .section ,.section-inner {
      min-height:0;
      padding-bottom: 10px;
    }
}
@media (max-height:610px) {
    #main_view h1 {
      padding-top:0;
    }
}
@media (max-width:924px) , screen and (max-device-width:1024px) and (-webkit-min-device-pixel-ratio: 1.1), (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1.1){
    #header h1 img {
      width: 160px;
    }
    #header{
      background-color: #fff;
      position:relative;
    }
    #header_nav {
      display: block;
      float: none;
    }
    #navigation{
      width:100%;
    }
    #navigation > ul{
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-around;
      justify-content: space-around;
      margin:0 auto;
      padding:0px;
      width:100%;
    }
    #navigation > ul > li{
      width:33.33%;
    }
    #navigation ul > li > a{
      font-size:.8em;
      padding:0;
      text-align:center;
    }
    #wrapper {
      position:relative;
    }
    body.contact-on a {
      visibility:hidden;
    }
    body.contact-on #contact-us a {
      visibility:visible;
    }
    body.contact-on #contact-us {
      top:0;
      -webkit-transition:top 0s 0s ease;
      transition:top 0s 0s ease;
    }
    body.contact-on #contact-us-sp-inner {
      -webkit-transform:translateY(0);
      transform:translateY(0);
    }
    body.contact-on #floatBg {
      top:0;
      opacity:1;
    }

    #sp_menu {
      background-color:#0F218B;
      color:#fff;
      cursor:pointer;
      display: block;
      padding:7px;
      position:absolute;
      right:5px;
      top:5px;
    }
    #contact-us {
      font-size:1em;
      height:100vh;
      left:0;
      position:fixed;
      right:0;
      top:-999999px;
      -webkit-transition:top 0s 1s ease;
      transition:top 0s 1s ease;
    }
    #floatBg {
      background-color:rgba(0,0,0,.8);
      content:"";
      display: block;
      font-size:1em;
      height:100vh;
      left:0;
      opacity:0;
      position:fixed;
      right:0;
      top:-999999px;
      -webkit-transition:opacity 1s 0s ease;
      transition:opacity 1s 0s ease;
    }
    #contact-us-sp-inner {
      background-color:#fff;
      margin:20px auto 0;
      padding:20px;
      position:relative;
      text-align:center;
      -webkit-transform:translateY(-1000px);
      transform:translateY(-1000px);
      -webkit-transition:-webkit-transform 1s 0s ease, top 0s 0s ease;
      transition:transform 1s 0s ease, top 0s 0s ease;
      width:300px;
    }
    .closeBt {
      background-color:#ddf;
      -webki-box-sizing:border-box;
      box-sizing:border-box;
      display:block;
      height:31px;
      padding:0;
      position:absolute;
      right:2px;
      text-align:center;
      top:2px;
      width:31px;
    }
    .closeBt > span[class^="line"] {
      background-color:#fff;
      display:block;
      height:2px;
      left:50%;
      margin-top:-1px;
      margin-left:-13px;
      position:absolute;
      top:50%;
      width:26px;
    }
    .line_01 {
      -webkit-transform:rotate(45deg);
      transform:rotate(45deg);
    }
    .line_02 {
      -webkit-transform:rotate(-45deg);
      transform:rotate(-45deg);
    }
    .sp {
      display: inline;
    }
    .pc {
      display:none;
    }
    .sp.call-center{
      display:block;
    }
    #call-center a.sp{
      display:block;
    }
}
@media (max-width:640px), (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1.1){

    .section h2 {
      font-size:1.4em;
    }
    .sec-row {
      min-width: 0;
    }
    #footer-nav {
      padding:0;
    }
    #footer-nav li + li::before {
      content:"";
      display:none;
    }
    #footer-nav a {
      border-bottom: solid 1px;
      display:block;
      padding:1.5em;
      position:relative;
      text-align:left;
      text-decoration: none;
    }
    #footer-nav a::after {
      background:url(/care/img/arrow_r.png) no-repeat 0 0;
      background-size:auto 100%;
      content:"";
      display:inline-block;
      height:.8em;
      margin-top:-0.4em;
      position:absolute;
      right:.5em;
      top:50%;
      width:1em;
    }
    #author {
      display:inline-block;
      left:auto;
      position:relative;
      top:auto;
      vertical-align:middle;
      width:15%;
    }
    #author img {
      width:100%;
    }
    #credit {
      display:inline-block;
      padding-left:0px;
      padding-top:.5em;
      text-align:left;
      vertical-align:middle;
      width:85%;
    }
    #credit > span {
      display:block;
      margin-bottom:.5em;
      word-wrap:break-word;
    }
    #credit > span + span::before {
      content:"";
      display:none;
    }
    small {
      background-color:rgba(0,0,0,.1);
      display:block;
      padding:.5em;
    }
    #footer a:hover {
      background-color:rgba(255,255,255,.2);
      color: inherit;
    }
    .page #main{
      max-width:100%;
      margin:0;
      padding-top:0;
    }
    .page h2{
      font-size:1em;
    }
}

