@charset "utf-8";
/*
theme Name:quest furin style
Author:quest law firm
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-size: 1.6rem;
  color: #333;
  font-weight: 400;
  letter-spacing: 0.08rem;
  line-height: 1.6;
  -webkit-font-kerning: normal;
          font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 960px) {
  body {
    /*font-size: 1.3rem;*/
    line-height: 1.5;
  }
}
/* -----------------------------------------------------------------------------
    p
------------------------------------------------------------------------------*/
p {
  font-size: 1.6rem;
  margin-bottom: .8em;
}
@media screen and (max-width: 960px) {
  p {
    font-size: 3.25vw;
    margin-bottom: .6em;
  }
}
@media screen and (max-width: 767px) {
  p {
    font-size: 4.265vw;
  }
}
/* ======= hiwrite ======= */
::-moz-selection {
  background: #ededed;
}
::selection {
  background: #ededed;
}
/* ======= テキストの下線スタイル ======= */
.underHiwrite {
  position: relative;
  z-index: 1;
}
.underHiwrite::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 20%;
  background-color: #ff0;
  position: absolute;
  bottom: 2px;
  left: 0;
  z-index: -1;
}
/* ======= 上付き文字、下付き文字 ======= */
.supText {
  font-size: 75.5%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}
.subText {
  font-size: 75.5%;
  vertical-align: bottom;
  position: relative;
  top: 0.1em;
}
/* ======= 注釈 ======= */
.annotation {
  color: #666;
  font-size: 1.2rem;
}
@media screen and (max-width: 960px) {
  .annotation {
    font-size: 1.1rem;
  }
}
/* -----------------------------------------------------------------------------
    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;
}
/* -----------------------------------------------------------------------------
    list - ul,ol
------------------------------------------------------------------------------*/
/* -----------------------------------------------------------------------------
    fontawesome
https://fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use
------------------------------------------------------------------------------*/
i.fa {
  font-family: "Font Awesome 5 Free","Font Awesome 5 Brands";
}
.iconFA {
  position: relative;
  padding-left: 1.6rem;
}
.iconFA::before {
  position: absolute;
  -webkit-font-smoothing: antialiased;
  content: "\f0da";
  font-family: "Font Awesome 5 Free","Font Awesome 5 Brands";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  color: #514f87;
  top: 0;
  left: 0;
  font-weight: 900;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
.iconFA.iconFA--chevronRight::before { content: "\f054"; }
.iconFA.iconFA--chevronLeft::before { content: "\f053"; }
.iconFA.iconFA--chevronUp::before { content: "\f077"; }
.iconFA.iconFA--chevronDown::before { content: "\f078"; }
.iconFA.iconFA--facebook::before { content: "\f39e"; font-weight: 400; }
.iconFA.iconFA--twitter::before { content: "\f099"; font-weight: 400; }
.iconFA.iconFA--instagram::before { content: "\f16d"; font-weight: 400; }
.iconFA.iconFA--arrowUp::before { content: "\f062"; }
.iconFA.iconFA--phone::before { content: "\f095"; left: -0.1em; }
.iconFA.iconFA--faq::before { content: "\f059"; }
.iconFA.iconFA--mail::before { content: "\f0e0"; }
.iconFA.iconFA--place::before { content: "\f3c5"; }
.iconFA.iconFA--clock::before { content: "\f017"; }
.iconFA.iconFA--plane::before { content: "\f072"; }
.iconFA.iconFA--train::before { content: "\f238"; }
.iconFA.iconFA--map::before { content: "\f279"; }
/* ======= right ======= */
.iconFA.iconFA--right {
  padding-left: 0;
  padding-right: 1.8rem;
}
.iconFA.iconFA--right::before {
  left: auto;
  right: 0;
}
/* -----------------------------------------------------------------------------
    .bg
------------------------------------------------------------------------------*/
.bgc--c1 { background-color: #514f87; }
.bgc--c2 { background-color: #f3663d; }
.bgc--c3 { background-color: #104380; }
/* -----------------------------------------------------------------------------
    .preload
------------------------------------------------------------------------------*/
.preload {
  -webkit-transition: 0s !important;
  transition: 0s !important;
}
/*==============================================================================
    bslayout
==============================================================================*/
/*  container
------------------------------------------------------------------------------*/
.container {
  width: 100%;
  max-width: 1130px;
  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;
}
/* -----------------------------------------------------------------------------
    wrapper
------------------------------------------------------------------------------*/
.wrapper {
  /*margin-top: 120px;*/
  /*margin-top: 99px;*/
  /*margin-top: 136px;*/
}
@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;
  }
}
/*==============================================================================
    .h01
    セクション区切り用の見出し センター揃えが基本設定
==============================================================================*/
.h01 {
  font-size: 2.6rem;
  font-weight: bold;
  color: #333;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 40px;
}
.h01 small {
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
  color: rgba(51, 51, 51, 0.6);
}
@media screen and (max-width: 960px) {
  .h01 {
    font-size: 2.0rem;
    margin-bottom: 25px;
  }
  .h01 small {
    font-size: 1.2rem;
  }
}
/*===================================------------===============================
    .btn01
    widthは100%を基準にしているので、エリアごとに幅やボタン高さを指定する
======================================-----------=============================*/
.btn01 {
  width: 100%;
  background-color: #514f87;
  color: #fff;
  text-align: center;
  display: inline-block;
  line-height: 60px;
  height: 60px;
  font-size: 1.6rem;
  font-weight: bold;
  position: relative;
}
.btn01::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 20px;
  width: 10px;
  height: 16px;
  background-image: url("asset/img/common/arw_white.svg");
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
/* ======= hover ======= */
.pc .btn01:hover {
  color: #fff;
  background-color: #f3663d;
}
.pc .btn01:hover::after {
  right: 15px;
}
/*==============================================================================
    .tbl01
==============================================================================*/
/*==============================================================================
    .li01 - ul.li01>li
==============================================================================*/
.li01 li {
  position: relative;
  padding-left: 1.0em;
  margin-bottom: 0.5em;
}
.li01 li::before {
  content: "\f111";
  display: block;
  position: absolute;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  top: 0;
  left: 0;
  font-weight: 900;
  font-size: 0.7rem;
  color: #514f87;
}
/*==============================================================================
    .li02 - ul.li02>li
==============================================================================*/
.li02 li {
  display: inline-block;
  text-align: left;
  position: relative;
  padding-right: 1.2em;
  margin-bottom: 0em;
}
.li02 li::after {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #333;
  top: 0;
  right: 0.4rem;
}
.li02 li:last-child::after {
  display: none;
}
/*==============================================================================
    .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;
  margin-left: 90px;
}
.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: #3A2A57;
  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: #3A2A57 !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: #3A2A57;
}
.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; }


/*==============================================================================
    .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: #3A2A57;
  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: #3A2A57;
}
@media screen and (max-width: 960px) {
  .pgtp-fix {
    bottom: 0;
    right: 0;
  }
}
/*==============================================================================
    .mainView01
==============================================================================*/
.mainView01 {
  width: 100%;
  background-color: #ccc;
}


.cta {
  background-image: url("asset/img/common/cta-bg-1.png");
  background-size: cover;
  position: relative;
}
.cta .container {
  max-width: 900px;
}
.cta__innner {
  padding: 90px 0 100px;
}
.cta .title {
  text-align: center;
  margin-bottom: 50px;
  color: #fff;
  font-size: 28px;
  font-weight: bold;
}
.cta .flex {
  justify-content: center;
}
.cta .flex p {
  margin-bottom: 30px;
  padding: 4px 30px 0;
  font-weight: bold;
  background: #D1E08E;
}
.cta .flex p:first-child {
  margin-right: 20px;
}


.cta .cta__contact {
  text-align: center;
  padding: 50px;
  background: #fff;
}
.cta .cta__contact p {
  margin-bottom: 40px;
  line-height: .8;
  font-size: 30px;
  font-weight: bold;
}
.cta .cta__contact p span {
  font-size: 14px;
  font-weight: normal;
}
.cta .cta__contact .flex {
  justify-content: space-around;
}
.cta .cta__contact .flex p {
  margin: 0;
  padding: 0;
  color: #333;
  font-size: 16px;
  background: #fff;
}
.cta .cta__contact .flex a {
  flex: 1;
  padding: 20px 15px;
  border-radius: 10px;
}
.cta .cta__contact .flex a:nth-of-type(1) {
  margin-right: 20px;
  border: solid 1px #CCCCCC;

}
.cta .cta__contact .flex a:nth-of-type(1) p:first-child {
  margin-bottom: 15px;
  padding-bottom: 10px;
  line-height: 1.4;
  border-bottom: solid 1px #CCCCCC;
}
.cta .cta__contact .flex a:nth-of-type(2),
.cta .cta__contact .flex a:nth-of-type(3) {
  padding-top: 47px;
  color: #fff;
}
.cta .cta__contact .flex a:nth-of-type(2) {
  margin-right: 20px;
  background: #AB2525;
  border: solid 1px #AB2525;
}
.cta .cta__contact .flex a:nth-of-type(3) {
  background: #38CA53;
  border: solid 1px #38CA53;
}
.cta .cta__contact .flex a:nth-of-type(2) i,
.cta .cta__contact .flex a:nth-of-type(3) i {
  position: relative;
  top: 4px;
  margin-right: 5px;
  font-size: 25px;
}


.cta .cta__contact .flex a:nth-of-type(2):hover {
  background: #701414;
}
.cta .cta__contact .flex a:nth-of-type(3):hover {
  background: #008b8b;
}
@media screen and (max-width: 960px) {
  .cta .title {
    font-size: 2.2rem;
  }
  .cta .cta__contact {
    padding: 5rem 2rem;
  }
  .cta .cta__contact .flex {
    flex-wrap: wrap;
  }
  .cta .cta__contact .flex a {
    flex: none;
    margin-bottom: 1rem;
    width: 100%;
  }
  .cta .cta__contact .flex a,
  .cta .cta__contact .flex a:nth-of-type(1)
  .cta .cta__contact .flex a:nth-of-type(2) {
    margin-right: 0;
  }
  .cta .cta__contact .flex a:nth-of-type(2),
  .cta .cta__contact .flex a:nth-of-type(3) {
    padding-top: 5%;
  }
}










/*==============================================================================
    .content-cta
==============================================================================*/
.content-cta {
  width: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#9292c4), to(#514f87));
  background: linear-gradient(to right, #9292c4 0%, #514f87 100%);
  background-position: center;
  padding: 60px 0;
}
.content-cta .container {
  max-width: 830px;
}
.content-cta .content-cta-bg {
  background-color: #f3663d;
  position: relative;
  /* 表示画像の高さ ÷ 表示画像の幅 × 100 */
  padding-top: 15%;
}
.content-cta__list {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  bottom: 16px;
  right: 50px;
}
.content-cta__list li {
  width: 50%;
  padding-right: 7px;
}
.content-cta__list li:last-child {
  padding-right: 0;
  padding-left: 7px;
}
.content-cta__list li a {
  display: inline-block;
  text-align: center;
  width: 100%;
  height: 80px;
  line-height: 80px;
}
.content-cta__list li a img {
  vertical-align: middle;
}
.content-cta__list .btnTel {
  border: 1px solid #fff;
}
.content-cta__list .btnTel img {
  width: 100%;
  max-width: 210px;
}
.content-cta__list .btnTel img:hover {
  opacity: 1;
}
.content-cta__list .btnMail {
  background-color: #fff;
  font-size: 2.0rem;
  font-weight: bold;
  color: #f3663d;
  position: relative;
}
.content-cta__list .btnMail img {
  width: 200px;
}
/* ======= hover ======= */
.pc .content-cta .btnMail:hover {
  opacity: 0.6;
}
@media screen and (max-width: 960px) {
  .content-cta {
    padding: 50px 0;
  }
  .content-cta .container {
    width: 100%;
    padding: 0 20px;
  }
  .content-cta .container img {
    width: 100%;
  }
  .content-cta .content-cta-bg {
    width: 100%;
    padding: 95px 0;
  }
  .content-cta__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    max-width: inherit;
    padding: 0 15px;
  }
  .content-cta__list li {
    width: 100%;
    padding-right: 0;
  }
  .content-cta__list li:last-child {
    padding-left: 0;
  }
  .content-cta__list .btnTel img {
    width: 35vw;
    max-width: none;
  }
  .content-cta__list .btnTel {
    margin-bottom: 10px;
  }
  .content-cta__list .btnMail img {
    width: 35vw;
  }
}
@media screen and (max-width: 767px) {
  .content-cta__list .btnTel img {
    width: 55vw;
  }
  .content-cta__list .btnMail img {
    width: 55vw;
  }
}
/*==============================================================================
    .content-cta02
==============================================================================*/
.content-cta02 {
  width: 630px;
  height: 280px;
  background-image: url("asset/img/common/bg_contact.png");
  background-size: cover;
  position: relative;
}
.content-cta02 a {
  display: inline-block;
  position: absolute;
  width: 396px;
  height: 60px;
  bottom: 50px;
  left: 30px;
}
@media (max-width: 972px) {
}
@media (max-width: 960px) {
  .content-cta02 {
    width: 100%;
    height: auto;
    background-image: none;
  }
  .content-cta02 a {
    position: static;
    width: 100%;
    height: auto;
    bottom: auto;
    left: auto;
  }
  .content-cta02 a img.spNone {
    display: none !important;
  }
  .content-cta02 a img.pcNone {
    display: block !important;
    width: 100%;
  }
}
.content-cta03 {
  padding-top: 0;
  padding-bottom: 70px;
  background: #fff;
}
.content-cta03 .content-cta-bg {
  padding-top: 0;
  background-color: #fff;
}
.content-cta03 .content-cta__list {
  position: relative;
  max-width: none;
  right: 0;
}
@media (max-width: 960px) {
  .content-cta03 {
    padding-bottom: 12vw;
  }
  .content-cta03 .content-cta-bg {
    padding: 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;
  }
}
/* =============================================================================
   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 .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: #f3663d;
  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 #f3663d;
}
#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;
  }
}
/* =============================================================================
   search form
============================================================================= */
#form_container {
  padding: 50px 0;
}
#form_container .form_header,
#form_container .form_inner {
  width: 100%;
  max-width: 1008px;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
#form_container .form_header {
  text-align: center;
}
#form_container .form_header h2  {
  position: relative;
  margin-bottom: 30px;
  font-size: 2.2rem;
  font-weight: bold;
}
#form_container .form_inner .leftBox,
#form_container .form_inner .rightBox {
  text-align: left;
  width: 48%;
  border: solid 2px #eee;
  border-radius: 5px;
}
#form_container .form_inner .leftBox {
  margin-right: 2%;
}
#form_container .form_inner h3 {
  text-align: center;
  line-height: 55px;
  margin-bottom: 30px;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
#form_container .form_inner .leftBox h3 {
  background-color: #f3663d;
}
#form_container .form_inner .rightBox h3 {
  background-color: #4169e1;
}
#form_container .form_inner form {
  margin: 0 20px;
}
#form_container .form_inner h4 {
  font-weight: bold;
}
#form_container .form_inner .trigger {
  margin-bottom: 2rem;
  border-bottom: dotted 1px #aaa;
}
#form_container .form_inner .trigger ul {
  padding: 1rem 0;
}
/* 金額項目を非表示のため追加 */
#form_container .form_inner .trigger ul {
  /*height: 104px;*/
}

/* !金額項目を非表示のため追加 */
#form_container .form_inner .trigger .leftBox {
  text-align: center;
  margin-bottom: 10px;
  width: 32%;
  border: 0;
}
#form_container .form_inner .column2 .leftBox {
  width: 48%;
}
#form_container .form_inner .trigger .leftBox:nth-of-type(3n),
#form_container .form_inner .trigger .leftBox:last-child {
  margin-right: 0;
}
#form_container .form_inner .trigger label {
  cursor: pointer;
  display: block;
  line-height: 3rem;
  width: 100%;
  font-size: 1.4rem;
  background: #eee;
  border: solid 1px #eee;
  border-radius: 3px;
}
#form_container .form_inner .trigger input[type="radio"] {
  display: none;
}
#form_container .form_inner .leftBox .trigger input[type="radio"]:checked + label {
  background: #f3663d;
  color: #fff;
}
#form_container .form_inner .rightBox .trigger input[type="radio"]:checked + label {
  background: #4169e1;
  color: #fff;
}
#form_container .form_inner input[type="button"] {
  text-align: center;
  margin-right: 5%;
  padding: 0;
  line-height: 35px;
  width: 30%;
  color: #333;
  font-size: 1.3rem;
  background-color: #fff;
  border: solid 1px #333;
  border-radius: 0;
}
#form_container .form_inner input[type="submit"] {
  line-height: 35px;
  width: 63%;
  color: #fff;
  font-size: 1.4rem;
  border-radius: 0;
}
#form_container .form_inner .leftBox input[type="submit"] {
  background-color: #f3663d;
}
#form_container .form_inner .rightBox input[type="submit"] {
  background-color: #4169e1;
}
#form_container #seikyu #searchform01 .mb10 {
  margin-top: 62px;
}
/* 金額項目を非表示のため追加 */
#form_container #seikyu #searchform01 .mb10 {
  margin-top: 0;
}
@media screen and (max-width: 960px) {
  #form_container {
    padding: 12vw 0;
  }
  #form_container .form_header {
    margin-bottom: 5rem;
    padding: 0;
  }
  #form_container .form_header h2 {
    margin-bottom: 0;
  }
  #form_container .form_inner {
    padding: 0;
  }
  #form_container .form_inner .leftBox,
  #form_container .form_inner .rightBox {
    width: 100%;
    border: 0;
    border-radius: 0;
  }
  #form_container .form_inner .leftBox {
    margin-right: 0;
    margin-bottom: 20px;
  }
  #form_container .form_inner .trigger .leftBox {
    margin-right: 2.5%;
    width: 47%;
  }
  #form_container .form_inner .trigger .leftBox:nth-of-type(3n) {
    margin-right: 2%;
  }
  #form_container .form_inner .trigger .leftBox:nth-of-type(2n),
  #form_container .form_inner .trigger .leftBox:last-child {
    margin-right: 0;
  }
  #form_container .form_inner .trigger ul {
    height: auto;
  }
  #form_container .form_inner h3 {
    line-height: 7rem;
    border-radius: 0;
  }
  #form_container .form_inner input[type="button"] {
    line-height: 30px;
    width: 29%;
  }
  #form_container .form_inner input[type="submit"] {
    line-height: 30px;
  }

  /* sp only */
  #form_container .pcNone {
    margin-top: 5rem;
  }
  #form_container .pcNone .leftBox,
  #form_container .pcNone .rightBox {
    position: relative;
    padding: 1rem 0 3rem;
    width: 48%;
    border-radius: 3px;
  }
  #form_container .pcNone .leftBox {
    border: solid 3px #f3663d;
  }
  #form_container .pcNone .rightBox {
    border: solid 3px #4169e1;
  }
  #form_container .pcNone .leftBox::after,
  #form_container .pcNone .rightBox::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
  }
  #form_container .pcNone .leftBox::after {
    color: #f3663d;
  }
  #form_container .pcNone .rightBox::after {
    color: #4169e1;
  }
  #form_container .form_inner h3,
  #form_container .form_inner h4,
  #form_container .pcNone .leftBox:after,
  #form_container .pcNone .rightBox:after,
  #form_container .pcNone .leftBox a,
  #form_container .pcNone .rightBox a {
    font-size: 3.25vw;
  }
  #form_container .form_inner .trigger label,
  #form_container .form_inner input[type=button],
  #form_container .form_inner input[type=submit] {
    line-height: 5rem;
    font-size: 3vw;
  }
  #form_container .pcNone .leftBox a {
    color: #f3663d;
  }
  #form_container .pcNone .rightBox a {
    color: #4169e1;
  }
  #form_container .form_inner .trigger ul {
    padding: 3rem 0;
  }
  #form_container #seikyu #searchform01 .mb10 {
    margin-top: 0;
    padding: 5vw 0;
  }
}
@media screen and (max-width: 767px) {
  #form_container .form_inner h3 {
    line-height: 5rem;
  }
  #form_container .form_inner .trigger ul {
    padding: 1rem 0;
  }
  #form_container .pcNone .leftBox,
  #form_container .pcNone .rightBox {
    padding: 1rem 0 2rem;
  }
  #form_container .form_inner h3,
  #form_container .form_inner h4,
  #form_container .pcNone .leftBox a,
  #form_container .pcNone .rightBox a {
    font-size: 4.265vw;
  }
  #form_container .form_inner .trigger label,
  #form_container .form_inner input[type=button],
  #form_container .form_inner input[type=submit] {
    line-height: 3rem;
    font-size: 3.8vw;
  }
}
/* =============================================================================
   #media
============================================================================= */
#media .container {
  margin: 0 auto;
  padding: 5rem 15px;
  width: 100%;
  max-width: 1008px;
}
.legal-ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 1em;
  padding-bottom: 1em;
  position: relative;
}
.legal-ttl:before {
  display: block;
  content: "";
  width: 30px;
  height: 1px;
  background: #104383;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
}
.legal-ttl--cL {
  font-size: 2.6rem;
  line-height: 1.45;
  text-align: center;
  margin-bottom: 1.8em;
}
.legal-ttl--cL:before {
  left: 50%;
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
}
#media .dispCnt {
  color: #f3663d;
}
#media .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#media article {
  position: relative;
  width: 30%;
  margin-right: 3%;
  margin-bottom: 6%;
}
#media article:nth-child(3n) {
  margin-right: 0;
}
#media article .new,
#media article .new p {
  width: 50px;
  height: 50px;
}
#media article .new {
  position: absolute;
  top: 0;
  /*background: linear-gradient(to top left, transparent 50% , #006400 50%);*/
  background: linear-gradient(to top left, transparent 50% , #c00 50%);
  opacity: .9;
  z-index: 10;
}
#media article .new p {
  text-align: center;
  margin-top: 2px;
  margin-left: 3px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  -webkit-transform: rotate(-50deg);
  -moz-transform: rotate(-50deg);
  -ms-transform: rotate(-50deg);
  -o-transform: rotate(-50deg);
}
#media .media_image {
  overflow: hidden;
  height: 202.5px;
}
#media .media_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transform: scale(1.08);
}
#media .media_content {
  position: relative;
  margin-top: -1px;
  padding: 1rem 10px;
  border: solid 1px #eee;
}
#media .media_content p {
  margin-bottom: 0;
}
#media .media_title {
  color: #555;
  min-height: 10.6rem;
  font-size: 1.7rem;
  font-weight: 700;
}
#media .category_seikyu,
#media .category_hiseikyu,
#media .media_date {
  font-size: 1.3rem;
}
#media .category_seikyu,
#media .category_hiseikyu {
  padding: .3px 10px;
  color: #fff;
}
#media .category_seikyu {
  background: #f3663d;
}
#media .category_hiseikyu {
  background: #4169e1;
}
#media .media_date {
  padding-left: 1rem;
  color: #777;
}
#media .media_date::before {
  content: "| ";
}
.pc #media .media_content a:hover h3 {
  text-decoration: underline;
}
@media screen and (max-width: 960px) {
  #media article {
    margin-bottom: 0;
    padding: 2rem 0;
    width: 100%;
    border-bottom: solid 1px #ddd;
  }
  #media article,
  #media article:nth-child(3n) {
    margin-right: 0;
  }
  #media article .new,
  #media article .new p {
    width: 60px;
    height: 60px;
  }
  #media article .new p {
    margin-top: 3px;
    margin-left: 5px;
    font-size: 1.5rem;
  }
  #media .media_image,
  #media .media_content {
    height: 20vw;
  }
  #media .media_image {
    display: inline-block;
    margin-right: 3%;
    width: 31%;
  }
  #media .media_image img {
    transform: scale(1);
  }
  #media .media_content {
    display: inline-block;
    padding: 0;
    width: 65%;

    border: 0;
  }
  #media .media_title {
    font-size: 3vw;
    min-height: auto;
  }
  #media .category_seikyu,
  #media .category_hiseikyu,
  #media .media_date {
    font-size: 2.5vw;
  }
  #media .media_info {
    position: absolute;
    bottom: 2px;
  }
  #media .category_seikyu,
  #media .category_hiseikyu {
    padding: .5rem 1rem;
  }
}
@media screen and (max-width: 767px) {
  #media article .new,
  #media article .new p {
    width: 50px;
    height: 50px;
  }
  #media article .new p {
    margin-top: .3rem;
    margin-left: .3rem;
    font-size: 1.2rem;
  }
  #media .media_image,
  #media .media_content {
    height: 26vw;
  }
  #media .media_image {
    margin-right: 2%;
    width: 25%;
  }
  #media .media_image img {
    object-position: left;
    transform: scale(1.1);
  }
  #media .media_content {
    width: 70%;
  }
  #media .media_title {
    font-size: 4vw;
  }
  #media .category_seikyu,
  #media .category_hiseikyu {
    font-size: 3.7vw;
  }
  #media .media_date {
    padding: 0;
    font-size: 3.5vw;
  }
  #media .media_date::before {
    content: "";
  }
}
/* =============================================================================
   #relation
============================================================================= */
#relation_container {
  padding-top: 7rem;
  padding-bottom: 7rem;
  background-color: #f7f7f7;
}
#relation_container .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#relation_container article {
  width: 30%;
  margin-right: 3%;
  margin-bottom: 6%;
  background: #fff;
  box-shadow: 0 0 8px #ddd;
}
#relation_container article:nth-child(3n) {
  margin-right: 0;
}
#relation_container article:nth-child(n+4) {
  margin-bottom: 0;
}
#relation_container .relation_image {
  overflow: hidden;
  height: 202.5px;
}
#relation_container .relation_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transform: scale(1.08);
}
#relation_container .relation_content {
  position: relative;
  margin-top: -1px;
  padding: 1rem 10px;
  background: #fff;
}
#relation_container .relation_content p {
  margin-bottom: 0;
}
#relation_container .relation_title {
  color: #555;
  min-height: 10.6rem;
  font-size: 1.7rem;
  font-weight: 700;
}
#relation_container .category_seikyu,
#relation_container .category_hiseikyu,
#relation_container .relation_date {
  font-size: 1.3rem;
}
#relation_container .category_seikyu,
#relation_container .category_hiseikyu {
  padding: .3px 10px;
  color: #fff;
  border-radius: 3px;
}
#relation_container .category_seikyu {
  background: #f3663d;
}
#relation_container .category_hiseikyu {
  background: #4169e1;
}
#relation_container .relation_date {
  padding-left: 1rem;
  color: #777;
}
#relation_container .relation_date::before {
  content: "| ";
}
.pc #relation_container .relation_content a:hover h3 {
  text-decoration: underline;
}
@media screen and (max-width: 960px) {
  #relation_container {
    padding-top: 12vw;
    padding-bottom: 15vw;
  }
  #relation_container .legal-ttl--cL {
    font-size: 4vw;
  }
  #relation_container article {
    margin-bottom: 0;
    padding: 2rem 0;
    width: 100%;
    border-bottom: solid 1px #ddd;
    box-shadow: 0 0 0;
  }
  #relation_container article:last-child {
    border-bottom: 0;
  }
  #relation_container article,
  #relation_container article:nth-child(3n) {
    margin-right: 0;
  }
  #relation_container .relation_image,
  #relation_container .relation_content {
    height: 20vw;
  }
  #relation_container .relation_image {
    display: inline-block;
    margin-right: 3%;
    width: 31%;
  }
  #relation_container .relation_image img {
    transform: scale(1);
  }
  #relation_container .relation_content {
    display: inline-block;
    padding: 0;
    width: 65%;
    border: 0;
  }
  #relation_container .relation_title {
    font-size: 3vw;
    min-height: auto;
  }
  #relation_container .category_seikyu,
  #relation_container .category_hiseikyu,
  #relation_container .relation_date {
    font-size: 2.5vw;
  }
  #relation_container .relation_info {
    position: absolute;
    bottom: 2px;
  }
  #relation_container .category_seikyu,
  #relation_container .category_hiseikyu {
    padding: .5rem 1rem;
  }
}
@media screen and (max-width: 767px) {
  #relation_container .legal-ttl--cL {
    font-size: 5.335vw;
  }
  #relation_container .relation_image,
  #relation_container .relation_content {
    height: 26vw;
  }
  #relation_container .relation_image {
    margin-left: 2%;
    margin-right: 2%;
    width: 25%;
  }
  #relation_container .relation_image img {
    object-position: left;
    transform: scale(1.1);
  }
  #relation_container .relation_content {
    width: 68%;
  }
  #relation_container .relation_title {
    font-size: 4vw;
  }
  #relation_container .category_seikyu,
  #relation_container .category_hiseikyu {
    padding: 0 .5rem;
    font-size: 3.7vw;
  }
  #relation_container .relation_date {
    padding: 0;
    font-size: 3.5vw;
  }
  #relation_container .relation_date::before {
    content: "";
  }
}
/* =============================================================================
   #pagination
============================================================================= */
#pagination {
  text-align: center;
  margin-bottom: 5rem;
}
#pagination ul li {
  display: inline;
  margin-right: .5rem;
}
#pagination ul li:last-child {
  margin-right: 0;
}
#pagination ul li a,
#pagination ul li span {
  position: relative;
  padding: 7px 15px 3px;
  color: #aaa;
  font-size: 1.5rem;
  border: solid 1px #eee;
}
#pagination ul li span.dots {
  border: 0;
}
#pagination ul li span.current {
  color: #fff;
  background-color: #f3663d;
}
.pc #pagination ul li a:hover {
  color: #fff;
  background-color: #f3663d;
}
@media screen and (max-width: 960px) {
  #pagination ul li a,
  #pagination ul li span {
    padding: 7px 15px 5px;
    font-size: 3.25vw;
  }
}
@media screen and (max-width: 767px) {
  #pagination ul li {
    margin-right: 0;
  }
  #pagination ul li a,
  #pagination ul li span {
    font-size: 3.8vw;
  }
}
/* =============================================================================
   #case_link
============================================================================= */
#case_link {
  padding: 50px 0;
}
#case_link .case_link_container {
  width: 100%;
  max-width: 1008px;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
#case_link .case_link_title {
  position: relative;
  font-size: 2.6rem;
  font-weight: bold;
  color: #333;
  text-align: center;
  line-height: 1.45;
  margin-bottom: 1em;
  padding-bottom: 1em;
}
#case_link .case_link_title::before {
  display: block;
  content: "";
  width: 30px;
  height: 1px;
  background: #514f87;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
}
#case_link .case_link_title small {
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
  color: rgba(51, 51, 51, 0.6);
}

#case_link .case_link_item li {
  position: relative;
  display: inline-block;
  width: 40%;
  background: rgb(0, 0, 0, .5);
  overflow: hidden;
}

#case_link .case_link_item li:nth-child(1)::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("asset/img/top/img_case01.png");
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
#case_link .case_link_item li:nth-child(2)::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("asset/img/top/img_case02.png");
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
#case_link .case_link_item li a {
  padding: 20px 0 15px;
  display: block;
  background: #000;
  opacity: .5;
}
#case_link .case_link_item_title {
  position: relative;
  text-align: center;
  margin-bottom: 1em;
  padding-bottom: 1em;
}
#case_link .case_link_item_title::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
  width: 30px;
  height: 1px;
  background-color: #fff;
}
#case_link .case_link_item_title img {
  width: 40%;
}
#case_link .case_link_item_txt {
  margin-bottom: 0;
  color: #fff;
}
.pc #case_link .case_link_item li:hover::before {
  transform: scale(1.1);
}
@media (max-width: 960px) {
  #case_link {
    padding: 12vw 0;
  }
  #case_link .case_link_title {
    font-size: 4vw;
  }
  #case_link .case_link_title::before {
    width: 3.5rem;
  }
  #case_link .case_link_item li {
    width: 100%;
    margin-bottom: 1rem;
  }
  #case_link .case_link_item li a {
    padding: 15px 0;
  }
  #case_link .case_link_item_title::before {
    width: 3.5rem;
  }
  #case_link .case_link_item_title img {
    width: 30%;
  }
}
@media (max-width: 767px) {
  #case_link .case_link_title {
    font-size: 5.335vw;
  }
}
/* =============================================================================
   #page_link
============================================================================= */
#page_link {
  padding: 50px 0;
  border-top: solid .5px #f7f7f7;
}
#page_link .page_link_container {
  width: 100%;
  max-width: 1008px;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
#page_link .page_link_item li {
  position: relative;
  display: inline-block;
  margin-right: 10px;
  width: 23.5%;
  background: rgb(0, 0, 0, .1);
  overflow: hidden;
  box-shadow: 0 0 8px #aaa;
}
#page_link .page_link_item li:last-child {
  margin-right: 0;
}
#page_link .page_link_item li:nth-child(1)::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("asset/img/top/img_case01.png");
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
#page_link .page_link_item li:nth-child(2)::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("asset/img/top/img_case02.png");
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
#page_link .page_link_item li:nth-child(3)::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("asset/img/legallab/keyv_img_pc.png");
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
#page_link .page_link_item li:nth-child(4)::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("asset/img/consultation/keyb_bg_pc.png");
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
}
#page_link .page_link_item li:hover::before {
  transform: scale(1.1);
}
#page_link .page_link_item li a {
  display: block;
  background-color: #000;
  opacity: .5;
}
#page_link .page_link_item li a h2,
#page_link .page_link_item li a .page_link_item_title {
  padding: 35px 5px;
  color: #fff;
  font-weight: bold;
}
#page_link .page_link_item li:nth-child(3) a h2,
#page_link .page_link_item li:nth-child(3) a .page_link_item_title {
  padding: 25px 5px;
  line-height: 1.4;
}
@media (max-width: 980px) {
  #page_link {
    padding: 12vw 0;
  }
  #page_link .page_link_item li {
    margin-right: 0;
    margin-bottom: 1rem;
    width: 100%;
    line-height: 10rem;
  }
  #page_link .page_link_item li a {
    padding: 15px;
  }
  #page_link .page_link_item li a h2,
  #page_link .page_link_item li a .page_link_item_title {
    padding: 0;
    font-size: 3.25vw;
  }
  #page_link .page_link_item li:nth-child(3) a h2,
  #page_link .page_link_item li:nth-child(3) a .page_link_item_title {
    padding: 2px 0;
  }
}
@media (max-width: 767px) {
  #page_link .page_link_item li {
    line-height: 5rem;
  }
  #page_link .page_link_item li a h2,
  #page_link .page_link_item li a .page_link_item_title {
    font-size: 4.5vw;
  }
}
/* =============================================================================
   .site_sticker
============================================================================= */
/* site_sticker */
footer .site_sticker {
  text-align: left;
}
.pc footer .site_sticker a img:hover {
  background: #fff;
}
/* =============================================================================
   .calculator
============================================================================= */
.calculator_btn_form .inner {
  padding-top: 50px;
  padding-bottom: 50px;
}
.calculator_btn_form .inner {
  background-image: url("asset/img/calculator/calculator_bg01.png");
  background-repeat: no-repeat;
  background-size: cover;
}
.calculator_btn_form .flex {
  justify-content: center;
}
.calculator_btn_form .flex .calculator_form_btn_box {
  padding: 0 3rem;
  width: 50%;
}
.calculator_btn_form .flex .calculator_form_btn_box:first-child {
  border-right: dotted 1px #ddd;
}
.calculator_btn_form .flex .calculator_form_btn_box p {
  margin-bottom: 3rem;
  line-height: 2;
}
.calculator_btn_form .flex .calculator_form_btn_box p .cmt01,
.calculator_btn_form .flex .calculator_form_btn_box p .cmt02 {
  display: inline-block;
  margin-bottom: 2rem;
  padding: 0.3rem 2rem 0.1rem;
  color: #fff;
  font-weight: bold;
  border-radius: 0.5rem;
}
.calculator_btn_form .flex .calculator_form_btn_box p .cmt01 {
  margin-right: .5rem;
  background: #F3663D;
}
.calculator_btn_form .flex .calculator_form_btn_box p .cmt02 {
  background: #514F87;
}
.calculator_btn_form .flex .calculator_form_btn_box .calculator_form_btn {
  cursor: pointer;
}
.calculator_btn_form .flex .calculator_form_btn_box .calculator_form_btn:hover {
  opacity: .6;
}
/* --- modal ---*/
#calculator_modal.calculator_modal {
  display: none;
}
.calculator_modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  background: #555;
  opacity: .99;
  z-index: 10001;
}
.calculator_modal .modal_inner {
  position: relative;
  width: 100%;
  max-width: 1020px;
  margin: 5% auto;
  background: #fff;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.calculator_modal .modal_inner,
#relation_container {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}
.calculator_modal .modal_close {
  position: absolute;
  text-align: center;
  top: -1rem;
  right: -1rem;
  width: 5rem;
  height: 5rem;
  color: #ff5f83;
  font-size: 3rem;
  font-weight: bold;
  background: #fff;
  border: solid 3px #ff5f83;
  border-radius: 50%;
}
.calculator_sub_modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10002;
}
.calculator_sub_modal .modal_inner {
  padding: 10px;
  background: #589;
}
/* --- calculator ---*/
.calculator {
  padding: 0 0 50px;
}
.calculator header {
  text-align: center;
  margin-bottom: 3rem;
}
.calculator header p span {
  color: #aaa;
  font-size: 1.3rem;
}
.calculator_form table {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 30px;
  border: 3px solid #DDDDDD;
}
.calculator_form table tr {
  border-bottom: 1px solid #DDDDDD;
}
.calculator_form table th {
  position: relative;
  padding: 20px 0 20px 20px;
  width: 430px;
  font-weight: bold;
  background-color: #F5F5F5;
}
.calculator_form table th span {
  position: absolute;
  padding: 0 5px;
  right: 20px;
  color: #fff;
  font-size: 1.4rem;
  background: #ff0000;
}
.calculator_form table td {
    padding: 20px 30px;
}
.calculator_item_buttons {
  display: flex;
}
.calculator_item_button {
  display: block;
  flex-grow: 1;
  width: 100%;
}
.calculator_item_button label {
  display: flex;
  position: relative;
  margin-right: 0;
}
.calculator_item_button [type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  outline: none;
}
.calculator_item_button .button {
  cursor: pointer;
  display: block;
  text-align: center;
  width: 100%;
  padding: 10px 0;
  font-size: 1.4rem;
  border: solid 1px #C4C4C4;
  background: #eee;
  background-image: linear-gradient(to bottom, #fefefe, #eee);
  background-image: -moz-linear-gradient(top, #FEFEFE, #eee);
  background-image: -webkit-gradient(linear, left top, left bottom, from(#FEFEFE), to(#eee));
  z-index: 1;
}
.calculator_item_button:first-child .button {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.calculator_item_button:last-child .button {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
.calculator_btn_box {
  margin-top: 3rem;
  text-align: center;
}
.calculator_btn_box input[type="image"] {
  height: auto;
}
.calculator_btn_box input[type="image"]:hover {
  opacity: .6;
}
/* --- calculator result ---*/
.calculator_result .container {
  max-width: 800px;
  padding: 7rem 0 3rem;
}
.calculator_result h2 {
  margin-bottom: 0;
  padding-bottom: 0;
  color: #FF5F83;
}
.calculator_result h2::before {
  width: 0;
  height: 0;
}
.calculator_result header p,
.calculator_result .result p,
.calculator_result .comment p {
  text-align: center;
  margin-bottom: 0;
}
.calculator_result header p {
  font-size: 1.3rem;
}
.calculator_result .result {
  padding: 0.5rem 0;
  background: #FF5F83;
}
.calculator_result .result p {
  line-height: 3;
  color: #fff;
  font-size: 4rem;
  font-weight: bold;
  border-top: solid 1px #fff;
  border-bottom: solid 1px #fff;
}
.calculator_result .comment {
  padding: 3rem 0 0;
}
.calculator_result .comment p {
  line-height: 2;
}
.calculator_result_btn {
  display: flex;
  justify-content: center;
  padding-top: 0 !important;
  padding-bottom: 7rem !important;
}
.calculator_result_message {
  text-align: center;
  padding: 7rem 0 3rem !important;
}
.calculator_result_message img {
  width: 50%
}
/* --- calculator err ---*/
#calculator_result_err.container {
  max-width: 500px;
}
#calculator_result_err .inner {
  padding-top: 100px;
  padding-bottom: 100px;
}
#calculator_result_err a {
  color: #fff;
}
/* --- overlay --- */
#overlay{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10005;
  width: 100%;
  height:100%;
  display: none;
  /*background: rgba(0,0,0,0.7);*/
  background: #555;
  opacity: .9;
}
.cv-spinner {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.spinner {
  width: 40px;
  height: 40px;
  border: 4px #ddd solid;
  /*border-top: 4px #2e93e6 solid;*/
  border-top: 4px #FF5F83 solid;
  border-radius: 50%;
  animation: sp-anime 0.8s infinite linear;
}
@keyframes sp-anime {
  100% {
    transform: rotate(360deg);
  }
}
.is-hide{
  display:none;
}
@media screen and (max-width: 960px){
  .calculator_modal .modal_close {
    line-height: 1.25;
    padding-left: .3rem;
  }
  .calculator_btn_form .inner {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
  .calculator_btn_form .inner {
    background-image: url("asset/img/calculator/calculator_bg01_sp.png");
  }
  .calculator_btn_form .flex {
    display: block !important;
  }
  .calculator_btn_form .flex .calculator_form_btn_box {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
  .calculator_btn_form .flex .calculator_form_btn_box:first-child {
    border-right: 0;
  }
  .calculator_btn_form .flex .calculator_form_btn_box p {
    text-align: center;
  }
  /* --- modal ---*/
  .calculator_modal {
    padding-left: 15px;
    padding-right: 15px;
    opacity: .985;
  }
  /* --- calculator ---*/
  .calculatior {
    padding: 0 0 12vw;
  }
  .calculator_form table {
    margin-bottom: 8vw;
  }
  .calculator_form table th,
  .calculator_form table td {
    display:block;
    padding: 10px;
    width: 100%
  }
  .calculator_form table th,
  .calculator_form table th span,
  .simulator_item_button .button {
    font-size: 1.3rem;
  }
  .calculator_btn_box input[type="image"] {
    width: 100%;
  }
  /* --- calculator result ---*/
  .calculator_result .container,
  .calculator_result .comment {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .calculator_result .container{
    padding-top: 3rem;
  }
  .calculator_result .result p {
    font-size: 3rem;
  }
  .calculator_result .comment p {
    text-align: left;
    line-height: 1.5;
    font-size: 1.5rem;
  }
  .calculator_result_btn {
    display: block;
    /*padding-bottom: 0 !important;*/
  }
  .calculator_result_message {
    padding: 3rem 1rem 12vw !important;
  }
  .calculator_result_message img {
    width: 100%;
  }
  /* --- calculator err ---*/
  #calculator_result_err .inner {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
}

.content-cta .sodan {
  margin-top: 3rem;
}
.content-cta .sodan h2,
.content-cta .sodan p {
  color: #fff;
}
.content-cta .sodan h2 {
  margin-bottom: 1rem;
  font-weight: bold;
}
.content-cta .sodan p {
  margin-bottom: 0;
  line-height: 1.2;
}
