@charset "utf-8";/* CSS Document */*, ::before, ::after {  box-sizing: border-box;}html {  font-size: 62.5%;}body {  position: relative;  width: 100%;  margin: 0;  padding: 0;  font-family: 'Zen Kaku Gothic New', YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";  font-style: normal;  font-weight: 500;  font-size: 1.2rem;  color: #333;  -webkit-text-size-adjust: none;  -webkit-font-smoothing: antialiased;  z-index: 0;  font-feature-settings: "pkna"1;  overflow-x: hidden;}a {  text-decoration: none;}h1, h2, h3, h4, h5, h6 {  margin-bottom: 0;  font-weight: 400;  font-size: inherit;  font-feature-settings: "palt";  line-height: 1.65;}p {  margin-bottom: 0;}pre {  margin-bottom: 0;}dl {  margin-bottom: 0;}ul {  margin-bottom: 0;}ol {  margin-bottom: 0;  list-style: decimal;  padding-left: 1em;}img{    max-width: 100%;    height: auto;}/*-----------------------------------------------------------------*/#header{    position: fixed;    top: 0;    left: 0;    display: flex;    align-items: center;    justify-content: space-between;    width: 100%;    padding: 0 1rem;    height: 140px;    background: #FFFFFF;    z-index: 100;}.logo{    padding: 1rem 1rem 1rem 5rem;}.h_r{    margin-left: auto;    display: flex;    justify-content: space-between;}.gnav{    display: flex;    align-items: center;}.gnav ul{    display: flex;    justify-content: space-between;    align-items: center;}.gnav ul li{    font-size: 1.6rem;    text-align: center;    margin-right: 3rem;}.gnav ul li a{    position: relative;    transition: 0.3s;    display: inline-block;}.gnav ul li a::after{    position: absolute;    bottom: -5px;    left: 0;    content: "";  transition: 0.3s;    width: 0;    height: 3px;    border-radius: 3px;    background: #004AAD;}.gnav ul li a:hover::after{    width: 100%;}.gnav ul li span{    display: block;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 400;    color: #004AAD;    margin-top: 0.5rem;}.h_tel{    padding: 0 5rem}main{    margin-top: 140px;}.mv{    position: relative;    margin-bottom: 3rem;}.catch{    position: absolute;    top: 50%;    left: 50%;    transform: translate(-50%,-50%);    font-size: 4.8rem;    color: #FFFFFF;    text-align: center;    letter-spacing: 0.1em;    line-height: 1.6;    font-family: 'Zen Old Mincho', serif;    font-weight: 600;}.greeting{    background: url("images/greeting_bg.png") no-repeat top center;    background-size: cover;    padding: 3% 0;}.wrap{    max-width: calc(1500px + 6%);    margin: 0 auto;    padding: 3%;}.flex{    display: flex;    justify-content: space-between;    flex-wrap: wrap;}.flexttl{    font-size: 3.8rem;    font-weight: 600;    line-height: 1.6;    letter-spacing: 0.1em;    color: #FFFFFF;    margin-bottom: 5rem;    font-family: 'Zen Old Mincho', serif;}.greeting .flex p{    font-size: 1.6rem;    font-weight: 500;    letter-spacing: 0.1em;    line-height: 1.6;    color: #FFFFFF;}.greeting .flex .txt{    width: 56%;}.greeting .flex .img{    width: 40%;}.business{    background: url("images/business_bg.png") no-repeat top center;    background-size: cover;    position: relative;}.business::before{    content: "";    position: absolute;    margin-bottom: 0;    background: url("images/business_bg_un.png") no-repeat bottom center;    width: 100%;    height: 100%;}.h3_ttl{    font-size: 3.8rem;    font-weight: 600;    text-align: center;    padding-bottom: 2rem;    position: relative;    margin-bottom: 8rem;}.h3_ttl span{    display: block;    font-size: 2rem;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 500;    color: #004AAD;}.h3_ttl::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 5px;    border-radius: 5px;    background: #004AAD;    width: 10rem;}.business p{    font-size: 1.8rem;    margin-bottom: 5rem;    line-height: 1.6;    letter-spacing: 0.1em;    text-align: center;}.business .wrap{    position: relative;}.business .flex .b_box{    width: calc(100% / 4);    padding: 0 2rem;}.business .b_box p{    font-size: 2rem;    font-weight: 600;    text-align: center;    padding: 1rem 0;}.business .b_box img{    box-shadow: 10px 10px 16px -4px #a4a4a4;}.btn{    padding: 5rem;    text-align: center;    margin-bottom: 5rem;}.btn a{    padding: 2rem 8rem 2rem 2rem;    font-size: 1.8rem;    color: #FFFFFF;    background: #004AAD;    position: relative;}.btn a::before{    content: "";    background: url("images/arrow-forward.png")no-repeat top center;    background-size: cover;    width: 10px;    height: 16px;    position: absolute;    top: 50%;    right: 2rem;    transform: translateY(-50%);}.info{    background: #505050;    color: #FFFFFF;    padding: 3% 0;}.info .wrap{    max-width: calc(1000px + 6%);}.info_ttl span{    font-size: 5rem;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 500;    display: block;    letter-spacing: 0.1em;}.info_ttl{    font-size: 1.8rem;    font-weight: 600;    letter-spacing: 0.1em;    margin-bottom: 3rem;}.info_txt{    border-top: 1px solid #FFFFFF;    padding-top: 3rem;}.info_txt li{    font-size: 1.8rem;    padding: 3rem;    margin-bottom: 3rem;    border-bottom: 1px dashed #CCCCCC;}.info_txt li dl{    display: flex;}.info_txt li dl dt{    margin-right: 5rem;}.area{    background: url("images/area_bg.png")no-repeat top center;    background-size: cover;    padding: 8% 3%;}.area_ttl{    font-size: 1.8rem;    font-weight: 600;    letter-spacing: 0.1em;    margin-bottom: 5rem;}.area_ttl span{    font-size: 5rem;    color: #004AAD;    font-family: futura-pt, sans-serif;    font-style: normal;    display: block;}.area p{    font-size: 1.8rem;    font-weight: 500;    letter-spacing: 0.1em;    line-height: 1.6;}.area .wrap{    max-width: calc(1200px + 3%);}.contact{    background: url("images/contact_bg.png")no-repeat top center;    background-size: cover;    padding: 8% 3%;}.contact .wrap{    max-width: calc(800px + 6%);}.contact_ttl{    color: #FFFFFF;    font-size: 1.8rem;    margin-bottom: 5rem;    text-align: center;}.contact_ttl span{    font-size: 8rem;    font-weight: 700;    font-family: futura-pt, sans-serif;    font-style: normal;    display: block;}.contact p{    text-align: center;    color: #FFFFFF;    letter-spacing: 0.1em;    line-height: 1.6;    margin-bottom: 5rem;    font-size: 1.8rem;}.footerarea{    background: #004AAD;    color: #FFFFFF;}.footerarea .wrap{    display: flex;    justify-content: space-between;    max-width: 1800px;}        .footerarea p{    font-size: 1.6rem;}.footerarea nav li span{    color: #FFFFFF;}.pagetop{    padding: 2rem;}.copy{    border-top: 1px solid #FFFFFF;    padding: 1rem;    font-size: 1.6rem;    text-align: center;    background: #004AAD;    color: #FFFFFF;}.fadeInUpTrigger,.fadeInDownTrigger,.fadeInUpTriggerOnce{    opacity:0;}#page-top a{  text-transform: uppercase;  transition: all 0.3s;}/*------------------------------------------------------------------ハンバーガーメニュー-------------------------------------------------------------------*/#g-nav{    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/    position:fixed;    z-index: 999;    /*ナビのスタート位置と形状*/  top:0;    right: -120%;  width:100%;    height: 100vh;/*ナビの高さ*/  background:#406ACC;    /*動き*/  transition: all 0.6s;}/*アクティブクラスがついたら位置を0に*/#g-nav.panelactive{    right: 0;}/*ナビゲーションの縦スクロール*/#g-nav.panelactive #g-nav-list{    /*ナビの数が増えた場合縦スクロール*/    position: fixed;    z-index: 999;     width: 100%;    height: 100vh;/*表示する高さ*/    overflow: auto;    -webkit-overflow-scrolling: touch;}/*ナビゲーション*/#g-nav ul {    /*ナビゲーション天地中央揃え*/    position: absolute;    z-index: 999;    top:50%;    left:50%;    transform: translate(-50%,-50%);}/*リストのレイアウト設定*/#g-nav li{  list-style: none;    text-align: center;    font-size: 1.6rem;    border-bottom: 1px solid #FFFFFF;}#g-nav li a{  color: #FFFFFF;  text-decoration: none;  padding:10px;  display: block;  text-transform: uppercase;  letter-spacing: 0.1em;  font-weight: bold;}#g-nav ul li span{    display: block;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 400;    color: #FFFFFF;    margin-top: 0.5rem;}/*========= ボタンのためのCSS ===============*/.openbtn1{  position:fixed;    z-index: 9999;/*ボタンを最前面に*/  top:0;  right: 0;  cursor: pointer;    width: 100px;    height:100px;    background: #004AAD;}  /*×に変化*/  .openbtn1 span{    display: inline-block;    transition: all .4s;    position: absolute;    left: 28px;    height: 3px;    border-radius: 2px;  background-color: #FFFFFF;    width: 45%;  }.openbtn1 span:nth-of-type(1) {  top:36px; }.openbtn1 span:nth-of-type(2) {  top:44px;}.openbtn1 span:nth-of-type(3) {  top:52px;}.openbtn1.active span:nth-of-type(1) {    top: 39px;    left: 36px;    transform: translateY(6px) rotate(-45deg);    width: 30%;}.openbtn1.active span:nth-of-type(2) {  opacity: 0;}.openbtn1.active span:nth-of-type(3){    top: 51px;    left: 36px;    transform: translateY(-6px) rotate(45deg);    width: 30%;}/*--------------------------------------------------------------------------下層ページ--------------------------------------------------------------------------*/.h2_ttl{    background: url("images/h2_ttl.png") no-repeat top center;    background-size: cover;    padding: 15rem 0;    text-align: center;    color: #FFFFFF;    font-size: 5rem;    font-weight: 600;    letter-spacing: 0.1em;    margin-bottom: 5rem;}.h2_ttl span{    display: block;    font-size: 2.8rem;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 700;}.container{    max-width: calc(1200px + 6%);    margin: 0 auto;    padding: 3%;}.h3{    text-align: center;    font-size: 3.8rem;    font-weight: 600;    position: relative;    padding-bottom: 2rem;    margin-bottom: 5rem;}.h3::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 5px;    border-radius: 3px;    background: #004AAD;    width: 10rem;}.h4_ttl{    font-size: 2.8rem;    font-weight: 600;    padding: 1rem 0 2rem 3rem;    border-bottom: 1px solid #406ACC;    margin-bottom: 3rem;    border-left: 10px solid #406ACC;}.box .flex{    margin-bottom: 8rem;}.txt{    width: 50%;}.img{    width:  46%;}.txt p{    font-size: 1.8rem;    line-height: 1.6;    letter-spacing: 0.1em;    font-weight: 400;    margin-bottom: 1rem;}.rev{    flex-flow: row-reverse;}#table01 {    width: 80%;    margin: 0 auto 3rem;    font-size: 1.8rem;}#table01 tr {    border-bottom: 1px solid #b5b1b1;}#table01 th {    width: 30%;    vertical-align: middle;}#table01 th, #table01 td {    padding: 24px 0;    border: none;}.Form {  margin-top: 80px;  margin-left: auto;  margin-right: auto;  max-width: 720px;}@media screen and (max-width: 480px) {  .Form {    margin-top: 40px;  }}.Form-Item {  padding-top: 24px;  padding-bottom: 24px;  width: 100%;  display: flex;  align-items: center;}@media screen and (max-width: 480px) {  .Form-Item {    padding-left: 14px;    padding-right: 14px;    padding-top: 16px;    padding-bottom: 16px;    flex-wrap: wrap;  }}.Form-Item:nth-child(5) {}.Form-Item-Label {  width: 100%;  max-width: 248px;  letter-spacing: 0.05em;  font-weight: bold;  font-size: 18px;}@media screen and (max-width: 480px) {  .Form-Item-Label {    max-width: inherit;    display: flex;    align-items: center;    font-size: 15px;  }}.Form-Item-Label.isMsg {  margin-top: 8px;  margin-bottom: auto;}@media screen and (max-width: 480px) {  .Form-Item-Label.isMsg {    margin-top: 0;  }}.Form-Item-Label-Required {  border-radius: 6px;  margin-right: 8px;  padding-top: 8px;  padding-bottom: 8px;  width: 48px;  display: inline-block;  text-align: center;  background: #d04444;  color: #fff;  font-size: 14px;}@media screen and (max-width: 480px) {  .Form-Item-Label-Required {    border-radius: 4px;    padding-top: 4px;    padding-bottom: 4px;    width: 32px;    font-size: 10px;  }}.Form-Item-Input {  border: 1px solid #ddd;  border-radius: 6px;  margin-left: 40px;  padding-left: 1em;  padding-right: 1em;  height: 48px;  flex: 1;  width: 100%;  max-width: 410px;  background: #eaedf2;  font-size: 18px;}@media screen and (max-width: 480px) {  .Form-Item-Input {    margin-left: 0;    margin-top: 18px;    height: 40px;    flex: inherit;    font-size: 15px;  }}.Form-Item-Textarea {  border: 1px solid #ddd;  border-radius: 6px;  margin-left: 40px;  padding-left: 1em;  padding-right: 1em;  height: 216px;  flex: 1;  width: 100%;  max-width: 410px;  background: #eaedf2;  font-size: 18px;}@media screen and (max-width: 480px) {  .Form-Item-Textarea {    margin-top: 18px;    margin-left: 0;    height: 200px;    flex: inherit;    font-size: 15px;  }}.Form-Btn {  border-radius: 6px;  margin-top: 32px;  margin-left: auto;  margin-right: auto;  padding-top: 20px;  padding-bottom: 20px;  width: 280px;  display: block;  letter-spacing: 0.05em;  background: #004aad;  color: #fff;  font-weight: bold;  font-size: 1.8rem;    text-align: center;}@media screen and (max-width: 480px) {  .Form-Btn {    margin-top: 24px;    padding-top: 8px;    padding-bottom: 8px;    width: 160px;    font-size: 16px;  }}.container p{    font-size: 1.8rem;    line-height: 1.6;    letter-spacing: 0.1em;    margin-bottom: 1rem;}.flow_design02 {  display: flex;  justify-content: center;  align-items: center;}.flow_design02 ul {  padding: 0;}.flow_design02 li {  list-style-type: none;}.flow_design02 dd {  margin-left: 0;    font-size: 1.8rem;    letter-spacing: 0.1em;}.flow02 > li {  padding: 40px 10px;}.flow02 > li:not(:last-child) {  border-bottom: 3px solid #004AAD;  position: relative;}.flow02 > li:not(:last-child)::before,.flow02 > li:not(:last-child)::after {  content: "";  border: solid transparent;  position: absolute;  top: 100%;  left: 15%;  -webkit-transform: translateX(-50%);  transform: translateX(-50%);}.flow02 > li:not(:last-child)::before {  border-width: 22px;  border-top-color: #004AAD;}.flow02 > li:not(:last-child)::after {  border-width: 18px;  border-top-color: #fff;}.flow02 > li dl {  margin: 0;}.flow02 > li dl dt {  font-size: 3rem;  font-weight: 600;  border-bottom: 2px dotted #878787;  margin-bottom: 0.5em;  padding-bottom: 0.5em;  display: flex;    letter-spacing: 0.1em;}.flow02 > li dl dt .icon02 {  font-size: 0.6em;  color: #fff;  background: #004AAD;  padding: 5px 10px;  display: inline-block;  margin-right: 0.5em;}/*--------------------------------------------------------------------------pc--------------------------------------------------------------------------*/@media only screen and (min-width: 846px){        .sp-only    {        display: none!important;    }    .tab-only    {        display: none!important;    }    .sp-tab-only    {        display: none!important;    }    }/*--------------------------------------------------------------------------tablet--------------------------------------------------------------------------*/@media only screen and (min-width: 560px) and (max-width: 845px) {  .sp-only {    display: none !important;  }  .pc-only {    display: none !important;  }    #header{    position: fixed;    top: 0;    left: 0;    display: flex;    align-items: center;    justify-content: space-between;    width: 100%;    padding: 0 1rem;    height: 100px;    background: #FFFFFF;    z-index: 100;}.logo{    padding: 1rem 1rem 1rem 5rem;}.h_r{    margin-left: auto;    display: flex;    justify-content: space-between;}.gnav{    display: flex;    align-items: center;}.gnav ul{    display: flex;    justify-content: space-between;    align-items: center;}.gnav ul li{    font-size: 1.6rem;    text-align: center;    margin-right: 3rem;}.gnav ul li span{    display: block;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 400;    color: #004AAD;    margin-top: 0.5rem;}.h_tel{    padding: 0 5rem}main{    margin-top: 100px;}.mv{    position: relative;    margin-bottom: 3rem;}.catch{    position: absolute;    top: 50%;    left: 50%;    transform: translate(-50%,-50%);    font-size: 3.8rem;    color: #FFFFFF;    text-align: center;    letter-spacing: 0.1em;    line-height: 1.6;    font-family: 'Zen Old Mincho', serif;    font-weight: 600;    width: 100%;}.greeting{    background: url("images/greeting_bg.png") no-repeat top center;    background-size: cover;    padding: 3% 0;}.wrap{    max-width: calc(1500px + 6%);    margin: 0 auto;    padding: 3%;}.flex{    display: flex;    justify-content: space-between;    flex-wrap: wrap;}.flexttl{    font-size: 3.8rem;    font-weight: 600;    line-height: 1.6;    letter-spacing: 0.1em;    color: #FFFFFF;    margin-bottom: 5rem;    font-family: 'Zen Old Mincho', serif;}.greeting .flex p{    font-size: 1.6rem;    font-weight: 500;    letter-spacing: 0.1em;    line-height: 1.6;    color: #FFFFFF;}.greeting .flex .txt{    width: 70%;}.greeting .flex .img{    width: 30%;}.business{    background: url("images/business_bg.png") no-repeat top center;    background-size: cover;    position: relative;}.business::before{    content: "";    position: absolute;    margin-bottom: 0;    background: url("images/business_bg_un.png") no-repeat bottom center;    width: 100%;    height: 100%;}.h3_ttl{    font-size: 3.8rem;    font-weight: 600;    text-align: center;    padding-bottom: 2rem;    position: relative;    margin-bottom: 8rem;}.h3_ttl span{    display: block;    font-size: 2rem;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 500;    color: #004AAD;}.h3_ttl::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 5px;    border-radius: 5px;    background: #004AAD;    width: 10rem;}.business p{    font-size: 1.8rem;    margin-bottom: 5rem;    line-height: 1.6;    letter-spacing: 0.1em;    text-align: center;}.business .wrap{    position: relative;}.business .flex .b_box{    width: calc(100% / 2);    padding: 0 2rem;}.business .b_box p{    font-size: 2rem;    font-weight: 600;    text-align: center;    padding: 1rem 0;}.business .b_box img{    box-shadow: 10px 10px 16px -4px #a4a4a4;}.btn{    padding: 5rem;    text-align: center;    margin-bottom: 5rem;}.btn a{    padding: 2rem 8rem 2rem 2rem;    font-size: 1.8rem;    color: #FFFFFF;    background: #004AAD;    position: relative;}.btn a::before{    content: "";    background: url("images/arrow-forward.png")no-repeat top center;    background-size: cover;    width: 10px;    height: 16px;    position: absolute;    top: 50%;    right: 2rem;    transform: translateY(-50%);}.info{    background: #505050;    color: #FFFFFF;    padding: 3% 0;}.info .wrap{    max-width: calc(1000px + 6%);}.info_ttl span{    font-size: 5rem;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 500;    display: block;    letter-spacing: 0.1em;}.info_ttl{    font-size: 1.8rem;    font-weight: 600;    letter-spacing: 0.1em;    margin-bottom: 3rem;}.info_txt{    border-top: 1px solid #FFFFFF;    padding-top: 3rem;}.info_txt li{    font-size: 1.8rem;    padding: 3rem;    margin-bottom: 3rem;    border-bottom: 1px dashed #CCCCCC;}.info_txt li dl{    display: flex;}.info_txt li dl dt{    margin-right: 5rem;}.area{    background: url("images/area_bg.png")no-repeat top center;    background-size: cover;    padding: 8% 3%;}.area_ttl{    font-size: 1.8rem;    font-weight: 600;    letter-spacing: 0.1em;    margin-bottom: 5rem;}.area_ttl span{    font-size: 5rem;    color: #004AAD;    font-family: futura-pt, sans-serif;    font-style: normal;    display: block;}.area p{    font-size: 1.8rem;    font-weight: 500;    letter-spacing: 0.1em;    line-height: 1.6;}.area .wrap{    max-width: calc(1200px + 3%);}.contact{    background: url("images/contact_bg.png")no-repeat top center;    background-size: cover;    padding: 8% 3%;}.contact .wrap{    max-width: calc(800px + 6%);}.contact_ttl{    color: #FFFFFF;    font-size: 1.8rem;    margin-bottom: 5rem;    text-align: center;}.contact_ttl span{    font-size: 6rem;    font-weight: 600;    font-family: futura-pt, sans-serif;    font-style: normal;    display: block;}.contact p{    text-align: center;    color: #FFFFFF;    letter-spacing: 0.1em;    line-height: 1.6;    margin-bottom: 5rem;    font-size: 1.8rem;}.footerarea{    background: #004AAD;    color: #FFFFFF;}.footerarea .wrap{    display: flex;    justify-content: space-between;    max-width: 1800px;}        .footerarea p{    font-size: 1.6rem;}.footerarea nav li span{    color: #FFFFFF;}.pagetop{    padding: 2rem;}.copy{    border-top: 1px solid #FFFFFF;    padding: 1rem;    font-size: 1.6rem;    text-align: center;    background: #004AAD;    color: #FFFFFF;}    .tel_btn    {        margin-right: 90px;    }/*--------------------------------------------------------------------------下層ページ--------------------------------------------------------------------------*/.h2_ttl{    background: url("images/h2_ttl.png") no-repeat top center;    background-size: cover;    padding: 15rem 0;    text-align: center;    color: #FFFFFF;    font-size: 5rem;    font-weight: 600;    letter-spacing: 0.1em;    margin-bottom: 5rem;}.h2_ttl span{    display: block;    font-size: 2.8rem;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 700;}.container{    max-width: calc(1200px + 6%);    margin: 0 auto;    padding: 3%;}.h3{    text-align: center;    font-size: 3.8rem;    font-weight: 600;    position: relative;    padding-bottom: 2rem;    margin-bottom: 5rem;}.h3::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 5px;    border-radius: 3px;    background: #004AAD;    width: 10rem;}.h4_ttl{    font-size: 2.8rem;    font-weight: 600;    padding: 1rem 0 2rem 3rem;    border-bottom: 1px solid #406ACC;    margin-bottom: 3rem;    border-left: 10px solid #406ACC;}.box .flex{    margin-bottom: 8rem;}.txt{    width: 50%;}.img{    width:  46%;}.txt p{    font-size: 1.8rem;    line-height: 1.6;    letter-spacing: 0.1em;    font-weight: 400;    margin-bottom: 1rem;}.rev{    flex-flow: row-reverse;}#table01 {    width: 80%;    margin: 0 auto 3rem;    font-size: 1.8rem;}#table01 tr {    border-bottom: 1px solid #b5b1b1;}#table01 th {    width: 30%;    vertical-align: middle;}#table01 th, #table01 td {    padding: 24px 0;    border: none;}.Form {  margin-top: 80px;  margin-left: auto;  margin-right: auto;  max-width: 720px;}.Form-Item {  padding-top: 24px;  padding-bottom: 24px;  width: 100%;  display: flex;  align-items: center;}.Form-Item:nth-child(5) {}.Form-Item-Label {  width: 100%;  max-width: 248px;  letter-spacing: 0.05em;  font-weight: bold;  font-size: 18px;}.Form-Item-Label.isMsg {  margin-top: 8px;  margin-bottom: auto;}.Form-Item-Label-Required {  border-radius: 6px;  margin-right: 8px;  padding-top: 8px;  padding-bottom: 8px;  width: 48px;  display: inline-block;  text-align: center;  background: #d04444;  color: #fff;  font-size: 14px;}.Form-Item-Input {  border: 1px solid #ddd;  border-radius: 6px;  margin-left: 40px;  padding-left: 1em;  padding-right: 1em;  height: 48px;  flex: 1;  width: 100%;  max-width: 410px;  background: #eaedf2;  font-size: 18px;}.Form-Item-Textarea {  border: 1px solid #ddd;  border-radius: 6px;  margin-left: 40px;  padding-left: 1em;  padding-right: 1em;  height: 216px;  flex: 1;  width: 100%;  max-width: 410px;  background: #eaedf2;  font-size: 18px;}.Form-Btn {  border-radius: 6px;  margin-top: 32px;  margin-left: auto;  margin-right: auto;  padding-top: 20px;  padding-bottom: 20px;  width: 280px;  display: block;  letter-spacing: 0.05em;  background: #004aad;  color: #fff;  font-weight: bold;  font-size: 1.8rem;    text-align: center;}.container p{    font-size: 1.8rem;    line-height: 1.6;    letter-spacing: 0.1em;    margin-bottom: 1rem;}.flow_design02 {  display: flex;  justify-content: center;  align-items: center;}.flow_design02 ul {  padding: 0;}.flow_design02 li {  list-style-type: none;}.flow_design02 dd {  margin-left: 0;    font-size: 1.8rem;    letter-spacing: 0.1em;}.flow02 > li {  padding: 40px 10px;}.flow02 > li:not(:last-child) {  border-bottom: 3px solid #004AAD;  position: relative;}.flow02 > li:not(:last-child)::before,.flow02 > li:not(:last-child)::after {  content: "";  border: solid transparent;  position: absolute;  top: 100%;  left: 15%;  -webkit-transform: translateX(-50%);  transform: translateX(-50%);}.flow02 > li:not(:last-child)::before {  border-width: 22px;  border-top-color: #004AAD;}.flow02 > li:not(:last-child)::after {  border-width: 18px;  border-top-color: #fff;}.flow02 > li dl {  margin: 0;}.flow02 > li dl dt {  font-size: 3rem;  font-weight: 600;  border-bottom: 2px dotted #878787;  margin-bottom: 0.5em;  padding-bottom: 0.5em;  display: flex;    letter-spacing: 0.1em;}.flow02 > li dl dt .icon02 {  font-size: 0.6em;  color: #fff;  background: #004AAD;  padding: 5px 10px;  display: inline-block;  margin-right: 0.5em;}}/*--------------------------------------------------------------------------sp--------------------------------------------------------------------------*/@media screen and (max-width: 559px) {    .pc-only {    display: none !important;  }  .pc-tab-only {    display: none !important;  }    #header{    position: fixed;    top: 0;    left: 0;    display: flex;    align-items: center;    justify-content: space-between;    width: 100%;    padding: 0 1rem;    height: 65px;    background: #FFFFFF;    z-index: 100;}.logo{    padding: 1rem 1rem 1rem 1rem;    max-width: 50%;}.h_r{    margin-left: auto;    display: flex;    justify-content: space-between;}.gnav{    display: flex;    align-items: center;}.gnav ul{    display: flex;    justify-content: space-between;    align-items: center;}.gnav ul li{    font-size: 1.6rem;    text-align: center;    margin-right: 3rem;}.gnav ul li span{    display: block;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 400;    color: #004AAD;    margin-top: 0.5rem;}.h_tel{    padding: 0 5rem}main{    margin-top: 65px;}.mv{    position: relative;    margin-bottom: 3rem;    height: 40vh;}    .mv>img    {        height: 40vh;        object-fit: cover;    }.catch{    position: absolute;    top: 50%;    left: 50%;    transform: translate(-50%,-50%);    font-size: 2.8rem;    color: #FFFFFF;    text-align: center;    letter-spacing: 0.1em;    line-height: 1.6;    font-family: 'Zen Old Mincho', serif;    font-weight: 600;    width: 100%;}.greeting{    background: url("images/greeting_bg.png") no-repeat top center;    background-size: cover;    padding: 3% 0;}.wrap{    max-width: calc(1500px + 6%);    margin: 0 auto;    padding: 3%;}.flex{    display: flex;    justify-content: space-between;    flex-wrap: wrap;}.flexttl{    font-size: 2.8rem;    font-weight: 600;    line-height: 1.6;    letter-spacing: 0.1em;    color: #FFFFFF;    margin-bottom: 5rem;    font-family: 'Zen Old Mincho', serif;}.greeting .flex p{    font-size: 1.6rem;    font-weight: 500;    letter-spacing: 0.1em;    line-height: 1.6;    color: #FFFFFF;}.greeting .flex .txt{    width: 100%;}.greeting .flex .img{    width: 0%;}.business{    background: url("images/business_bg.png") no-repeat top center;    background-size: cover;    position: relative;}.business::before{    content: "";    position: absolute;    margin-bottom: 0;    background: url("images/business_bg_un.png") no-repeat bottom center;    width: 100%;    height: 100%;}.h3_ttl{    font-size: 2.8rem;    font-weight: 600;    text-align: center;    padding-bottom: 2rem;    position: relative;    margin-bottom: 5rem;}.h3_ttl span{    display: block;    font-size: 2rem;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 500;    color: #004AAD;}.h3_ttl::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 5px;    border-radius: 5px;    background: #004AAD;    width: 10rem;}.business p{    font-size: 1.8rem;    margin-bottom: 5rem;    line-height: 1.6;    letter-spacing: 0.1em;    text-align: center;}.business .wrap{    position: relative;}.business .flex .b_box{    width: 90%;    padding: 0 2rem;    margin: 0 auto;}.business .b_box p{    font-size: 2rem;    font-weight: 600;    text-align: center;    padding: 1rem 0;}.business .b_box img{    box-shadow: 10px 10px 16px -4px #a4a4a4;}.btn{    padding: 5rem;    text-align: center;    margin-bottom: 5rem;}.btn a{    padding: 2rem 8rem 2rem 2rem;    font-size: 1.8rem;    color: #FFFFFF;    background: #004AAD;    position: relative;}.btn a::before{    content: "";    background: url("images/arrow-forward.png")no-repeat top center;    background-size: cover;    width: 10px;    height: 16px;    position: absolute;    top: 50%;    right: 2rem;    transform: translateY(-50%);}.info{    background: #505050;    color: #FFFFFF;    padding: 3% 0;}.info .wrap{    max-width: calc(1000px + 6%);}.info_ttl span{    font-size: 5rem;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 500;    display: block;    letter-spacing: 0.1em;}.info_ttl{    font-size: 1.8rem;    font-weight: 600;    letter-spacing: 0.1em;    margin-bottom: 3rem;}.info_txt{    border-top: 1px solid #FFFFFF;    padding-top: 3rem;}.info_txt li{    font-size: 1.8rem;    padding: 3rem;    margin-bottom: 3rem;    border-bottom: 1px dashed #CCCCCC;}.info_txt li dl{    display: flex;    flex-direction: column;}.info_txt li dl dt{    margin-right: 5rem;}.area{    background: url("images/area_bg.png")no-repeat top center;    background-size: cover;    padding: 8% 3%;}.area_ttl{    font-size: 1.8rem;    font-weight: 600;    letter-spacing: 0.1em;    margin-bottom: 5rem;}.area_ttl span{    font-size: 5rem;    color: #004AAD;    font-family: futura-pt, sans-serif;    font-style: normal;    display: block;}.area p{    font-size: 1.8rem;    font-weight: 500;    letter-spacing: 0.1em;    line-height: 1.6;}.area .wrap{    max-width: calc(1200px + 3%);}.contact{    background: url("images/contact_bg.png")no-repeat top center;    background-size: cover;    padding: 8% 3%;}.contact .wrap{    max-width: calc(800px + 6%);}.contact_ttl{    color: #FFFFFF;    font-size: 1.8rem;    margin-bottom: 5rem;    text-align: center;}.contact_ttl span{    font-size: 4rem;    font-weight: 600;    font-family: futura-pt, sans-serif;    font-style: normal;    display: block;}.contact p{    text-align: center;    color: #FFFFFF;    letter-spacing: 0.1em;    line-height: 1.6;    margin-bottom: 5rem;    font-size: 1.8rem;}    .conbox {  width: 100%;  margin-bottom: 3rem;        text-align: center;}    #footer {  margin-top: 5rem;}.footerarea{    background: #004AAD;    color: #FFFFFF;}.footerarea .wrap{    display: flex;    justify-content: space-between;    max-width: 1800px;}        .footerarea p{    font-size: 1.6rem;}.footerarea nav li span{    color: #FFFFFF;}.pagetop{    padding: 1rem;    width: 20%;}.copy{    border-top: 1px solid #FFFFFF;    padding: 1rem;    font-size: 1.6rem;    text-align: center;    background: #004AAD;    color: #FFFFFF;}    .tel_btn    {        margin-right: 55px;        max-width: 65px;    }        /*------------------------------------------------------------------ハンバーガーメニュー-------------------------------------------------------------------*/#g-nav{    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/    position:fixed;    z-index: 999;    /*ナビのスタート位置と形状*/  top:0;    right: -120%;  width:100%;    height: 100vh;/*ナビの高さ*/  background:#406ACC;    /*動き*/  transition: all 0.6s;}/*アクティブクラスがついたら位置を0に*/#g-nav.panelactive{    right: 0;}/*ナビゲーションの縦スクロール*/#g-nav.panelactive #g-nav-list{    /*ナビの数が増えた場合縦スクロール*/    position: fixed;    z-index: 999;     width: 100%;    height: 100vh;/*表示する高さ*/    overflow: auto;    -webkit-overflow-scrolling: touch;}/*ナビゲーション*/#g-nav ul {    /*ナビゲーション天地中央揃え*/    position: absolute;    z-index: 999;    top:50%;    left:50%;    transform: translate(-50%,-50%);}/*リストのレイアウト設定*/#g-nav li{  list-style: none;    text-align: center;    font-size: 1.6rem;    border-bottom: 1px solid #FFFFFF;}#g-nav li a{  color: #FFFFFF;  text-decoration: none;  padding:10px;  display: block;  text-transform: uppercase;  letter-spacing: 0.1em;  font-weight: bold;}#g-nav ul li span{    display: block;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 400;    color: #FFFFFF;    margin-top: 0.5rem;}/*========= ボタンのためのCSS ===============*/.openbtn1{  position:fixed;    z-index: 9999;/*ボタンを最前面に*/  top:0;  right: 0;  cursor: pointer;    width: 65px;    height:65px;    background: #004AAD;}  /*×に変化*/  .openbtn1 span{    display: inline-block;    transition: all .4s;    position: absolute;    left: 19px;    height: 3px;    border-radius: 2px;  background-color: #FFFFFF;    width: 45%;  }.openbtn1 span:nth-of-type(1) {  top:22px; }.openbtn1 span:nth-of-type(2) {  top:31px;}.openbtn1 span:nth-of-type(3) {  top:40px;}.openbtn1.active span:nth-of-type(1) {    top: 24px;    left: 23px;    transform: translateY(6px) rotate(-45deg);    width: 30%;}.openbtn1.active span:nth-of-type(2) {  opacity: 0;}.openbtn1.active span:nth-of-type(3){    top: 36px;    left: 23px;    transform: translateY(-6px) rotate(45deg);    width: 30%;}/*--------------------------------------------------------------------------下層ページ--------------------------------------------------------------------------*/.h2_ttl{    background: url("images/h2_ttl.png") no-repeat top center;    background-size: cover;    padding: 10rem 0;    text-align: center;    color: #FFFFFF;    font-size: 4rem;    font-weight: 600;    letter-spacing: 0.1em;    margin-bottom: 5rem;}.h2_ttl span{    display: block;    font-size: 2rem;    font-family: futura-pt, sans-serif;    font-style: normal;    font-weight: 700;}.container{    max-width: calc(1200px + 6%);    margin: 0 auto;    padding: 3%;}.h3{    text-align: center;    font-size: 2.8rem;    font-weight: 600;    position: relative;    padding-bottom: 2rem;    margin-bottom: 5rem;}.h3::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 5px;    border-radius: 3px;    background: #004AAD;    width: 10rem;}.h4_ttl{    font-size: 2.8rem;    font-weight: 600;    padding: 0.5rem 0 1rem 2rem;    border-bottom: 1px solid #406ACC;    margin-bottom: 3rem;    border-left: 10px solid #406ACC;}.box .flex{    margin-bottom: 8rem;}.txt{    width: 100%;}.img{    width:  100%;}.txt p{    font-size: 1.8rem;    line-height: 1.6;    letter-spacing: 0.1em;    font-weight: 400;    margin-bottom: 1rem;}.rev{    flex-flow: row-reverse;    flex-wrap: wrap;}#table01 {    width: 80%;    margin: 0 auto 3rem;    font-size: 1.8rem;}#table01 tr {    border-bottom: 1px solid #b5b1b1;}#table01 th {    width: 30%;    vertical-align: middle;}#table01 th, #table01 td {    padding: 24px 0;    border: none;}.Form {  margin-top: 80px;  margin-left: auto;  margin-right: auto;  max-width: 720px;}.Form-Item {  padding-top: 24px;  padding-bottom: 24px;  width: 100%;  display: flex;  align-items: center;}.Form-Item:nth-child(5) {}.Form-Item-Label {  width: 100%;  max-width: 248px;  letter-spacing: 0.05em;  font-weight: bold;  font-size: 18px;}.Form-Item-Label.isMsg {  margin-top: 8px;  margin-bottom: auto;}.Form-Item-Label-Required {  border-radius: 6px;  margin-right: 8px;  padding-top: 8px;  padding-bottom: 8px;  width: 48px;  display: inline-block;  text-align: center;  background: #d04444;  color: #fff;  font-size: 14px;}.Form-Item-Input {  border: 1px solid #ddd;  border-radius: 6px;  margin-left: 40px;  padding-left: 1em;  padding-right: 1em;  height: 48px;  flex: 1;  width: 100%;  max-width: 410px;  background: #eaedf2;  font-size: 18px;}.Form-Item-Textarea {  border: 1px solid #ddd;  border-radius: 6px;  margin-left: 40px;  padding-left: 1em;  padding-right: 1em;  height: 216px;  flex: 1;  width: 100%;  max-width: 410px;  background: #eaedf2;  font-size: 18px;}.Form-Btn {  border-radius: 6px;  margin-top: 32px;  margin-left: auto;  margin-right: auto;  padding-top: 20px;  padding-bottom: 20px;  width: 280px;  display: block;  letter-spacing: 0.05em;  background: #004aad;  color: #fff;  font-weight: bold;  font-size: 1.8rem;    text-align: center;}.container p{    font-size: 1.8rem;    line-height: 1.6;    letter-spacing: 0.1em;    margin-bottom: 1rem;}.flow_design02 {  display: flex;  justify-content: center;  align-items: center;}.flow_design02 ul {  padding: 0;}.flow_design02 li {  list-style-type: none;}.flow_design02 dd {  margin-left: 0;    font-size: 1.6rem;    letter-spacing: 0.1em;}.flow02 > li {  padding: 40px 10px;}.flow02 > li:not(:last-child) {  border-bottom: 3px solid #004AAD;  position: relative;}.flow02 > li:not(:last-child)::before,.flow02 > li:not(:last-child)::after {  content: "";  border: solid transparent;  position: absolute;  top: 100%;  left: 15%;  -webkit-transform: translateX(-50%);  transform: translateX(-50%);}.flow02 > li:not(:last-child)::before {  border-width: 22px;  border-top-color: #004AAD;}.flow02 > li:not(:last-child)::after {  border-width: 18px;  border-top-color: #fff;}.flow02 > li dl {  margin: 0;}.flow02 > li dl dt {  font-size: 2rem;  font-weight: 600;  border-bottom: 2px dotted #878787;  margin-bottom: 0.5em;  padding-bottom: 0.5em;  display: flex;    letter-spacing: 0.1em;}.flow02 > li dl dt .icon02 {  font-size: 0.6em;  color: #fff;  background: #004AAD;  padding: 5px 10px;  display: inline-block;  margin-right: 0.5em;}}