@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 Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";  font-style: normal;  font-weight: normal;  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;    transition: all .3s;}a:hover{    opacity: 0.6;    transition: all .3s;}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%;    object-fit: cover;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {  margin: 0;  padding: 0;}address,caption,cite,code,dfn,em,strong,th,var {  font-style: normal;}table {  border-collapse: collapse;  border-spacing: 0;}caption,th {  text-align: left;}q:before,q:after {  content: '';}object,embed {  vertical-align: top;}hr,legend {  display: none;}h1,h2,h3,h4,h5,h6 {  font-size: 100%;}img,abbr,acronym,fieldset {  border: 0;}li {  list-style-type: none;}sup {  vertical-align: super;  font-size: 0.5em;}i {  font-style: normal;}summary{    list-style: none;}/*--------------------------------------------------------------------------*//* Loading背景画面設定　*/#splash {    /*fixedで全面に固定*/  position: fixed;  width: 100%;  height: 100%;  z-index: 9999;  background:#FFFFFF;  text-align:center;  color:#fff;}/* Loading画像中央配置　*/#splash_logo {  position: absolute;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);}/* Loading アイコンの大きさ設定　*/#splash_logo img {  width:320px;}/* fadeUpをするアイコンの動き */.fadeUp{animation-name: fadeUpAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity: 0;}@keyframes fadeUpAnime{  from {    opacity: 0;  transform: translateY(100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/*==================================================ふわっ===================================*//* その場で */.fadeIn{animation-name:fadeInAnime;animation-duration:1s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeInAnime{  from {    opacity: 0;  }  to {    opacity: 1;  }}/* 下から */.fadeUp{animation-name:fadeUpAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeUpAnime{  from {    opacity: 0;  transform: translateY(100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* 上から */.fadeDown{animation-name:fadeDownAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeDownAnime{  from {    opacity: 0;  transform: translateY(-100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* 左から */.fadeLeft{animation-name:fadeLeftAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeLeftAnime{  from {    opacity: 0;  transform: translateX(-100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/* 右から */.fadeRight{animation-name:fadeRightAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeRightAnime{  from {    opacity: 0;  transform: translateX(100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/* スクロールをしたら出現する要素にはじめに透過0を指定　*/ .fadeInTrigger,.fadeUpTrigger,.fadeDownTrigger,.fadeLeftTrigger,.fadeRightTrigger{    opacity: 0;}/*==================================================アニメーション設定===================================*//* アニメーションの回数を決めるCSS*/.count2{    animation-iteration-count: 2;/*この数字を必要回数分に変更*/}.countinfinite{    animation-iteration-count: infinite;/*無限ループ*/}/* アニメーションスタートの遅延時間を決めるCSS*/.delay-time05{    animation-delay: 0.5s;}.delay-time1{    animation-delay: 1s;}.delay-time15{    animation-delay: 1.5s;}.delay-time2{    animation-delay: 2s;}.delay-time25{    animation-delay: 2.5s;}/* アニメーション自体が変化する時間を決めるCSS*/.change-time05{    animation-duration: 0.5s;}.change-time1{    animation-duration: 1s;}.change-time15{    animation-duration: 1.5s;}.change-time2{    animation-duration: 2s;}.change-time25{    animation-duration: 2.5s;}.scrolldown2{    /*描画位置※位置は適宜調整してください*/  position:absolute;  bottom:10px;  left:50%;}/*Scrollテキストの描写*/.scrolldown2 span{    /*描画位置*/  position: absolute;  left:10px;  bottom:10px;    /*テキストの形状*/  color: #eee;  font-size: 1.8rem;  letter-spacing: 0.05em;  /*縦書き設定*/  -ms-writing-mode: tb-rl;    -webkit-writing-mode: vertical-rl;    writing-mode: vertical-rl;}/* 丸の描写 */.scrolldown2:before {    content: "";    /*描画位置*/    position: absolute;    bottom:0;    left:-4px;    /*丸の形状*/  width:10px;  height:10px;  border-radius: 50%;  background:#eee;    /*丸の動き1.6秒かけて透過し、永遠にループ*/  animation:    circlemove 1.6s ease-in-out infinite,    cirlemovehide 1.6s ease-out infinite;}/*下からの距離が変化して丸の全体が上から下に動く*/@keyframes circlemove{      0%{bottom:45px;}     100%{bottom:-5px;} }/*上から下にかけて丸が透過→不透明→透過する*/@keyframes cirlemovehide{      0%{opacity:0}     50%{opacity:1;}    80%{opacity:0.9;}  100%{opacity:0;} }/* 線の描写 */.scrolldown2:after{  content:"";    /*描画位置*/  position: absolute;  bottom:0;  left:0;    /*線の形状*/  width:2px;  height: 50px;  background:#eee;}/*スクロールリンクの形状*/.scroll-top {  /*表示位置*/  position: fixed;  right: 20px;  bottom: 10px;  z-index: 2;  /*はじめは非表示*/  opacity: 0;  visibility: hidden;   transition: opacity .5s, visibility .5s; /*それぞれに0.5秒の変化のアニメーション*/  /*縦書き*/  -webkit-writing-mode: vertical-rl;    -ms-writing-mode: tb-rl;    writing-mode: vertical-rl;  /*改行禁止*/    white-space: nowrap;  /*矢印の動き*/  animation: arrowmove 1s ease-in-out infinite;}@keyframes arrowmove{      0%{bottom:20px;}      50%{bottom:25px;}     100%{bottom:20px;} }/*.scroll-viewクラスがついたら出現*/.scroll-top.scroll-view {  opacity: 1;  visibility: visible;}/*リンク全体の aタグの形状*/.scroll-top a {  text-decoration: none;  color: #00A1E8;  text-transform: uppercase;  font-size:2rem;    display: block;}/*スクロールリンクの形状*/.js-scroll a::after{  content:"";  position: absolute;  top:0;  right:0;  width:1px;  height: 50px;  background:#00A1E8;}.js-scroll a::before {    content: "";    position: absolute;    top: 30px;    right: -6px;    width: 1px;    height: 20px;    background: #00A1E8;    transform: skewX(-31deg);}/*Edge IE11 hack*/_:-ms-lang(x), .js-scroll a::before{  right:-11px;}/*ページトップリンクの形状*/.js-pagetop a::after{  content:"";  position: absolute;  top:0;  right:0;  width:1px;  height: 50px;  background:#00A1E8;}.js-pagetop a::before {    content: "";    position: absolute;    top: 0;    right: -6px;    width: 1px;    height: 20px;    background: #00A1E8;    transform: skewX(31deg);}/*Edge IE11 hack*/_:-ms-lang(x), .js-pagetop a::before{  right:0;}.rev    {        flex-direction: row-reverse;    }/*-----------------------------------------------------------------*/#header{    width: 100%;    position: absolute;    top: 0;    left: 0;    background: #fff;    z-index: 100;    height: 100px;    display: flex;    align-items: center;}.header_inner{    display: flex;    justify-content: space-between;    align-items: center;    width: 100%;}.logo{    padding: 1rem;}#gnav{    padding: 1rem;    margin-left: auto;    padding-right: 348px;}#gnav ul{    display: flex;    justify-content: space-between;    text-align-last: center;}#gnav ul li {    font-size: 2rem;    font-family: futura-pt, sans-serif;font-weight: 600;font-style: normal;    color: #00A1E8;    text-align: center;    width: 150px;}#gnav ul li span{    font-size: 1.6rem;    color: #333333;    display: block;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";  font-style: normal;  font-weight: normal;}#gnav li a{    /*線の基点とするためrelativeを指定*/  position: relative;}#gnav li.current a,#gnav li a:hover{  color:#0481A2;}#gnav li a::after {    content: '';    /*絶対配置で線の位置を決める*/    position: absolute;    bottom: -3rem;    left: 10%;    /*線の形状*/    width: 80%;    height: 2px;    background:#0481A2;    /*アニメーションの指定*/    transition: all .3s;    transform: scale(0, 1);/*X方向0、Y方向1*/    transform-origin: left top;/*左上基点*/}/*現在地とhoverの設定*/#gnav li.current a::after,#gnav li a:hover::after {    transform: scale(1, 1);/*X方向にスケール拡大*/}.h_right{    display: flex;    justify-content: center;    align-content: center;    position: fixed;top: 0;right: 116px;}.contact_btn a{    width: 116px;    height: 100px;    background: #E4EEF5;    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    text-align: center;    margin-right: 0.2rem;}.recruit_btn a{   width: 116px;    height: 100px;    background: #E4EEF5;    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    text-align: center;    margin-right: 0.2rem;}.menu{   width: 116px;    height: 100px;    background: #005699;    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    z-index: 99;}.contact_btn p,.recruit_btn p{    font-size: 1.6rem;    padding-top: 0.5rem;}/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/.openbtn4{/*ボタン内側の基点となるためrelativeを指定*/  cursor: pointer;    width: 116px;    height:100px;    z-index: 9999;    background: #005699;    max-width: 116px;    position: fixed;    top: 0;    right: 0;    }/*ボタン内側*/.openbtn4 span{    display: inline-block;    transition: all .4s;/*アニメーションの設定*/    position: absolute;    left: 45px;    height: 2px;    border-radius: 5px;  background: #fff;    width: 26%;  }.openbtn4 span:nth-of-type(1) {  top:30px; }.openbtn4 span:nth-of-type(2) {  top:40px;}.openbtn4 span:nth-of-type(2)::after {  content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/  position: absolute;  top:14px;  left:-6px;  color: #fff;  font-size:1.6rem;  text-transform: uppercase;    font-weight: 500;}/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/.openbtn4.active span:nth-of-type(1) {    top: 28px;    left: 42px;    transform: translateY(6px) rotate(-45deg);    width: 30%;}.openbtn4.active span:nth-of-type(2) {      top: 40px;    left: 42px;    transform: translateY(-6px) rotate(45deg);    width: 30%;}.openbtn4.active span:nth-of-type(2)::after {  content:"Close";/*3つ目の要素のafterにClose表示を指定*/    transform: translateY(0) rotate(-45deg);  top:10px;  left:14px;}/*アクティブになったエリア*/#g-nav.panelactive{    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/    position:fixed;    z-index: 999;  top: 0;  width:100%;    height: 100vh;}/*丸の拡大*/.circle-bg{    position: fixed;  z-index:3;    /*丸の形*/    width: 100px;    height: 100px;    border-radius: 50%;    background: rgba(0,86,153,0.80);    /*丸のスタート位置と形状*/  transform: scale(0);/*scaleをはじめは0に*/  left:-50px;    bottom:-50px;    transition: all .6s;/*0.6秒かけてアニメーション*/}.circle-bg.circleactive{  transform: scale(50);/*クラスが付与されたらscaleを拡大*/}/*ナビゲーションの縦スクロール*/#g-nav-list{    display: none;/*はじめは表示なし*/    /*ナビの数が増えた場合縦スクロール*/    position: fixed;    z-index: 999;     width: 100%;    height: 100vh;    overflow: auto;    -webkit-overflow-scrolling: touch;}#g-nav.panelactive #g-nav-list{     display: block; /*クラスが付与されたら出現*/}/*ナビゲーション*/#g-nav ul {  opacity: 0;/*はじめは透過0*/    /*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/    position: absolute;    z-index: 999;    top:50%;    left:50%;    transform: translate(-50%,-50%);}/*背景が出現後にナビゲーションを表示*/#g-nav.panelactive ul {    opacity:1;}/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/#g-nav.panelactive ul li{animation-name:gnaviAnime;animation-duration:1s;animation-delay:.2s;/*0.2 秒遅らせて出現*/animation-fill-mode:forwards;opacity:0;    font-size: 1.8rem;    border-bottom: solid 1px #FFFFFF;}@keyframes gnaviAnime{0% {opacity: 0;}100% {opacity: 1;}}/*リストのレイアウト設定*/#g-nav li{  text-align: center;   list-style: none;}#g-nav li a{  color: #FFFFFF;  text-decoration: none;  padding:2rem;  display: block;  text-transform: uppercase;  letter-spacing: 0.1em;    font-family: futura-pt, sans-serif;    font-weight: 600;font-style: normal;    font-size: 2rem;    }#g-nav li a span{    display: block;    font-size: 1.6rem;    font-weight: 400;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}main{    padding-top: 100px;}.mv{    width: 100%;    position: relative;}.catch{    position: absolute;    left: 14rem;    top: 6rem;}.catch p{    writing-mode: vertical-rl;    text-orientation: upright;     font-size: 5rem;    font-weight: 500;    color: #FFFFFF;    line-height: 1.8;}.catch p span{    border-right: 3px solid #FFFFFF;    padding-right: 1rem;}.catch img {  height: 35vw;}.company_wrap{    max-width: calc(1850px + 6%);    margin: 0 auto;    padding: 3%;    position: relative;}.company_wrap::after{    content: "";    position: absolute;    right: 0;    bottom: 0;    background: url("images/COMPANY.png") no-repeat center;    background-size: 100%;    width: 86%;height: 12vw;    z-index: -1;}.flex{    display: flex;    justify-content: space-between;    flex-wrap: wrap;}.company_wrap .img{    width: 40%!important;    padding: 1rem;}.company_wrap .txt{    width: 45%!important;}.company_wrap .txt p{    font-size: 1.6rem;    line-height: 1.6;    margin-bottom: 2rem;    font-weight: 500;}.company_wrap .ttl{    width: 5%;    writing-mode: vertical-rl;    display: table-cell;    vertical-align: middle;    text-orientation: upright;    color: #005699;    font-size: 2.6rem;    font-weight: 600;    line-height: 1.6;    letter-spacing: 0.2rem;}.company_wrap .ttl span{    font-size: 3.8rem;    padding-top: 2rem;}.btn{    padding: 5rem 0;    position: relative;    z-index: 1;}.btn a{    padding: 2rem 8rem 2rem 4rem;    font-size: 1.8rem;    font-weight: 500;    background: #00A1E8;    color: #FFFFFF;    position: relative;}.btn a::after{    content: "";    position: absolute;    top: 50%;    right: 2rem;    width: 25px;    height: 25px;    background: url("images/right-circle.png") no-repeat center;    background-size: 100%;    transform: translateY(-50%);}.recruit{    background: url("images/recruit_bg.png") no-repeat top;    background-size: cover;    color: #FFFFFF;    padding: 5rem 0;    position: relative;}.recruit::before{    content: "";    background: url("images/RECRUIT.png")no-repeat right bottom;    background-size: 100%;    position: absolute;    bottom: 0;    right: 0;    width: 62vw;    height: 12vw;}.recruit_wrap{    max-width: calc(1700px + 6%);    padding: 3%;    margin: 0 auto;    position: relative;}.l_box{    width: 48%;    padding: 1rem;}.r_box{    width: 48%;    padding: 1rem;}.r_ttl{    font-size: 3.8rem;    font-weight: 600;    line-height: 1.6;    margin-bottom: 3rem;}.r_box p{    font-size: 1.8rem;    margin-bottom: 2rem;    line-height: 1.4;    font-weight: 500;}.h3_ttl{    text-align: center;    font-size: 5rem;    margin-bottom: 5rem;    font-weight: 600;}.h3_ttl span{    font-size: 2rem;    font-family: futura-pt, sans-serif;    font-weight: 600;font-style: normal;    display: block;}.works{    position: relative;    padding: 10rem 0;    margin-bottom: 10rem;}.works::before{    content: "";    position: absolute;    left: 0;    bottom: 0;    background: url("images/WORKS.png") no-repeat center top;    width: 60vw;    height: 13vw;    z-index: 1;    background-size: 100%;}.works::after{    content: "";    position: absolute;    right: 0;    bottom: 0;    background: url("images/works01.png")no-repeat right top;    width: 60vw;    height: 40vw;    z-index: -1;    max-width: 1400px;    background-size: cover;}.works_box{    background: url("images/works_bg.png") no-repeat center;    padding: 8rem;    color: #FFFFFF;    max-width: 1050px;    width: 60vw;    height: 50vw;    max-height: 771px;    position: relative;    background-size: cover;}.works_ttl{    font-size: 5rem;    margin-bottom: 5rem;    font-weight: 600;}.sub_ttl{    font-size: 2.8rem;    font-weight: 600;    margin-bottom: 5rem;}.works_box p{    font-size: 1.8rem;    font-weight: 500;    margin-bottom: 3rem;}.partner{    background: url("images/partner_bg.png") no-repeat top center;    background-size: cover;    padding: 5rem 0;    text-align: center;    color: #FFFFFF;    position: relative;}.partner::before{content: "";    background: url("images/PARTNER.png")no-repeat top center;    background-size: 100%;    position: absolute;    right: 0;    bottom: 0;    width: 70vw;    height: 12vw;}.container{    max-width: calc(1300px + 6%);    padding: 3%;    margin: 0 auto;}h3.ttl{    font-size: 5rem;    text-align: center;    margin-bottom: 5rem;    font-weight: 600;}.partner p{    font-size: 1.8rem;    font-weight: 500;    line-height: 1.6;    margin-bottom: 5rem;}.partner .sub_ttl{    line-height: 1.6;}.news{    padding: 5rem 0;    position: relative;}.news_wrap{    max-width: calc(800px + 6%);    padding: 3%;    margin: 0 auto;}.ttl_box{    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;}.news_ttl{    font-size: 3.8rem;    text-align: center;    font-weight: 600;    padding-bottom: 3rem;}.news_ttl span{    font-size: 2rem;    color: #00A1E8;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    position: relative;    display: block;    padding: 2rem 0}.news_ttl span::before {content: "";    display: inline-block;    position: absolute;    left: 25%;    bottom: -1rem;    width: 50%;    height: 3px;    border-radius: 5px;  background: #00A1E8;}.news_box li{    padding: 2rem;    border-bottom: 1px dashed #CCCCCC;}.news_box dl{    display: flex;}.news_box dt{    font-size: 2rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    color: #00A1E8;    padding-right: 2rem;}.news_box dd{    font-size: 1.8rem;}.contact{    position: relative;    background: url("images/contact_bg.png")no-repeat top center;    background-size: cover;    padding: 7rem 0;        color: #FFFFFF;    text-align: center;}.contact_ttl{    font-size: 8rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    margin-bottom: 2rem;}.contact_ttl span{    font-size: 1.8rem;    display: block;    padding-bottom: 5rem;    font-weight: 500;    font-style: normal;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}.contact p{    font-size: 1.8rem;    margin-bottom: 6rem;    line-height: 1.6;    font-weight: 500;}.contact .flex{    justify-content: center;    align-items: center;}.tel_btn{    padding: 4rem;}.tel_btn a{    font-size: 2.4rem;    padding: 2rem 5rem 2rem 8rem;    position: relative;    background: #00A1E8;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    }.tel_btn a::after{    content: "";    position: absolute;    top: 50%;    left: 2rem;    transform: translateY(-50%);    width: 32px;    height: 32px;    background: url("images/phone-call.png") no-repeat center;    background-size: 100%;}.mail_btn{    padding: 4rem;}.mail_btn a{    font-size: 2rem;    padding: 2rem 3rem 2rem 6rem;    position: relative;    background: #00A1E8;    font-weight: 500;}.mail_btn a::after{    content: "";    position: absolute;    top: 50%;    left: 2rem;    transform: translateY(-50%);    width: 32px;    height: 32px;    background: url("images/icon-mail.png") no-repeat center;    background-size: 100%;}#footer{ position: relative;}.f_wrap{    max-width: calc(1200px + 6%);    padding: 3%;    margin: 0 auto;}.f_logo{    text-align: center;    margin-bottom: 5rem;}#footer .flex{    justify-content: center;    align-items: center;}.honsha p , .jimusho p{    font-size: 1.8rem;    font-weight: 500;}.honsha{    padding: 3rem;}.jimusho{    padding: 3rem;}.f_tel{    font-size: 2.6rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    text-align: center;}.copyright{    background: #005699;    color: #FFFFFF;    text-align: center;    font-size: 1.6rem;    padding: 1rem;}.h2_ttl{    background: url("images/h2_ttl.png") no-repeat top center;    background-size: cover;    margin-bottom: 5rem;}.h2_inner{    max-width: calc(1300px + 6%);    margin: 0 auto;    padding: 16rem 3%;    text-align: center;    color: #FFFFFF;    font-size: 2rem;    font-weight: 600;}.h2_inner span{    font-size: 8rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    display: block;}.h3_ttl{    font-size: 3.8rem;    text-align: center;    position: relative;    margin-bottom: 5rem;    padding-bottom: 3rem;}.h3_ttl::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    height: 5px;    width: 20rem;    background: #005699;    border-radius: 3px;    transform: translateX(-50%);}.flex .img{    width: 48%;}.flex .txt{    width: 48%;}.txt p{    font-size: 1.8rem;    font-weight: 500;    line-height: 1.6;    margin-bottom: 2rem;}.imgdeco{  box-shadow: 10px 10px 0px #005699;}/*---------------------------------------------------------------------------下層ページ----------------------------------------------------------------------------*/h4 {    position: relative;    margin: 20px auto;    padding: 1rem 0;    font-size: 2.8rem;    font-weight: 600;}h4:before {    content: "";    position: absolute;    left: 0;    bottom: 0;    width: 100%;    border-bottom: 5px solid #CCCCCC;}h4:after {    content: "";    position: absolute;    left: 0;    bottom: 0;    width: 20%;    border-bottom: 5px solid #00A1E8;}.flow_design02 {  display: flex;  justify-content: center;  align-items: center;}.flow_design02 ul {  padding: 0;    font-size: 1.6em;    font-weight: 500;}.flow_design02 li {  list-style-type: none;}.flow_design02 dd {  margin-left: 0;}.flow02 > li {  padding: 40px 10px;;}.flow02 > li:not(:last-child) {  border-bottom: 3px solid #00A1E8;  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: #00A1E8;}.flow02 > li:not(:last-child)::after {  border-width: 18px;  border-top-color: #fff;}.flow02 > li dl {  margin: 0;}.flow02 > li dl dt {  font-size: 1.6em;  font-weight: 600;  border-bottom: 2px dotted #878787;  margin-bottom: 0.5em;  padding-bottom: 0.5em;  display: flex;}.flow02 > li dl dt .icon02 {  font-size: 0.8em;  color: #fff;  background: #00A1E8;  padding: 5px 10px;  display: inline-block;  margin-right: 0.5em;}.t18{    font-size: 1.8rem;    font-weight: 500;    margin-bottom: 2rem;}.busi_btn a{    background: url("images/faq_btn01.png") no-repeat center top;    background-size: cover;    width: 100%;    height: 100%;    text-align: center;    color: #FFFFFF;    padding: 10rem;    font-size: 5rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    display: block;}.recu_btn a span{    font-size: 2.6rem;    font-weight: 500;    display: block;    font-style: normal;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}.recu_btn a{    background: url("images/faq_btn02.png") no-repeat center top;    background-size: cover;    width: 100%;    height: 100%;    text-align: center;    color: #FFFFFF;    padding: 10rem;    font-size: 5rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    display: block;}.busi_btn a span{    font-size: 2.6rem;    font-weight: 500;    display: block;    font-style: normal;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}.qa-006 {    max-width: 1200px;    margin: 1rem auto;    border-bottom: 2px solid #d6dde3;}.qa-006 summary {    display: flex;    justify-content: space-between;    align-items: center;    position: relative;    padding: 1em 2em 1em 4em;    color: #333333;    font-weight: 600;    cursor: pointer;    font-size: 1.6em;}.qa-006 summary::before{    position: absolute;    left: 1em;    font-weight: 600;    font-size: 1.6em;}.qa-006 p::before {    position: absolute;    left: 2em;    font-weight: 600;    font-size: 1.6em;}.qa-006 summary::before {    color: #005699;    content: "Q";}.qa-006 summary::after {    transform: translateY(-25%) rotate(45deg);    width: 7px;    height: 7px;    margin-left: 10px;    border-bottom: 3px solid #333333b3;    border-right: 3px solid #333333b3;    content: '';    transition: transform .5s;}.qa-006[open] summary::after {    transform: rotate(225deg);}.qa-006 p {    position: relative;    transform: translateY(-10px);    opacity: 0;    margin: 0;    padding: .3em 3em 1.5em 5em;    color: #333;    transition: transform .5s, opacity .5s;    font-size: 1.6em;}.qa-006[open] p {    transform: none;    opacity: 1;}.qa-006 p::before {    color: #ff8d8d;    line-height: .7;    content: "A";}.name{    text-align: right;    font-size: 2rem!important;    font-weight: 600!important;    padding-top: 3rem;}.rinen{    text-align: center;    font-size: 2rem;    font-weight: 600;    line-height: 1.8;}.t01{    width: 90%;    margin: 5rem auto;    border-top: 1px solid #005699;}.t01 th,.t01 td{    padding: 3rem 2rem;    border-bottom: 1px solid #005699;    font-size: 1.8rem;    font-weight: 500;}.t01 th{    background: #F7F7F7;    width: 30%;    text-align: center;}.box_con02 {  max-width: 900px;  margin: 0  auto;}@media only screen and (max-width: 768px) {  .box_con02 {    width: 95%;  }}.box_con02 form {  width: 100%;}.box_con02 form table {  width: 100%;}.box_con02 form table tr {  position: relative;}.box_con02 form table tr:first-child td:before {  content: "";  position: absolute;  width: 100%;  left: 0;  top: 0;  height: 1px;  border-bottom: solid 1px rgba(28, 46, 83, 0.5);}@media only screen and (max-width: 768px) {  .box_con02 form table tr:first-child td:before {    display: none;  }}.box_con02 form table tr th {  width: 30%;  font-weight: normal;  padding: 1em .5em;  background: #1c2e53;  color: #fff;  position: relative;  -moz-box-sizing: border-box;  -webkit-box-sizing: border-box;  box-sizing: border-box;    font-size: 1.4em;}@media only screen and (max-width: 768px) {  .box_con02 form table tr th {    text-align: center;    width: 100%;    display: block;    padding: .8em .2em;  }}.box_con02 form table tr th span {  background: #cd6f55;  padding: 0 .3em;  color: #fff;  margin-left: .5em;  -moz-box-sizing: border-box;  -webkit-box-sizing: border-box;  box-sizing: border-box;}.box_con02 form table tr th:after {  content: "";  position: absolute;  width: 100%;  left: 0;  bottom: 0;  height: 1px;  border-bottom: solid 1px #fff;}.box_con02 form table tr td {  position: relative;  padding: 1em .5em;  -moz-box-sizing: border-box;  -webkit-box-sizing: border-box;  box-sizing: border-box;    font-size: 1.4em;}@media only screen and (max-width: 768px) {  .box_con02 form table tr td {    padding: 1.5em .5em;    display: block;    width: 100%;  }}.box_con02 form table tr td:after {  content: "";  position: absolute;  width: 100%;  left: 0;  bottom: 0;  height: 1px;  border-bottom: solid 1px rgba(28, 46, 83, 0.5);}.box_con02 form table tr .box_br {  display: block;}.box_con02 form table tr select, .box_con02 form table tr textarea, .box_con02 form table tr .wide {  width: 100%;  height: 3em;  padding: .5em;  -moz-box-sizing: border-box;  -webkit-box-sizing: border-box;  box-sizing: border-box;    border: 1px solid #CCCCCC;}.box_con02 form table tr textarea {  height: 10em;}/*プライバシーのデザインcss↓*/.con_pri {  max-width: 700px;  margin: 0  auto;}@media only screen and (max-width: 768px) {  .con_pri {    width: 95%;  }}.con_pri .box_pri {  height: 300px;  overflow-y: scroll;  border: 1px solid #cdcdcd;  background: #f7f7f7;  -moz-box-sizing: border-box;  -webkit-box-sizing: border-box;  box-sizing: border-box;  margin-top: 20px;  padding: 20px 55px;}@media only screen and (max-width: 768px) {  .con_pri .box_pri {    margin-top: 4%;    padding: 3%;  }}@media only screen and (min-width: 769px) and (max-width: 1024px) {  .con_pri .box_pri {    padding: 4%;  }}.con_pri .box_pri .box_tori {  text-align: left;  margin-top: 40px;}@media only screen and (max-width: 768px) {  .con_pri .box_pri .box_tori {    margin-top: 4%;  }}.con_pri .box_pri .box_tori h4 {  font-weight: normal;  margin-bottom: 30px;  font-size: 200%;}@media only screen and (max-width: 768px) {  .con_pri .box_pri .box_tori h4 {    margin-bottom: 4%;  }}.con_pri .box_pri .box_tori .txt {  padding: 0 20px;    font-size: 1.4em;}@media only screen and (max-width: 768px) {  .con_pri .box_pri .box_tori .txt {    padding: 0;      font-size: 1.4em;  }}.con_pri .box_pri .box_num {  margin-top: 30px;}@media only screen and (max-width: 768px) {  .con_pri .box_pri .box_num {    margin-top: 5%;  }}.con_pri .box_pri .box_num h4 {  font-weight: normal;  font-size: 200%;}.con_pri .box_pri .box_num .txt {  padding: 10px 0 0 20px;}@media only screen and (max-width: 768px) {  .con_pri .box_pri .box_num .txt {    padding: 3% 0 0 3%;  }}.box_num li{    font-size: 1.4em;    list-style: disc;    margin-bottom: 1rem;    margin-left: 2rem;}.box_check {  text-align: center;  margin: 1em auto;}.box_check label {  display: inline-block;}.box_check label span {  margin-left: .3em;    font-size: 1.4em}.btn {  text-align: center;}.btn input {  display: inline-block;  background: #005699;  padding: 1.5em 5em;  color: #FFFFFF;  text-decoration: none;  cursor: pointer;  border: none;  -moz-transition: all 0.4s;  -o-transition: all 0.4s;  -webkit-transition: all 0.4s;  transition: all 0.4s;    font-size: 1.6em;}.btn input:hover {  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);  opacity: 0.7;}/*--------------------------------------------------------------------------pc--------------------------------------------------------------------------*/@media only screen and (min-width: 846px) {        .sp-only    {        display: none!important;    }    .tab-only    {        display: none!important;    }    .tab-sp-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{    width: 100%;    position: absolute;    top: 0;    left: 0;    background: #fff;    z-index: 100;    height: 100px;    display: flex;    align-items: center;}.header_inner{    display: flex;    justify-content: space-between;    align-items: center;    width: 100%;}.logo{    padding: 1rem;}#gnav{    padding: 1rem;    margin-left: auto;    padding-right: 348px;}#gnav ul{    display: flex;    justify-content: space-between;    text-align-last: center;}#gnav ul li {    font-size: 2rem;    font-family: futura-pt, sans-serif;font-weight: 600;font-style: normal;    color: #00A1E8;    text-align: center;    width: 150px;}#gnav ul li span{    font-size: 1.6rem;    color: #333333;    display: block;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";  font-style: normal;  font-weight: normal;}#gnav li a{    /*線の基点とするためrelativeを指定*/  position: relative;}#gnav li.current a,#gnav li a:hover{  color:#0481A2;}#gnav li a::after {    content: '';    /*絶対配置で線の位置を決める*/    position: absolute;    bottom: -3rem;    left: 10%;    /*線の形状*/    width: 80%;    height: 2px;    background:#0481A2;    /*アニメーションの指定*/    transition: all .3s;    transform: scale(0, 1);/*X方向0、Y方向1*/    transform-origin: left top;/*左上基点*/}/*現在地とhoverの設定*/#gnav li.current a::after,#gnav li a:hover::after {    transform: scale(1, 1);/*X方向にスケール拡大*/}.h_right{    display: flex;    justify-content: center;    align-content: center;    position: fixed;top: 0;right: 116px;}.contact_btn a{    width: 116px;    height: 100px;    background: #E4EEF5;    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    text-align: center;    margin-right: 0.2rem;}.recruit_btn a{   width: 116px;    height: 100px;    background: #E4EEF5;    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    text-align: center;    margin-right: 0.2rem;}.menu{   width: 116px;    height: 100px;    background: #005699;    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    z-index: 99;}.contact_btn p,.recruit_btn p{    font-size: 1.6rem;    padding-top: 0.5rem;}/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/.openbtn4{/*ボタン内側の基点となるためrelativeを指定*/  cursor: pointer;    width: 116px;    height:100px;    z-index: 9999;    background: #005699;    max-width: 116px;    position: fixed;    top: 0;    right: 0;    }/*ボタン内側*/.openbtn4 span{    display: inline-block;    transition: all .4s;/*アニメーションの設定*/    position: absolute;    left: 45px;    height: 2px;    border-radius: 5px;  background: #fff;    width: 26%;  }.openbtn4 span:nth-of-type(1) {  top:30px; }.openbtn4 span:nth-of-type(2) {  top:40px;}.openbtn4 span:nth-of-type(2)::after {  content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/  position: absolute;  top:14px;  left:-6px;  color: #fff;  font-size:1.6rem;  text-transform: uppercase;    font-weight: 500;}/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/.openbtn4.active span:nth-of-type(1) {    top: 28px;    left: 42px;    transform: translateY(6px) rotate(-45deg);    width: 30%;}.openbtn4.active span:nth-of-type(2) {      top: 40px;    left: 42px;    transform: translateY(-6px) rotate(45deg);    width: 30%;}.openbtn4.active span:nth-of-type(2)::after {  content:"Close";/*3つ目の要素のafterにClose表示を指定*/    transform: translateY(0) rotate(-45deg);  top:10px;  left:14px;}/*アクティブになったエリア*/#g-nav.panelactive{    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/    position:fixed;    z-index: 999;  top: 0;  width:100%;    height: 100vh;}/*丸の拡大*/.circle-bg{    position: fixed;  z-index:3;    /*丸の形*/    width: 100px;    height: 100px;    border-radius: 50%;    background: rgba(0,86,153,0.80);    /*丸のスタート位置と形状*/  transform: scale(0);/*scaleをはじめは0に*/  left:-50px;    bottom:-50px;    transition: all .6s;/*0.6秒かけてアニメーション*/}.circle-bg.circleactive{  transform: scale(50);/*クラスが付与されたらscaleを拡大*/}/*ナビゲーションの縦スクロール*/#g-nav-list{    display: none;/*はじめは表示なし*/    /*ナビの数が増えた場合縦スクロール*/    position: fixed;    z-index: 999;     width: 100%;    height: 100vh;    overflow: auto;    -webkit-overflow-scrolling: touch;}#g-nav.panelactive #g-nav-list{     display: block; /*クラスが付与されたら出現*/}/*ナビゲーション*/#g-nav ul {  opacity: 0;/*はじめは透過0*/    /*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/    position: absolute;    z-index: 999;    top:50%;    left:50%;    transform: translate(-50%,-50%);}/*背景が出現後にナビゲーションを表示*/#g-nav.panelactive ul {    opacity:1;}/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/#g-nav.panelactive ul li{animation-name:gnaviAnime;animation-duration:1s;animation-delay:.2s;/*0.2 秒遅らせて出現*/animation-fill-mode:forwards;opacity:0;    font-size: 1.8rem;    border-bottom: solid 1px #FFFFFF;}/*リストのレイアウト設定*/#g-nav li{  text-align: center;   list-style: none;}#g-nav li a{  color: #FFFFFF;  text-decoration: none;  padding:2rem;  display: block;  text-transform: uppercase;  letter-spacing: 0.1em;    font-family: futura-pt, sans-serif;    font-weight: 600;font-style: normal;    font-size: 2rem;    }#g-nav li a span{    display: block;    font-size: 1.6rem;    font-weight: 400;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}main{    padding-top: 100px;}.mv{    width: 100%;    position: relative;}.catch{    position: absolute;    left: 10rem;    top: 6rem;}.catch p{    writing-mode: vertical-rl;    text-orientation: upright;     font-size: 5rem;    font-weight: 500;    color: #FFFFFF;    line-height: 1.8;}.catch p span{    border-right: 3px solid #FFFFFF;    padding-right: 1rem;}.catch img {  height: 70vw;}.company_wrap{    max-width: calc(1850px + 6%);    margin: 0 auto;    padding: 3%;    position: relative;}.company_wrap::after{    content: "";    position: absolute;    right: 0;    bottom: 0;    background: url("images/COMPANY.png") no-repeat center;    background-size: 100%;    width: 86%;height: 12vw;    z-index: -1;}    .company_ttl{    color: #005699;font-size: 2rem;font-weight: 600;line-height: 1.6;letter-spacing: 0.2rem;    text-align:center;    margin-bottom: 3rem;}    .company_ttl span    {        font-size: 3rem;    }.flex{    display: flex;    justify-content: space-between;    flex-wrap: wrap;}.company_wrap .img{    width: 48%;    padding: 1rem;}.company_wrap .txt{    width: 48%;}.company_wrap .txt p{    font-size: 1.6rem;    line-height: 1.6;    margin-bottom: 2rem;    font-weight: 500;}.company_wrap .ttl{    width: 5%;    writing-mode: vertical-rl;    display: table-cell;    vertical-align: middle;    text-orientation: upright;    color: #005699;    font-size: 2.6rem;    font-weight: 600;    line-height: 1.6;    letter-spacing: 0.2rem;}.company_wrap .ttl span{    font-size: 3.8rem;    padding-top: 2rem;}.btn{    padding: 5rem 0;    position: relative;    z-index: 1;}.btn a{    padding: 2rem 8rem 2rem 4rem;    font-size: 1.8rem;    font-weight: 500;    background: #00A1E8;    color: #FFFFFF;    position: relative;}.btn a::after{    content: "";    position: absolute;    top: 50%;    right: 2rem;    width: 25px;    height: 25px;    background: url("images/right-circle.png") no-repeat center;    background-size: 100%;    transform: translateY(-50%);}.recruit{    background: url("images/recruit_bg.png") no-repeat top;    background-size: cover;    color: #FFFFFF;    padding: 5rem 0;    position: relative;}.recruit::before{    content: "";    background: url("images/RECRUIT.png")no-repeat right bottom;    background-size: 100%;    position: absolute;    bottom: 0;    right: 0;    width: 62vw;    height: 12vw;}.recruit_wrap{    max-width: calc(1700px + 6%);    padding: 3%;    margin: 0 auto;    position: relative;}.l_box{    width: 48%;    padding: 1rem;}.r_box{    width: 48%;    padding: 1rem;}.r_ttl{    font-size: 3.8rem;    font-weight: 600;    line-height: 1.6;    margin-bottom: 3rem;}.r_box p{    font-size: 1.8rem;    margin-bottom: 2rem;    line-height: 1.4;    font-weight: 500;}.h3_ttl{    text-align: center;    font-size: 4rem;    margin-bottom: 5rem;    font-weight: 600;}.h3_ttl span{    font-size: 2rem;    font-family: futura-pt, sans-serif;    font-weight: 600;font-style: normal;    display: block;}.works{    position: relative;    padding: 10rem 0 20rem;    margin-bottom: 10rem;}.works::before{    content: "";    position: absolute;    left: 0;    bottom: 0;    background: url("images/WORKS.png") no-repeat center top;    width: 60vw;    height: 13vw;    z-index: 1;    background-size: 100%;}.works::after{    content: "";    position: absolute;    right: 0;    bottom: 0;    background: url("images/works01.png")no-repeat right top;    width: 60vw;    height: 40vw;    z-index: -1;    max-width: 1400px;    background-size: cover;}.works_box{    background: url("images/works_bg.png") no-repeat center;    padding: 10rem;    color: #FFFFFF;    max-width: 1050px;    width: 100%;    height: 100%;    max-height: 771px;    position: relative;    background-size: cover;}.works_ttl{    font-size: 5rem;    margin-bottom: 5rem;    font-weight: 600;}.sub_ttl{    font-size: 2.8rem;    font-weight: 600;    margin-bottom: 5rem;}.works_box p{    font-size: 1.8rem;    font-weight: 500;    margin-bottom: 3rem;}.partner{    background: url("images/partner_bg.png") no-repeat top center;    background-size: cover;    padding: 5rem 0;    text-align: center;    color: #FFFFFF;    position: relative;}.partner::before{content: "";    background: url("images/PARTNER.png")no-repeat top center;    background-size: 100%;    position: absolute;    right: 0;    bottom: 0;    width: 70vw;    height: 12vw;}.container{    max-width: calc(1300px + 6%);    padding: 3%;    margin: 0 auto;}h3.ttl{    font-size: 5rem;    text-align: center;    margin-bottom: 5rem;    font-weight: 600;}.partner p{    font-size: 1.8rem;    font-weight: 500;    line-height: 1.6;    margin-bottom: 5rem;}.partner .sub_ttl{    line-height: 1.6;}.news{    padding: 5rem 0;    position: relative;}.news_wrap{    max-width: calc(800px + 6%);    padding: 3%;    margin: 0 auto;}.ttl_box{    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;}.news_ttl{    font-size: 3.8rem;    text-align: center;    font-weight: 600;    padding-bottom: 3rem;}.news_ttl span{    font-size: 2rem;    color: #00A1E8;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    position: relative;    display: block;    padding: 2rem 0}.news_ttl span::before {content: "";    display: inline-block;    position: absolute;    left: 25%;    bottom: -1rem;    width: 50%;    height: 3px;    border-radius: 5px;  background: #00A1E8;}.news_box li{    padding: 2rem;    border-bottom: 1px dashed #CCCCCC;}.news_box dl{    display: flex;}.news_box dt{    font-size: 2rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    color: #00A1E8;    padding-right: 2rem;}.news_box dd{    font-size: 1.8rem;}.contact{    position: relative;    background: url("images/contact_bg.png")no-repeat top center;    background-size: cover;    padding: 7rem 0;        color: #FFFFFF;    text-align: center;}.contact_ttl{    font-size: 5rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    margin-bottom: 2rem;}.contact_ttl span{    font-size: 1.8rem;    display: block;    padding-bottom: 5rem;    font-weight: 500;    font-style: normal;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}.contact p{    font-size: 1.8rem;    margin-bottom: 6rem;    line-height: 1.6;    font-weight: 500;}.contact .flex{    justify-content: center;    align-items: center;}.tel_btn{    padding: 4rem;}.tel_btn a{    font-size: 2.4rem;    padding: 2rem 5rem 2rem 8rem;    position: relative;    background: #00A1E8;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    }.tel_btn a::after{    content: "";    position: absolute;    top: 50%;    left: 2rem;    transform: translateY(-50%);    width: 32px;    height: 32px;    background: url("images/phone-call.png") no-repeat center;    background-size: 100%;}.mail_btn{    padding: 4rem;}.mail_btn a{    font-size: 2rem;    padding: 2rem 3rem 2rem 6rem;    position: relative;    background: #00A1E8;    font-weight: 500;}.mail_btn a::after{    content: "";    position: absolute;    top: 50%;    left: 2rem;    transform: translateY(-50%);    width: 32px;    height: 32px;    background: url("images/icon-mail.png") no-repeat center;    background-size: 100%;}#footer{ position: relative;}.f_wrap{    max-width: calc(1200px + 6%);    padding: 3%;    margin: 0 auto;}.f_logo{    text-align: center;    margin-bottom: 5rem;}#footer .flex{    justify-content: center;    align-items: center;}.honsha p , .jimusho p{    font-size: 1.8rem;    font-weight: 500;}.honsha{    padding: 3rem;}.jimusho{    padding: 3rem;}.f_tel{    font-size: 2.6rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    text-align: center;}.copyright{    background: #005699;    color: #FFFFFF;    text-align: center;    font-size: 1.6rem;    padding: 1rem;}        }/*--------------------------------------------------------------------------sp--------------------------------------------------------------------------*/@media screen and (max-width: 559px) {    .pc-only {    display: none !important;  }  .pc-tab-only {    display: none !important;  }    .tab-only    {        display: none!important;    }    #header{    width: 100%;    position: absolute;    top: 0;    left: 0;    background: #fff;    z-index: 100;    height: 60px;    display: flex;    align-items: center;}.header_inner{    display: flex;    justify-content: space-between;    align-items: center;    width: 100%;}.logo{    padding: 1rem;    width: 50%;}#gnav{    padding: 1rem;    margin-left: auto;    padding-right: 348px;}#gnav ul{    display: flex;    justify-content: space-between;    text-align-last: center;}#gnav ul li {    font-size: 2rem;    font-family: futura-pt, sans-serif;font-weight: 600;font-style: normal;    color: #00A1E8;    text-align: center;    width: 150px;}#gnav ul li span{    font-size: 1.6rem;    color: #333333;    display: block;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";  font-style: normal;  font-weight: normal;}#gnav li a{    /*線の基点とするためrelativeを指定*/  position: relative;}#gnav li.current a,#gnav li a:hover{  color:#0481A2;}#gnav li a::after {    content: '';    /*絶対配置で線の位置を決める*/    position: absolute;    bottom: -3rem;    left: 10%;    /*線の形状*/    width: 80%;    height: 2px;    background:#0481A2;    /*アニメーションの指定*/    transition: all .3s;    transform: scale(0, 1);/*X方向0、Y方向1*/    transform-origin: left top;/*左上基点*/}/*現在地とhoverの設定*/#gnav li.current a::after,#gnav li a:hover::after {    transform: scale(1, 1);/*X方向にスケール拡大*/}.h_right{    display: flex;    justify-content: center;    align-content: center;    position: fixed;top: 0;right: 62px;}.contact_btn a{    width: 62px;    height: 60px;    background: #E4EEF5;    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    text-align: center;    margin-right: 0.2rem;}.recruit_btn a{   width: 62px;    height: 60px;    background: #E4EEF5;    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    text-align: center;    margin-right: 0.2rem;}.menu{   width: 116px;    height: 100px;    background: #005699;    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    z-index: 99;}.contact_btn p,.recruit_btn p{    font-size: 1.6rem;    padding-top: 0.5rem;}/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/.openbtn4{/*ボタン内側の基点となるためrelativeを指定*/  cursor: pointer;    width: 62px;    height:60px;    z-index: 9999;    background: #005699;    max-width: 62px;    position: fixed;    top: 0;    right: 0;    }/*ボタン内側*/.openbtn4 span{    display: inline-block;    transition: all .4s;/*アニメーションの設定*/    position: absolute;    left: 24px;    height: 2px;    border-radius: 5px;  background: #fff;    width: 26%;  }.openbtn4 span:nth-of-type(1) {  top:16px; }.openbtn4 span:nth-of-type(2) {  top:24px;}.openbtn4 span:nth-of-type(2)::after {  content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/  position: absolute;  top:8px;  left:-16px;  color: #fff;  font-size:1.6rem;  text-transform: uppercase;    font-weight: 500;}/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/.openbtn4.active span:nth-of-type(1) {    top: 14px;    left: 22px;    transform: translateY(6px) rotate(-45deg);    width: 30%;}.openbtn4.active span:nth-of-type(2) {      top: 26px;    left: 22px;    transform: translateY(-6px) rotate(45deg);    width: 30%;}.openbtn4.active span:nth-of-type(2)::after {  content:"Close";/*3つ目の要素のafterにClose表示を指定*/    transform: translateY(0) rotate(-45deg);  top:5px;  left:-4px;}/*アクティブになったエリア*/#g-nav.panelactive{    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/    position:fixed;    z-index: 999;  top: 0;  width:100%;    height: 100vh;}/*丸の拡大*/.circle-bg{    position: fixed;  z-index:3;    /*丸の形*/    width: 100px;    height: 100px;    border-radius: 50%;    background: rgba(0,86,153,0.80);    /*丸のスタート位置と形状*/  transform: scale(0);/*scaleをはじめは0に*/  left:-50px;    bottom:-50px;    transition: all .6s;/*0.6秒かけてアニメーション*/}.circle-bg.circleactive{  transform: scale(50);/*クラスが付与されたらscaleを拡大*/}/*ナビゲーションの縦スクロール*/#g-nav-list{    display: none;/*はじめは表示なし*/    /*ナビの数が増えた場合縦スクロール*/    position: fixed;    z-index: 999;     width: 100%;    height: 100vh;    overflow: auto;    -webkit-overflow-scrolling: touch;}#g-nav.panelactive #g-nav-list{     display: block; /*クラスが付与されたら出現*/}/*ナビゲーション*/#g-nav ul {  opacity: 0;/*はじめは透過0*/    /*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/    position: absolute;    z-index: 999;    top:50%;    left:50%;    transform: translate(-50%,-50%);}/*背景が出現後にナビゲーションを表示*/#g-nav.panelactive ul {    opacity:1;}/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/#g-nav.panelactive ul li{animation-name:gnaviAnime;animation-duration:1s;animation-delay:.2s;/*0.2 秒遅らせて出現*/animation-fill-mode:forwards;opacity:0;    font-size: 1.8rem;    border-bottom: solid 1px #FFFFFF;}/*リストのレイアウト設定*/#g-nav li{  text-align: center;   list-style: none;}#g-nav li a{  color: #FFFFFF;  text-decoration: none;  padding:2rem;  display: block;  text-transform: uppercase;  letter-spacing: 0.1em;    font-family: futura-pt, sans-serif;    font-weight: 600;font-style: normal;    font-size: 2rem;    }#g-nav li a span{    display: block;    font-size: 1.6rem;    font-weight: 400;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}main{    padding-top: 60px;}.mv{    width: 100%;    position: relative;}.catch{    position: absolute;    left: 5rem;    top: 6rem;}.catch p{    writing-mode: vertical-rl;    text-orientation: upright;     font-size: 5rem;    font-weight: 500;    color: #FFFFFF;    line-height: 1.8;}.catch p span{    border-right: 3px solid #FFFFFF;    padding-right: 1rem;}.catch img {  height: 70vw;}.company_wrap{    max-width: calc(1850px + 6%);    margin: 0 auto;    padding: 3%;    position: relative;}.company_wrap::after{    content: "";    position: absolute;    right: 0;    bottom: 0;    background: url("images/COMPANY.png") no-repeat center;    background-size: 100%;    width: 86%;height: 12vw;    z-index: -1;}    .company_ttl{    color: #005699;font-size: 2rem;font-weight: 600;line-height: 1.6;letter-spacing: 0.2rem;    text-align:center;    margin-bottom: 3rem;}    .company_ttl span    {        font-size: 2.4rem;    }.flex{    display: flex;    justify-content: space-between;    flex-wrap: wrap;}.company_wrap .img{    width: 100%!important;    padding: 1rem;}.company_wrap .txt{    width: 100%!important;}.company_wrap .txt p{    font-size: 1.6rem;    line-height: 1.6;    margin-bottom: 2rem;    font-weight: 500;}.company_wrap .ttl{    width: 5%;    writing-mode: vertical-rl;    display: table-cell;    vertical-align: middle;    text-orientation: upright;    color: #005699;    font-size: 2.6rem;    font-weight: 600;    line-height: 1.6;    letter-spacing: 0.2rem;}.company_wrap .ttl span{    font-size: 3.8rem;    padding-top: 2rem;}.btn{    padding: 5rem 0;    position: relative;    z-index: 1;}.btn a{    padding: 2rem 8rem 2rem 4rem;    font-size: 1.8rem;    font-weight: 500;    background: #00A1E8;    color: #FFFFFF;    position: relative;}.btn a::after{    content: "";    position: absolute;    top: 50%;    right: 2rem;    width: 25px;    height: 25px;    background: url("images/right-circle.png") no-repeat center;    background-size: 100%;    transform: translateY(-50%);}.recruit{    background: url("images/recruit_bg.png") no-repeat top;    background-size: cover;    color: #FFFFFF;    padding: 5rem 0;    position: relative;}.recruit::before{    content: "";    background: url("images/RECRUIT.png")no-repeat right bottom;    background-size: 100%;    position: absolute;    bottom: 0;    right: 0;    width: 62vw;    height: 12vw;}.recruit_wrap{    max-width: calc(1700px + 6%);    padding: 3%;    margin: 0 auto;    position: relative;}.l_box{    width: 100%;    padding: 1rem;}.r_box{    width: 100%;    padding: 1rem;}.r_ttl{    font-size: 2.4rem;    font-weight: 600;    line-height: 1.6;    margin-bottom: 3rem;}.r_box p{    font-size: 1.8rem;    margin-bottom: 2rem;    line-height: 1.4;    font-weight: 500;}.h3_ttl{    text-align: center;    font-size: 3rem;    margin-bottom: 5rem;    font-weight: 600;}.h3_ttl span{    font-size: 2rem;    font-family: futura-pt, sans-serif;    font-weight: 600;font-style: normal;    display: block;}.works{    position: relative;    padding: 10rem 0 20rem;    margin-bottom: 10rem;}.works::before{    content: "";    position: absolute;    left: 0;    bottom: 0;    background: url("images/WORKS.png") no-repeat center top;    width: 60vw;    height: 13vw;    z-index: 1;    background-size: 100%;}.works::after{    content: "";    position: absolute;    right: 0;    bottom: 0;    background: url("images/works01.png")no-repeat right top;    width: 70vw;    height: 60vw;    z-index: -1;    max-width: 1400px;    background-size: cover;}.works_box{    background: url("images/works_bg.png") no-repeat center;    padding: 5rem 2rem;    color: #FFFFFF;    max-width: 1050px;    width: 100%;    height: 100%;    max-height: 771px;    position: relative;    background-size: cover;}.works_ttl{    font-size: 3rem;    margin-bottom: 5rem;    font-weight: 600;}.sub_ttl{    font-size: 2rem;    font-weight: 600;    margin-bottom: 5rem;}.works_box p{    font-size: 1.8rem;    font-weight: 500;    margin-bottom: 3rem;}.partner{    background: url("images/partner_bg.png") no-repeat top center;    background-size: cover;    padding: 5rem 0;    text-align: center;    color: #FFFFFF;    position: relative;}.partner::before{content: "";    background: url("images/PARTNER.png")no-repeat top center;    background-size: 100%;    position: absolute;    right: 0;    bottom: 0;    width: 70vw;    height: 12vw;}.container{    max-width: calc(1300px + 6%);    padding: 3%;    margin: 0 auto;}h3.ttl{    font-size: 3rem;    text-align: center;    margin-bottom: 5rem;    font-weight: 600;}.partner p{    font-size: 1.8rem;    font-weight: 500;    line-height: 1.6;    margin-bottom: 5rem;}.partner .sub_ttl{    line-height: 1.6;}.news{    padding: 5rem 0;    position: relative;}.news_wrap{    max-width: calc(800px + 6%);    padding: 3%;    margin: 0 auto;}.ttl_box{    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    width: 100%;}.news_ttl{    font-size: 2.8rem;    text-align: center;    font-weight: 600;    padding-bottom: 3rem;}.news_ttl span{    font-size: 2rem;    color: #00A1E8;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    position: relative;    display: block;    padding: 2rem 0}.news_ttl span::before {content: "";    display: inline-block;    position: absolute;    left: 25%;    bottom: -1rem;    width: 50%;    height: 3px;    border-radius: 5px;  background: #00A1E8;}.news_box li{    padding: 2rem;    border-bottom: 1px dashed #CCCCCC;}.news_box dl{    display: flex;    flex-direction: column;}.news_box dt{    font-size: 2rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    color: #00A1E8;    padding-right: 2rem;}.news_box dd{    font-size: 1.8rem;}.contact{    position: relative;    background: url("images/contact_bg.png")no-repeat top center;    background-size: cover;    padding: 7rem 0;        color: #FFFFFF;    text-align: center;}.contact_ttl{    font-size: 5rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    margin-bottom: 2rem;}.contact_ttl span{    font-size: 1.8rem;    display: block;    padding-bottom: 5rem;    font-weight: 500;    font-style: normal;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}.contact p{    font-size: 1.8rem;    margin-bottom: 6rem;    line-height: 1.6;    font-weight: 500;}.contact .flex{    justify-content: center;    align-items: center;}.tel_btn{    padding: 4rem 0;}.tel_btn a{    font-size: 2.4rem;    padding: 2rem 5rem 2rem 8rem;    position: relative;    background: #00A1E8;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    }.tel_btn a::after{    content: "";    position: absolute;    top: 50%;    left: 2rem;    transform: translateY(-50%);    width: 32px;    height: 32px;    background: url("images/phone-call.png") no-repeat center;    background-size: 100%;}.mail_btn{    padding: 4rem 0;}.mail_btn a{    font-size: 2rem;    padding: 2rem 3rem 2rem 6rem;    position: relative;    background: #00A1E8;    font-weight: 500;}.mail_btn a::after{    content: "";    position: absolute;    top: 50%;    left: 2rem;    transform: translateY(-50%);    width: 32px;    height: 32px;    background: url("images/icon-mail.png") no-repeat center;    background-size: 100%;}#footer{ position: relative;}.f_wrap{    max-width: calc(1200px + 6%);    padding: 3%;    margin: 0 auto;}.f_logo{    text-align: center;    margin-bottom: 5rem;}#footer .flex{    justify-content: center;    align-items: center;}.honsha p , .jimusho p{    font-size: 1.8rem;    font-weight: 500;}.honsha{    padding: 1rem 0;}.jimusho{    padding: 1rem 0;    margin-bottom: 1rem;}.f_tel{    font-size: 2.6rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    text-align: center;}.copyright{    background: #005699;    color: #FFFFFF;    text-align: center;    font-size: 1.6rem;    padding: 1rem;}    /*---------------------------------------------------------------------------下層ページ----------------------------------------------------------------------------*/h4 {    position: relative;    margin: 20px auto;    padding: 1rem 0;    font-size: 2.8rem;    font-weight: 600;}h4:before {    content: "";    position: absolute;    left: 0;    bottom: 0;    width: 100%;    border-bottom: 5px solid #CCCCCC;}h4:after {    content: "";    position: absolute;    left: 0;    bottom: 0;    width: 20%;    border-bottom: 5px solid #00A1E8;}.flow_design02 {  display: flex;  justify-content: center;  align-items: center;}.flow_design02 ul {  padding: 0;    font-size: 1.6em;    font-weight: 500;}.flow_design02 li {  list-style-type: none;}.flow_design02 dd {  margin-left: 0;}.flow02 > li {  padding: 40px 10px;;}.flow02 > li:not(:last-child) {  border-bottom: 3px solid #00A1E8;  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: #00A1E8;}.flow02 > li:not(:last-child)::after {  border-width: 18px;  border-top-color: #fff;}.flow02 > li dl {  margin: 0;}.flow02 > li dl dt {  font-size: 1.4em;  font-weight: 600;  border-bottom: 2px dotted #878787;  margin-bottom: 0.5em;  padding-bottom: 0.5em;  display: flex;}.flow02 > li dl dt .icon02 {  font-size: 0.6em;  color: #fff;  background: #00A1E8;  padding: 5px 10px;  display: inline-block;  margin-right: 0.5em;}.t18{    font-size: 1.8rem;    font-weight: 500;    margin-bottom: 2rem;}.busi_btn a{    background: url("images/faq_btn01.png") no-repeat center top;    background-size: cover;    width: 100%;    height: 100%;    text-align: center;    color: #FFFFFF;    padding: 6rem;    font-size: 4rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    display: block;}.recu_btn a span{    font-size: 2.6rem;    font-weight: 500;    display: block;    font-style: normal;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}.recu_btn a{    background: url("images/faq_btn02.png") no-repeat center top;    background-size: cover;    width: 100%;    height: 100%;    text-align: center;    color: #FFFFFF;    padding: 6rem;    font-size: 4rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    display: block;}.busi_btn a span{    font-size: 2.6rem;    font-weight: 500;    display: block;    font-style: normal;    font-family: 'Zen Maru Gothic', "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}.qa-006 {    max-width: 1200px;    margin: 1rem auto;    border-bottom: 2px solid #d6dde3;}.qa-006 summary {    display: flex;    justify-content: space-between;    align-items: center;    position: relative;    padding: 1em 1em 1em 3em;    color: #333333;    font-weight: 600;    cursor: pointer;    font-size: 1.6em;    list-style: none;    text-align: left;}.qa-006 summary::before{    position: absolute;    left: 0em;    font-weight: 600;    font-size: 1.6em;}.qa-006 p::before {    position: absolute;    left: 1em;    font-weight: 600;    font-size: 1.6em;}.qa-006 summary::before {    color: #005699;    content: "Q";}.qa-006 summary::after {    transform: translateY(-25%) rotate(45deg);    width: 7px;    height: 7px;    margin-left: 10px;    border-bottom: 3px solid #333333b3;    border-right: 3px solid #333333b3;    content: '';    transition: transform .5s;}.qa-006[open] summary::after {    transform: rotate(225deg);}.qa-006 p {    position: relative;    transform: translateY(-10px);    opacity: 0;    margin: 0;    padding: .3em 2em 1.5em 3em;    color: #333;    transition: transform .5s, opacity .5s;    font-size: 1.6em;}.qa-006[open] p {    transform: none;    opacity: 1;}.qa-006 p::before {    color: #ff8d8d;    line-height: .7;    content: "A";}.name{    text-align: right;    font-size: 2rem!important;    font-weight: 600!important;    padding-top: 3rem;}.rinen{    text-align: center;    font-size: 2rem;    font-weight: 600;    line-height: 1.8;}.t01{    width: 100%;    margin: 5rem auto;    border-top: 1px solid #005699;}.t01 th,.t01 td{    padding: 3rem 1rem;    border-bottom: 1px solid #005699;    font-size: 1.8rem;    font-weight: 500;}.t01 th{    background: #F7F7F7;    width: 34%;    text-align: center;}/*プライバシーのデザインcss↓*/.con_pri {  max-width: 700px;  margin: 0  auto;}.con_pri .box_pri {  height: 300px;  overflow-y: scroll;  border: 1px solid #cdcdcd;  background: #f7f7f7;  -moz-box-sizing: border-box;  -webkit-box-sizing: border-box;  box-sizing: border-box;  margin-top: 20px;  padding: 20px;}.con_pri .box_pri .box_tori {  text-align: left;  margin-top: 40px;}.con_pri .box_pri .box_tori h4 {  font-weight: normal;  margin-bottom: 30px;  font-size: 200%;}.con_pri .box_pri .box_tori .txt {  padding: 0 20px;    font-size: 1.4em;}.con_pri .box_pri .box_num {  margin-top: 30px;}.con_pri .box_pri .box_num h4 {  font-weight: normal;  font-size: 200%;}.con_pri .box_pri .box_num .txt {  padding: 10px 0 0 20px;}.box_num li{    font-size: 1.4em;    list-style: disc;    margin-bottom: 1rem;    margin-left: 2rem;}.box_check {  text-align: center;  margin: 1em auto;}.box_check label {  display: inline-block;}.box_check label span {  margin-left: .3em;    font-size: 1.4em}.btn {  text-align: center;}.btn input {  display: inline-block;  background: #005699;  padding: 1.5em 5em;  color: #FFFFFF;  text-decoration: none;  cursor: pointer;  border: none;  -moz-transition: all 0.4s;  -o-transition: all 0.4s;  -webkit-transition: all 0.4s;  transition: all 0.4s;    font-size: 1.6em;}.btn input:hover {  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);  opacity: 0.7;}    .h2_ttl{    background: url("images/h2_ttl.png") no-repeat top center;    background-size: cover;    margin-bottom: 3rem;}.h2_inner{    max-width: calc(1300px + 6%);    margin: 0 auto;    padding: 12rem 3%;    text-align: center;    color: #FFFFFF;    font-size: 2rem;    font-weight: 600;}.h2_inner span{    font-size: 5rem;    font-family: futura-pt, sans-serif;font-weight: 700;font-style: italic;    display: block;}.h3_ttl{    font-size: 2.4rem;    text-align: center;    position: relative;    margin-bottom: 5rem;    padding-bottom: 3rem;}.h3_ttl::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    height: 5px;    width: 20rem;    background: #005699;    border-radius: 3px;    transform: translateX(-50%);}    .flex .img{    width: 100%;    margin-bottom: 3rem;}.flex .txt{    width: 100%;    margin-bottom: 3rem;}.txt p{    font-size: 1.8rem;    font-weight: 500;    line-height: 1.6;    margin-bottom: 2rem;}    }