@charset "utf-8";
/*
theme Name  : style
Author      : quest law firm labor
Description : original theme
version     : 1.0.0
*/

/*==============================================================================
    reset
==============================================================================*/
html { overflow-x: hidden; background: #FFF; font-size: 62.5%; }
body { overflow-x: hidden; min-width: 320px; -webkit-text-size-adjust: none; -ms-text-size-adjust: none; word-wrap: break-word; }
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, object, iframe, pre, code, p, blockquote, form, fieldset, legend, table, th, td, caption, tbody, tfoot, thead, article, aside, figure, footer, header, hgroup, menu, nav, section, audio, video, canvas { margin: 0; padding: 0; }
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, menu { display: block; }
audio:not([controls]) { display: none; height: 0; }
[hidden] { display: none; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img {  border: none; }
address, caption, cite, code, dfn, em, strong, th, var { font-style: normal; font-weight: normal; }
ul, ol, menu { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
q:before, q:after { content: ''; }
abbr, acronym { border: none; font-variant: normal; }
sup { vertical-align: text-top; }
sub { vertical-align: text-bottom; }
input, textarea, select { font-family: inherit; font-size: inherit; font-weight: inherit; }
legend { color: #000; }
a img, map a { border: none; }
a:hover, a:active, a:focus { outline: 0; }
embed { width: 100%; }
audio, canvas, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
img, object, embed { max-width: 100%; height: auto; }
object, embed { height: 100%; }
img { vertical-align: bottom; -ms-interpolation-mode: bicubic; }
div { vertical-align: top; }
strong { font-weight: bold; }
em { font-style: normal; }
select, input, button, textarea, button { font: 99% arial, sans-serif; }
pre, code, kbd, samp, tt { font-family: monospace; line-height: 1; }
/*  touch
------------------------------------------------------------------------------*/
a, img, button, input[type="button"], input[type="submit"], .touch-hover { -webkit-tap-highlight-color: transparent; }
/*  box-sizing
------------------------------------------------------------------------------*/
* { -webkit-box-sizing: border-box; box-sizing: border-box; }
*::before, *::after { -webkit-box-sizing: border-box; box-sizing: border-box; }
/*  table
------------------------------------------------------------------------------*/
table { empty-cells: show; font-size: inherit; font: 100%; }
/*  main
------------------------------------------------------------------------------*/
/* IE10,11対策 main要素の高さと幅を認識させる */
@media all and (-ms-high-contrast: none) {
  main { display: block; }
}
/*  form
------------------------------------------------------------------------------*/
input { line-height: 1; }
form img, input, select { vertical-align: middle; }
textarea { resize: none; }
select { padding: 1px; }
legend { display: none; }
input, select, textarea, button { font-size: 1.6rem; vertical-align: middle; color: #333; height: 35px; }
textarea { height: auto; }
input[type="text"], input[type="tel"], input[type="email"], input[type="password"], select, textarea { -webkit-appearance: none; font-size: 1.6rem; width: 100%; padding: 1rem; border: 1px solid #ccc; background: #fff; font-weight: normal; border-radius: 4px; }
/* ======= outline ======= */
input[type="email"], input[type="text"], input[type="number"], input[type="password"], textarea, select { outline: none; }
/* ======= label ======= */
label { margin-right: 1em; line-height: 1; }
/*==============================================================================
    utility
==============================================================================*/
/* -----------------------------------------------------------------------------
  Visual utility
------------------------------------------------------------------------------*/
/*  display
------------------------------------------------------------------------------*/
.noDisplay { display: none !important; }
.block { display: block !important; }
.inline { display: inline !important; }
.inlineBlock { display: inline-block !important; }
.flex{ display: -webkit-box; display: -ms-flexbox; display: flex !important; }
/* ======= display none ======= */
@media screen and (min-width: 960px) {
  .pcNone { display: none !important; }
}
@media screen and (max-width: 960px) {
  .spNone { display: none !important; }
}
/*  position
------------------------------------------------------------------------------*/
.static { position: static !important; }
.relative { position: relative !important; }
.absolute { position: absolute !important; }
.fixed { position: fixed !important; }
/*  float
------------------------------------------------------------------------------*/
.leftBox { float: left; }
.rightBox { float: right; }
.nofloat { float: none !important; }
.clearfix { zoom: 1; }
.clearfix:after { display: block;  clear: both; content: ""; }
.clear { clear: both !important; }
/* IE6 */
* html .clearfix { zoom: 1; }
/* IE7 */
*:first-child + html .clearfix { zoom: 1; }
/*  hover
------------------------------------------------------------------------------*/
.hover:hover { filter: alpha(opacity=70); -moz-opacity: 0.7; -khtml-opacity: 0.7; opacity: 0.7; }
/*  .scrollWSp SP時に横幅からはみ出す要素(tableなど)に囲って使用
------------------------------------------------------------------------------*/
@media screen and (max-width: 960px) {
  .scrollWSp { overflow: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
}
/* -----------------------------------------------------------------------------
  width utility
------------------------------------------------------------------------------*/
.w10 { width: 10% !important; }
.w20 { width: 20% !important; }
.w30 { width: 30% !important; }
.w40 { width: 40% !important; }
.w50 { width: 50% !important; }
.w60 { width: 60% !important; }
.w70 { width: 70% !important; }
.w80 { width: 80% !important; }
.w90 { width: 90% !important; }
.w100 { width: 100% !important; }
/* -----------------------------------------------------------------------------
  BoxModel utility
------------------------------------------------------------------------------*/
.mt0 { margin-top: 0px !important; }
.mb0 { margin-bottom: 0px !important; }
.mr0 { margin-right: 0px !important; }
.ml0 { margin-left: 0px !important; }
.mt5 { margin-top: 5px !important; }
.mb5 { margin-bottom: 5px !important; }
.mr5 { margin-right: 5px !important; }
.ml5 { margin-left: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mb10 { margin-bottom: 10px !important; }
.mr10 { margin-right: 10px !important; }
.ml10 { margin-left: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mb15 { margin-bottom: 15px !important; }
.mr15 { margin-right: 15px !important; }
.ml15 { margin-left: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mb20 { margin-bottom: 20px !important; }
.mr20 { margin-right: 20px !important; }
.ml20 { margin-left: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mb25 { margin-bottom: 25px !important; }
.mr25 { margin-right: 25px !important; }
.ml25 { margin-left: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mb30 { margin-bottom: 30px !important; }
.mr30 { margin-right: 30px !important; }
.ml30 { margin-left: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mb35 { margin-bottom: 35px !important; }
.mr35 { margin-right: 35px !important; }
.ml35 { margin-left: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mb40 { margin-bottom: 40px !important; }
.mr40 { margin-right: 40px !important; }
.ml40 { margin-left: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mb45 { margin-bottom: 45px !important; }
.mr45 { margin-right: 45px !important; }
.ml45 { margin-left: 45px !important; }
.mt50 { margin-top: 50px !important; }
.mb50 { margin-bottom: 50px !important; }
.mr50 { margin-right: 50px !important; }
.ml50 { margin-left: 50px !important; }
.mt55 { margin-top: 55px !important; }
.mb55 { margin-bottom: 55px !important; }
.mr55 { margin-right: 55px !important; }
.ml55 { margin-left: 55px !important; }
.mt60 { margin-top: 60px !important; }
.mb60 { margin-bottom: 60px !important; }
.mr60 { margin-right: 60px !important; }
.ml60 { margin-left: 60px !important; }
.mt65 { margin-top: 65px !important; }
.mb65 { margin-bottom: 65px !important; }
.mr65 { margin-right: 65px !important; }
.ml65 { margin-left: 65px !important; }
.mt70 { margin-top: 70px !important; }
.mb70 { margin-bottom: 70px !important; }
.mr70 { margin-right: 70px !important; }
.ml70 { margin-left: 70px !important; }
.mt75 { margin-top: 75px !important; }
.mb75 { margin-bottom: 75px !important; }
.mr75 { margin-right: 75px !important; }
.ml75 { margin-left: 75px !important; }
.pt0 { padding-top: 0px !important; }
.pb0 { padding-bottom: 0px !important; }
.pr0 { padding-right: 0px !important; }
.pl0 { padding-left: 0px !important; }
.pt5 { padding-top: 5px !important; }
.pb5 { padding-bottom: 5px !important; }
.pr5 {  padding-right: 5px !important; }
.pl5 { padding-left: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pb10 { padding-bottom: 10px !important; }
.pr10 { padding-right: 10px !important; }
.pl10 { padding-left: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pb15 { padding-bottom: 15px !important; }
.pr15 { padding-right: 15px !important; }
.pl15 { padding-left: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pb20 { padding-bottom: 20px !important; }
.pr20 { padding-right: 20px !important; }
.pl20 { padding-left: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pb25 { padding-bottom: 25px !important; }
.pr25 { padding-right: 25px !important; }
.pl25 { padding-left: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pb30 { padding-bottom: 30px !important; }
.pr30 { padding-right: 30px !important; }
.pl30 { padding-left: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pb35 { padding-bottom: 35px !important; }
.pr35 { padding-right: 35px !important; }
.pl35 { padding-left: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pb40 { padding-bottom: 40px !important; }
.pr40 { padding-right: 40px !important; }
.pl40 { padding-left: 40px !important; }
.pt45 { padding-top: 45px !important; }
.pb45 { padding-bottom: 45px !important; }
.pr45 { padding-right: 45px !important; }
.pl45 { padding-left: 45px !important; }
.pt50 { padding-top: 50px !important; }
.pb50 { padding-bottom: 50px !important; }
.pr50 { padding-right: 50px !important; }
.pl50 { padding-left: 50px !important; }
.pt55 { padding-top: 55px !important; }
.pb55 { padding-bottom: 55px !important; }
.pr55 { padding-right: 55px !important; }
.pl55 { padding-left: 55px !important; }
.pt60 { padding-top: 60px !important; }
.pb60 { padding-bottom: 60px !important; }
.pr60 { padding-right: 60px !important; }
.pl60 { padding-left: 60px !important; }
.pt65 { padding-top: 65px !important; }
.pb65 { padding-bottom: 65px !important; }
.pr65 { padding-right: 65px !important; }
.pl65 { padding-left: 65px !important; }
.pt70 { padding-top: 70px !important; }
.pb70 { padding-bottom: 70px !important; }
.pr70 { padding-right: 70px !important; }
.pl70 { padding-left: 70px !important; }
.pt75 { padding-top: 75px !important; }
.pb75 { padding-bottom: 75px !important; }
.pr75 { padding-right: 75px !important; }
.pl75 { padding-left: 75px !important; }
/* -----------------------------------------------------------------------------
  border utility
------------------------------------------------------------------------------*/
.btNone { border-top: none !important; }
.brNone { border-right: none !important; }
.bbNone { border-bottom: none !important; }
.blNone { border-left: none !important; }
/* -----------------------------------------------------------------------------
  Text utiity
------------------------------------------------------------------------------*/
.bold { font-weight: bold !important; }
.italic { font-style: italic !important; }
.note { color: #dddddd; margin-left: 1.0em; text-indent: -1.0em; }
.underline { text-decoration: underline !important; }
.textNoLine { text-decoration: none !important; }
/*  font-family
------------------------------------------------------------------------------*/
.font1 { font-family: "Montserrat", sans-serif !important; }
.font2 { font-family: "Noto Sans", "Noto Sans CJK JP" !important; }
/*  font-size+line-height
------------------------------------------------------------------------------*/
.fzS { font-size: 1.2rem; line-height: 1.4; }
.fz { font-size: 1.4rem; line-height: 1.6; }
.fzM { font-size: 1.6rem; line-height: 1.8; }
.fzL { font-size: 1.8rem; line-height: 2; }
@media screen and (max-width: 960px) {
  .fzS { font-size: 1.1rem; line-height: 1.3; }
  .fz { font-size: 1.3rem; line-height: 1.5; }
  .fzM { font-size: 1.5rem; line-height: 1.7; }
  .fzL { font-size: 1.7rem; line-height: 1.9; }
}
/*  color
------------------------------------------------------------------------------*/
.white { color: #fff; }
.black { color: #333; }
.g1 { color: #dddddd; }
.g2 { color: #cccccc; }
.g3 { color: #aaaaaa; }
.g4 { color: #999999; }
.g5 { color: #777777; }
.g6 { color: rgba(51, 51, 51, 0.05); }
.c1 { color: #514f87; }
.c2 { color: #f3663d; }
.c3 { color: #104380; }
.c4 { color: #50cc85; }
.c5 { color: #B277E0; }
.c6 { color: #E0C332; }
.c--caution { color: #E20C0C; }
.red { color: #ff0000; }
/*  align
------------------------------------------------------------------------------*/
.middle { vertical-align: middle !important; }
.center { text-align: center !important; }
.left { text-align: left !important; }
.right { text-align: right !important; }
/* font-size
------------------------------------------------------------------------------*/
.fz { font-size: 1.4rem; }
.fz--s { font-size: 1.2rem; line-height: 1.4; }
.fz--l { font-size: 1.8rem; line-height: 2; }
.fz8 { font-size: 0.8rem !important; }
.fz9 { font-size: 0.9rem !important; }
.fz10 { font-size: 1rem !important; }
.fz11 { font-size: 1.1rem !important; }
.fz12 { font-size: 1.2rem !important; }
.fz13 { font-size: 1.3rem !important; }
.fz14 { font-size: 1.4rem !important; }
.fz15 { font-size: 1.5rem !important; }
.fz16 { font-size: 1.6rem !important; }
.fz17 { font-size: 1.7rem !important; }
.fz18 { font-size: 1.8rem !important; }
.fz19 { font-size: 1.9rem !important; }
.fz20 { font-size: 2rem !important; }
.fz21 { font-size: 2.1rem !important; }
.fz22 { font-size: 2.2rem !important; }
.fz23 { font-size: 2.3rem !important; }
.fz24 { font-size: 2.4rem !important; }
.fz25 { font-size: 2.5rem !important; }
.fz26 { font-size: 2.6rem !important; }
.fz27 { font-size: 2.7rem !important; }
.fz28 { font-size: 2.8rem !important; }
.fz29 { font-size: 2.9rem !important; }
.fz30 { font-size: 3rem !important; }
/* .firstload ※初回読み込み時のCSSトランジション防止
------------------------------------------------------------------------------*/
.firstload { -webkit-transition: 0s !important; transition: 0s !important; }
/*==============================================================================
    animation
==============================================================================*/
/*  setting
------------------------------------------------------------------------------*/
.animate {
  visibility: hidden;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
  -webkit-animation-duration: 400ms;
  animation-duration: 400ms;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animate.animated {
  visibility: visible;
}
.aInfinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.aEx {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
/*  duration
------------------------------------------------------------------------------*/
.a0 { -webkit-animation-duration: 0s; animation-duration: 0s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a1 { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a2 { -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a3 { -webkit-animation-duration: 0.3s; animation-duration: 0.3s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a4 { -webkit-animation-duration: 0.4s; animation-duration: 0.4s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a5 { -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a6 { -webkit-animation-duration: 0.6s; animation-duration: 0.6s; -webkit-animation-fill-mode: both;  animation-fill-mode: both; }
.a7 { -webkit-animation-duration: 0.7s; animation-duration: 0.7s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a8 { -webkit-animation-duration: 0.8s; animation-duration: 0.8s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a9 { -webkit-animation-duration: 0.9s; animation-duration: 0.9s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a10 { -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a11 { -webkit-animation-duration: 1.1s; animation-duration: 1.1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a12 { -webkit-animation-duration: 1.2s; animation-duration: 1.2s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a13 { -webkit-animation-duration: 1.3s; animation-duration: 1.3s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a14 { -webkit-animation-duration: 1.4s; animation-duration: 1.4s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a15 { -webkit-animation-duration: 1.5s; animation-duration: 1.5s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a16 { -webkit-animation-duration: 1.6s; animation-duration: 1.6s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a17 { -webkit-animation-duration: 1.7s; animation-duration: 1.7s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a18 { -webkit-animation-duration: 1.8s; animation-duration: 1.8s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a19 { -webkit-animation-duration: 1.9s; animation-duration: 1.9s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a20 { -webkit-animation-duration: 2s; animation-duration: 2s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a21 { -webkit-animation-duration: 2.1s; animation-duration: 2.1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a22 { -webkit-animation-duration: 2.2s; animation-duration: 2.2s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a23 { -webkit-animation-duration: 2.3s; animation-duration: 2.3s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a24 { -webkit-animation-duration: 2.4s; animation-duration: 2.4s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a25 { -webkit-animation-duration: 2.5s; animation-duration: 2.5s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a26 { -webkit-animation-duration: 2.6s; animation-duration: 2.6s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a27 { -webkit-animation-duration: 2.7s; animation-duration: 2.7s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a28 { -webkit-animation-duration: 2.8s; animation-duration: 2.8s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a29 { -webkit-animation-duration: 2.9s; animation-duration: 2.9s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a30 { -webkit-animation-duration: 3s; animation-duration: 3s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a31 { -webkit-animation-duration: 3.1s; animation-duration: 3.1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a32 { -webkit-animation-duration: 3.2s; animation-duration: 3.2s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a33 { -webkit-animation-duration: 3.3s; animation-duration: 3.3s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a34 { -webkit-animation-duration: 3.4s; animation-duration: 3.4s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a35 { -webkit-animation-duration: 3.5s; animation-duration: 3.5s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a36 { -webkit-animation-duration: 3.6s; animation-duration: 3.6s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a37 { -webkit-animation-duration: 3.7s; animation-duration: 3.7s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a38 { -webkit-animation-duration: 3.8s; animation-duration: 3.8s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a39 { -webkit-animation-duration: 3.9s; animation-duration: 3.9s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a40 { -webkit-animation-duration: 4s; animation-duration: 4s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a41 { -webkit-animation-duration: 4.1s; animation-duration: 4.1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a42 { -webkit-animation-duration: 4.2s; animation-duration: 4.2s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a43 { -webkit-animation-duration: 4.3s; animation-duration: 4.3s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a44 { -webkit-animation-duration: 4.4s; animation-duration: 4.4s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a45 { -webkit-animation-duration: 4.5s; animation-duration: 4.5s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a46 { -webkit-animation-duration: 4.6s; animation-duration: 4.6s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a47 { -webkit-animation-duration: 4.7s; animation-duration: 4.7s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a48 { -webkit-animation-duration: 4.8s; animation-duration: 4.8s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a49 { -webkit-animation-duration: 4.9s; animation-duration: 4.9s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.a50 { -webkit-animation-duration: 5s; animation-duration: 5s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
/*  delay
------------------------------------------------------------------------------*/
.aD0 { -webkit-animation-delay: 0s; animation-delay: 0s; }
.aD1 { -webkit-animation-delay: 0.1s; animation-delay: 0.1s; }
.aD2 { -webkit-animation-delay: 0.2s; animation-delay: 0.2s; }
.aD3 { -webkit-animation-delay: 0.3s; animation-delay: 0.3s; }
.aD4 { -webkit-animation-delay: 0.4s; animation-delay: 0.4s; }
.aD5 { -webkit-animation-delay: 0.5s; animation-delay: 0.5s; }
.aD6 { -webkit-animation-delay: 0.6s; animation-delay: 0.6s; }
.aD7 { -webkit-animation-delay: 0.7s; animation-delay: 0.7s; }
.aD8 { -webkit-animation-delay: 0.8s; animation-delay: 0.8s; }
.aD9 { -webkit-animation-delay: 0.9s; animation-delay: 0.9s; }
.aD10 { -webkit-animation-delay: 1s; animation-delay: 1s; }
.aD11 { -webkit-animation-delay: 1.1s; animation-delay: 1.1s; }
.aD12 { -webkit-animation-delay: 1.2s; animation-delay: 1.2s; }
.aD13 { -webkit-animation-delay: 1.3s; animation-delay: 1.3s; }
.aD14 { -webkit-animation-delay: 1.4s; animation-delay: 1.4s; }
.aD15 { -webkit-animation-delay: 1.5s; animation-delay: 1.5s; }
.aD16 { -webkit-animation-delay: 1.6s; animation-delay: 1.6s; }
.aD17 { -webkit-animation-delay: 1.7s; animation-delay: 1.7s; }
.aD18 { -webkit-animation-delay: 1.8s; animation-delay: 1.8s; }
.aD19 { -webkit-animation-delay: 1.9s; animation-delay: 1.9s; }
.aD20 { -webkit-animation-delay: 2s; animation-delay: 2s; }
.aD21 { -webkit-animation-delay: 2.1s; animation-delay: 2.1s; }
.aD22 { -webkit-animation-delay: 2.2s; animation-delay: 2.2s; }
.aD23 { -webkit-animation-delay: 2.3s; animation-delay: 2.3s; }
.aD24 { -webkit-animation-delay: 2.4s; animation-delay: 2.4s; }
.aD25 { -webkit-animation-delay: 2.5s; animation-delay: 2.5s; }
.aD26 { -webkit-animation-delay: 2.6s; animation-delay: 2.6s; }
.aD27 { -webkit-animation-delay: 2.7s; animation-delay: 2.7s; }
.aD28 { -webkit-animation-delay: 2.8s; animation-delay: 2.8s; }
.aD29 { -webkit-animation-delay: 2.9s; animation-delay: 2.9s; }
.aD30 { -webkit-animation-delay: 3s; animation-delay: 3s; }
.aD31 { -webkit-animation-delay: 3.1s; animation-delay: 3.1s; }
.aD32 { -webkit-animation-delay: 3.2s; animation-delay: 3.2s; }
.aD33 { -webkit-animation-delay: 3.3s; animation-delay: 3.3s; }
.aD34 { -webkit-animation-delay: 3.4s; animation-delay: 3.4s; }
.aD35 { -webkit-animation-delay: 3.5s; animation-delay: 3.5s; }
.aD36 { -webkit-animation-delay: 3.6s; animation-delay: 3.6s; }
.aD37 { -webkit-animation-delay: 3.7s; animation-delay: 3.7s; }
.aD38 { -webkit-animation-delay: 3.8s; animation-delay: 3.8s; }
.aD39 { -webkit-animation-delay: 3.9s; animation-delay: 3.9s; }
.aD40 { -webkit-animation-delay: 4s; animation-delay: 4s; }
.aD41 { -webkit-animation-delay: 4.1s; animation-delay: 4.1s; }
.aD42 { -webkit-animation-delay: 4.2s; animation-delay: 4.2s; }
.aD43 { -webkit-animation-delay: 4.3s; animation-delay: 4.3s; }
.aD44 { -webkit-animation-delay: 4.4s; animation-delay: 4.4s; }
.aD45 { -webkit-animation-delay: 4.5s; animation-delay: 4.5s; }
.aD46 { -webkit-animation-delay: 4.6s; animation-delay: 4.6s; }
.aD47 { -webkit-animation-delay: 4.7s; animation-delay: 4.7s; }
.aD48 { -webkit-animation-delay: 4.8s; animation-delay: 4.8s; }
.aD49 { -webkit-animation-delay: 4.9s; animation-delay: 4.9s; }
.aD50 { -webkit-animation-delay: 5s; animation-delay: 5s; }
/*
@-webkit-keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.fadeIn { -webkit-animation-name: fadeIn; animation-name: fadeIn; }
@-webkit-keyframes fadeInUp {
  0% { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px);   }
  100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes fadeInUp {
  0% { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); }
  100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
.fadeInUp { -webkit-animation-name: fadeInUp; animation-name: fadeInUp; }
*/


/* fadein */
/* fadein trigger */
.fadeIn_trigger,
.fadeUp_trigger,
.fadeDown_trigger,
.fadeLeft_trigger,
.fadeRight_trigger { opacity:0; }
/* その場で */
.fadeIn {
  animation-name:fadeInAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeInAnime {
  from { opacity: 0; }
  to { opacity: 1; }
}
/* 下から */
.fadeUp {
  animation-name:fadeUpAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 上から */
.fadeDown {
  animation-name:fadeDownAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 左から */
.fadeLeft {
  animation-name:fadeLeftAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* 右から */
.fadeRight {
  animation-name:fadeRightAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 拡大 */
.fadeZoomIn {
  animation-name:fadeRightAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: scale(.3);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/*==============================================================================
    general
==============================================================================*/
/*  font
------------------------------------------------------------------------------*/
body {
  /*font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Meiryo','ＭＳ Ｐゴシック','MS PGothic',sans-serif;*/
  font-family: "Noto Sans JP", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  color: #333;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5;
  -webkit-font-kerning: normal;
          font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 960px) {
  body {

  }
}
/* p
------------------------------------------------------------------------------*/
p {
  font-size: 1.6rem;
  margin-bottom: .8em;
}
@media screen and (max-width: 960px) {
  p {
    font-size: 1.6rem;
    margin-bottom: .6em;
  }
}
/* link
------------------------------------------------------------------------------*/
a {
  text-decoration: none;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
  color: #514f87;
}
.pc a:hover {
  color: #f3663d;
  text-decoration: none;
}
/* a img
------------------------------------------------------------------------------*/
a img {
  background-color: rgba(255, 255, 255, 0.01);
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
.pc a img:hover {
  opacity: 0.5;
}
a[href^="tel:"] {
  cursor: default;
}
/* .link - decoration underline
------------------------------------------------------------------------------*/
a.link {
  color: #514f87;
  text-decoration: underline;
}
.pc a.link:hover {
  text-decoration: none;
  color: #514f87;
}
/* .preload
------------------------------------------------------------------------------*/
.preload {
  -webkit-transition: 0s;
  transition: 0s;
}

/*=============================================================================
    bslayout
==============================================================================*/
/*  container
------------------------------------------------------------------------------*/
.container {
  width: 100%;
  max-width: 1008px;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 960px) {
  .container {
    max-width: auto;
  }
}
.container--fluid {
  width: 100%;
  padding-right: 0px;
  padding-left: 0px;
  margin-right: auto;
  margin-left: auto;
}
.innerM {
  width: 1008px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (max-width: 960px) {
  .innerM {
    width: 100%;
  }
}
.innerS {
  width: 840px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (max-width: 960px) {
  .innerS {
    width: 100%;
  }
}

/* wrapper
------------------------------------------------------------------------------*/
/*
.wrapper {
  margin-top: 120px;
}
*/
@media screen and (max-width: 960px) {
  .wrapper {
    margin-top: 70px;
  }
}

/*==============================================================================
  form
==============================================================================*/
/* autofill
------------------------------------------------------------------------------*/
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fafafa inset;
}
/* hover
------------------------------------------------------------------------------*/
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
select,
textarea {
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
.pc input[type="text"]:hover,
.pc input[type="tel"]:hover,
.pc input[type="email"]:hover,
.pc input[type="password"]:hover,
.pc select:hover,
.pc textarea:hover {
  border: 1px solid #514f87;
  background-color: #fff;
}
/* focus
------------------------------------------------------------------------------*/
input:focus,
select:focus,
textarea:focus {
  color: #000000;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
  border: 1px solid #514f87;
}
input[type="button"]:focus,
input[type="submit"]:focus,
button[type="submit"]:focus,
input[type="file"],
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
button:focus {
  outline: none;
}
/* input.short
------------------------------------------------------------------------------*/
input.short,
select.short,
textarea.short {
  width: 40%;
}
@media screen and (max-width: 960px) {
  input.short,
  select.short,
  textarea.short {
    width: 100%;
  }
}
/* must 必須項目の※
------------------------------------------------------------------------------*/
.must {
  color: #E20C0C;
  font-size: 80%;
  vertical-align: top;
  position: relative;
  top: -0.4em;
  right: -0.2rem;
}
/* button submit
------------------------------------------------------------------------------*/
input[type="button"],
input[type="submit"] {
  -webkit-appearance: none;
  display: inline-block;
  color: #fff;
  background-color: #514f87;
  border: 0;
  padding: 0rem 3.0rem;
  margin-bottom: .5em;
  text-align: center;
  font-weight: bold;
  border-radius: 4px;
  height: 50px;
  position: relative;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
/* ======= hover ======= */
.pc input[type="button"]:hover,
.pc input[type="submit"]:hover {
  opacity: 0.8;
  cursor: pointer;
}
/* checkbox radio
------------------------------------------------------------------------------*/
/* ======= common ======= */
input[type="checkbox"],
input[type="radio"] {
  -moz-transform-origin: right bottom;
  -moz-transform: scale(1, 1);
  -webkit-transform-origin: right bottom;
  -webkit-transform: scale(1, 1);
  cursor: pointer;
}
label.checkbox,
label.radio {
  padding-left: .7em;
  margin-bottom: .5em;
  position: relative;
  display: inline-block;
  cursor: pointer;
}
label.checkbox input,
label.radio input {
  visibility: hidden;
  opacity: 0;
  margin: 0;
  height: inherit;
}
/* ======= checkbox ======= */
label.checkbox::before,
label.checkbox::after {
  content: "";
  display: block;
  position: absolute;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
label.checkbox::before {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 16px;
  height: 16px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
}
label.checkbox.checked::before {
  background: #f3663d;
  border: 1px solid #f3663d;
}
label.checkbox.checked::after {
  position: absolute;
  content: '';
  display: block;
  top: 4px;
  left: 3px;
  width: 10px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
/* ======= radio ======= */
label.radio::before,
label.radio::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
label.radio::before {
  left: 0;
  width: 18px;
  height: 18px;
  background: #fff;
  border: 1px solid #bcc2ba;
  border-radius: 100%;
}
label.radio::after {
  opacity: 0;
  -webkit-transform: translateY(-50%) scale(0.7);
          transform: translateY(-50%) scale(0.7);
}
label.radio.checked::after {
  opacity: 1;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
  left: 3px;
  width: 12px;
  height: 12px;
  background: #f3663d;
  border-radius: 100%;
}
/* input file
------------------------------------------------------------------------------*/
input[type="file"] {
  -webkit-appearance: none;
  display: none;
}
label.file {
  display: inline-block;
  color: #fff;
  font-size: 1.4rem;
  background-color: #514f87;
  padding: 1.0rem 2.5rem;
  margin-bottom: .8rem;
  border-radius: 6px;
  cursor: pointer;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
/* ======= hover ======= */
.pc label.file:hover {
  background-color: #f3663d;
}
/* select
------------------------------------------------------------------------------*/
select {
  -webkit-appearance: none;
  width: 100%;
  position: relative;
  height: 40px;
  padding-left: 1rem;
  border-radius: 4px;
  cursor: pointer;
  line-height: 1;
}
label.select {
  position: relative;
  display: block;
}

label.select::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1px;
  width: 38px;
  height: 38px;
}
label.select::after {
  position: absolute;
  content: '';
  display: block;
  z-index: 2;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 15px;
  border-top: 6px solid #333;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  font-size: 1.4rem;
}
/*
表示確認済みPC : chrome,safari,edge ※ IE11~9,firefoxはデフォルト表示
確認済みSP : 【ios12】 Safari/chrome 【android7】chrome
*/
/*firefoxはデフォルト*/
@-moz-document url-prefix() {
  label.select::after,
  label.select::before {
    display: none;
  }
}
/* IE9以下はデフォルト */
label.select::after,
label.select::before {
  display: none\9;
}
/* IE10,11はデフォルト */
@media all and (-ms-high-contrast: none) {
  label.select::after,
  label.select::before {
    display: none;
  }
}
/* ======= sp ======= */
@media screen and (max-width: 960px) {
  label.select::after {
    right: 10px;
    border-top: 5px solid #333;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    font-size: 1.4rem;
  }
}

/*==============================================================================
    .header
==============================================================================*/
header .flex {
  flex-wrap: nowrap;
}
.header__inner {
  margin-top: 15px;
  margin-bottom: 30px;
}
.header__inner:nth-of-type(1) img {
  margin-top: 5px;
  height: 50px;
  width: auto;
}
.header__inner:nth-of-type(1) p {
  margin-bottom: 0;
  font-size: 13px;
}
.header__inner:nth-of-type(1) a {
  color: #333;
  font-weight: bold;
}
.header__inner:nth-of-type(1) a p {
  position: relative;
  line-height: 1.2;
  font-size: 20px;
}
.header__inner:nth-of-type(1) a span {
  font-size: 12px;
}
.header__inner:nth-of-type(2) {
  text-align: right;
  margin-left: 60px;
  font-size: 14px;
}
.header__inner:nth-of-type(2) li {
  white-space: nowrap;
  margin-left: 15px;
}
.header__inner:nth-of-type(2) a {
  color: #333;
  transition: .3s;
}
.header__inner:nth-of-type(2) .upper {
  margin-top: 14px;
  justify-content: end;
}
.header__inner:nth-of-type(2) .upper img,
.header__inner:nth-of-type(3) img {
  position: relative;
  top: -4px;
  margin-right: 5px;
  height: 15px;
  width: auto;
}
.header__inner:nth-of-type(2) .upper .calculator__open {
  cursor: pointer;
  transition: .3s;
}
.header__inner:nth-of-type(2) .header__nav {
  margin-top: 10px;
}
.header__inner:nth-of-type(3) {
  margin-top: 43px;
  margin-left: 15px;
}
.header__inner:nth-of-type(3) img {
  top: -6px;
}
.header__inner:nth-of-type(3) a {
  position: relative;
  white-space: nowrap;
  padding: 16px;
  color: #fff;
  font-size: 14px;
  background: #AB2525;
  border: 1px solid #AB2525;
  border-radius: 10px;
  transition: .3s;

}
.header__inner:nth-of-type(2) a:hover,
.header__inner .calculator_form_btn:hover {
  color: #AB2525;
}
.header__inner:nth-of-type(3) a:hover {
  background: #701414;
}
@media screen and (max-width: 960px) {
  header {
    position: fixed;
    top: 0;
    background: #fff;
    width: 100%;
    z-index: 9998;
  }
  .header__inner:nth-of-type(1) p,
  .header__inner:nth-of-type(2),
  .header__inner:nth-of-type(3) {
    display: none;
  }
  .header__inner:nth-of-type(1) {
    margin-top: 10px;
    margin-bottom: 5px;
  }
  .header__inner:nth-of-type(1) a p {
    display: block;
  }

}

/* -----------------------------------------------------------------------------
    hamburger
------------------------------------------------------------------------------*/
.hamburger {
  background-color: #1c1b72;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 9999;
  display: none;
  cursor: pointer;
  text-align: center;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
  font: inherit;
  color: inherit;
  margin: 0;
  overflow: visible;
}
@media screen and (max-width: 960px) {
  .hamburger {
    display: block;
    width: 70px;
    height: 70px;
    padding-top: 24px;
    margin: 0;
  }
}
.hamburger__inner {
  width: 30px;
  height: 24px;
  display: inline-block;
  position: relative;
}
.hamburger__box {
  display: inline-block;
  top: 50%;
  left: 0;
  margin-top: -2px;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 0px;
  position: absolute;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
.hamburger__box::before, .hamburger__box::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 0px;
  position: absolute;
  left: 0;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
.hamburger__box::before {
  top: -7px;
}
.hamburger__box::after {
  bottom: -7px;
}
/* ======= hover ======= */
.pc .hamburger:hover {
  opacity: 1;
}
.pc .hamburger:hover .hamburger__box::before {
  top: -4px;
}
.pc .hamburger:hover .hamburger__box::after {
  bottom: -4px;
}
/*  spin
------------------------------------------------------------------------------*/
.hamburger--spin__box {
  -webkit-transition-duration: 0.22s;
  transition-duration: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin__box::before {
  -webkit-transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin__box::after {
  -webkit-transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
/* ======= active ======= */
.hamburger.hamburger--active {
  mix-blend-mode: normal;
  background-color: #fff;
}
.hamburger.hamburger--active .hamburger__box {
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  -webkit-transition-delay: 0.12s;
  transition-delay: 0.12s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  background-color: #3A2A57 !important;
}
.hamburger.hamburger--active .hamburger__box::before {
  top: 0;
  opacity: 0;
  -webkit-transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
  background-color: #fff !important;
}
.hamburger.hamburger--active .hamburger__box::after {
  background-color: #1c1b72 !important;
  bottom: 0;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}
/* ======= hover ======= */
.pc .hamburger.hamburger--active:hover .hamburger__box::before {
  top: 0px;
}
.pc .hamburger.hamburger--active:hover .hamburger__box::after {
  bottom: 0px;
}

/* -----------------------------------------------------------------------------
    .navOpen : 開いたメニュー画面
------------------------------------------------------------------------------*/
.navOpen {
  display: none;
  visibility: hidden;
  opacity: 0;
  background-color: #3A2A57;
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 999;
  top: 70px;
  left: 0;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
  overflow-y: scroll;
}
.navOpen__inner {
  padding: 20px 0px 100px;
}
.navOpen__list {
  text-align: left;
  margin-bottom: 30px;
}
.navOpen__list li {
  display: inline-block;
  width: 100%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.navOpen__list li a {
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  display: inline-block;
  width: 100%;
  padding-top: 20px;
  padding-left: 15px;
  padding-bottom: 20px;
}
.navOpen.navOpen--active {
  display: block;
  visibility: visible;
  opacity: 1;
}
.navOpen__btn__inner {
  margin: 0 15px;
  /*box-shadow: 2px 2px 4px #333;*/
}
.navOpen__btn {
  text-align: center;
}
.navOpen__btn a {
  display: block;
  padding: 15px 0;
  color: #333;
  font-size: 1.8rem;
  font-weight: bold;
  background-color: #fff;
}
.navOpen__btn a img {
  height: 25px;
}
.navOpen__btn a.navOpen__btn__case::before {
  margin-right: 5px;
  content: "\f002";
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
}
.navOpen__btn a.navOpen__btn__tel {
  background-color: #f3663d;
}
.navOpen__btn a.navOpen__btn__tel img {
  height: 33px;
}
.navOpen__btn a.navOpen__btn__sms {
  padding: 10px 0;
  background: #00b100;
}
.navOpen__btn a.navOpen__btn__sms img {
  height: auto;
  width: 60%;
}
/**/
.navOpen {
  background: #fff;
  padding: 2rem 1.25rem;
}
.navOpen .navOpen__inner { padding-top: 0; }
.navOpen .sp__nav { margin-bottom: 3rem; }
.navOpen .sp__nav .title {
  margin-bottom: 0;
  padding: 1rem;
  color: #fff;
  background: #1c1b72;
}
.navOpen .sp__nav .title span { font-size: 13px; }
.navOpen .sp__nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.navOpen .sp__nav li {
  padding: 10px;
  width: calc(50% - 20px);
  border-bottom: 1px solid #f0f0f0;
}
.navOpen .sp__nav li a {
  color: #333;
  font-size: 14px;
}
.navOpen .navOpen__btn__inner { margin-top: 5rem; }

/*==============================================================================
  mainView01
==============================================================================*/
.mainView01 {
  width: 100%;
  height: 400px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 960px) {
  .mainView01 {
    height: 200px;
  }
}
.mainView01 .ttlArea {
  padding-top: 170px;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .mainView01 .ttlArea {
    padding-top: 75px;
  }
  .mainView01 .ttlArea__ttl img {
    width: 122px;
  }
}

/*==============================================================================
  cta
==============================================================================*/
.ctaInner {
  text-align: center;
  padding: 37px 0 30px;
  background-color: #1c1b72;
}
.ctaInner p {
  margin-top: 20px;
  color: #fff;
  font-size: 2.05rem;
  font-weight: 900;
}
.ctaInner ul li {
  margin-bottom: 10px;
}
.ctaInnerul li p {
  margin-bottom: 10px;
  color: #fff;
  font-size: 3.05vw;
  font-weight: 900;
}
.ctaInner ul li p span {
  margin-right: 3px;
  padding: 3px;
  color: #1c1b72;
  font-size: 3.1vw;
  background-color: #fbed21;
  border-radius: 5px;
}
/* ======= hover ======= */
.pc .ctaInner .ctaMail:hover {
  opacity: 0.6;
}
@media screen and (max-width: 960px) {
  .ctaInner {
    padding: 30px 0 20px;
  }
  .ctaInner p {
    margin: 5px 0 15px;
    font-size: 1.1rem;
  }
  .ctaInner ul li p span:first-child {
    margin: 0 3px;
  }
}

/*==============================================================================
    .footer
==============================================================================*/
footer {
  position: relative;
  width: 100%;
  background-color: #F8F9F9;
}
.footer__inner {
  padding-top: 80px;
  padding-bottom: 70px;
}
.footer__nav {
  margin-right: 60px;
  width: calc(100% / 4);
}
.footer__nav:last-child {
  margin-right: 0;
}
.footer__nav .title {
  padding-top: 30px;
  margin-bottom: 40px;
  line-height: 1;
  color: #333;
  font-size: 22px;
  font-weight: bold;
  border-top: solid 1px #CCCCCC;
}
.footer__nav .title span,
.footer__nav a {
  color: #333;
  font-size: 14px;
  font-weight: normal;
}
.footer__nav a {
  transition: .3s;
}
.footer__nav li {
  margin-bottom: 5px;
}
.footer__nav:last-child a {
  position: relative;
}
.footer__nav:last-child a::before {
  content: "\f138";
  font-family: 'Font Awesome 6 Free';
  font-weight: 700;
  margin-right: 5px;
}
/*.footer__nav:last-child li:nth-of-type(1) a::before {
  color: #BA68E1;
}
*/
.footer__nav:last-child li:nth-of-type(1) a::before {
  color: #38CA53;
}
.footer__nav:last-child li:nth-of-type(2) a::before {
  color: #526B9E;
}
.footer__nav a:hover {
  color: #AB2525;
}



@media screen and (max-width: 960px) {
  .footer__inner.flex {
    flex-wrap: wrap;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .footer__nav {
    margin-right: 0;
    margin-bottom: 30px;
    width: 100%;
  }
  .footer__nav .title {
    text-align: center;
  }
  .footer__nav:first-child .title {
    border-top: 0;
  }
}
/* -----------------------------------------------------------------------------
    .footer-copyright
------------------------------------------------------------------------------*/
footer .footer-copyright {
  width: 100%;
  background: #1c1b72;
  font-size: 1.0rem;
  height: 50px;
  line-height: 50px;
  color: #fff;
}
@media screen and (max-width: 960px) {
  footer .footer-copyright {
    height: auto;
    line-height: 1.2;
    padding: 1.5rem;
    font-size: 1.0rem;
  }
}

/* -----------------------------------------------------------------------------
    .pgtp-fix
------------------------------------------------------------------------------*/
.pgtp-fix {
  position: fixed;
  bottom: 24px;
  right: 24px;
  display: none;
  -webkit-transition: 0s;
  transition: 0s;
}
.pgtp-fix:hover {
  cursor: pointer;
}
.pgtp-fix img {
  width: 60px;
  height: 60px;
}
.pgtp-fix.absolute {
  position: absolute;
  bottom: 74px;
}
.pgtp-fix a i {
  text-align: center;
  line-height: 60px;
  width: 60px;
  color: #fff;
  font-size: 20px;
  background: #1c1b72;
}
@media screen and (max-width: 960px) {
  .pgtp-fix {
    bottom: 0;
    right: 0;
  }
}


/*==============================================================================
    #breadcrumb
==============================================================================*/
#breadcrumb {
  width: 100%;
  max-width :1008px;
  margin: 0 auto;
  padding: 0 15px 0;
}
#breadcrumb ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  padding-top: .5rem;
}
#breadcrumb li {
  line-height: 1.5;
}
#breadcrumb li::after {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  margin: 0 10px;
}
#breadcrumb li:last-child::after {
  content: "";
}
#breadcrumb li::after,
#breadcrumb li a,
#breadcrumb li span {
  font-size: 1.3rem;
  font-weight: 600;
}
#breadcrumb li span {
  color: #A91828;
}
#breadcrumb li a span {
  color: #333;
}
.pc #breadcrumb li a:hover,
.pc #breadcrumb li a:hover span {
  color: #A91828;
  text-decoration: underline;
}
.aioseo-breadcrumbs {
  width: 100%;
  max-width :1008px;
  margin: 0 auto;
  padding: .5rem 15px 0;
}
.aioseo-breadcrumbs span,
.aioseo-breadcrumbs span a {
  font-size: 1.3rem;
  font-weight: 600;
  color: #333;
}
.aioseo-breadcrumbs span:last-child {
  color: #A91828;
}
.pc .aioseo-breadcrumbs span a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 1024px) {
  #breadcrumb ul {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media screen and (max-width: 960px) {
  #breadcrumb li:nth-of-type(4) span {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-height: 1.3;
  }
  #breadcrumb li::after,
  #breadcrumb li a,
  #breadcrumb li span {
    font-size: 2.2vw;
  }
  .aioseo-breadcrumbs {
    padding-left: 10px;
    padding-right: 10px;
  }
  .aioseo-breadcrumbs span {
    font-size: 2.2vw;
  }
  .aioseo-breadcrumbs span:nth-of-type(7) {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-height: 1.3;
  }
}
@media screen and (max-width: 767px) {
  #breadcrumb li::after,
  #breadcrumb li a,
  #breadcrumb li span {
    font-size: 3.2vw;
  }
  #breadcrumb li {
    padding: 0;
  }
  .aioseo-breadcrumbs span {
    font-size: 3.2vw;
  }
}

/* site_sticker */
footer .site_sticker {
  text-align: left;
}
.pc footer .site_sticker a img:hover {
  background: #fff;
}
/* =============================================================================
   ranking number
============================================================================= */
#ranking li {
  position: relative;
}
#ranking li .number {
  position: absolute;
  text-align: center;
  top: -14px;
  left: -1px;
  width: 35px;
  height: 35px;
  background: #dbb400;
  opacity: .7;
  z-index: 10;
}
#ranking li .number:before,
#ranking li .number:after {
  content: "";
  position: absolute;
  text-align: center;
  top: 0;
  left: 0;
  height: 35px;
  width: 35px;
  background: #dbb400;
  opacity: .7;
}
#ranking li .number:before {
  -webkit-transform: rotate(30deg);
  -moz-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  -o-transform: rotate(30deg);
}
#ranking li .number:after {
  -webkit-transform: rotate(60deg);
  -moz-transform: rotate(60deg);
  -ms-transform: rotate(60deg);
  -o-transform: rotate(60deg);
}
#ranking li .number p {
  position: absolute;
  line-height: 33px;
  width: 35px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  border: solid 1px #fff;
  border-radius: 50%;
  z-index: 10;
}
@media screen and (max-width: 980px) {
  #ranking .swiper-slide .number {
    left: 1vw;
  }
  #ranking .swiper-slide .number,
  #ranking .swiper-slide .number:before,
  #ranking .swiper-slide .number:after {
    width: 6vw;
    height: 6vw;
  }
  #ranking .swiper-slide .number p {
    line-height: 5.8vw;
    width: 6vw;
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 767px) {
  #ranking .swiper-slide .number {
    left: 1.5vw;
  }
  #ranking .swiper-slide .number,
  #ranking .swiper-slide .number:before,
  #ranking .swiper-slide .number:after {
    width: 8vw;
    height: 8vw;
  }
  #ranking .swiper-slide .number p {
    line-height: 7.8vw;
    width: 8vw;
    font-size: 3.5vw;
  }
}
/* =============================================================================
   ranking
============================================================================= */
#ranking .swiper-wrapper {
  flex-flow: column;
  box-sizing: border-box;
}
#ranking {
  position: fixed;
  top: 162px;
  right: 0;
  overflow: hidden;
  z-index: 999;
}
#ranking header {
  position: relative;
  box-shadow: none;
  height: auto;
}
#ranking .ranking_inner {
  width: 170px;
  box-shadow: 2px 2px 4px grey;
}
#ranking .title {
  margin-bottom: 0;
}
#ranking .eng {
  display: none;
}
#ranking h2,
#ranking .btn {
  text-align: center;
  font-weight: bold;
}
#ranking h2 {
  margin-bottom: 0;
  padding-bottom: 5px;
  padding-top: 5px;
  background: #c1272c;
  color: #fff;
}
#ranking h2::before {
  display: none;
}
#ranking ul {
  padding: 5px;
  background: #fff;
}
#ranking li {
  padding: 8px 0 0;
  max-width: 165px;
  height: 62px;
  font-size: 0;
  border-bottom: dotted 1px #333;
}
#ranking li:last-child {
  border-bottom: 0;
}
#ranking .ranking_image {
  float: left;
}
#ranking .ranking_image img {
  width: 45px;
  height: 45px;
  object-fit: cover;
}
#ranking .ranking_txt {
  float: right;
  height: 45px;
  width: 110px;
}
#ranking .ranking_txt h3 {
  letter-spacing: 0.6px;
  line-height: 1.4;
  color: #333;
  font-size: 11px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
#ranking .btn {
  padding:  5px 0 ;
  font-size: 0;
  background: #fff;
  border-top: solid 1px #eee;
  border-bottom: solid 5px #c1272c;
}
#ranking .btn a:before {
  margin-right: 5px;
  content: "\f002";
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
}
#ranking .btn a {
  display: block;
  color: #777;
}
#ranking h2,
#ranking .btn a {
  font-size: 11px;
  letter-spacing: 0.5px;
}
.wpp-thumbnail {
  margin: 0 7px 0 0;
}
#ranking li .number {
  top: 5px;
}
#ranking li .number p {
  width: 20px;
  line-height: 18.5px;
  font-size: 10px;
}
#ranking li .number,
#ranking li .number:before,
#ranking li .number:after {
  width: 20px;
  height: 20px;
}

.pc #ranking a:hover .ranking_txt h3,
.pc #ranking img:hover h3 {
  text-decoration: underline;
  color: #c00;
}
.pc #ranking img:hover {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  -khtml-opacity: 1;
  opacity: 1;
}
@media screen and (max-width: 1024px) {
  #ranking .swiper-wrapper {
    flex-flow: nowrap;
    box-sizing: content-box;
  }
  #ranking {
    position: relative;
    top: 0;
  }
  #ranking .ranking_inner,
  #ranking li,
  #ranking .ranking_image,
  #ranking .ranking_image img,
  #ranking .ranking_txt,
  #ranking .ranking_txt h3 {
    width: 100%;
    height: 100%;
  }
  #ranking .ranking_inner {
    padding: 12vw 15px;
    box-shadow: 0 0 0 #fff;
  }
  #ranking .title {
    margin-bottom: 10vw;
  }
  #ranking h2 {
    margin-bottom: 3rem;
    background: #fff;
    color: #41210f;
    font-size: 2.4vw;
  }
  #ranking .eng {
    display: block;
  }
  #ranking ul {
    padding: 0;
  }
  #ranking li {
    padding: 0;
    max-width: none;
    border-bottom: 0;
    border-radius: 5px;
    box-shadow: 2px 2px 4px #ddd;
  }
  #ranking .ranking_image,
  #ranking .ranking_txt {
    float: none;
  }
  #ranking .ranking_image img {
    object-fit: contain;;
    height: 354px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
  }
  #ranking .ranking_txt {
    padding: 0.8rem 10px;
    height: 9rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  #ranking .ranking_txt span {
    line-height: 1.7;
    font-size: 1.8vw;
    border-bottom: dotted 0.5px #aaa;
  }
  #ranking .btn {
    display: none;
  }
}
@media screen and (max-width: 980px) {
  #ranking h2 {
    font-size: 5vw;
  }
  #ranking .ranking_image img {
    height: 25.9rem;
  }
  #ranking .ranking_txt {
    height: 12rem;
  }
  #ranking .ranking_txt span {
    line-height: 1.7;
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 767px) {
  #ranking h2 {
    font-size: 5.5vw;
  }
  #ranking .ranking_image img {
    height: 18.1rem;
  }
  #ranking .ranking_txt {
    height: 8.4rem;
  }
  #ranking .ranking_txt span {
    font-size: 3.5vw;
  }
}
