@charset "UTF-8";
/*=============================================================
 02_base
=============================================================*/
/*!  02_base
================================================ */
html {overflow: auto; }

body {min-width: 320px; line-height: 1.75; overflow: hidden; color: #475966; font-family: "Noto Sans CJK JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif; font-size: 1.5rem; }

@media all and (min-width: 600px) {body {min-width: 1280px; } }

a {color: #475966; text-decoration: underline; }

@media all and (min-width: 600px) {a:hover {text-decoration: none; } }

.alpha {display: block; text-decoration: none; }

@media all and (min-width: 600px) {.alpha {-webkit-transition: all .3s ease; transition: all .3s ease; }
  .alpha:hover {opacity: .7; } }

img {max-width: 100%; height: auto; }

@media all and (max-width: 599px) {.viewPc {display: none; } }

@media all and (min-width: 600px) {.viewSp {display: none; } }

.cf:after {display: block; clear: both; content: ""; }

#mediaQuery {display: none; font-family: "sp"; }

@media all and (min-width: 600px) {#mediaQuery {font-family: "pc"; } }

/*! layout
-------------------------------------- */
#wrapper {position: relative; }

/*=============================================================
 03_layout
=============================================================*/
/* #gHeader
================================================ */
#gHeader {position: fixed; top: 0; left: 0; z-index: 2000; width: 100%; min-width: 320px; height: 96px; background-color: #fff; }

#gHeader .areaHead {width: 100%; }

#gHeader .areaHead .areaLogo {width: 206px; padding: 12px 15px; }
#gHeader .areaHead .areaLine { position: absolute; top: 3px; right: 20px; width: 114px; }
#gHeader .areaHead .areaLine button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  border: 0;
  border-radius: 0;
  background: transparent;
  outline: none;
  cursor: pointer;
}

#gHeader .areaHead .areaContact {overflow: hidden; }

#gHeader .areaHead .areaContact .item {float: left; width: 33.3333%; }

@media all and (max-width: 599px) {#gHeader .areaContact .item {text-align: center; }
  #gHeader .areaContact .item a {display: block; position: relative; height: 55px; }
  #gHeader .areaContact .item:nth-child(1) {background: #278abf; }
  #gHeader .areaContact .item:nth-child(2) {background: #49acc7; }
  #gHeader .areaContact .item:nth-child(3) {background: #3d8cc1; }
  #gHeader .areaContact .item img {position: absolute; top: 50%; left: 50%; width: auto; height: 55px; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } }

@media all and (min-width: 600px) {#gHeader {width: 100%; width: 100%; min-width: 1300px; height: auto; overflow: hidden; background: #fff; background: #fff; }
  #gHeader .areaHead {width: 100%; min-width: 1300px; overflow: hidden; background: #fff; }
  #gHeader .areaHead .areaLogo {float: left; width: 512px; padding: 22px 0 25px 30px; }
  #gHeader .areaHead .areaLine { display: none; top: 15px; right: 716px; width: 212px; }
  #gHeader .areaHead .areaLine button { cursor: default; }
  #gHeader .areaHead .areaContact {float: right; width: 691px; }
  #gHeader .areaHead .areaContact .item {float: left; width: auto; height: 100px; }
  #gHeader .areaHead .areaContact .item:nth-child(2) a {display: block; background-color: #49acc7; -webkit-transition: all .3s ease; transition: all .3s ease; }
  #gHeader .areaHead .areaContact .item:nth-child(2) a:hover {background-color: #53c2e0; }
  #gHeader .areaHead .areaContact .item:nth-child(3) a {display: block; background-color: #278abf; -webkit-transition: all .3s ease; transition: all .3s ease; }
  #gHeader .areaHead .areaContact .item:nth-child(3) a:hover {background-color: #2b9cd9; } }
@media all and (min-width: 1500px) {
  #gHeader .areaHead .areaLine {
    display: block;
  }
}
_:-ms-lang(x)::-ms-backdrop, #gHeader .areaHead .areaLine {
  right: 750px;
}

/* #mainVisual HOME
================================================ */
#mainVisual {position: relative; margin-top: 96px; }

#mainVisual .areaTxt {position: absolute; bottom: 22px; padding: 0 20px; }

#mainVisual .areaTxt .box {position: relative; padding: 16px 25px 20px; border-radius: 10px; background-color: rgba(255, 255, 255, .9); }

#mainVisual .areaTxt .box .subTit {margin-bottom: 13px; padding: 0 15px; text-align: center; }

#mainVisual .areaTxt .box .list .item + .item {margin-top: 5px; padding: 0 10px; }

@media all and (min-width: 600px) {#mainVisual {height: 948px; margin-top: 100px; padding-top: 0; padding-bottom: 0; background: url(../img/home/bg_mainimg01_pc.png) no-repeat center top; background-size: cover; }
  #mainVisual .inner {position: relative; width: 1250px; margin: 0 auto; padding-top: 530px; }
  #mainVisual .tit {position: absolute; top: 93px; left: 0; z-index: 2; padding: 0; }
  #mainVisual .img {position: absolute; top: 0; right: -286px; z-index: 1; }
  #mainVisual .areaTxt {position: relative; top: auto; z-index: 3; width: 620px; margin-top: 20px; margin-left: 66px; padding: 0 20px; }
  #mainVisual .areaTxt .box {padding: 24px 25px; background: none; }
  #mainVisual .areaTxt .box .subTit {margin-bottom: 18px; padding: 0 32px; }
  #mainVisual .areaTxt .box .list .item a {display: block; border-radius: 70px; }
  #mainVisual .areaTxt .box .list .item:nth-child(1) a {position: relative; top: 0; background-color: #49acc7; -webkit-transition: all .3s ease; transition: all .3s ease; box-shadow: 0 8px 0 0 #4096ad; }
  #mainVisual .areaTxt .box .list .item:nth-child(1) a:hover {top: 8px; background-color: #53c2e0; box-shadow: 0 0 0 0; }
  #mainVisual .areaTxt .box .list .item:nth-child(2) {margin-top: 24px; padding: 0 50px; }
  #mainVisual .areaTxt .box .list .item:nth-child(2) a {position: relative; top: 0; background-color: #278abf; -webkit-transition: all .3s ease; transition: all .3s ease; box-shadow: 0 8px 0 0 #1a75a6; }
  #mainVisual .areaTxt .box .list .item:nth-child(2) a:hover {top: 8px; margin-top: 8px; background-color: #2b9cd9; box-shadow: 0 0 0 0; } }

/* #breadcrumb
================================================ */
#breadcrumb {background: #ccc; }

#breadcrumb .list {line-height: 1.5; padding: 19px 15px; font-size: 1.2rem; letter-spacing: -.5em; }

#breadcrumb .list .item {display: inline-block; letter-spacing: 0; }

#breadcrumb .list .item + .item {padding-left: 12px; }

#breadcrumb .list .item + .item:before {margin-right: 12px; content: ">"; }

@media all and (min-width: 769px) {#breadcrumb .list {line-height: 1.42857; padding: 24px 36px; font-size: 1.4rem; }
  #breadcrumb .list .item + .item {padding-left: 16px; }
  #breadcrumb .list .item + .item:before {margin-right: 16px; } }

/*  #privacy
================================================ */
#privacy {padding: 40px 20px 30px; border-top: 1px solid #e6eaed; }

#privacy .img {text-align: center; }

#privacy .img img {width: auto; height: 55px; }

#privacy .tit {margin-top: 5px; font-weight: 700; font-size: 1.4rem; text-align: center; }

#privacy .txt {margin-top: 5px; }

@media all and (min-width: 600px) {#privacy {padding: 46px 30px 48px 0; text-align: center; }
  #privacy li {display: inline-table; width: 400px; line-height: 1.57; font-size: 1.4rem; text-align: left; vertical-align: top; letter-spacing: .03em; }
  #privacy li + li {width: 460px; margin-left: 23px; }
  #privacy .img {display: table-cell; width: 100px; text-align: center; vertical-align: top; }
  #privacy .img img {width: 64px; height: auto; }
  #privacy li + li .img {width: 120px; }
  #privacy li + li .img img {width: 120px; }
  #privacy li + li .areaTxt {padding-left: 19px; }
  #privacy .areaTxt {display: table-cell; text-align: left; }
  #privacy .tit {margin-top: 0; padding-bottom: 4px; font-size: 1.5rem; text-align: left; }
  #privacy .txt {margin-top: 0; } }

/* #gFooter
================================================ */
#gFooter {background: url(../img/common/footer/bg_footer01_sp.png) no-repeat left center; background-size: cover; }

@media all and (min-width: 600px) {#gFooter {background: url(../img/common/footer/bg_footer01_pc.png) no-repeat left center; background-size: cover; } }

/* #pagetop
================================================ */
#pagetop {z-index: 2; background-color: #0d6fb8; }

@media all and (max-width: 768.9999px) {#pagetop {position: static !important; } }

#pagetop a {display: block; padding: 11px 0 22px; color: #fff; text-decoration: none; text-align: center; }

#pagetop a img {width: 30px; }

@media all and (min-width: 600px) {#pagetop {position: fixed; right: -30px; bottom: 50px; width: 76px; height: 76px; overflow: hidden; visibility: hidden; margin-right: 50px; border-radius: 50%; opacity: 0; -webkit-transition: opacity .3s ease; transition: opacity .3s ease; }
  #pagetop.is_view {visibility: visible; opacity: 1; }
  #pagetop a {display: block; box-sizing: border-box; width: 76px; height: 76px; padding: 0; border-radius: 25px; }
  #pagetop a:after {position: absolute; top: 50%; left: 50%; width: 12px; height: 12px; margin-top: -4px; margin-left: -6px; border: 0; border-top: solid 2px #fff; border-right: solid 2px #fff; content: ""; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } }

/* #ftInfo
================================================ */
#ftInfo {padding: 46px 16px 20px; text-align: center; }

#ftInfo .logo {width: 162px; margin: 0 auto 28px; }

#ftInfo .logo a {display: block; text-decoration: none; }

#ftInfo .logo a .img {display: block; }

#ftInfo .txt {margin-bottom: 33px; color: #fff; font-size: 1.5rem; text-align: center; }

#ftInfo .txt a {display: inline-block; margin-right: 8px; padding-right: 24px; background: url(../img/common/ico_link01.png) no-repeat right 6px; background-size: 15px; color: #fff; text-decoration: underline; }

#ftInfo .txt a:hover {text-decoration: none; }

#ftInfo .cr {line-height: 1.5; margin-top: 39px; color: #fff; font-weight: 700; font-size: 1rem; }

@media all and (min-width: 600px) {#ftInfo {position: relative; padding: 79px 18px; text-align: center; }
  #ftInfo .logo {width: 189px; margin: 0 auto 41px; }
  #ftInfo .logo a {overflow: hidden; }
  #ftInfo .logo a .img {float: left; width: 309px; margin-right: 24px; margin-bottom: 0; }
  #ftInfo .txt {margin-bottom: 37px; font-size: 1.5rem; }
  #ftInfo .policy {display: inline-block; margin-bottom: 8px; }
  #ftInfo .policy + .policy {margin-left: 15px; }
  #ftInfo .cr {font-size: 1.3rem; text-align: center; } }

/*=============================================================
 05_helper
=============================================================*/
/*!  .js-line-btn-modal
================================================ */
.js-line-btn-modal {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: fixed;
  top: 50%;
  left: 50%;
  display: none;
  transform: translate(-50%,-50%);
  width: 80%;
  padding: 20px;
  border: 2px solid #31ae36;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.5;
  background: #fff;
}
/*=============================================================
 06_lib
=============================================================*/