@charset "UTF-8";
/*
このSassはVisual Studio Codeの
Live Sass Compilerを使用しました。
*/
/*--------------------------
メディアクエリ
---------------------------*/
/* スマホ表示 */
/*--------------------------
  PC/SPの改行位置
  ---------------------------*/
/* PC改行あり SP改行なし */
@media (min-width: 768px) {
  br.pc {
    display: block;
  }
  br.sp {
    display: none;
  }
}

/* PC改行なし SP改行あり */
@media (max-width: 767px) {
  br.pc {
    display: none;
  }
  br.sp {
    display: block;
  }
}

/*--------------------------
  PC/SPのコンテンツ切り替え
  ※表示させたいデバイスの Class を付ける
  ---------------------------*/
/* PCの場合、SPコンテンツを削除 */
@media (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

/* SPの場合、PCコンテンツを削除 */
@media (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

/*--------------------------
  vwとremの可変レイアウト用
  PC・tablet・SPの共通関数

  ※1pxはborderが消える場合の処置
  ---------------------------*/
/*--------------------------
  PC・tablet用
  remの基準を計算
  ---------------------------*/
/*
    計算式：　10(px) / 1366(px) * 100 = 0.73
    画面幅1366pxの時に "font-size: 10px" 相当になる
  
  　※デザインカンプの1366pxを基準として計算
    →つまり1366pxのデザインカンプのfont-size,width,marginのpxを元に構築しています。
  */
@media (min-width: 768px) {
  html,
  body {
    font-size: 0.73vw;
    letter-spacing: 0.05em;
  }
}

/*--------------------------
  SP用
  remの基準を計算
  ---------------------------*/
/*
    計算式：　10(px) / 375(px) * 100 = 2.66
    画面幅375pxの時に "font-size: 10px" 相当になる
  
  　※デザインカンプの375pxを基準として計算
    →つまり375pxのデザインカンプのfont-size,width,marginのpxを元に構築しています。
  */
@media (max-width: 767px) {
  html,
  body {
    font-size: 2.66vw;
  }
}

/*--------------------------
  vwとremの可変レイアウト用
  SP用
  ---------------------------*/
/*--------------------------
  opacity
  ---------------------------*/
/*--------------------------
テキストを削除
---------------------------*/
/*--------------------------
テキストの 3点リーダー表示 1行のみ
---------------------------*/
/*--------------------------
テキストの 3点リーダー表示 複数行
---------------------------*/
/*--------------------------
リンクのズーム
---------------------------*/
/*--------------------------
プレースホルダーの色設定
---------------------------*/
/* --------------------------
  clearfix
  @include で適用
  -------------------------- */
/*--------------------------
フォント読み込み
---------------------------*/
@font-face {
  font-family: NotoSans;
  font-weight: 100;
  src: url("../font/NotoSansCJKjp-Thin.woff") format("woff"), url("../font/NotoSansCJKjp-Thin.eot") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: NotoSans;
  font-weight: 200;
  src: url("../font/NotoSansCJKjp-Light.woff") format("woff"), url("../font/NotoSansCJKjp-Light.eot?") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: NotoSans;
  font-weight: 300;
  src: url("../font/NotoSansCJKjp-DemiLight.woff") format("woff"), url("../font/NotoSansCJKjp-DemiLight.eot?") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: NotoSans;
  font-weight: 400;
  src: url("../font/NotoSansCJKjp-Regular.woff") format("woff"), url("../font/NotoSansCJKjp-Regular.eot?") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: NotoSans;
  font-weight: 500;
  src: url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.eot?") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: NotoSans;
  font-weight: 600;
  src: url("../font/NotoSansCJKjp-Bold.woff") format("woff"), url("../font/NotoSansCJKjp-Bold.eot?") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: NotoSans;
  font-weight: 700;
  src: url("../font/NotoSansCJKjp-Black.woff") format("woff"), url("../font/NotoSansCJKjp-Black.eot?") format("oldIE");
  font-display: swap;
}

@font-face {
  font-family: "Viga";
  font-weight: normal;
  src: url("../font/Viga-Regular.woff") format("woff");
}

@media (max-width: 767px) {
  /* 共通設定 */
  body {
    font-family: NotoSans, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    letter-spacing: 0;
    color: #000;
    background: #fff;
  }
  /* 共通ヘッダー */
  #header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
  }
  #header .header_inner {
    padding: 1.5rem 1.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #header .header_inner a.logo {
    width: 11rem;
    display: block;
  }
  #header .header_inner a.logo img {
    width: 100%;
    display: block;
  }
  #header .header_inner a.contact_link {
    color: #f92b41;
    font-size: 1rem;
    font-weight: 600;
    background-color: #ffffff;
    border: 0.3rem solid #f92b41;
    border-radius: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 14.8rem;
    height: 3.85rem;
    letter-spacing: 0.15rem;
  }
  #header .header_inner a.contact_link:before {
    content: "";
    background-image: url(../images/icon_paper_plane_red.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 1.385rem 1.327rem;
    display: inline-block;
    width: 1.385rem;
    height: 1.327rem;
    margin-right: 1rem;
  }
  #header .fixed_btn {
    width: 14.6rem;
    display: block;
    position: fixed;
    right: 2rem;
    bottom: 2rem;
    z-index: 100;
    -webkit-transition: none;
    transition: none;
  }
  #header .fixed_btn img {
    display: block;
    width: 100%;
  }
  /* 共通フッター */
  #footer #footerNav {
    border-top: 1px solid #bbb;
    margin-bottom: 2rem;
    border-collapse: collapse;
    border-spacing: 0;
    display: table;
    line-height: 1.5;
    margin: 0 auto;
    table-layout: fixed;
    text-align: left;
    width: 100%;
  }
  #footer #footerNav ul {
    display: table-row;
    width: 100%;
  }
  #footer #footerNav ul li {
    background: #f9fafa;
    border-bottom: 1px solid #bbb;
    border-right: 1px solid #bbb;
    display: table-cell;
    font-size: 1.1rem;
    padding: 1.2rem 1rem;
    vertical-align: middle;
    width: 50%;
  }
  #footer #footerNav ul li a {
    color: #333;
  }
  #footer .inner {
    padding: 1.3rem 1.5rem 1.5rem;
  }
  #footer .inner .backTop {
    text-align: center;
    padding-bottom: 0.7rem;
  }
  #footer .inner .backTop a {
    text-decoration: underline;
    color: #333;
    font-size: 1.3rem;
  }
  #footer .inner address img {
    width: 20.2rem;
    display: block;
  }
  #footer .inner address a {
    text-decoration: underline;
    color: #425b67;
    line-height: 1;
    font-size: 1.2rem;
  }
  /* 黄色い丸テキスト ＋ 白エリア */
  .white_box {
    background-color: #ffffff;
    width: 31.1rem;
    margin: 0 auto;
    position: relative;
    border-radius: 1rem;
    padding: 5.2rem 1.2rem 2rem;
    -webkit-filter: drop-shadow(0.5rem 0.2rem 4rem rgba(72, 68, 68, 0.1));
            filter: drop-shadow(0.5rem 0.2rem 4rem rgba(72, 68, 68, 0.1));
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  .white_box .yellow_circle {
    width: 8rem;
    height: 8rem;
    background-color: #ffeb00;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    position: absolute;
    top: -3.6rem;
    left: -1.6rem;
  }
  .white_box .yellow_circle p {
    color: #00569d;
    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1.5;
    padding-top: 0rem;
  }
  .white_box .yellow_circle p .en {
    display: none;
  }
  .white_box .tiger_illust {
    display: block;
    position: absolute;
    top: -4rem;
    right: 1.2rem;
  }
  .white_box .bold_text {
    font-size: 1.6rem;
    font-weight: 900;
    letter-spacing: 0.16rem;
    line-height: 1.75;
  }
  .white_box .bold_text span {
    color: #197ec4;
    display: block;
  }
  .white_box dl.text_area dd {
    font-size: 1.4rem;
    letter-spacing: 1px;
    margin-top: 1.5rem;
    line-height: 2;
  }
  .white_box dl.text_area dd span {
    font-weight: 600;
  }
  /* 青色ボタン ＋ テキスト */
  .blue_btn_group {
    width: 31.9rem;
    margin: 0 auto;
    text-align: center;
  }
  .blue_btn_group .text_on_btn {
    font-size: 1.4rem;
    font-weight: 900;
    color: #197ec4;
    text-align: center;
    position: relative;
    display: block;
    line-height: 1.4;
    margin-bottom: 1rem;
    letter-spacing: 0.02rem;
  }
  .blue_btn_group .text_on_btn:before {
    content: "";
    width: 0.2rem;
    height: 3.2rem;
    background-color: #197ec4;
    display: block;
    -webkit-transform: rotate(-18deg);
            transform: rotate(-18deg);
    position: absolute;
    left: 1.2rem;
    bottom: 0;
  }
  .blue_btn_group .text_on_btn:after {
    content: "";
    width: 0.2rem;
    height: 3.2rem;
    background-color: #197ec4;
    display: block;
    -webkit-transform: rotate(18deg);
            transform: rotate(18deg);
    position: absolute;
    right: 1.2rem;
    bottom: 0;
  }
  .blue_btn_group .blue_btn {
    background-color: #197ec4;
    width: 100%;
    height: 6rem;
    border-radius: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 900;
    letter-spacing: 0.2rem;
  }
  .blue_btn_group .blue_btn span {
    font-size: 1.4rem;
    font-weight: 900;
    color: #197ec4;
    background-color: #ffffff;
    width: 4.4rem;
    line-height: 2.2rem;
    text-align: center;
    border-radius: 0.5rem;
    margin-right: 1.5rem;
  }
}

@media (max-width: 767px) {
  /* トップページ */
  #top #mainvisual {
    background-image: url(../images/mainvisual_bg_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    height: 60rem;
    position: relative;
  }
  #top #mainvisual .mainvisual_inner {
    padding: 20rem 3.2rem 0;
  }
  #top #mainvisual .mainvisual_inner .text_area {
    text-align: center;
  }
  #top #mainvisual .mainvisual_inner .text_area .archivement {
    width: 27.8rem;
    display: block;
    margin: 0 auto 0.5rem;
  }
  #top #mainvisual .mainvisual_inner .text_area h1 {
    font-size: 4.7rem;
    font-weight: 900;
    line-height: 1.1;
    padding-top: 0.9rem;
  }
  #top #mainvisual .mainvisual_inner .text_area h1 .large_text {
    display: inline-block;
    font-size: 9.6rem;
  }
  #top #mainvisual .mainvisual_inner .text_area h1 .large_text .red {
    color: #ff0059;
  }
  #top #mainvisual .mainvisual_inner .text_area .line_text {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 900;
    background-image: -webkit-gradient(linear, left top, right top, from(#000), color-stop(0.5rem, #000), color-stop(0.4rem, transparent), color-stop(0.9rem, transparent));
    background-image: linear-gradient(to right, #000, #000 0.5rem, transparent 0.4rem, transparent 0.9rem);
    background-size: 0.9rem 1px;
    background-position: left bottom;
    background-repeat: repeat-x;
    line-height: 1;
    padding: 1.7rem 0 0.8rem;
  }
  #top #mainvisual .mainvisual_inner .text_area .line_text .yellow_line {
    background-color: #fff500;
  }
  #top #mainvisual img.illust01 {
    width: 5.25rem;
    position: absolute;
    top: 8rem;
    left: 1.6rem;
  }
  #top #mainvisual img.illust02 {
    width: 10.44rem;
    position: absolute;
    top: 8rem;
    right: 1.6rem;
  }
  #top #mainvisual img.illust03 {
    width: 12.33rem;
    position: absolute;
    bottom: 2.8rem;
    left: -0.5rem;
  }
  #top #mainvisual img.illust04 {
    width: 11.36rem;
    position: absolute;
    bottom: 2.1rem;
    right: 0.8rem;
  }
  #top .introduction .blue_box {
    background-color: #0973be;
    text-align: center;
    position: relative;
    padding: 0.7rem 1.6rem 1.4rem;
  }
  #top .introduction .blue_box .white_text {
    display: inline-block;
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 600;
    padding: 0 2.5rem;
    background-image: url(../images/decoration_text_white_left.png), url(../images/decoration_text_white_right.png);
    background-repeat: no-repeat, no-repeat;
    background-position: left top 0.6rem, right top 0.7rem;
    background-size: 1.1rem 1.365rem, 1rem 1.13rem;
  }
  #top .introduction .blue_box .yellow_text {
    color: #ffeb00;
    font-size: 1.42rem;
    font-weight: 900;
    line-height: 1.3;
  }
  #top .introduction .blue_box:after {
    content: "";
    border-top: 1.5rem solid #0973be;
    border-left: 1.4rem solid transparent;
    border-right: 1.4rem solid transparent;
    width: 0;
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  #top .introduction .introduction_inner {
    padding: 5.3rem 1.6rem 7.2rem;
  }
  #top .introduction .introduction_inner h2 {
    font-size: 2.2rem;
    font-weight: 900;
    text-align: center;
    line-height: 1.75;
    letter-spacing: 0.05rem;
  }
  #top .introduction .introduction_inner h2 .blue_text {
    color: #197ec4;
  }
  #top .introduction .introduction_inner ul {
    position: relative;
    text-align: center;
    margin: 6.2rem 0 10rem;
  }
  #top .introduction .introduction_inner ul:after {
    content: "";
    background: url(../images/introduction_human_illust01.png) no-repeat center center;
    background-size: 6rem 12.57rem;
    width: 6rem;
    height: 12.57rem;
    display: inline-block;
    vertical-align: 0rem;
    position: absolute;
    top: 10.6rem;
    right: 0;
    z-index: 2;
  }
  #top .introduction .introduction_inner ul li {
    border-radius: 2rem;
    -webkit-filter: drop-shadow(0 0.3rem 0.6rem rgba(0, 0, 0, 0.16));
            filter: drop-shadow(0 0.3rem 0.6rem rgba(0, 0, 0, 0.16));
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    margin: 0 1.6rem 5.8rem;
    padding: 2.6rem 0 1.8rem;
    background: #fff;
    position: relative;
  }
  #top .introduction .introduction_inner ul li.trouble_human_resources:after {
    content: "";
    background: url(../images/introduction_human_illust02.png) no-repeat center center;
    background-size: 3.58rem 12.57rem;
    width: 3.58rem;
    height: 12.57rem;
    display: inline-block;
    vertical-align: 0rem;
    position: absolute;
    bottom: -1.2rem;
    left: -1.7rem;
    z-index: 1;
  }
  #top .introduction .introduction_inner ul li.trouble_nobody:after {
    content: "";
    background: url(../images/introduction_human_illust03.png) no-repeat center center;
    background-size: 7.14rem 11.8rem;
    width: 7.14rem;
    height: 11.8rem;
    display: inline-block;
    vertical-align: 0rem;
    position: absolute;
    bottom: -2.6rem;
    right: -1.1rem;
    z-index: 1;
  }
  #top .introduction .introduction_inner ul li p.speech_babble {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 2.2;
    color: #000;
    margin: 0;
  }
  #top .introduction .introduction_inner ul li p.speech_babble span {
    color: #1d8be5;
    font-size: 2.4rem;
    font-weight: 900;
    display: inline-block;
    line-height: 1;
    margin: 1.2rem 0 1.1rem 0;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(40%, #ffff00));
    background: linear-gradient(transparent 70%, #ffff00 40%);
  }
  #top .introduction .introduction_inner ul li dl {
    background-color: #1d8be5;
    border-radius: 1.8rem;
    line-height: 3.6rem;
    text-align: center;
    color: #ffffff;
    padding: 0 2.5rem;
    letter-spacing: 0.05rem;
    white-space: nowrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
    vertical-align: text-bottom;
    position: absolute;
    left: 50%;
    top: -1.8rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    margin: 0 auto;
  }
  #top .introduction .introduction_inner ul li dl dt {
    display: inline-block;
    margin-right: 1rem;
    font-size: 1.4rem;
    font-weight: 900;
  }
  #top .introduction .introduction_inner ul li dl dd {
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 600;
  }
  #top .introduction .introduction_inner .white_box .tiger_illust {
    width: 8rem;
  }
  #top .merit {
    background-color: #f2f7fc;
  }
  #top .merit .merit_inner {
    padding: 6.2rem 2rem 7.2rem;
  }
  #top .merit .merit_inner h2 {
    font-size: 2rem;
    font-weight: 900;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 0.05rem;
  }
  #top .merit .merit_inner h2 .blue_text {
    color: #197ec4;
  }
  #top .merit .merit_inner ul {
    margin: 3.7rem 0 4.5rem;
  }
  #top .merit .merit_inner ul li {
    width: 100%;
    margin-bottom: 3.9rem;
  }
  #top .merit .merit_inner ul li img {
    width: 23rem;
    height: 23rem;
    display: block;
    border-radius: 50%;
    margin: 0 auto;
  }
  #top .merit .merit_inner ul li dl dt {
    font-size: 1.8rem;
    font-weight: 900;
    color: #197ec4;
    text-align: center;
    padding: 1.8rem 0 1.4rem;
    letter-spacing: 1px;
  }
  #top .merit .merit_inner ul li dl dd {
    font-size: 1.5rem;
    line-height: 1.9;
    letter-spacing: 0.09rem;
  }
  #top .merit .merit_inner ul li dl dd span {
    background-color: #ffe21f;
  }
  #top .before_thorough_support {
    background-image: url(../images/before_thorough_support_bg_sp@2x.jpg);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
  }
  #top .before_thorough_support .before_thorough_support_inner {
    padding: 6.3rem 1.6rem 21.6rem;
  }
  #top .before_thorough_support .before_thorough_support_inner h2 {
    color: #ffffff;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.65;
    letter-spacing: 0.15rem;
    text-align: center;
  }
  #top .before_thorough_support .before_thorough_support_inner h2 span {
    font-size: 3rem;
  }
  #top .before_thorough_support .before_thorough_support_inner img {
    width: 100%;
    display: block;
    margin: 1.7rem 0 3.8rem;
  }
  #top .before_thorough_support .before_thorough_support_inner ul {
    padding: 0 0.4rem;
  }
  #top .before_thorough_support .before_thorough_support_inner ul li {
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 900;
    background-image: -webkit-gradient(linear, left top, right top, from(#ffffff), color-stop(0.8rem, #ffffff), color-stop(0.6rem, transparent), color-stop(1.4rem, transparent));
    background-image: linear-gradient(to right, #ffffff, #ffffff 0.8rem, transparent 0.6rem, transparent 1.4rem);
    background-size: 1.4rem 0.3rem;
    background-position: left bottom;
    background-repeat: repeat-x;
    line-height: 1;
    margin-bottom: 1.7rem;
    padding-bottom: 1.2rem;
    letter-spacing: 0.16rem;
  }
  #top .before_thorough_support .before_thorough_support_inner ul li:before {
    content: "";
    background-image: url(../images/before_thorough_support_check_mark.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.95rem 2.75rem;
    width: 2.95rem;
    height: 2.75rem;
    display: inline-block;
    vertical-align: -0.6rem;
    margin-right: 1rem;
  }
  #top .thorough_support .thorough_support_inner {
    padding: 6.2rem 1.6rem 7.4rem;
  }
  #top .thorough_support .thorough_support_inner h2 {
    font-size: 1.9rem;
    font-weight: 900;
    text-align: center;
    line-height: 1.85;
    letter-spacing: 1px;
  }
  #top .thorough_support .thorough_support_inner h2 .blue_text {
    color: #197ec4;
  }
  #top .thorough_support .thorough_support_inner .sub_text {
    color: #7f8faa;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
    margin-top: 1rem;
    letter-spacing: 0.13rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper {
    margin: 3.9rem 0 8rem;
    padding: 0 1.6rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card {
    width: 100%;
    border-radius: 1rem;
    background-color: #ffffff;
    -webkit-filter: drop-shadow(0.5rem 0.2rem 4rem rgba(72, 68, 68, 0.16));
            filter: drop-shadow(0.5rem 0.2rem 4rem rgba(72, 68, 68, 0.16));
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    padding: 1.6rem 3.35rem 1.8rem;
    margin-bottom: 2.5rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card h3 {
    color: #212e44;
    font-size: 1.6rem;
    font-weight: 600;
    padding: 0.3rem 0 0.7rem 6.6rem;
    line-height: 1.6;
    letter-spacing: 1px;
    background-repeat: no-repeat;
    background-position: left center;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card h3 span {
    font-weight: 900;
    background-color: #ffe21f;
    line-height: 2rem;
    display: inline-block;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card ul {
    margin-top: 0.7rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card ul li {
    color: #212e44;
    font-size: 1.5rem;
    line-height: 1.65;
    letter-spacing: 0.05rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card01 h3 {
    background-image: url(../images/thorough_support_icon01.png);
    background-size: 4.3rem 5rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card02 h3 {
    background-image: url(../images/thorough_support_icon02.png);
    background-size: 5.3rem 5.3rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card03 h3 {
    background-image: url(../images/thorough_support_icon03.png);
    background-size: 4.9rem 6rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card04 h3 {
    background-image: url(../images/thorough_support_icon04.png);
    background-size: 4.1rem 5rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card05 h3 {
    background-image: url(../images/thorough_support_icon05.png);
    background-size: 5.3rem 5.3rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card06 h3 {
    background-image: url(../images/thorough_support_icon06.png);
    background-size: 5.4rem 5.6rem;
  }
  #top .thorough_support .thorough_support_inner .white_box {
    padding-top: 4.8rem;
  }
  #top .thorough_support .thorough_support_inner .white_box .tiger_illust {
    width: 9rem;
  }
  #top .three_reason {
    background-color: #f2f7fc;
    padding: 5rem 0 7.3rem;
  }
  #top .three_reason h2 {
    font-size: 2rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.25rem;
  }
  #top .three_reason h2 img {
    width: 2.9rem;
    vertical-align: -1.3rem;
    display: inline-block;
    margin: 0 0.8rem;
  }
  #top .three_reason .sub_text {
    color: #7f8faa;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
    margin-top: 1.5rem;
    letter-spacing: 0.13rem;
  }
  #top .three_reason ul {
    padding: 7.4rem 1.6rem 8.8rem;
  }
  #top .three_reason ul li {
    background-color: #ffffff;
    position: relative;
    padding: 5.4rem 1.6rem 3.7rem;
    margin-bottom: 7.6rem;
    border-radius: 1.2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #top .three_reason ul li:before {
    content: "";
    width: 7.2rem;
    height: 7.2rem;
    background-position: center center;
    background-size: 7.2rem 7.2rem;
    background-repeat: no-repeat;
    display: block;
    margin: 0 auto;
    position: absolute;
    top: -3.6rem;
    left: 0;
    right: 0;
  }
  #top .three_reason ul li .text_area {
    width: 100%;
  }
  #top .three_reason ul li .text_area h3 {
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.8;
    color: #000;
    letter-spacing: 1px;
    margin-bottom: 1.7rem;
    text-align: center;
  }
  #top .three_reason ul li .text_area h3 span {
    color: #197ec4;
    display: inline-block;
    line-height: 1.4;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(40%, #ffff00));
    background: linear-gradient(transparent 70%, #ffff00 40%);
  }
  #top .three_reason ul li .text_area p {
    font-size: 1.4rem;
    margin-bottom: 2.8rem;
    line-height: 2;
    letter-spacing: 1px;
  }
  #top .three_reason ul li img.archivement {
    width: 15.55rem;
    display: block;
    margin-top: 0.6rem;
  }
  #top .three_reason ul li.point01:before {
    background-image: url(../images/three_reason_point01_solid.svg);
  }
  #top .three_reason ul li.point01 img.human {
    display: block;
    width: 13.59rem;
  }
  #top .three_reason ul li.point02:before {
    background-image: url(../images/three_reason_point02_solid.svg);
  }
  #top .three_reason ul li.point02 img.human {
    display: block;
    width: 12.79rem;
  }
  #top .three_reason ul li.point03:before {
    background-image: url(../images/three_reason_point03_solid.svg);
  }
  #top .three_reason ul li.point03 img.human {
    display: block;
    width: 13.31rem;
  }
  #top .three_reason ul li:last-of-type {
    margin-bottom: 0;
  }
  #top .three_reason .white_box {
    padding-top: 4.7rem;
    margin-bottom: 4.5rem;
  }
  #top .three_reason .white_box .tiger_illust {
    width: 6.3rem;
    right: -0.4rem;
  }
  #top .total_support .total_support_inner {
    padding: 6.2rem 1.6rem 7.2rem;
  }
  #top .total_support .total_support_inner h2 {
    font-size: 2.1rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 1px;
    line-height: 1.7;
    color: #000000;
  }
  #top .total_support .total_support_inner h2 span {
    display: inline-block;
    line-height: 1;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, transparent), color-stop(45%, #ffe21f));
    background: linear-gradient(transparent 55%, #ffe21f 45%);
  }
  #top .total_support .total_support_inner .sub_text {
    color: #7f8faa;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
    margin-top: 1rem;
    letter-spacing: 0.15rem;
  }
  #top .total_support .total_support_inner ul.support_company_list {
    margin: 8.8rem 0 7rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company {
    position: relative;
    background-color: #f2f7fc;
    border-radius: 1rem;
    margin-bottom: 9.6rem;
    padding: 11.8rem 1.6rem 3.2rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company:last-of-type {
    margin-bottom: 0;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon {
    position: absolute;
    top: -4.5rem;
    left: 0;
    text-align: center;
    width: 100%;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon img {
    width: 9.6rem;
    height: 9.6rem;
    border-radius: 50%;
    display: block;
    margin: 0 auto;
    -webkit-filter: drop-shadow(0 0.3rem 0.6rem rgba(0, 0, 0, 0.16));
            filter: drop-shadow(0 0.3rem 0.6rem rgba(0, 0, 0, 0.16));
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon .blue_box {
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 600;
    background-color: #0973be;
    width: 12.8rem;
    height: 3rem;
    border-radius: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    letter-spacing: 0.11rem;
    position: absolute;
    top: 8rem;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon .customer {
    display: inline-block;
    font-size: 1.5rem;
    margin-top: 2.4rem;
    letter-spacing: 0.18rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon .customer:before {
    content: "";
    background-image: url(../images/icon_company.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 2.46rem 2.12rem;
    display: inline-block;
    vertical-align: -0.4rem;
    margin-right: 1.2rem;
    width: 2.46rem;
    height: 2.12rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .support_top_text {
    display: block;
    margin: 0 auto;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail {
    background-color: #fafafa;
    border-radius: 0.5rem;
    padding: 2.1rem 1.2rem 3.6rem;
    margin-top: 2.3rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .comment {
    width: 100%;
    margin: 0 auto 3.6rem;
    font-size: 1.3rem;
    line-height: 2;
    letter-spacing: 0.09rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .comment span {
    background-color: #ffe21f;
    line-height: 1;
    font-weight: 600;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail h4 {
    font-size: 1.5rem;
    font-weight: 600;
    background-image: -webkit-gradient(linear, left top, right top, from(#dbdbdb), color-stop(0.5rem, #dbdbdb), color-stop(0.5rem, transparent), color-stop(1rem, transparent));
    background-image: linear-gradient(to right, #dbdbdb, #dbdbdb 0.5rem, transparent 0.5rem, transparent 1rem);
    background-size: 1rem 0.2rem;
    background-position: left bottom;
    background-repeat: repeat-x;
    line-height: 1;
    padding: 0 0 0.9rem;
    letter-spacing: 0.15rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail h4:before {
    content: "";
    background-image: url(../images/total_support_head_icon.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 2.35rem 2.35rem;
    display: inline-block;
    vertical-align: -0.4rem;
    margin-right: 0.5rem;
    width: 2.35rem;
    height: 2.35rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .contract_contents .contract_contents_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 2.3rem 0 2.4rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .contract_contents .contract_contents_list img {
    display: block;
    width: 7.2rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .flow ul {
    margin-left: 3.9rem;
    margin-top: 2.3rem;
    padding-left: 5.5rem;
    border-left: 0.3rem solid #000000;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .flow ul li {
    margin-bottom: 3.3rem;
    position: relative;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .flow ul li:before {
    content: "";
    width: 8rem;
    height: 8rem;
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 8rem 8rem;
    display: block;
    position: absolute;
    top: 0;
    left: -9.7rem;
    z-index: 2;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .flow ul li dl dt {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.85;
    letter-spacing: 0.06rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .flow ul li dl dd {
    font-size: 1.3rem;
    line-height: 1.85;
    margin-top: 0.2rem;
    letter-spacing: 0.08rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .flow ul li:last-of-type {
    margin-bottom: 0;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .flow ul li:last-of-type:after {
    content: "";
    width: 8rem;
    height: 80%;
    display: block;
    background-color: #fafafa;
    position: absolute;
    bottom: 0;
    left: -9rem;
    z-index: 1;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer01 .support_top_text {
    width: 30rem;
    padding: 0.5rem 0;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer01 .detail .flow .flow01:before {
    background-image: url(../images/total_support_01_flow01_sp.svg);
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer01 .detail .flow .flow02:before {
    background-image: url(../images/total_support_01_flow02_sp.svg);
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer01 .detail .flow .flow03:before {
    background-image: url(../images/total_support_01_flow03_sp.svg);
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer02 .support_top_text {
    width: 29rem;
    padding: 0.5rem 0;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer02 .detail .flow .flow01:before {
    background-image: url(../images/total_support_02_flow01_sp.svg);
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer02 .detail .flow .flow02:before {
    background-image: url(../images/total_support_02_flow02_sp.svg);
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer02 .detail .flow .flow02 dd span {
    color: #f92b41;
    font-weight: 600;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer02 .detail .flow .flow03:before {
    background-image: url(../images/total_support_02_flow03_sp.svg);
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer02 .detail .flow .flow03 dd span {
    font-weight: 600;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer03 .support_top_text {
    width: 29.2rem;
    padding: 0.5rem 0;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer03 .detail .flow .flow01:before {
    background-image: url(../images/total_support_03_flow01_sp.svg);
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer03 .detail .flow .flow02:before {
    background-image: url(../images/total_support_03_flow02_sp.svg);
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer03 .detail .flow .flow02 dd span {
    font-weight: 600;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer03 .detail .flow .flow02 dd span.red_text {
    color: #f92b41;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer03 .detail .flow .flow03:before {
    background-image: url(../images/total_support_03_flow03_sp.svg);
  }
  #top .total_support .total_support_inner .white_box .tiger_illust {
    width: 7.4rem;
    top: -3.3rem;
    right: -2rem;
  }
  #top .realization {
    background-image: url(../images/realization_bg_pc@2x.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
  }
  #top .realization .realization_inner {
    padding: 6.2rem 1.6rem 11.8rem;
  }
  #top .realization .realization_inner h2 {
    font-size: 2rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 1px;
    line-height: 1.8;
    color: #ffffff;
  }
  #top .realization .realization_inner .sub_text {
    color: #ffffff;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
    margin-top: 1.1rem;
    letter-spacing: 0.14rem;
  }
  #top .realization .realization_inner ul {
    padding: 4.4rem 0.4rem 1.7rem;
  }
  #top .realization .realization_inner ul li {
    background-color: #ffffff;
    width: 100%;
    border-radius: 1rem;
    background-repeat: no-repeat;
    background-position: left 2rem center;
    background-size: 2.8rem auto;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: 0.15rem;
    padding-left: 7rem;
    height: 6rem;
    line-height: 1.5;
    margin-bottom: 1.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #top .realization .realization_inner ul li.type01 {
    background-image: url(../images/realization_icon01.png);
  }
  #top .realization .realization_inner ul li.type02 {
    background-image: url(../images/realization_icon02.png);
  }
  #top .realization .realization_inner ul li.type03 {
    background-image: url(../images/realization_icon03.png);
  }
  #top .realization .realization_inner ul li.type04 {
    background-image: url(../images/realization_icon04.png);
  }
  #top .realization .realization_inner ul li.type05 {
    background-image: url(../images/realization_icon05.png);
  }
  #top .realization .realization_inner ul li.type06 {
    background-image: url(../images/realization_icon06.png);
  }
  #top .realization .realization_inner .message {
    position: relative;
  }
  #top .realization .realization_inner .message .tiger_illust {
    display: block;
    width: 12.7rem;
    position: absolute;
    top: 12rem;
    left: -0.3rem;
  }
  #top .realization .realization_inner .message .speech_bubble {
    width: 33.5rem;
    margin: 0 auto;
    padding: 1.1rem 3.3rem 0.9rem;
    border-radius: 2.5rem;
    border: 0.4rem solid #000000;
    background-color: #ffffff;
  }
  #top .realization .realization_inner .message .speech_bubble p {
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    line-height: 2.1;
    letter-spacing: 1px;
  }
  #top .realization .realization_inner .message .speech_bubble p .red_text {
    color: #f92b41;
    font-size: 1.8rem;
    font-weight: 900;
    display: block;
    letter-spacing: 0.05rem;
    text-align: left;
  }
  /* お問い合わせ/送信内容確認/送信完了 */
  .contact_inner {
    padding: 6.2rem 2rem 8.1rem;
  }
  .contact_inner h2 {
    font-size: 2rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 1px;
    line-height: 1.7;
    color: #000000;
  }
  .contact_inner h1 {
    font-size: 2rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 1px;
    line-height: 1.7;
    color: #000000;
  }
  .contact_inner .sub_text {
    color: #7f8faa;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
    margin-top: 0.5rem;
    letter-spacing: 0.15rem;
  }
  .contact_inner .sub_text a {
    color: #197ec4;
    background-image: -webkit-gradient(linear, left top, right top, from(#197ec4), color-stop(0.5rem, #197ec4), color-stop(0.5rem, transparent), color-stop(1rem, transparent));
    background-image: linear-gradient(to right, #197ec4, #197ec4 0.5rem, transparent 0.5rem, transparent 1rem);
    background-size: 1rem 0.2rem;
    background-position: left bottom;
    background-repeat: repeat-x;
    line-height: 1;
    padding-bottom: 0.8rem;
  }
  .contact_inner table {
    width: 100%;
    margin: 4.5rem 0 2.3rem;
  }
  .contact_inner table tr {
    background-image: -webkit-gradient(linear, left top, right top, from(#707070), color-stop(0.3rem, #707070), color-stop(0.3rem, transparent), color-stop(0.6rem, transparent));
    background-image: linear-gradient(to right, #707070, #707070 0.3rem, transparent 0.3rem, transparent 0.6rem);
    background-size: 0.6rem 1px;
    background-position: left bottom;
    background-repeat: repeat-x;
    display: block;
    width: 100%;
  }
  .contact_inner table tr:last-of-type {
    background: none;
  }
  .contact_inner table tr th {
    font-size: 1.4rem;
    font-weight: 600;
    text-align: left;
    vertical-align: top;
    padding: 2rem 0 1.1rem;
    letter-spacing: 0.05rem;
    display: block;
    width: 100%;
  }
  .contact_inner table tr th span {
    width: 4.84rem;
    line-height: 1.68rem;
    border: 0.3rem solid #e27495;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
    display: inline-block;
    margin-left: 0.8rem;
    color: #e27495;
    vertical-align: 0.2rem;
  }
  .contact_inner table tr td {
    display: block;
    width: 100%;
    padding: 0 0 2.2rem;
  }
  .contact_inner table tr td input[type="text"],
  .contact_inner table tr td input[type="tel"] {
    width: 100%;
    background-color: #faf9f8;
    border: 0.3rem solid #197ec4;
    border-radius: 1rem;
    font-size: 1.4rem;
    padding: 0 1.5rem;
    line-height: 3.8rem;
  }
  .contact_inner table tr td .email_register {
    padding: 1.6rem 1.2rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .contact_inner table tr td .email_register input[type="checkbox"] {
    width: 2.8rem;
    height: 2.8rem;
    background-color: #faf9f8;
    border: 0.3rem solid #197ec4;
    border-radius: 0.5rem;
    margin: 0;
  }
  .contact_inner table tr td .email_register input[type="checkbox"]:checked {
    position: relative;
  }
  .contact_inner table tr td .email_register input[type="checkbox"]:checked:after {
    content: "";
    width: 2.2rem;
    height: 2.2rem;
    display: block;
    background-image: url(../images/contact_form_check.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 1.73rem 1.27rem;
    position: absolute;
    top: 0;
    left: 0;
  }
  .contact_inner table tr td .email_register label.email_check {
    font-size: 1.3rem;
    margin-left: 1.6rem;
    letter-spacing: 0.13rem;
    line-height: 1.65;
  }
  .contact_inner table tr td textarea {
    width: 100%;
    background-color: #faf9f8;
    border: 0.3rem solid #197ec4;
    border-radius: 1rem;
    font-size: 1.4rem;
    padding: 1rem 1.5rem;
    line-height: 2;
    height: 22rem;
    font-family: NotoSans;
  }
  .contact_inner table tr td #category_err {
    position: relative;
    display: block;
  }
  .contact_inner table tr td input + label.error,
  .contact_inner table tr td textarea + label.error,
  .contact_inner table tr td #category_err label {
    font-size: 1.4rem;
    color: #cb3f3f;
    display: block;
    margin: 1rem 0 0 0;
  }
  .contact_inner .send .submit {
    width: 100%;
    margin: 0 auto;
    height: 6.4rem;
    font-size: 1.8rem;
    font-weight: 900;
    padding-left: 3rem;
    letter-spacing: 0.2rem;
    color: #ffffff;
    background: #197ec4;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 5rem;
    background-image: url(../images/icon_paper_plane_white.png);
    background-repeat: no-repeat;
    background-position: left 8.6rem center;
    background-size: 1.8rem 1.725rem;
  }
  .contact_inner .send .back {
    width: 70%;
    margin: 2rem auto 0;
    height: 5.6rem;
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: 0.2rem;
    color: #ffffff;
    background: #777777;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 5rem;
  }
  /* 送信内容確認 */
  #confirm .confirm_inner {
    padding: 8.2rem 2rem 8.1rem;
  }
  #confirm .confirm_inner .confirm_error {
    padding: 4rem 0;
    text-align: center;
  }
  #confirm .confirm_inner .confirm_error p {
    font-size: 1.4rem;
    margin-bottom: 2rem;
  }
  #confirm .confirm_inner .confirm_error .back {
    width: 70%;
    margin: 2rem auto 0;
    height: 5.6rem;
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: 0.2rem;
    color: #ffffff;
    background: #777777;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 5rem;
  }
  #confirm .confirm_inner .referer_error p {
    padding: 3rem 0 3rem;
  }
  /* 完了画面 */
  #completion .completion_inner {
    padding: 8.2rem 2rem 8.1rem;
  }
  #completion .completion_inner .done {
    margin-top: 4rem;
  }
  #completion .completion_inner .done p.lead {
    font-size: 1.5rem;
  }
  #completion .completion_inner .done a {
    font-size: 1.5rem;
    text-decoration: underline;
    margin: 0 0 4rem 0;
    color: #197ec4;
  }
  #completion .completion_inner .done .caution {
    background: #f2f7fc;
    text-align: left;
    padding: 4rem 2rem 2rem;
  }
  #completion .completion_inner .done .caution h2 {
    font-weight: bold;
    margin: 0 0 3rem 0;
    font-size: 1.8rem;
  }
  #completion .completion_inner .done .caution ul {
    margin: 0 0 4rem 0;
  }
  #completion .completion_inner .done .caution ul li {
    font-size: 1.4rem;
    margin: 0 0 1.5rem 0;
  }
  #completion .completion_inner .done .caution p {
    font-size: 1.4rem;
    margin: 0 0 3rem 0;
  }
  #completion .completion_inner .referer_error p {
    padding: 3rem 0 3rem;
  }
}

@media (min-width: 768px) {
  /* トップページ */
  #top #mainvisual {
    background-image: url(../images/mainvisual_bg_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    height: 64rem;
    position: relative;
  }
  #top #mainvisual .mainvisual_inner {
    width: 74.4rem;
    margin: 0 auto;
    padding-top: 12rem;
  }
  #top #mainvisual .mainvisual_inner .text_area {
    text-align: center;
  }
  #top #mainvisual .mainvisual_inner .text_area .archivement {
    width: 46.3rem;
    display: block;
    margin: 0 auto 0.8rem;
  }
  #top #mainvisual .mainvisual_inner .text_area h1 {
    font-size: 6.8rem;
    font-weight: 900;
    line-height: 1.45;
  }
  #top #mainvisual .mainvisual_inner .text_area h1 .large_text .red {
    color: #ff0059;
  }
  #top #mainvisual .mainvisual_inner .text_area .line_text {
    display: inline-block;
    font-size: 2.5rem;
    font-weight: 900;
    background-image: -webkit-gradient(linear, left top, right top, from(#000), color-stop(0.5rem, #000), color-stop(0.4rem, transparent), color-stop(0.9rem, transparent));
    background-image: linear-gradient(to right, #000, #000 0.5rem, transparent 0.4rem, transparent 0.9rem);
    background-size: 0.9rem 1px;
    background-position: left bottom;
    background-repeat: repeat-x;
    line-height: 1;
    padding: 1.3rem 0 1.1rem;
    letter-spacing: 0.25rem;
  }
  #top #mainvisual .mainvisual_inner .text_area .line_text .yellow_line {
    background-color: #fff500;
  }
  #top #mainvisual .mainvisual_inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 5.8rem;
  }
  #top #mainvisual .mainvisual_inner ul li {
    margin: 0 1.2rem;
    width: 22rem;
  }
  #top #mainvisual .mainvisual_inner ul li a {
    display: block;
    width: 100%;
    height: 22rem;
    background-color: #f2f7fc;
    border-radius: 50%;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #top #mainvisual .mainvisual_inner ul li a:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  #top #mainvisual .mainvisual_inner ul li a:hover {
    opacity: 1;
  }
  #top #mainvisual .mainvisual_inner ul li a:before {
    content: "";
    width: 5rem;
    height: 5rem;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 5rem 5rem;
    position: absolute;
    top: -2.5rem;
    left: 0;
    right: 0;
    display: block;
    margin: 0 auto;
  }
  #top #mainvisual .mainvisual_inner ul li a.proposal:before {
    background-image: url(../images/mainvisual_icon01.png);
  }
  #top #mainvisual .mainvisual_inner ul li a.construction:before {
    background-image: url(../images/mainvisual_icon02.png);
  }
  #top #mainvisual .mainvisual_inner ul li a.support:before {
    background-image: url(../images/mainvisual_icon03.png);
  }
  #top #mainvisual .mainvisual_inner ul li a dl {
    padding-top: 3rem;
  }
  #top #mainvisual .mainvisual_inner ul li a dl dt {
    text-align: center;
    font-size: 2.2rem;
    font-weight: 600;
    color: #0070be;
  }
  #top #mainvisual .mainvisual_inner ul li a dl dd {
    font-size: 1.4rem;
    width: 19.1rem;
    margin: 0.6rem auto 1.2rem;
    line-height: 1.7;
    letter-spacing: 1px;
  }
  #top #mainvisual .mainvisual_inner ul li a dl:after {
    content: "";
    display: block;
    background-image: url(../images/arrow_circle_blue.png);
    background-repeat: no-repeat;
    background-size: 1.86rem 1.86rem;
    background-position: center bottom;
    width: 100%;
    height: 1.86rem;
  }
  #top #mainvisual img.illust01 {
    width: 10rem;
    position: absolute;
    top: 12.5rem;
    left: 10.4rem;
  }
  #top #mainvisual img.illust02 {
    width: 22rem;
    position: absolute;
    top: 9.7rem;
    right: 1.9rem;
  }
  #top #mainvisual img.illust03 {
    width: 21.3rem;
    position: absolute;
    bottom: 12.7rem;
    left: -1.5rem;
  }
  #top #mainvisual img.illust04 {
    width: 19.3rem;
    position: absolute;
    bottom: 10.1rem;
    right: 0;
  }
  #top .introduction .blue_box {
    background-color: #0973be;
    text-align: center;
    position: relative;
    padding: 2.4rem 0 2.3rem;
  }
  #top .introduction .blue_box .white_text {
    display: inline-block;
    color: #ffffff;
    font-size: 1.7rem;
    font-weight: 600;
    position: relative;
    padding: 0 2.1rem 0 3rem;
    background-image: url(../images/decoration_text_white_left.png), url(../images/decoration_text_white_right.png);
    background-repeat: no-repeat, no-repeat;
    background-position: left top 0.6rem, right top 0.7rem;
    background-size: 1.46rem 1.815rem, 1.3rem 1.6rem;
    letter-spacing: 1px;
  }
  #top .introduction .blue_box .yellow_text {
    color: #ffeb00;
    font-size: 3.4rem;
    font-weight: 900;
    line-height: 1.55;
    letter-spacing: 0.05rem;
  }
  #top .introduction .blue_box:after {
    content: "";
    border-top: 2.3rem solid #0973be;
    border-left: 2.15rem solid transparent;
    border-right: 2.15rem solid transparent;
    width: 0;
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  #top .introduction .blue_box img.illust05 {
    width: 7.4rem;
    position: absolute;
    bottom: 4.3rem;
    left: 5.1rem;
  }
  #top .introduction .blue_box img.illust06 {
    width: 5.94rem;
    position: absolute;
    bottom: 3.9rem;
    right: 6.8rem;
  }
  #top .introduction .introduction_inner {
    width: 103.2rem;
    margin: 0 auto;
    padding: 8.8rem 0 7rem;
  }
  #top .introduction .introduction_inner h2 {
    font-size: 3.4rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.2rem;
  }
  #top .introduction .introduction_inner h2 .blue_text {
    color: #197ec4;
  }
  #top .introduction .introduction_inner ul {
    position: relative;
    height: 63rem;
  }
  #top .introduction .introduction_inner ul .speech_babble {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.9;
    color: #000;
    margin: 0;
    text-align: center;
    padding: 2.4rem 0 2.5rem;
    letter-spacing: 0.15rem;
    background-position: center top;
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-filter: drop-shadow(0 1.5rem 3rem rgba(0, 0, 0, 0.16));
            filter: drop-shadow(0 1.5rem 3rem rgba(0, 0, 0, 0.16));
  }
  #top .introduction .introduction_inner ul .speech_babble span {
    color: #1d8be5;
    font-size: 2.3rem;
    font-weight: 900;
    display: inline-block;
    line-height: 1.5;
    margin: 0.5rem 0 0.8rem 0;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(40%, #ffff00));
    background: linear-gradient(transparent 70%, #ffff00 40%);
  }
  #top .introduction .introduction_inner ul dl {
    text-align: center;
    white-space: nowrap;
    letter-spacing: 0.05rem;
  }
  #top .introduction .introduction_inner ul dl dt {
    font-size: 1.4rem;
    font-weight: 900;
    color: #001272;
  }
  #top .introduction .introduction_inner ul dl dd {
    font-size: 1.2rem;
    font-weight: 600;
    color: #676767;
  }
  #top .introduction .introduction_inner ul .trouble_cost {
    position: absolute;
    top: 23.7rem;
    left: 3.7rem;
    background: url(../images/introduction_human_illust01.png) no-repeat center center;
    background-size: 10.3rem 21.6rem;
    width: 10.3rem;
    height: 21.6rem;
  }
  #top .introduction .introduction_inner ul .trouble_cost p.speech_babble {
    position: absolute;
    width: 29.8rem;
    height: 18.43rem;
    top: -18.1rem;
    left: -3rem;
    background-image: url(../images/introduction_speech_bubble01.png);
  }
  #top .introduction .introduction_inner ul .trouble_cost dl {
    position: absolute;
    top: 22.5rem;
    left: 0.5rem;
  }
  #top .introduction .introduction_inner ul .trouble_human_resources {
    position: absolute;
    top: 29.9rem;
    left: 1.6rem;
    right: 0;
    margin: 0 auto;
    background: url(../images/introduction_human_illust02.png) no-repeat center center;
    background-size: 5.9rem 20.7rem;
    width: 5.9rem;
    height: 20.7rem;
  }
  #top .introduction .introduction_inner ul .trouble_human_resources p.speech_babble {
    position: absolute;
    width: 28.2rem;
    height: 16.97rem;
    top: -19.8rem;
    left: -11rem;
    background-image: url(../images/introduction_speech_bubble02.png);
  }
  #top .introduction .introduction_inner ul .trouble_human_resources p.speech_babble span {
    font-size: 2.8rem;
    margin: 0 0 0.5rem;
  }
  #top .introduction .introduction_inner ul .trouble_human_resources dl {
    position: absolute;
    top: 22.2rem;
    left: -0.5rem;
  }
  #top .introduction .introduction_inner ul .trouble_nobody {
    position: absolute;
    top: 24.3rem;
    right: -0.4rem;
    background: url(../images/introduction_human_illust03.png) no-repeat center center;
    background-size: 13.8rem 22.75rem;
    width: 13.8rem;
    height: 22.75rem;
  }
  #top .introduction .introduction_inner ul .trouble_nobody p.speech_babble {
    position: absolute;
    width: 25.4rem;
    height: 14.99rem;
    top: -17.7rem;
    left: -14rem;
    background-image: url(../images/introduction_speech_bubble03.png);
  }
  #top .introduction .introduction_inner ul .trouble_nobody p.speech_babble span {
    font-size: 2.8rem;
    margin: 0 0 0.5rem;
  }
  #top .introduction .introduction_inner ul .trouble_nobody dl {
    position: absolute;
    top: 23.3rem;
    left: 2.5rem;
  }
  #top .introduction .introduction_inner .white_box .tiger_illust {
    width: 13.9rem;
    height: 17.6rem;
  }
  #top .merit {
    background-color: #f2f7fc;
  }
  #top .merit .merit_inner {
    width: 100rem;
    margin: 0 auto;
    padding: 6.2rem 0 7.4rem;
  }
  #top .merit .merit_inner h2 {
    font-size: 3.4rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.2rem;
  }
  #top .merit .merit_inner h2 .blue_text {
    color: #197ec4;
  }
  #top .merit .merit_inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 3.7rem 0 6.4rem;
  }
  #top .merit .merit_inner ul li {
    width: 23rem;
  }
  #top .merit .merit_inner ul li img {
    width: 23rem;
    height: 23rem;
    display: block;
    border-radius: 50%;
  }
  #top .merit .merit_inner ul li dl dt {
    font-size: 1.8rem;
    font-weight: 900;
    color: #197ec4;
    text-align: center;
    padding: 2.1rem 0 1.6rem;
    letter-spacing: 1px;
  }
  #top .merit .merit_inner ul li dl dd {
    font-size: 1.6rem;
    line-height: 1.9;
    letter-spacing: 1px;
  }
  #top .merit .merit_inner ul li dl dd span {
    background-color: #ffe21f;
  }
  #top .before_thorough_support {
    background-image: url(../images/before_thorough_support_bg_pc@2x.jpg);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
  }
  #top .before_thorough_support .before_thorough_support_inner {
    width: 76.5rem;
    margin: 0 auto;
    text-align: center;
    padding: 8rem 0 5rem;
  }
  #top .before_thorough_support .before_thorough_support_inner h2 {
    color: #ffffff;
    font-size: 3.4rem;
    font-weight: 900;
    line-height: 1.44;
    letter-spacing: 0.25rem;
  }
  #top .before_thorough_support .before_thorough_support_inner h2 span {
    font-size: 5.1rem;
  }
  #top .before_thorough_support .before_thorough_support_inner img {
    width: 73.6rem;
    display: block;
    margin: 2.8rem auto 5.3rem;
  }
  #top .before_thorough_support .before_thorough_support_inner ul {
    width: 48.3rem;
    margin: 0 auto;
    text-align: left;
  }
  #top .before_thorough_support .before_thorough_support_inner ul li {
    color: #ffffff;
    font-size: 2.8rem;
    font-weight: 900;
    background-image: -webkit-gradient(linear, left top, right top, from(#ffffff), color-stop(0.8rem, #ffffff), color-stop(0.6rem, transparent), color-stop(1.4rem, transparent));
    background-image: linear-gradient(to right, #ffffff, #ffffff 0.8rem, transparent 0.6rem, transparent 1.4rem);
    background-size: 1.4rem 0.3rem;
    background-position: left bottom;
    background-repeat: repeat-x;
    line-height: 1;
    margin-bottom: 2.6rem;
    padding-bottom: 1.8rem;
    letter-spacing: 0.16rem;
  }
  #top .before_thorough_support .before_thorough_support_inner ul li:before {
    content: "";
    background-image: url(../images/before_thorough_support_check_mark.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 4.48rem 4.17rem;
    width: 4.48rem;
    height: 4.17rem;
    display: inline-block;
    vertical-align: -0.9rem;
    margin-right: 1.8rem;
  }
  #top .thorough_support .thorough_support_inner {
    width: 100rem;
    margin: 0 auto;
    padding: 7.7rem 0 9rem;
  }
  #top .thorough_support .thorough_support_inner h2 {
    font-size: 3.4rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.2rem;
    color: #212e44;
  }
  #top .thorough_support .thorough_support_inner h2 .blue_text {
    color: #197ec4;
  }
  #top .thorough_support .thorough_support_inner .sub_text {
    color: #7f8faa;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    margin-top: 1.3rem;
    letter-spacing: 0.15rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 4.6rem 0 1.3rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card {
    width: 30rem;
    border-radius: 1rem;
    background-color: #ffffff;
    -webkit-filter: drop-shadow(0 0.2rem 4rem rgba(72, 68, 68, 0.16));
            filter: drop-shadow(0 0.2rem 4rem rgba(72, 68, 68, 0.16));
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    padding: 2rem 2.6rem 2.4rem;
    margin-bottom: 4.2rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card h3 {
    color: #212e44;
    font-size: 1.6rem;
    font-weight: 600;
    padding: 0.3rem 0 0.7rem 6.6rem;
    line-height: 1.6;
    letter-spacing: 1px;
    background-repeat: no-repeat;
    background-position: left center;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card h3 span {
    font-weight: 900;
    background-color: #ffe21f;
    line-height: 2rem;
    display: inline-block;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card ul {
    margin-top: 1rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card ul li {
    color: #212e44;
    font-size: 1.5rem;
    line-height: 1.65;
    letter-spacing: 0.05rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card01 h3 {
    background-image: url(../images/thorough_support_icon01.png);
    background-size: 4.3rem 5rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card02 h3 {
    background-image: url(../images/thorough_support_icon02.png);
    background-size: 5.3rem 5.3rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card03 h3 {
    background-image: url(../images/thorough_support_icon03.png);
    background-size: 4.9rem 6rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card04 h3 {
    background-image: url(../images/thorough_support_icon04.png);
    background-size: 4.1rem 5rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card05 h3 {
    background-image: url(../images/thorough_support_icon05.png);
    background-size: 5.3rem 5.3rem;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card06 h3 {
    background-image: url(../images/thorough_support_icon06.png);
    background-size: 5.4rem 5.6rem;
  }
  #top .thorough_support .thorough_support_inner .white_box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2.9rem 8.5rem 2.5rem 7rem;
  }
  #top .thorough_support .thorough_support_inner .white_box .tiger_illust {
    width: 12.5rem;
  }
  #top .thorough_support .thorough_support_inner .white_box .bold_text {
    font-size: 2.8rem;
    line-height: 1.6;
  }
  #top .three_reason {
    background-color: #f2f7fc;
    padding: 6rem 0 10.9rem;
  }
  #top .three_reason h2 {
    font-size: 3.4rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.4rem;
    margin: 0 0 3rem;
  }
  #top .three_reason h2 img {
    width: 6.1rem;
    vertical-align: -3.3rem;
    display: inline-block;
    margin: 0 1.5rem;
  }
  #top .three_reason .sub_text {
    color: #7f8faa;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    margin-top: 0.7rem;
    letter-spacing: 0.15rem;
  }
  #top .three_reason ul {
    margin: 5.9rem 0 5.8rem;
  }
  #top .three_reason ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    background-color: #ffffff;
    width: 118.3rem;
    position: relative;
    padding: 6.1rem 4.7rem 1.3rem;
    margin-bottom: 8.2rem;
  }
  #top .three_reason ul li .text_area {
    width: 74.8rem;
  }
  #top .three_reason ul li .text_area h3 {
    font-size: 3rem;
    font-weight: 900;
    line-height: 1.8;
    color: #000;
    padding-left: 9.7rem;
    letter-spacing: 0.18rem;
    background-position: left center;
    background-size: 8.1rem 8.1rem;
    background-repeat: no-repeat;
    margin-bottom: 3.4rem;
  }
  #top .three_reason ul li .text_area h3 span {
    color: #197ec4;
    display: inline-block;
    line-height: 1.3;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(40%, #ffff00));
    background: linear-gradient(transparent 70%, #ffff00 40%);
  }
  #top .three_reason ul li .text_area p {
    font-size: 1.6rem;
    margin-bottom: 3.1rem;
    line-height: 2;
    letter-spacing: 0.08rem;
  }
  #top .three_reason ul li img.archivement {
    width: 16.16rem;
    display: block;
    margin-top: 10rem;
  }
  #top .three_reason ul li:nth-child(odd) {
    padding-right: 18.3rem;
    margin-left: auto;
    border-radius: 10rem 0 0 10rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  #top .three_reason ul li:nth-child(even) {
    padding-left: 18.3rem;
    border-radius: 0 10rem 10rem 0;
  }
  #top .three_reason ul li.point01 .text_area h3 {
    background-image: url(../images/three_reason_point01_dashed.svg);
  }
  #top .three_reason ul li.point01 img.human {
    display: block;
    width: 27.4rem;
    position: absolute;
    top: -5.1rem;
    left: -5.5rem;
  }
  #top .three_reason ul li.point02 .text_area h3 {
    background-image: url(../images/three_reason_point02_dashed.svg);
  }
  #top .three_reason ul li.point02 img.human {
    display: block;
    width: 22rem;
    position: absolute;
    top: -4.6rem;
    right: -0.3rem;
  }
  #top .three_reason ul li.point03 .text_area h3 {
    background-image: url(../images/three_reason_point03_dashed.svg);
  }
  #top .three_reason ul li.point03 img.human {
    display: block;
    width: 25.9rem;
    position: absolute;
    top: -5.1rem;
    left: -3.9rem;
  }
  #top .three_reason ul li:last-of-type {
    margin-bottom: 0;
  }
  #top .three_reason .white_box {
    margin-bottom: 8.6rem;
    padding: 4.3rem 5.8rem 5.9rem 8rem;
  }
  #top .three_reason .white_box .tiger_illust {
    width: 16.4rem;
    height: 23.5rem;
  }
  #top .three_reason .white_box .text_area dd {
    margin-top: 1.9rem;
  }
  #top .total_support .total_support_inner {
    width: 100rem;
    margin: 0 auto;
    padding: 10.7rem 0 7.9rem;
  }
  #top .total_support .total_support_inner h2 {
    font-size: 3.4rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.2rem;
    line-height: 1.62;
    color: #212e44;
  }
  #top .total_support .total_support_inner h2 span {
    display: inline-block;
    line-height: 1;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(35%, #ffe21f));
    background: linear-gradient(transparent 65%, #ffe21f 35%);
  }
  #top .total_support .total_support_inner .sub_text {
    color: #7f8faa;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    margin-top: 2.2rem;
    letter-spacing: 0.15rem;
  }
  #top .total_support .total_support_inner ul.support_company_list {
    margin: 12.5rem 0 7rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company {
    position: relative;
    background-color: #f2f7fc;
    border-radius: 1rem;
    margin-bottom: 17rem;
    padding: 16.5rem 8.5rem 8rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company:last-of-type {
    margin-bottom: 0;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon {
    position: absolute;
    top: -8.9rem;
    left: 0;
    text-align: center;
    width: 100%;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon img {
    width: 17.4rem;
    height: 17.4rem;
    border-radius: 50%;
    display: block;
    margin: 0 auto;
    -webkit-filter: drop-shadow(0 0.3rem 0.6rem rgba(0, 0, 0, 0.16));
            filter: drop-shadow(0 0.3rem 0.6rem rgba(0, 0, 0, 0.16));
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon .blue_box {
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 600;
    background-color: #0973be;
    width: 16rem;
    height: 4rem;
    border-radius: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    letter-spacing: 0.11rem;
    position: absolute;
    top: 14.3rem;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon .customer {
    display: inline-block;
    font-size: 1.5rem;
    margin-top: 3rem;
    letter-spacing: 0.18rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon .customer:before {
    content: "";
    background-image: url(../images/icon_company.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 2.46rem 2.12rem;
    display: inline-block;
    vertical-align: -0.4rem;
    margin-right: 1rem;
    width: 2.46rem;
    height: 2.12rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .support_top_text {
    display: block;
    margin: 0 auto;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail {
    background-color: #fafafa;
    border-radius: 0.5rem;
    padding: 2.1rem 3.2rem 3.2rem;
    margin-top: 2.8rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .comment {
    width: 70rem;
    margin: 0 auto 6rem;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.15rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .comment span {
    background-color: #ffe21f;
    line-height: 1;
    font-weight: 600;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail h4 {
    font-size: 1.6rem;
    font-weight: 600;
    background-image: -webkit-gradient(linear, left top, right top, from(#dbdbdb), color-stop(0.5rem, #dbdbdb), color-stop(0.5rem, transparent), color-stop(1rem, transparent));
    background-image: linear-gradient(to right, #dbdbdb, #dbdbdb 0.5rem, transparent 0.5rem, transparent 1rem);
    background-size: 1rem 0.2rem;
    background-position: left bottom;
    background-repeat: repeat-x;
    line-height: 1;
    padding: 0 0 1.4rem;
    letter-spacing: 0.15rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail h4:before {
    content: "";
    background-image: url(../images/total_support_head_icon.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 2.35rem 2.35rem;
    display: inline-block;
    vertical-align: -0.5rem;
    margin-right: 0.5rem;
    width: 2.35rem;
    height: 2.35rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .contract_contents .contract_contents_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2rem 0 4.9rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .contract_contents .contract_contents_list img {
    display: block;
    height: 8.8rem;
    width: auto;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .flow img {
    width: 100%;
    display: block;
    margin-top: 1.4rem;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer01 .support_top_text {
    width: 72rem;
    padding: 1rem 0;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer02 .support_top_text {
    width: 70.8rem;
    padding: 1rem 0;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer03 .support_top_text {
    width: 64.6rem;
    padding: 1rem 0;
  }
  #top .total_support .total_support_inner .white_box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2.8rem 7.9rem 3.4rem 9.1rem;
  }
  #top .total_support .total_support_inner .white_box .tiger_illust {
    width: 10.6rem;
  }
  #top .total_support .total_support_inner .white_box .text_area {
    width: 68.8rem;
  }
  #top .total_support .total_support_inner .white_box .text_area dt {
    letter-spacing: 0.26rem;
  }
  #top .total_support .total_support_inner .white_box .text_area dd {
    margin-top: 1.1rem;
    letter-spacing: 0.08rem;
  }
  #top .realization {
    background-image: url(../images/realization_bg_pc@2x.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    margin-bottom: 6rem;
  }
  #top .realization .realization_inner {
    width: 100rem;
    margin: 0 auto;
    padding: 7rem 0 1.1rem;
  }
  #top .realization .realization_inner h2 {
    font-size: 3.4rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.2rem;
    line-height: 1.55;
    color: #ffffff;
  }
  #top .realization .realization_inner .sub_text {
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    margin-top: 2.6rem;
    letter-spacing: 0.15rem;
  }
  #top .realization .realization_inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 5.9rem;
  }
  #top .realization .realization_inner ul li {
    background-color: #ffffff;
    width: 46.4rem;
    border-radius: 1rem;
    background-repeat: no-repeat;
    background-position: left 1.4rem center;
    font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.12rem;
    padding-left: 3rem;
    line-height: 7.25rem;
    margin-bottom: 2.9rem;
  }
  #top .realization .realization_inner ul li.type01 {
    background-image: url(../images/realization_icon01.png);
    background-size: 3.35rem 2.64rem;
  }
  #top .realization .realization_inner ul li.type02 {
    background-image: url(../images/realization_icon02.png);
    background-size: 2.77rem 3.55rem;
  }
  #top .realization .realization_inner ul li.type03 {
    background-image: url(../images/realization_icon03.png);
    background-size: 3.49rem 2.56rem;
  }
  #top .realization .realization_inner ul li.type04 {
    background-image: url(../images/realization_icon04.png);
    background-size: 3.53rem 2.6rem;
  }
  #top .realization .realization_inner ul li.type05 {
    background-image: url(../images/realization_icon05.png);
    background-size: 2.79rem 3.17rem;
  }
  #top .realization .realization_inner ul li.type06 {
    background-image: url(../images/realization_icon06.png);
    background-size: 2.42rem 3.22rem;
  }
  #top .realization .realization_inner .message {
    position: relative;
    padding-top: 1.1rem;
  }
  #top .realization .realization_inner .message .tiger_illust {
    display: block;
    width: 32.5rem;
    position: absolute;
    top: -1.4rem;
    left: -3.4rem;
  }
  #top .realization .realization_inner .message .speech_bubble {
    background-image: url(../images/realization_tiger_speech_babble.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 71.2rem 13.15rem;
    width: 71.2rem;
    margin-left: auto;
    padding: 2.6rem 0 3rem 3.2rem;
  }
  #top .realization .realization_inner .message .speech_bubble p {
    font-size: 1.9rem;
    font-weight: 900;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 0.2rem;
  }
  #top .realization .realization_inner .message .speech_bubble p .red_text {
    color: #f92b41;
    font-size: 2.3rem;
    display: block;
    letter-spacing: 0.23rem;
  }
  /* お問い合わせ/送信内容確認/送信完了 */
  .contact_inner {
    width: 76.5rem;
    margin: 0 auto;
    padding: 7.4rem 0 9.7rem;
  }
  .contact_inner h2 {
    font-size: 3.4rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.2rem;
    line-height: 1.62;
    color: #212e44;
  }
  .contact_inner h1 {
    font-size: 3.4rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.2rem;
    line-height: 1.62;
    color: #212e44;
  }
  .contact_inner .sub_text {
    color: #7f8faa;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    margin-top: 1.7rem;
    letter-spacing: 0.15rem;
  }
  .contact_inner .sub_text a {
    color: #197ec4;
    background-image: -webkit-gradient(linear, left top, right top, from(#197ec4), color-stop(0.5rem, #197ec4), color-stop(0.5rem, transparent), color-stop(1rem, transparent));
    background-image: linear-gradient(to right, #197ec4, #197ec4 0.5rem, transparent 0.5rem, transparent 1rem);
    background-size: 1rem 0.2rem;
    background-position: left bottom;
    background-repeat: repeat-x;
    line-height: 1;
    padding-bottom: 0.8rem;
  }
  .contact_inner .sub_text a:hover {
    opacity: 1;
    background-size: 0 0;
  }
  .contact_inner table {
    width: 100%;
    margin: 4rem 0;
  }
  .contact_inner table tr {
    background-image: -webkit-gradient(linear, left top, right top, from(#707070), color-stop(0.3rem, #707070), color-stop(0.3rem, transparent), color-stop(0.6rem, transparent));
    background-image: linear-gradient(to right, #707070, #707070 0.3rem, transparent 0.3rem, transparent 0.6rem);
    background-size: 0.6rem 1px;
    background-position: left bottom;
    background-repeat: repeat-x;
  }
  .contact_inner table tr:last-of-type {
    background: none;
  }
  .contact_inner table tr th {
    font-size: 2rem;
    font-weight: 600;
    width: 25rem;
    text-align: left;
    vertical-align: top;
    padding: 2.5rem 0 2rem;
    letter-spacing: 0.2rem;
  }
  .contact_inner table tr th span {
    width: 4.84rem;
    line-height: 1.68rem;
    border: 0.3rem solid #e27495;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
    display: inline-block;
    margin-left: 0.9rem;
    color: #e27495;
  }
  .contact_inner table tr td {
    width: 51.5rem;
    padding: 2.1rem 0 2rem;
    vertical-align: middle;
  }
  .contact_inner table tr td input[type="text"],
  .contact_inner table tr td input[type="tel"] {
    width: 100%;
    background-color: #faf9f8;
    border: 0.3rem solid #197ec4;
    border-radius: 0.7rem;
    font-size: 2rem;
    padding: 0 1.5rem;
    line-height: 3.8rem;
  }
  .contact_inner table tr td .email_register {
    padding: 2.2rem 0 0.4rem;
  }
  .contact_inner table tr td .email_register input[type="checkbox"] {
    width: 2.8rem;
    height: 2.8rem;
    background-color: #faf9f8;
    border: 0.3rem solid #197ec4;
    border-radius: 0.5rem;
    margin: 0;
    vertical-align: -0.7rem;
  }
  .contact_inner table tr td .email_register input[type="checkbox"]:checked {
    position: relative;
  }
  .contact_inner table tr td .email_register input[type="checkbox"]:checked:after {
    content: "";
    width: 2.2rem;
    height: 2.2rem;
    display: block;
    background-image: url(../images/contact_form_check.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 1.73rem 1.27rem;
    position: absolute;
    top: 0;
    left: 0;
  }
  .contact_inner table tr td .email_register label.email_check {
    font-size: 1.6rem;
    margin-left: 0.7rem;
    letter-spacing: 0.16rem;
  }
  .contact_inner table tr td textarea {
    width: 100%;
    background-color: #faf9f8;
    border: 0.3rem solid #197ec4;
    border-radius: 0.7rem;
    font-size: 2rem;
    padding: 1rem 1.5rem;
    line-height: 2;
    height: 31.7rem;
    font-family: NotoSans;
  }
  .contact_inner table tr td #category_err {
    position: relative;
    display: block;
  }
  .contact_inner table tr td input + label.error,
  .contact_inner table tr td textarea + label.error,
  .contact_inner table tr td #category_err label {
    font-size: 1.8rem;
    color: #cb3f3f;
    display: block;
    margin: 1rem 0 0 0;
  }
  .contact_inner .send .submit {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    width: 37.7rem;
    margin: 0 auto;
    height: 6.4rem;
    font-size: 1.8rem;
    font-weight: 900;
    padding-left: 3rem;
    letter-spacing: 0.2rem;
    color: #ffffff;
    background: #197ec4;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 5rem;
    background-image: url(../images/icon_paper_plane_white.png);
    background-repeat: no-repeat;
    background-position: left 8.6rem center;
    background-size: 1.8rem 1.725rem;
  }
  .contact_inner .send .submit:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  .contact_inner .send .back {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    width: 20rem;
    margin: 4rem auto 0;
    height: 5.6rem;
    font-size: 1.6rem;
    font-weight: 900;
    letter-spacing: 0.2rem;
    color: #ffffff;
    background: #777777;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 5rem;
  }
  .contact_inner .send .back:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  /* 送信内容確認 */
  #confirm .confirm_inner {
    padding: 10rem 0 14rem;
  }
  #confirm .confirm_inner .confirm_error {
    padding: 4rem 0;
    text-align: center;
  }
  #confirm .confirm_inner .confirm_error p {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
  #confirm .confirm_inner .confirm_error .back {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    width: 28rem;
    margin: 2rem auto 0;
    height: 5.6rem;
    font-size: 1.6rem;
    font-weight: 900;
    letter-spacing: 0.2rem;
    color: #ffffff;
    background: #777777;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 5rem;
  }
  #confirm .confirm_inner .confirm_error .back:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  #confirm .confirm_inner .referer_error p {
    text-align: center;
    padding: 8rem 0 3rem;
  }
  /* 完了画面 */
  #completion .completion_inner {
    padding: 8rem 0 9rem;
    text-align: center;
  }
  #completion .completion_inner .done {
    margin-top: 4rem;
  }
  #completion .completion_inner .done p.lead {
    font-size: 1.6rem;
    margin: 0 0 1rem 0;
    line-height: 4.2rem;
  }
  #completion .completion_inner .done a {
    font-size: 1.6rem;
    text-decoration: underline;
    margin: 0 0 6rem 0;
    color: #197ec4;
  }
  #completion .completion_inner .done a:hover {
    opacity: 1;
    text-decoration: none;
  }
  #completion .completion_inner .done .caution {
    background: #f2f7fc;
    text-align: left;
    padding: 7rem 8rem 5rem;
  }
  #completion .completion_inner .done .caution h2 {
    font-size: 2.2rem;
    font-weight: bold;
    margin: 0 0 3rem 0;
  }
  #completion .completion_inner .done .caution ul {
    margin: 0 0 4rem 0;
  }
  #completion .completion_inner .done .caution ul li {
    font-size: 1.6rem;
    margin: 0 0 1.5rem 0;
  }
  #completion .completion_inner .done .caution p {
    font-size: 1.6rem;
    margin: 0 0 3rem 0;
    line-height: 4.2rem;
  }
  #completion .completion_inner .referer_error p {
    text-align: center;
    padding: 8rem 0 3rem;
  }
  /* 共通設定 */
  body {
    font-family: NotoSans, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    letter-spacing: 0;
    color: #000;
    background: #fff;
  }
  body a:hover {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    will-change: transition;
  }
  body a:hover:hover {
    -ms-filter: "alpha(opacity=70)";
    /* IE 8,9 */
    -moz-opacity: 0.7;
    /* FF , Netscape */
    -khtml-opacity: 0.7;
    /* Safari 1.x */
    opacity: 0.7;
  }
  /* 共通ヘッダー */
  #header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
  }
  #header .header_inner {
    padding: 2.3rem 3.5rem 1rem 4.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #header .header_inner a.logo {
    width: 15.3rem;
    display: block;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #header .header_inner a.logo:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  #header .header_inner a.logo:hover {
    opacity: 1;
  }
  #header .header_inner a.logo img {
    width: 100%;
    display: block;
  }
  #header .header_inner ul.header_menu {
    width: 85rem;
    padding-left: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #header .header_inner ul.header_menu li a {
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 0.15rem;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #header .header_inner ul.header_menu li a:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  #header .header_inner ul.header_menu li a:hover {
    opacity: 1;
  }
  #header .header_inner a.contact_link {
    color: #f92b41;
    font-size: 1.5rem;
    font-weight: 600;
    background-color: #ffffff;
    border: 0.3rem solid #f92b41;
    border-radius: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 19.2rem;
    height: 5rem;
    letter-spacing: 0.15rem;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #header .header_inner a.contact_link:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  #header .header_inner a.contact_link:hover {
    opacity: 1;
  }
  #header .header_inner a.contact_link:before {
    content: "";
    background-image: url(../images/icon_paper_plane_red.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 1.8rem 1.725rem;
    display: inline-block;
    width: 1.8rem;
    height: 1.725rem;
    margin-right: 1rem;
  }
  #header .fixed_btn {
    width: 14.6rem;
    display: block;
    position: fixed;
    right: 2.1rem;
    bottom: 5rem;
    z-index: 100;
    -webkit-transition: none;
    transition: none;
  }
  #header .fixed_btn img {
    display: block;
    width: 100%;
  }
  #header .fixed_btn:hover {
    opacity: 1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #header .fixed_btn:hover:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  /* 共通フッター */
  #footer #pagetop {
    width: 100rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 3rem 0 0 0;
  }
  #footer #pagetop p {
    margin: 0 0 0 auto;
  }
  #footer #pagetop p a {
    font-size: 1.2rem;
    color: #197ec4;
    display: block;
    padding-left: 1.2rem;
    background-image: url(../images/footer_pagetop.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 1.2rem 1.2rem;
  }
  #footer #pagetop p a:hover {
    text-decoration: underline;
    opacity: 1;
  }
  #footer .rbd {
    border-bottom: 0.4rem solid #197ec4;
    padding: 0 0 2rem;
  }
  #footer .rbd ul {
    width: 100rem;
    margin: 0 auto;
    line-height: 1;
  }
  #footer .rbd ul li {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1;
    margin: 0.5rem 0;
    border-right: 1px solid #999;
    margin-right: 0.5rem;
    padding-right: 0.8rem;
  }
  #footer .rbd ul li:last-of-type {
    border-right: none;
    margin-right: 0;
    padding-right: 0;
  }
  #footer .rbd ul li a {
    color: #197ec4;
    display: block;
  }
  #footer .rbd ul li a:hover {
    text-decoration: underline;
    opacity: 1;
  }
  #footer .cf {
    width: 100rem;
    margin: 0 auto;
    padding: 0.8rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 7.5rem;
  }
  #footer .cf address img {
    width: 27.1rem;
    display: block;
  }
  #footer .cf address a {
    color: #425b67;
    font-weight: 600;
    line-height: 1;
    font-size: 1rem;
    text-decoration: underline !important;
  }
  #footer .cf address a:hover {
    opacity: 1;
  }
  #footer .cf ul li {
    border-right: 1px solid #999;
    display: inline-block;
    font-size: 1.2rem;
    margin-right: 0.3rem;
    padding-right: 0.8rem;
    line-height: 1;
  }
  #footer .cf ul li:last-of-type {
    border-right: none;
    margin-right: 0;
    padding-right: 0;
  }
  #footer .cf ul li a {
    color: #197ec4;
    display: block;
  }
  #footer .cf ul li a:hover {
    text-decoration: underline;
    opacity: 1;
  }
  /* 黄色い丸テキスト ＋ 白エリア */
  .white_box {
    background-color: #ffffff;
    width: 100rem;
    margin: 0 auto;
    position: relative;
    border-radius: 1rem;
    padding: 3.6rem 8.5rem 3.7rem 7rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-filter: drop-shadow(0.5rem 0.2rem 4rem rgba(72, 68, 68, 0.1));
            filter: drop-shadow(0.5rem 0.2rem 4rem rgba(72, 68, 68, 0.1));
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  .white_box .yellow_circle {
    width: 10rem;
    height: 10rem;
    background-color: #ffeb00;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    position: absolute;
    top: -3.4rem;
    left: -3rem;
  }
  .white_box .yellow_circle p {
    color: #00569d;
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1.3;
  }
  .white_box .yellow_circle p .en {
    display: block;
    font-size: 2.2rem;
    font-family: "Viga";
    font-weight: normal;
    letter-spacing: 0.15rem;
  }
  .white_box .tiger_illust {
    display: block;
  }
  .white_box .text_area {
    width: 66.3rem;
  }
  .white_box .bold_text {
    font-size: 2.6rem;
    font-weight: 900;
    letter-spacing: 0.27rem;
    line-height: 1.55;
  }
  .white_box .bold_text span {
    color: #197ec4;
    display: block;
  }
  .white_box dl.text_area dd {
    font-size: 1.6rem;
    letter-spacing: 0.13rem;
    margin-top: 1.3rem;
    line-height: 2;
  }
  .white_box dl.text_area dd span {
    font-weight: 600;
  }
  /* 青色ボタン ＋ テキスト */
  .blue_btn_group {
    width: 56rem;
    margin: 0 auto;
    text-align: center;
  }
  .blue_btn_group .text_on_btn {
    font-size: 1.4rem;
    font-weight: 900;
    color: #197ec4;
    text-align: center;
    position: relative;
    display: block;
    line-height: 1;
    margin-bottom: 1.7rem;
    letter-spacing: 0.15rem;
  }
  .blue_btn_group .text_on_btn:before {
    content: "";
    width: 0.2rem;
    height: 1.1rem;
    background-color: #197ec4;
    display: block;
    -webkit-transform: rotate(-18deg);
            transform: rotate(-18deg);
    position: absolute;
    left: 2.5rem;
    bottom: 0;
  }
  .blue_btn_group .text_on_btn:after {
    content: "";
    width: 0.2rem;
    height: 1.1rem;
    background-color: #197ec4;
    display: block;
    -webkit-transform: rotate(18deg);
            transform: rotate(18deg);
    position: absolute;
    right: 2.5rem;
    bottom: 0;
  }
  .blue_btn_group .blue_btn {
    background-color: #197ec4;
    width: 100%;
    height: 6.4rem;
    border-radius: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 900;
    letter-spacing: 0.2rem;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  .blue_btn_group .blue_btn:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  .blue_btn_group .blue_btn:hover {
    opacity: 1;
  }
  .blue_btn_group .blue_btn span {
    font-size: 1.4rem;
    font-weight: 900;
    color: #197ec4;
    background-color: #ffffff;
    width: 4.2rem;
    line-height: 2.2rem;
    text-align: center;
    border-radius: 0.5rem;
    margin-right: 0.8rem;
  }
}

@media (min-width: 1600px) {
  /* トップページ */
  #top #mainvisual {
    background-image: url(../images/mainvisual_bg_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    height: 748.8px;
    position: relative;
  }
  #top #mainvisual .mainvisual_inner {
    width: 870.48px;
    margin: 0 auto;
    padding-top: 140.4px;
  }
  #top #mainvisual .mainvisual_inner .text_area {
    text-align: center;
  }
  #top #mainvisual .mainvisual_inner .text_area .archivement {
    width: 541.71px;
    display: block;
    margin: 0 auto 9.36px;
  }
  #top #mainvisual .mainvisual_inner .text_area h1 {
    font-size: 79.56px;
    font-weight: 900;
    line-height: 1.45;
  }
  #top #mainvisual .mainvisual_inner .text_area h1 .large_text .red {
    color: #ff0059;
  }
  #top #mainvisual .mainvisual_inner .text_area .line_text {
    display: inline-block;
    font-size: 29.25px;
    font-weight: 900;
    background-image: linear-gradient(to right, #000, #000 5.85px, transparent 4.68px, transparent 10.53px);
    background-size: 10.53px 1px;
    background-position: left bottom;
    background-repeat: repeat-x;
    line-height: 1;
    padding: 15.21px 0 12.87px;
    letter-spacing: 2.925px;
  }
  #top #mainvisual .mainvisual_inner .text_area .line_text .yellow_line {
    background-color: #fff500;
  }
  #top #mainvisual .mainvisual_inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 67.86px;
  }
  #top #mainvisual .mainvisual_inner ul li {
    margin: 0 14.04px;
    width: 257.4px;
  }
  #top #mainvisual .mainvisual_inner ul li a {
    display: block;
    width: 100%;
    height: 257.4px;
    background-color: #f2f7fc;
    border-radius: 50%;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #top #mainvisual .mainvisual_inner ul li a:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  #top #mainvisual .mainvisual_inner ul li a:hover {
    opacity: 1;
  }
  #top #mainvisual .mainvisual_inner ul li a:before {
    content: "";
    width: 58.5px;
    height: 58.5px;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 58.5px 58.5px;
    position: absolute;
    top: -29.25px;
    left: 0;
    right: 0;
    display: block;
    margin: 0 auto;
  }
  #top #mainvisual .mainvisual_inner ul li a.proposal:before {
    background-image: url(../images/mainvisual_icon01.png);
  }
  #top #mainvisual .mainvisual_inner ul li a.construction:before {
    background-image: url(../images/mainvisual_icon02.png);
  }
  #top #mainvisual .mainvisual_inner ul li a.support:before {
    background-image: url(../images/mainvisual_icon03.png);
  }
  #top #mainvisual .mainvisual_inner ul li a dl {
    padding-top: 35.1px;
  }
  #top #mainvisual .mainvisual_inner ul li a dl dt {
    text-align: center;
    font-size: 25.74px;
    font-weight: 600;
    color: #0070be;
  }
  #top #mainvisual .mainvisual_inner ul li a dl dd {
    font-size: 16.38px;
    width: 223.47px;
    margin: 7.02px auto 14.04px;
    line-height: 1.7;
    letter-spacing: 1px;
  }
  #top #mainvisual .mainvisual_inner ul li a dl:after {
    content: "";
    display: block;
    background-image: url(../images/arrow_circle_blue.png);
    background-repeat: no-repeat;
    background-size: 21.762px 21.762px;
    background-position: center bottom;
    width: 100%;
    height: 21.762px;
  }
  #top #mainvisual img.illust01 {
    width: 117px;
    position: absolute;
    top: 146.25px;
    left: 121.68px;
  }
  #top #mainvisual img.illust02 {
    width: 257.4px;
    position: absolute;
    top: 113.49px;
    right: 22.23px;
  }
  #top #mainvisual img.illust03 {
    width: 249.21px;
    position: absolute;
    bottom: 148.59px;
    left: -17.55px;
  }
  #top #mainvisual img.illust04 {
    width: 225.81px;
    position: absolute;
    bottom: 118.17px;
    right: 0;
  }
  #top .introduction .blue_box {
    background-color: #0973be;
    text-align: center;
    position: relative;
    padding: 28.08px 0 26.91px;
  }
  #top .introduction .blue_box .white_text {
    display: inline-block;
    color: #ffffff;
    font-size: 19.89px;
    font-weight: 600;
    position: relative;
    padding: 0 24.57px 0 35.1px;
    background-image: url(../images/decoration_text_white_left.png), url(../images/decoration_text_white_right.png);
    background-repeat: no-repeat, no-repeat;
    background-position: left top 7.02px, right top 8.19px;
    background-size: 17.082px 21.2355px, 15.21px 18.72px;
    letter-spacing: 1px;
  }
  #top .introduction .blue_box .yellow_text {
    color: #ffeb00;
    font-size: 39.78px;
    font-weight: 900;
    line-height: 1.55;
    letter-spacing: 0.585px;
  }
  #top .introduction .blue_box:after {
    content: "";
    border-top: 26.91px solid #0973be;
    border-left: 25.155px solid transparent;
    border-right: 25.155px solid transparent;
    width: 0;
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  #top .introduction .blue_box img.illust05 {
    width: 86.58px;
    position: absolute;
    bottom: 50.31px;
    left: 59.67px;
  }
  #top .introduction .blue_box img.illust06 {
    width: 69.498px;
    position: absolute;
    bottom: 45.63px;
    right: 79.56px;
  }
  #top .introduction .introduction_inner {
    width: 1207.44px;
    margin: 0 auto;
    padding: 102.96px 0 81.9px;
  }
  #top .introduction .introduction_inner h2 {
    font-size: 39.78px;
    font-weight: 900;
    text-align: center;
    letter-spacing: 2.34px;
  }
  #top .introduction .introduction_inner h2 .blue_text {
    color: #197ec4;
  }
  #top .introduction .introduction_inner ul {
    position: relative;
    height: 737.1px;
  }
  #top .introduction .introduction_inner ul .speech_babble {
    font-size: 21.06px;
    font-weight: 500;
    line-height: 1.9;
    color: #000;
    margin: 0;
    text-align: center;
    padding: 28.08px 0 29.25px;
    letter-spacing: 1.755px;
    background-position: center top;
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-filter: drop-shadow(0 17.55px 35.1px rgba(0, 0, 0, 0.16));
            filter: drop-shadow(0 17.55px 35.1px rgba(0, 0, 0, 0.16));
  }
  #top .introduction .introduction_inner ul .speech_babble span {
    color: #1d8be5;
    font-size: 26.91px;
    font-weight: 900;
    display: inline-block;
    line-height: 1.5;
    margin: 5.85px 0 9.36px 0;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(40%, #ffff00));
    background: linear-gradient(transparent 70%, #ffff00 40%);
  }
  #top .introduction .introduction_inner ul dl {
    text-align: center;
    white-space: nowrap;
    letter-spacing: 0.585px;
  }
  #top .introduction .introduction_inner ul dl dt {
    font-size: 16.38px;
    font-weight: 900;
    color: #001272;
  }
  #top .introduction .introduction_inner ul dl dd {
    font-size: 14.04px;
    font-weight: 600;
    color: #676767;
  }
  #top .introduction .introduction_inner ul .trouble_cost {
    position: absolute;
    top: 277.29px;
    left: 43.29px;
    background: url(../images/introduction_human_illust01.png) no-repeat center center;
    background-size: 120.51px 252.72px;
    width: 120.51px;
    height: 252.72px;
  }
  #top .introduction .introduction_inner ul .trouble_cost p.speech_babble {
    position: absolute;
    width: 348.66px;
    height: 215.631px;
    top: -211.77px;
    left: -35.1px;
    background-image: url(../images/introduction_speech_bubble01.png);
  }
  #top .introduction .introduction_inner ul .trouble_cost dl {
    position: absolute;
    top: 263.25px;
    left: 5.85px;
  }
  #top .introduction .introduction_inner ul .trouble_human_resources {
    position: absolute;
    top: 349.83px;
    left: 18.72px;
    right: 0;
    margin: 0 auto;
    background: url(../images/introduction_human_illust02.png) no-repeat center center;
    background-size: 69.03px 242.19px;
    width: 69.03px;
    height: 242.19px;
  }
  #top .introduction .introduction_inner ul .trouble_human_resources p.speech_babble {
    position: absolute;
    width: 329.94px;
    height: 198.549px;
    top: -231.66px;
    left: -128.7px;
    background-image: url(../images/introduction_speech_bubble02.png);
  }
  #top .introduction .introduction_inner ul .trouble_human_resources p.speech_babble span {
    font-size: 32.76px;
    margin: 0 0 5.85px;
  }
  #top .introduction .introduction_inner ul .trouble_human_resources dl {
    position: absolute;
    top: 259.74px;
    left: -5.85px;
  }
  #top .introduction .introduction_inner ul .trouble_nobody {
    position: absolute;
    top: 284.31px;
    right: -4.68px;
    background: url(../images/introduction_human_illust03.png) no-repeat center center;
    background-size: 161.46px 266.175px;
    width: 161.46px;
    height: 266.175px;
  }
  #top .introduction .introduction_inner ul .trouble_nobody p.speech_babble {
    position: absolute;
    width: 297.18px;
    height: 175.383px;
    top: -207.09px;
    left: -163.8px;
    background-image: url(../images/introduction_speech_bubble03.png);
  }
  #top .introduction .introduction_inner ul .trouble_nobody p.speech_babble span {
    font-size: 32.76px;
    margin: 0 0 5.85px;
  }
  #top .introduction .introduction_inner ul .trouble_nobody dl {
    position: absolute;
    top: 272.61px;
    left: 29.25px;
  }
  #top .introduction .introduction_inner .white_box .tiger_illust {
    width: 162.63px;
    height: 205.92px;
  }
  #top .merit {
    background-color: #f2f7fc;
  }
  #top .merit .merit_inner {
    width: 1170px;
    margin: 0 auto;
    padding: 72.54px 0 86.58px;
  }
  #top .merit .merit_inner h2 {
    font-size: 39.78px;
    font-weight: 900;
    text-align: center;
    letter-spacing: 2.34px;
  }
  #top .merit .merit_inner h2 .blue_text {
    color: #197ec4;
  }
  #top .merit .merit_inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 43.29px 0 74.88px;
  }
  #top .merit .merit_inner ul li {
    width: 269.1px;
  }
  #top .merit .merit_inner ul li img {
    width: 269.1px;
    height: 269.1px;
    display: block;
    border-radius: 50%;
  }
  #top .merit .merit_inner ul li dl dt {
    font-size: 21.06px;
    font-weight: 900;
    color: #197ec4;
    text-align: center;
    padding: 24.57px 0 18.72px;
    letter-spacing: 1px;
  }
  #top .merit .merit_inner ul li dl dd {
    font-size: 18.72px;
    line-height: 1.9;
    letter-spacing: 1px;
  }
  #top .merit .merit_inner ul li dl dd span {
    background-color: #ffe21f;
  }
  #top .before_thorough_support {
    background-image: url(../images/before_thorough_support_bg_pc@2x.jpg);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
  }
  #top .before_thorough_support .before_thorough_support_inner {
    width: 895.05px;
    margin: 0 auto;
    text-align: center;
    padding: 93.6px 0 58.5px;
  }
  #top .before_thorough_support .before_thorough_support_inner h2 {
    color: #ffffff;
    font-size: 39.78px;
    font-weight: 900;
    line-height: 1.44;
    letter-spacing: 2.925px;
  }
  #top .before_thorough_support .before_thorough_support_inner h2 span {
    font-size: 59.67px;
  }
  #top .before_thorough_support .before_thorough_support_inner img {
    width: 861.12px;
    display: block;
    margin: 32.76px auto 62.01px;
  }
  #top .before_thorough_support .before_thorough_support_inner ul {
    width: 565.11px;
    margin: 0 auto;
    text-align: left;
  }
  #top .before_thorough_support .before_thorough_support_inner ul li {
    color: #ffffff;
    font-size: 32.76px;
    font-weight: 900;
    background-image: linear-gradient(to right, #ffffff, #ffffff 9.36px, transparent 7.02px, transparent 16.38px);
    background-size: 16.38px 3.51px;
    background-position: left bottom;
    background-repeat: repeat-x;
    line-height: 1;
    margin-bottom: 30.42px;
    padding-bottom: 21.06px;
    letter-spacing: 1.872px;
  }
  #top .before_thorough_support .before_thorough_support_inner ul li:before {
    content: "";
    background-image: url(../images/before_thorough_support_check_mark.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 52.416px 48.789px;
    width: 52.416px;
    height: 48.789px;
    display: inline-block;
    vertical-align: -10.53px;
    margin-right: 21.06px;
  }
  #top .thorough_support .thorough_support_inner {
    width: 1170px;
    margin: 0 auto;
    padding: 90.09px 0 105.3px;
  }
  #top .thorough_support .thorough_support_inner h2 {
    font-size: 39.78px;
    font-weight: 900;
    text-align: center;
    letter-spacing: 2.34px;
    color: #212e44;
  }
  #top .thorough_support .thorough_support_inner h2 .blue_text {
    color: #197ec4;
  }
  #top .thorough_support .thorough_support_inner .sub_text {
    color: #7f8faa;
    font-size: 17.55px;
    font-weight: 600;
    text-align: center;
    margin-top: 15.21px;
    letter-spacing: 1.755px;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 53.82px 0 15.21px;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card {
    width: 351px;
    border-radius: 11.7px;
    background-color: #ffffff;
    -webkit-filter: drop-shadow(0 2.34px 46.8px rgba(72, 68, 68, 0.16));
            filter: drop-shadow(0 2.34px 46.8px rgba(72, 68, 68, 0.16));
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    padding: 23.4px 30.42px 28.08px;
    margin-bottom: 49.14px;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card h3 {
    color: #212e44;
    font-size: 18.72px;
    font-weight: 600;
    padding: 3.51px 0 8.19px 77.22px;
    line-height: 1.6;
    letter-spacing: 1px;
    background-repeat: no-repeat;
    background-position: left center;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card h3 span {
    font-weight: 900;
    background-color: #ffe21f;
    line-height: 23.4px;
    display: inline-block;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card ul {
    margin-top: 11.7px;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card ul li {
    color: #212e44;
    font-size: 17.55px;
    line-height: 1.65;
    letter-spacing: 0.585px;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card01 h3 {
    background-image: url(../images/thorough_support_icon01.png);
    background-size: 50.31px 58.5px;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card02 h3 {
    background-image: url(../images/thorough_support_icon02.png);
    background-size: 62.01px 62.01px;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card03 h3 {
    background-image: url(../images/thorough_support_icon03.png);
    background-size: 57.33px 70.2px;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card04 h3 {
    background-image: url(../images/thorough_support_icon04.png);
    background-size: 47.97px 58.5px;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card05 h3 {
    background-image: url(../images/thorough_support_icon05.png);
    background-size: 62.01px 62.01px;
  }
  #top .thorough_support .thorough_support_inner .card_wrapper .card.card06 h3 {
    background-image: url(../images/thorough_support_icon06.png);
    background-size: 63.18px 65.52px;
  }
  #top .thorough_support .thorough_support_inner .white_box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 33.93px 99.45px 29.25px 81.9px;
  }
  #top .thorough_support .thorough_support_inner .white_box .tiger_illust {
    width: 146.25px;
  }
  #top .thorough_support .thorough_support_inner .white_box .bold_text {
    font-size: 32.76px;
    line-height: 1.6;
  }
  #top .three_reason {
    background-color: #f2f7fc;
    padding: 70.2px 0 127.53px;
  }
  #top .three_reason h2 {
    font-size: 39.78px;
    font-weight: 900;
    text-align: center;
    letter-spacing: 4.68px;
    margin: 0 0 35.1px;
  }
  #top .three_reason h2 img {
    width: 71.37px;
    vertical-align: -38.61px;
    display: inline-block;
    margin: 0 17.55px;
  }
  #top .three_reason .sub_text {
    color: #7f8faa;
    font-size: 17.55px;
    font-weight: 600;
    text-align: center;
    margin-top: 8.19px;
    letter-spacing: 1.755px;
  }
  #top .three_reason ul {
    margin: 69.03px 0 67.86px;
  }
  #top .three_reason ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    background-color: #ffffff;
    width: 1384.11px;
    position: relative;
    padding: 71.37px 54.99px 15.21px;
    margin-bottom: 95.94px;
  }
  #top .three_reason ul li .text_area {
    width: 875.16px;
  }
  #top .three_reason ul li .text_area h3 {
    font-size: 35.1px;
    font-weight: 900;
    line-height: 1.8;
    color: #000;
    padding-left: 113.49px;
    letter-spacing: 2.106px;
    background-position: left center;
    background-size: 94.77px 94.77px;
    background-repeat: no-repeat;
    margin-bottom: 39.78px;
  }
  #top .three_reason ul li .text_area h3 span {
    color: #197ec4;
    display: inline-block;
    line-height: 1.3;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(40%, #ffff00));
    background: linear-gradient(transparent 70%, #ffff00 40%);
  }
  #top .three_reason ul li .text_area p {
    font-size: 18.72px;
    margin-bottom: 36.27px;
    line-height: 2;
    letter-spacing: 0.936px;
  }
  #top .three_reason ul li img.archivement {
    width: 189.072px;
    display: block;
    margin-top: 117px;
  }
  #top .three_reason ul li:nth-child(odd) {
    padding-right: 214.11px;
    margin-left: auto;
    border-radius: 117px 0 0 117px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  #top .three_reason ul li:nth-child(even) {
    padding-left: 214.11px;
    border-radius: 0 117px 117px 0;
  }
  #top .three_reason ul li.point01 .text_area h3 {
    background-image: url(../images/three_reason_point01_dashed.svg);
  }
  #top .three_reason ul li.point01 img.human {
    display: block;
    width: 320.58px;
    position: absolute;
    top: -59.67px;
    left: -64.35px;
  }
  #top .three_reason ul li.point02 .text_area h3 {
    background-image: url(../images/three_reason_point02_dashed.svg);
  }
  #top .three_reason ul li.point02 img.human {
    display: block;
    width: 257.4px;
    position: absolute;
    top: -53.82px;
    right: -3.51px;
  }
  #top .three_reason ul li.point03 .text_area h3 {
    background-image: url(../images/three_reason_point03_dashed.svg);
  }
  #top .three_reason ul li.point03 img.human {
    display: block;
    width: 303.03px;
    position: absolute;
    top: -59.67px;
    left: -45.63px;
  }
  #top .three_reason ul li:last-of-type {
    margin-bottom: 0;
  }
  #top .three_reason .white_box {
    margin-bottom: 100.62px;
    padding: 50.31px 67.86px 69.03px 93.6px;
  }
  #top .three_reason .white_box .tiger_illust {
    width: 191.88px;
    height: 274.95px;
  }
  #top .three_reason .white_box .text_area dd {
    margin-top: 22.23px;
  }
  #top .total_support .total_support_inner {
    width: 1170px;
    margin: 0 auto;
    padding: 125.19px 0 92.43px;
  }
  #top .total_support .total_support_inner h2 {
    font-size: 39.78px;
    font-weight: 900;
    text-align: center;
    letter-spacing: 2.34px;
    line-height: 1.62;
    color: #212e44;
  }
  #top .total_support .total_support_inner h2 span {
    display: inline-block;
    line-height: 1;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(35%, #ffe21f));
    background: linear-gradient(transparent 65%, #ffe21f 35%);
  }
  #top .total_support .total_support_inner .sub_text {
    color: #7f8faa;
    font-size: 17.55px;
    font-weight: 600;
    text-align: center;
    margin-top: 25.74px;
    letter-spacing: 1.755px;
  }
  #top .total_support .total_support_inner ul.support_company_list {
    margin: 146.25px 0 81.9px;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company {
    position: relative;
    background-color: #f2f7fc;
    border-radius: 11.7px;
    margin-bottom: 198.9px;
    padding: 193.05px 99.45px 93.6px;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company:last-of-type {
    margin-bottom: 0;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon {
    position: absolute;
    top: -104.13px;
    left: 0;
    text-align: center;
    width: 100%;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon img {
    width: 203.58px;
    height: 203.58px;
    border-radius: 50%;
    display: block;
    margin: 0 auto;
    -webkit-filter: drop-shadow(0 3.51px 7.02px rgba(0, 0, 0, 0.16));
            filter: drop-shadow(0 3.51px 7.02px rgba(0, 0, 0, 0.16));
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon .blue_box {
    color: #ffffff;
    font-size: 16.38px;
    font-weight: 600;
    background-color: #0973be;
    width: 187.2px;
    height: 46.8px;
    border-radius: 11.7px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    letter-spacing: 1.287px;
    position: absolute;
    top: 167.31px;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon .customer {
    display: inline-block;
    font-size: 17.55px;
    margin-top: 35.1px;
    letter-spacing: 2.106px;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .company_icon .customer:before {
    content: "";
    background-image: url(../images/icon_company.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 28.782px 24.804px;
    display: inline-block;
    vertical-align: -4.68px;
    margin-right: 11.7px;
    width: 28.782px;
    height: 24.804px;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .support_top_text {
    display: block;
    margin: 0 auto;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail {
    background-color: #fafafa;
    border-radius: 5.85px;
    padding: 24.57px 37.44px 37.44px;
    margin-top: 32.76px;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .comment {
    width: 819px;
    margin: 0 auto 70.2px;
    font-size: 17.55px;
    line-height: 2;
    letter-spacing: 1.755px;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .comment span {
    background-color: #ffe21f;
    line-height: 1;
    font-weight: 600;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail h4 {
    font-size: 18.72px;
    font-weight: 600;
    background-image: linear-gradient(to right, #dbdbdb, #dbdbdb 5.85px, transparent 5.85px, transparent 11.7px);
    background-size: 11.7px 2.34px;
    background-position: left bottom;
    background-repeat: repeat-x;
    line-height: 1;
    padding: 0 0 16.38px;
    letter-spacing: 1.755px;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail h4:before {
    content: "";
    background-image: url(../images/total_support_head_icon.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 27.495px 27.495px;
    display: inline-block;
    vertical-align: -5.85px;
    margin-right: 5.85px;
    width: 27.495px;
    height: 27.495px;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .contract_contents .contract_contents_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 23.4px 0 57.33px;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .contract_contents .contract_contents_list img {
    display: block;
    height: 102.96px;
    width: auto;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company .detail .flow img {
    width: 100%;
    display: block;
    margin-top: 16.38px;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer01 .support_top_text {
    width: 842.4px;
    padding: 11.7px 0;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer02 .support_top_text {
    width: 828.36px;
    padding: 11.7px 0;
  }
  #top .total_support .total_support_inner ul.support_company_list li.support_company.customer03 .support_top_text {
    width: 755.82px;
    padding: 11.7px 0;
  }
  #top .total_support .total_support_inner .white_box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 32.76px 92.43px 39.78px 106.47px;
  }
  #top .total_support .total_support_inner .white_box .tiger_illust {
    width: 124.02px;
  }
  #top .total_support .total_support_inner .white_box .text_area {
    width: 804.96px;
  }
  #top .total_support .total_support_inner .white_box .text_area dt {
    letter-spacing: 3.042px;
  }
  #top .total_support .total_support_inner .white_box .text_area dd {
    margin-top: 12.87px;
    letter-spacing: 0.936px;
  }
  #top .realization {
    background-image: url(../images/realization_bg_pc@2x.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    margin-bottom: 70.2px;
  }
  #top .realization .realization_inner {
    width: 1170px;
    margin: 0 auto;
    padding: 81.9px 0 12.87px;
  }
  #top .realization .realization_inner h2 {
    font-size: 39.78px;
    font-weight: 900;
    text-align: center;
    letter-spacing: 2.34px;
    line-height: 1.55;
    color: #ffffff;
  }
  #top .realization .realization_inner .sub_text {
    color: #ffffff;
    font-size: 17.55px;
    font-weight: 600;
    text-align: center;
    margin-top: 30.42px;
    letter-spacing: 1.755px;
  }
  #top .realization .realization_inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 69.03px;
  }
  #top .realization .realization_inner ul li {
    background-color: #ffffff;
    width: 542.88px;
    border-radius: 11.7px;
    background-repeat: no-repeat;
    background-position: left 16.38px center;
    font-size: 21.06px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 1.404px;
    padding-left: 35.1px;
    line-height: 84.825px;
    margin-bottom: 33.93px;
  }
  #top .realization .realization_inner ul li.type01 {
    background-image: url(../images/realization_icon01.png);
    background-size: 39.195px 30.888px;
  }
  #top .realization .realization_inner ul li.type02 {
    background-image: url(../images/realization_icon02.png);
    background-size: 32.409px 41.535px;
  }
  #top .realization .realization_inner ul li.type03 {
    background-image: url(../images/realization_icon03.png);
    background-size: 40.833px 29.952px;
  }
  #top .realization .realization_inner ul li.type04 {
    background-image: url(../images/realization_icon04.png);
    background-size: 41.301px 30.42px;
  }
  #top .realization .realization_inner ul li.type05 {
    background-image: url(../images/realization_icon05.png);
    background-size: 32.643px 37.089px;
  }
  #top .realization .realization_inner ul li.type06 {
    background-image: url(../images/realization_icon06.png);
    background-size: 28.314px 37.674px;
  }
  #top .realization .realization_inner .message {
    position: relative;
    padding-top: 12.87px;
  }
  #top .realization .realization_inner .message .tiger_illust {
    display: block;
    width: 380.25px;
    position: absolute;
    top: -16.38px;
    left: -39.78px;
  }
  #top .realization .realization_inner .message .speech_bubble {
    background-image: url(../images/realization_tiger_speech_babble.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 833.04px 153.855px;
    width: 833.04px;
    margin-left: auto;
    padding: 30.42px 0 35.1px 37.44px;
  }
  #top .realization .realization_inner .message .speech_bubble p {
    font-size: 22.23px;
    font-weight: 900;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 2.34px;
  }
  #top .realization .realization_inner .message .speech_bubble p .red_text {
    color: #f92b41;
    font-size: 26.91px;
    display: block;
    letter-spacing: 2.691px;
  }
  /* お問い合わせ/送信内容確認/送信完了 */
  .contact_inner {
    width: 895.05px;
    margin: 0 auto;
    padding: 86.58px 0 113.49px;
  }
  .contact_inner h2 {
    font-size: 39.78px;
    font-weight: 900;
    text-align: center;
    letter-spacing: 2.34px;
    line-height: 1.62;
    color: #212e44;
  }
  .contact_inner h1 {
    font-size: 39.78px;
    font-weight: 900;
    text-align: center;
    letter-spacing: 2.34px;
    line-height: 1.62;
    color: #212e44;
  }
  .contact_inner .sub_text {
    color: #7f8faa;
    font-size: 17.55px;
    font-weight: 600;
    text-align: center;
    margin-top: 19.89px;
    letter-spacing: 1.755px;
  }
  .contact_inner .sub_text a {
    color: #197ec4;
    background-image: linear-gradient(to right, #197ec4, #197ec4 5.85px, transparent 5.85px, transparent 11.7px);
    background-size: 11.7px 2.34px;
    background-position: left bottom;
    background-repeat: repeat-x;
    line-height: 1;
    padding-bottom: 9.36px;
  }
  .contact_inner .sub_text a:hover {
    opacity: 1;
    background-size: 0 0;
  }
  .contact_inner table {
    width: 100%;
    margin: 46.8px 0;
  }
  .contact_inner table tr {
    background-image: linear-gradient(to right, #707070, #707070 3.51px, transparent 3.51px, transparent 7.02px);
    background-size: 7.02px 1px;
    background-position: left bottom;
    background-repeat: repeat-x;
  }
  .contact_inner table tr:last-of-type {
    background: none;
  }
  .contact_inner table tr th {
    font-size: 23.4px;
    font-weight: 600;
    width: 292.5px;
    text-align: left;
    vertical-align: top;
    padding: 29.25px 0 23.4px;
    letter-spacing: 2.34px;
  }
  .contact_inner table tr th span {
    width: 56.628px;
    line-height: 19.656px;
    border: 3.51px solid #e27495;
    font-size: 15.21px;
    font-weight: 600;
    text-align: center;
    display: inline-block;
    margin-left: 10.53px;
    color: #e27495;
  }
  .contact_inner table tr td {
    width: 602.55px;
    padding: 24.57px 0 23.4px;
    vertical-align: middle;
  }
  .contact_inner table tr td input[type="text"],
  .contact_inner table tr td input[type="tel"] {
    width: 100%;
    background-color: #faf9f8;
    border: 3.51px solid #197ec4;
    border-radius: 8.19px;
    font-size: 23.4px;
    padding: 0 17.55px;
    line-height: 44.46px;
  }
  .contact_inner table tr td .email_register {
    padding: 25.74px 0 4.68px;
  }
  .contact_inner table tr td .email_register input[type="checkbox"] {
    width: 32.76px;
    height: 32.76px;
    background-color: #faf9f8;
    border: 3.51px solid #197ec4;
    border-radius: 5.85px;
    margin: 0;
    vertical-align: -8.19px;
  }
  .contact_inner table tr td .email_register input[type="checkbox"]:checked {
    position: relative;
  }
  .contact_inner table tr td .email_register input[type="checkbox"]:checked:after {
    content: "";
    width: 25.74px;
    height: 25.74px;
    display: block;
    background-image: url(../images/contact_form_check.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 20.241px 14.859px;
    position: absolute;
    top: 0;
    left: 0;
  }
  .contact_inner table tr td .email_register label.email_check {
    font-size: 18.72px;
    margin-left: 8.19px;
    letter-spacing: 1.872px;
  }
  .contact_inner table tr td textarea {
    width: 100%;
    background-color: #faf9f8;
    border: 3.51px solid #197ec4;
    border-radius: 8.19px;
    font-size: 23.4px;
    padding: 11.7px 17.55px;
    line-height: 2;
    height: 370.89px;
    font-family: NotoSans;
  }
  .contact_inner table tr td #category_err {
    position: relative;
    display: block;
  }
  .contact_inner table tr td input + label.error,
  .contact_inner table tr td textarea + label.error,
  .contact_inner table tr td #category_err label {
    font-size: 21.06px;
    color: #cb3f3f;
    display: block;
    margin: 11.7px 0 0 0;
  }
  .contact_inner .send .submit {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    width: 441.09px;
    margin: 0 auto;
    height: 74.88px;
    font-size: 21.06px;
    font-weight: 900;
    padding-left: 35.1px;
    letter-spacing: 2.34px;
    color: #ffffff;
    background: #197ec4;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 58.5px;
    background-image: url(../images/icon_paper_plane_white.png);
    background-repeat: no-repeat;
    background-position: left 100.62px center;
    background-size: 21.06px 20.1825px;
  }
  .contact_inner .send .submit:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  .contact_inner .send .back {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    width: 234px;
    margin: 46.8px auto 0;
    height: 65.52px;
    font-size: 18.72px;
    font-weight: 900;
    letter-spacing: 2.34px;
    color: #ffffff;
    background: #777777;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 58.5px;
  }
  .contact_inner .send .back:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  /* 送信内容確認 */
  #confirm .confirm_inner {
    padding: 117px 0 163.8px;
  }
  #confirm .confirm_inner .confirm_error {
    padding: 46.8px 0;
    text-align: center;
  }
  #confirm .confirm_inner .confirm_error p {
    font-size: 21.06px;
    margin-bottom: 23.4px;
  }
  #confirm .confirm_inner .confirm_error .back {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    width: 327.6px;
    margin: 23.4px auto 0;
    height: 65.52px;
    font-size: 18.72px;
    font-weight: 900;
    letter-spacing: 2.34px;
    color: #ffffff;
    background: #777777;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 58.5px;
  }
  #confirm .confirm_inner .confirm_error .back:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  #confirm .confirm_inner .referer_error p {
    text-align: center;
    padding: 93.6px 0 35.1px;
  }
  /* 完了画面 */
  #completion .completion_inner {
    padding: 93.6px 0 105.3px;
    text-align: center;
  }
  #completion .completion_inner .done {
    margin-top: 46.8px;
  }
  #completion .completion_inner .done p.lead {
    font-size: 18.72px;
    margin: 0 0 11.7px 0;
    line-height: 49.14px;
  }
  #completion .completion_inner .done a {
    font-size: 18.72px;
    text-decoration: underline;
    margin: 0 0 70.2px 0;
    color: #197ec4;
  }
  #completion .completion_inner .done a:hover {
    opacity: 1;
    text-decoration: none;
  }
  #completion .completion_inner .done .caution {
    background: #f2f7fc;
    text-align: left;
    padding: 81.9px 93.6px 58.5px;
  }
  #completion .completion_inner .done .caution h2 {
    font-size: 25.74px;
    font-weight: bold;
    margin: 0 0 35.1px 0;
  }
  #completion .completion_inner .done .caution ul {
    margin: 0 0 46.8px 0;
  }
  #completion .completion_inner .done .caution ul li {
    font-size: 18.72px;
    margin: 0 0 17.55px 0;
  }
  #completion .completion_inner .done .caution p {
    font-size: 18.72px;
    margin: 0 0 35.1px 0;
    line-height: 49.14px;
  }
  #completion .completion_inner .referer_error p {
    text-align: center;
    padding: 93.6px 0 35.1px;
  }
  /* 共通設定 */
  body {
    font-family: NotoSans, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 18.72px;
    letter-spacing: 0;
    color: #000;
    background: #fff;
  }
  body a:hover {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
    will-change: transition;
  }
  body a:hover:hover {
    -ms-filter: "alpha(opacity=70)";
    /* IE 8,9 */
    -moz-opacity: 0.7;
    /* FF , Netscape */
    -khtml-opacity: 0.7;
    /* Safari 1.x */
    opacity: 0.7;
  }
  /* 共通ヘッダー */
  #header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
  }
  #header .header_inner {
    padding: 26.91px 40.95px 11.7px 56.16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #header .header_inner a.logo {
    width: 179.01px;
    display: block;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #header .header_inner a.logo:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  #header .header_inner a.logo:hover {
    opacity: 1;
  }
  #header .header_inner a.logo img {
    width: 100%;
    display: block;
  }
  #header .header_inner ul.header_menu {
    width: 994.5px;
    padding-left: 35.1px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #header .header_inner ul.header_menu li a {
    font-size: 18.72px;
    font-weight: 600;
    letter-spacing: 1.755px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #header .header_inner ul.header_menu li a:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  #header .header_inner ul.header_menu li a:hover {
    opacity: 1;
  }
  #header .header_inner a.contact_link {
    color: #f92b41;
    font-size: 17.55px;
    font-weight: 600;
    background-color: #ffffff;
    border: 3.51px solid #f92b41;
    border-radius: 58.5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 224.64px;
    height: 58.5px;
    letter-spacing: 1.755px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #header .header_inner a.contact_link:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  #header .header_inner a.contact_link:hover {
    opacity: 1;
  }
  #header .header_inner a.contact_link:before {
    content: "";
    background-image: url(../images/icon_paper_plane_red.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 21.06px 20.1825px;
    display: inline-block;
    width: 21.06px;
    height: 20.1825px;
    margin-right: 11.7px;
  }
  #header .fixed_btn {
    width: 170.82px;
    display: block;
    position: fixed;
    right: 24.57px;
    bottom: 58.5px;
    z-index: 100;
    -webkit-transition: none;
    transition: none;
  }
  #header .fixed_btn img {
    display: block;
    width: 100%;
  }
  #header .fixed_btn:hover {
    opacity: 1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  #header .fixed_btn:hover:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  /* 共通フッター */
  #footer #pagetop {
    width: 1170px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 35.1px 0 0 0;
  }
  #footer #pagetop p {
    margin: 0 0 0 auto;
  }
  #footer #pagetop p a {
    font-size: 14.04px;
    color: #197ec4;
    display: block;
    padding-left: 14.04px;
    background-image: url(../images/footer_pagetop.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 14.04px 14.04px;
  }
  #footer #pagetop p a:hover {
    text-decoration: underline;
    opacity: 1;
  }
  #footer .rbd {
    border-bottom: 4.68px solid #197ec4;
    padding: 0 0 23.4px;
  }
  #footer .rbd ul {
    width: 1170px;
    margin: 0 auto;
    line-height: 1;
  }
  #footer .rbd ul li {
    display: inline-block;
    font-size: 14.04px;
    line-height: 1;
    margin: 5.85px 0;
    border-right: 1px solid #999;
    margin-right: 5.85px;
    padding-right: 9.36px;
  }
  #footer .rbd ul li:last-of-type {
    border-right: none;
    margin-right: 0;
    padding-right: 0;
  }
  #footer .rbd ul li a {
    color: #197ec4;
    display: block;
  }
  #footer .rbd ul li a:hover {
    text-decoration: underline;
    opacity: 1;
  }
  #footer .cf {
    width: 1170px;
    margin: 0 auto;
    padding: 9.36px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 87.75px;
  }
  #footer .cf address img {
    width: 317.07px;
    display: block;
  }
  #footer .cf address a {
    color: #425b67;
    font-weight: 600;
    line-height: 1;
    font-size: 11.7px;
    text-decoration: underline !important;
  }
  #footer .cf address a:hover {
    opacity: 1;
  }
  #footer .cf ul li {
    border-right: 1px solid #999;
    display: inline-block;
    font-size: 14.04px;
    margin-right: 3.51px;
    padding-right: 9.36px;
    line-height: 1;
  }
  #footer .cf ul li:last-of-type {
    border-right: none;
    margin-right: 0;
    padding-right: 0;
  }
  #footer .cf ul li a {
    color: #197ec4;
    display: block;
  }
  #footer .cf ul li a:hover {
    text-decoration: underline;
    opacity: 1;
  }
  /* 黄色い丸テキスト ＋ 白エリア */
  .white_box {
    background-color: #ffffff;
    width: 1170px;
    margin: 0 auto;
    position: relative;
    border-radius: 11.7px;
    padding: 42.12px 99.45px 43.29px 81.9px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-filter: drop-shadow(5.85px 2.34px 46.8px rgba(72, 68, 68, 0.1));
            filter: drop-shadow(5.85px 2.34px 46.8px rgba(72, 68, 68, 0.1));
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  .white_box .yellow_circle {
    width: 117px;
    height: 117px;
    background-color: #ffeb00;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    position: absolute;
    top: -39.78px;
    left: -35.1px;
  }
  .white_box .yellow_circle p {
    color: #00569d;
    font-size: 10.53px;
    font-weight: 900;
    line-height: 1.3;
  }
  .white_box .yellow_circle p .en {
    display: block;
    font-size: 25.74px;
    font-family: "Viga";
    font-weight: normal;
    letter-spacing: 1.755px;
  }
  .white_box .tiger_illust {
    display: block;
  }
  .white_box .text_area {
    width: 775.71px;
  }
  .white_box .bold_text {
    font-size: 30.42px;
    font-weight: 900;
    letter-spacing: 3.159px;
    line-height: 1.55;
  }
  .white_box .bold_text span {
    color: #197ec4;
    display: block;
  }
  .white_box dl.text_area dd {
    font-size: 18.72px;
    letter-spacing: 1.521px;
    margin-top: 15.21px;
    line-height: 2;
  }
  .white_box dl.text_area dd span {
    font-weight: 600;
  }
  /* 青色ボタン ＋ テキスト */
  .blue_btn_group {
    width: 655.2px;
    margin: 0 auto;
    text-align: center;
  }
  .blue_btn_group .text_on_btn {
    font-size: 16.38px;
    font-weight: 900;
    color: #197ec4;
    text-align: center;
    position: relative;
    display: block;
    line-height: 1;
    margin-bottom: 19.89px;
    letter-spacing: 1.755px;
  }
  .blue_btn_group .text_on_btn:before {
    content: "";
    width: 2.34px;
    height: 12.87px;
    background-color: #197ec4;
    display: block;
    -webkit-transform: rotate(-18deg);
            transform: rotate(-18deg);
    position: absolute;
    left: 29.25px;
    bottom: 0;
  }
  .blue_btn_group .text_on_btn:after {
    content: "";
    width: 2.34px;
    height: 12.87px;
    background-color: #197ec4;
    display: block;
    -webkit-transform: rotate(18deg);
            transform: rotate(18deg);
    position: absolute;
    right: 29.25px;
    bottom: 0;
  }
  .blue_btn_group .blue_btn {
    background-color: #197ec4;
    width: 100%;
    height: 74.88px;
    border-radius: 58.5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    font-size: 21.06px;
    font-weight: 900;
    letter-spacing: 2.34px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform, animation, position;
  }
  .blue_btn_group .blue_btn:hover {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  .blue_btn_group .blue_btn:hover {
    opacity: 1;
  }
  .blue_btn_group .blue_btn span {
    font-size: 16.38px;
    font-weight: 900;
    color: #197ec4;
    background-color: #ffffff;
    width: 49.14px;
    line-height: 25.74px;
    text-align: center;
    border-radius: 5.85px;
    margin-right: 9.36px;
  }
}
/*# sourceMappingURL=style.css.map */