/* CSS Document */

  html, body, div, span, applet, object, iframe,
  h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  a, abbr, acronym, address, big, cite, code,
  del, dfn, em, img, ins, kbd, q, s, samp,
  small, strike, strong, sub, sup, tt, var,
  b, u, i, center,
  dl, dt, dd, ol, ul, li,
  fieldset, form, label, legend,
  table, caption, tbody, tfoot, thead, tr, th, td,
  article, aside, canvas, details, embed,
  figure, figcaption, footer, header, hgroup,
  menu, nav, output, ruby, section, summary,
  time, mark, audio, video{
      margin: 0;
      padding: 0;
      border: 0;
      font-size: 100%;
      vertical-align: baseline;
      word-break: break-all;
      color: #031849;
      font-style: normal;
      font-size: 16px;
  }
  img[width="0"],img[width="1"]{
      display: none;
  }
  article, aside, details, figcaption, figure,
  footer, header, hgroup, menu, nav, section{
      display: block;
  }
  html { scroll-behavior: smooth;}
  body{
      line-height: 1.2;
      position: relative;
      font-family: 'Roboto', "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  }
  ol, ul{
      list-style: none;
  }
  blockquote, q{
      quotes: none;
  }
  blockquote:before, blockquote:after,
  q:before, q:after{
      content: "";
      content: none;
  }
  table{
      border-collapse: collapse;
      border-spacing: 0;
  }
  pre{
      white-space: pre-wrap;
  }
  a{
      color: #333;
      text-decoration:  none;
  }
  a:hover{
      text-decoration: underline;
  }
  a:hover img{
      opacity: 0.8;
  }

  /* Variables
  -------------------------------------------------------------- */
  :root {

      --color-primary: #4589C8;
      --color-primary-light: #d9e9f9;
      --color-primary-dark: #3253A1;
      --color-secondary: #f0a348;
      --color-warning: #df0000;
      --color-text: #333;
      --color-text-sub: #888;
      --color-text-light: #bebebe;
      --color-underline: #f3ed9b;
      --color-background: #f2f6fa;
      --color-bg-primary: #d9e9f9;
      --color-bg-gray: #eee;
      --color-bg-gray-dark: #333;
      --color-line: #d1d1d1;
      --color-line-light: #eee;

      /* select/input border color */
      --fudou--select-input-border-color: #d1d1d1;

      /* Submit Button color */
      --fudou--button-text-color: #fff;
      --fudou--button-text-hover-color: #fff;
      --fudou--button-background-color: #4589C8;
      --fudou--button-shadow-color: #0060a0;
      --fudou--button-background-hover-color: #2377c5;
      --fudou--button-background-dark: #3253A1;
      --fudou--button-shadow-dark: #002785;
      --fudou--button-background-hover-dark: #1944b5;
      --fudou--button-background-secondary: #f0a348;
      --fudou--button-shadow-secondary: #b16d1d;
      --fudou--button-background-hover-secondary: #f19223;
      --fudou--button-background-gray: #ccc;
      --fudou--button-shadow-gray: #999;
      --fudou--button-background-hover-gray: #bbb;


      /* kakaku color */
      --fudou--bukken-kakaku-color: #a82000;

      /* new mark color */
      --fudou--new-mark-background-color: #a82000;
      /* up mark color */
      --fudou--up-mark-background-color: #a82000;

  }


  /* BaseStyle */

  .pc_only{ display: block !important;}
  .sp_only{ display: none !important;}

  .pc_colWrap { flex-direction: row !important; align-items: flex-start !important;}
  .pc_col2{ width: 50% !important;}
  .pc_col3{ width: 33% !important;}
  .pc_col4{ width: 25% !important;}

  .disp_no{ display: none !important;}
  .disp_fx{ display: flex !important;}
  .disp_bk{ display: block !important;}
  .disp_in{ display: inline !important;}
  .disp_inbk{ display: inline-block !important;}

  .textA_cnt{ text-align: center !important;}

  .jtfC_cnt{ justify-content: center !important;}

  .c_blk{ color: #031849 !important;}
  .c_red{ color: #F85C5F !important;}
  .bg_primaryGrd{
    display: inline-block;
    background: linear-gradient(90deg, #0E4BDF, #23CEAF 100%);
    background: -webkit-linear-gradient(0deg, #0E4BDF, #23CEAF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .fz_12{ font-size: 12px !important;}
  .fz_16{ font-size: 16px !important;}
  .fz_20{ font-size: 20px !important;}
  .fz_24{ font-size: 24px !important;}
  .fz_28{ font-size: 28px !important;}
  .fz_32{ font-size: 32px !important;}
  .fz_40{ font-size: 40px !important;}
  .fz_52{ font-size: 52px !important;}

  .fz_70p{ font-size: 70% !important;}
  .fz_80p{ font-size: 80% !important;}
  .fz_90p{ font-size: 90% !important;}
  .fz_100p{ font-size: 100% !important;}
  .fz_120p{ font-size: 120% !important;}
  .fz_130p{ font-size: 130% !important;}
  .fz_140p{ font-size: 140% !important;}
  .fz_150p{ font-size: 150% !important;}
  .fz_200p{ font-size: 200% !important;}

  .fw_b{ font-weight: bold !important;}
  .fw_n{ font-weight: normal !important;}

  .w20p{ width: 20% !important;}
  .w25p{ width: 25% !important;}
  .w30p{ width: 30% !important;}
  .w33p{ width: 33% !important;}
  .w40p{ width: 40% !important;}
  .w50p{ width: 50% !important;}
  .w60p{ width: 60% !important;}
  .w70p{ width: 70% !important;}
  .w80p{ width: 80% !important;}
  .w90p{ width: 90% !important;}
  .w100p{ width: 100% !important;}

  .h100p{ height: 100% !important;}

  .pad0{ padding: 0 !important;}
  .pad8{ padding: 8px !important;}
  .pad16{ padding: 16px !important;}
  .pad24{ padding: 24px !important;}
  .pad32{ padding: 32px !important;}
  .pad40{ padding: 40px !important;}
  .pad48{ padding: 48px !important;}
  .pad56{ padding: 56px !important;}
  .pad64{ padding: 64px !important;}

  .padT0{ padding-top: 0 !important;}
  .padT8{ padding-top: 8px !important;}
  .padT16{ padding-top: 16px !important;}
  .padT24{ padding-top: 24px !important;}
  .padT32{ padding-top: 32px !important;}
  .padT40{ padding-top: 40px !important;}

  .padR0{ padding-right: 0 !important;}
  .padR8{ padding-right: 8px !important;}
  .padR16{ padding-right: 16px !important;}
  .padR24{ padding-right: 24px !important;}
  .padR32{ padding-right: 32px !important;}
  .padR40{ padding-right: 40px !important;}

  .padB0{ padding-bottom: 0 !important;}
  .padB8{ padding-bottom: 8px !important;}
  .padB16{ padding-bottom: 16px !important;}
  .padB24{ padding-bottom: 24px !important;}
  .padB32{ padding-bottom: 32px !important;}
  .padB40{ padding-bottom: 40px !important;}

  .padL0{ padding-left: 0 !important;}
  .padL8{ padding-left: 8px !important;}
  .padL16{ padding-left: 16px !important;}
  .padL24{ padding-left: 24px !important;}
  .padL32{ padding-left: 32px !important;}
  .padL40{ padding-left: 40px !important;}

  .mgn0{ margin: 0 !important;}
  .mgn8{ margin: 8px !important;}
  .mgn16{ margin: 16px !important;}
  .mgn24{ margin: 24px !important;}
  .mgn32{ margin: 32px !important;}
  .mgn40{ margin: 40px !important;}
  .mgn48{ margin: 48px !important;}
  .mgn56{ margin: 56px !important;}
  .mgn64{ margin: 64px !important;}

  .mgnT0{ margin-top: 0 !important;}
  .mgnT8{ margin-top: 8px !important;}
  .mgnT16{ margin-top: 16px !important;}
  .mgnT24{ margin-top: 24px !important;}
  .mgnT32{ margin-top: 32px !important;}
  .mgnT40{ margin-top: 40px !important;}

  .mgnR0{ margin-right: 0 !important;}
  .mgnR8{ margin-right: 8px !important;}
  .mgnR16{ margin-right: 16px !important;}
  .mgnR24{ margin-right: 24px !important;}
  .mgnR32{ margin-right: 32px !important;}
  .mgnR40{ margin-right: 40px !important;}

  .mgnB0{ margin-bottom: 0 !important;}
  .mgnB8{ margin-bottom: 8px !important;}
  .mgnB16{ margin-bottom: 16px !important;}
  .mgnB24{ margin-bottom: 24px !important;}
  .mgnB32{ margin-bottom: 32px !important;}
  .mgnB40{ margin-bottom: 40px !important;}
  .mgnB48{ margin-bottom: 48px !important;}
  .mgnB56{ margin-bottom: 56px !important;}
  .mgnB64{ margin-bottom: 64px !important;}
  .mgnB72{ margin-bottom: 72px !important;}
  .mgnB80{ margin-bottom: 80px !important;}
  .mgnB88{ margin-bottom: 88px !important;}
  .mgnB96{ margin-bottom: 96px !important;}

  .mgnL0{ margin-left: 0 !important;}
  .mgnL8{ margin-left: 8px !important;}
  .mgnL16{ margin-left: 16px !important;}
  .mgnL24{ margin-left: 24px !important;}
  .mgnL32{ margin-left: 32px !important;}
  .mgnL40{ margin-left: 40px !important;}

  .mgn0a{ margin: 0 auto !important;}

  .bgC_lgray{ background: #F5F5F5 !important;}
  .bgC_wht{ background: #FFF !important;}

  .bxS_bb{ -webkit-box-sizing: border-box !important; box-sizing: border-box !important;}
  .bxS_cb{ -webkit-box-sizing: content-box !important; box-sizing: content-box !important;}

  /* style */

  .wrapper{
      width: 100%;
  }

  header {
      position: relative;
      width: 100%;
      background-color: #fff;
      z-index: 1000;
  }

  header#brand div {
      display: flex;
      max-width: 1240px;
      width: 100%;
      margin: 0 auto;
      padding: 1.1em 1em 1em;
      /* padding: 1.1em 1em 1em; */
      box-sizing: border-box;
  }

  /* Footer  */
  #colophon {
      max-width: 1240px;
      width: 100%;
      margin: 40px auto 0px;
      padding: 20px 5px;
      border-top: 3px solid var(--color-line);
      box-sizing: border-box;
  }

  #colophon .nav-block {
      display: flex;
      justify-content: space-between;
      padding: 0 20px;
  }
  #footer-widget-area {
      width: calc(100% - 300px);
  }
  #footer-widget-area .menu-footer_menu-container {
      margin: 8px 0 30px;
  }
  #footer-widget-area .menu-footer_menu-container a {
      color: var(--color-text);
  }
  #footer-widget-area .menu-footer_menu-container ul {
      display: flex;
      justify-content: flex-end;
  }
  #footer-widget-area .menu-footer_menu-container ul li {
      padding: 0 15px;
      border-right: 1px solid var(--color-text);
  }
  #footer-widget-area .menu-footer_menu-container ul li:last-child {
      padding-right: 0;
      border: none;
  }


  /* Copyright  */
  #colophon p.copybox {
      border-top: 1px solid var(--color-line);
      clear: both;
      padding: 10px;
      text-align: center;
  }
  #colophon small {
      margin: 10px auto;
      font-size: 13px;
  }


  img.custom-logo {width: 265px;}

  .main-header{
    background: url("./images/bg-blur.png") no-repeat top 180px center;
    background-size: 75% 75%;
    margin-bottom: 80px;
  }

  .main-header-top,
  .main-header-bottom,
  .main-content-inner,
  .main-content{
    width: 1096px;
    margin: 0 auto;
  }

  .main-header .main-header-top{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 80px;
  }

  .main-header .main-header-img{
    width: 480px;
  }

  .main-header .main-header-copy img{
    width: 380px;
    margin-right: 40px;
  }

  .main-header-bottom{
    text-align: center;
    padding: 40px 0;
  }

  .content-title{
    text-align: center;
    font-weight: bold;
    font-size: 28px;
    margin-bottom: 32px;
  }

  .content-title:after{
    content: "";
    height:  4px;
    width: 80px;
    border-top: solid 1px #031849;
    border-bottom: solid 1px #031849;
    display: block;
    margin: 24px auto 32px;
  }

  .content-list{
    width: 680px;
    margin: 0 auto 32px;
  }

  .content-list li{
    font-size: 18px;
    font-weight: bold;
  }

  .content-list li.icon-square{
    text-align: left;
    display: flex;
    align-items: flex-start;
    margin-bottom: 16px;
  }

  .content-list li.icon-square::before{
    content: "";
    height: 25px;
    width: 25px;
    display: block;
    background: url("./images/icon-rectangle.png") no-repeat center;
    margin-right: 16px;
    background-size: 100% 100%;
    min-width: 25px;
    }

  .content-sub_title{
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 16px;
    text-align: center;
    display: block;
  }

  .main-content .point-list{
    display: flex;
    justify-content: space-between;
  }

  .main-content .point-list li{
    background-color: #EFF4FF;
    background: url("./images/icon-mh.png") no-repeat center bottom -140px #EFF4FE;
    background-size: 80% 80%;
    border-radius: 16px;
    width: 32%;
    text-align: center;
    padding: 32px 24px 40px;
    box-sizing: border-box;
  }

  .main-content .content-box{
    background-color: #EFF4FF;
    background: url("./images/icon-mh.png") no-repeat right bottom -180px #EFF4FE;
    background-size: 452px 305px;
    border-radius: 16px;
    width: 100%;
    text-align: center;
    padding: 32px 24px 40px;
    box-sizing: border-box;
    display: flex;
    align-items: flex-start
  }

  .main-content .content-box .content-staff{
    text-align: left;
  }

  .main-content .content-box .content-staff .bg_primaryGrd{
    line-height: 1.4;
  }

  .main-content .content-box .content-staff p,
  .main-content .content-box .content-vision p{
    line-height: 1.5;
  }

  .main-content .content-box .content-vision{
    text-align: left;
  }

  .main-content .content-box .content-img{
    height: auto;
  }

  .main-content .point-list li h3{
    font-size: 28px;
    margin: 24px 0 32px;
  }

  .main-content .point-list li p{
    line-height: 1.5;
  }

  .main-content .point-list li .label-point img{
    width: 148px;
  }

  .main-content_contact{
    width: 100%;
    margin-top: 120px;
    background: linear-gradient(90deg, #0E4BDF, #23CEAF 100%);
    background: -webkit-linear-gradient(0deg, #0E4BDF, #23CEAF 100%);
    padding: 80px 0;
  }

  .main-content_contact .main-content-inner{
    display: flex;
    justify-content: space-between;
  }

  .main-content_contact .main-content-inner .main-content-message{
    width: 480px;
  }

  .main-content_contact .main-content-inner .main-content-message .message-img img{
    width: 320px;
  }

  .main-content_contact .main-content-inner .main-content-message .message-text{
    font-size: 28px;
    margin-bottom: 40px;
    color: #FFF;
  }

  .main-content_contact .main-content-inner .main-content-info{
    padding: 48px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 1);
    box-shadow: 0px 1px 24px 0px rgba(0, 78, 132, 0.3);
    border-radius: 16px;
  }

  .main-content_contact .main-content-inner .main-content-info .flow-list li{
    display: flex;
    align-items: flex-start;
    margin-bottom: 24px;
  }

  .main-content_contact .main-content-inner .main-content-info .flow-list li h3{
    margin-bottom: 8px;
  }

  .main-content_contact .main-content-inner .main-content-info .flow-list li img{
    width: 62px;
    margin: 0 16px 0 0;
  }

  .main-content_contact .main-content-inner .main-content-info .flow-title{
    font-size: 28px;
    margin-bottom: 32px;
    text-align: center;
    display: block;
  }

  .main-header-tab .tab-list{
    width: 880px;
    display: flex;
    margin: 0 auto 40px;
  }


/* ‚±‚± */

.btn:active, .btn:link, .btn:visited {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}

a:link {
    cursor: pointer;
}
.btn-large, .btn-large span {
    position: relative;
    width: 360px;
    height: 80px;
    box-sizing: border-box;
    padding: 0 0 0 75px;
    font-size: 18px;
}
.btn {
    position: relative;
    display: block;
    box-sizing: border-box;
    border-radius: 5px;
    font-weight: 700;
    text-align: center;
    transition: .2s ease;
    overflow: hidden;
}
.btn-mail span {
    color: #ef9b38;
}
.btn-large span {
    position: absolute;
    left: 12px;
    top: 12px;
    width: 56px;
    height: 56px;
    padding: 13px 0 0;
    border-radius: 5px;
    background: #fff;
    font-size: 14px;
    text-align: center;
    line-height: 1.1;
}
.btn-large b {
    line-height: 80px;
    color: #fff;
}

.btn-large b:before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 15px;
    margin: 0 8px 0 0;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
    vertical-align: -2px;
}


.btn-blue {
    background: #265DE2;
    border: 2px solid #fff;
    /*box-shadow: 0 5px 0 0 #135784;*/
}
.btn-web span {
    /*color: #1681c9;*/
    color: #265DE2
}
.btn-large b {
    line-height: 80px;
}
.btn-web b:before {
    background-image: url(./images/web.png);
}


a:hover {
  opacity: 0.8;
}


  /* --------------------------------------
      SP
  --------------------------------------- */

  @media screen and (max-width: 640px){

      body{
        padding-top: 80px;
        -webkit-appearance: none;
        -webkit-text-size-adjust: 100%;
      }
      /* BaseStyle */
      .pc_colWrap { flex-direction:column !important;}
      .pc_col2{ width: 100% !important;}
      .pc_col3{ width: 100% !important;}
      .pc_col4{ width: 100% !important;}

      .sp_only{ display: block !important;}
      .pc_only{ display: none !important;}

      .main-header-top,
      .main-header-bottom,
      .main-content-inner,
      .main-content{
        width: 100%;
        margin: 0 auto;
      }
      .main-content,
      .main-header{
        padding: 0 20px;
        box-sizing: border-box;
      }
      .main-header .main-header-top{
        flex-direction: column;
      }
      .main-header .main-header-img{
        width: 70%;
      }
      .main-header .main-header-copy img{
        width: 100%;
        margin-right: 0;
        margin-bottom: 40px;
      }
      .main-header-tab .tab-list{
        width: 100%;
        display: flex;
      }
      .content-list{
        width: 100%;
      }
      .main-content .point-list{
        flex-direction: column;
      }
      .main-content .point-list li{
        width: 100%;
        margin-bottom: 24px;
      }
      .main-content_contact .main-content-inner{
        flex-direction: column;
      }
      .main-content_contact .main-content-inner .main-content-message{
        width: 100%;
        text-align: center;
        margin-bottom: 40px;
      }
      .main-content .point-list li{
        padding: 32px 24px;
        min-height: 245px;
      }
      .main-content .point-list li h3{
        margin: 16px 0;
      }

      .main-content+.main-content_contact{
        padding-top: 80px;
        padding-bottom: 80px;
      }
      .main-content_contact .main-content-inner .main-content-info{
        padding: 40px 24px;
      }
      .main-content_contact .main-content-inner .main-content-info .flow-list li {
        align-items: flex-start;
        margin-bottom: 32px;
      }
    .main-content .content-box .content-img {
        width: 100%;
        height: auto;
    }
    /* Heaer */
    body {
        padding-top: 5px;
        -webkit-appearance: none;
        -webkit-text-size-adjust: 100%;
    }
    img.custom-logo {
        width: 80%;
        margin:0 15px;
    }
    /* Footer */
    #colophon .nav-block {
        display: block;
        justify-content: space-between;
        padding: 0 20px;
    }
    #footer-widget-area {
        width: 100%;
    }        
    .main-content .content-box{
        background-color: #EFF4FF;
        background: url("./images/icon-mh.png") no-repeat right bottom -180px #EFF4FE;
        background-size: 452px 305px;
        border-radius: 16px;
        width: 100%;
        text-align: center;
        padding: 32px 24px 40px;
        box-sizing: border-box;
        display: block;
    }
    .btn{
        width: 100% !important;
        
    }

}
