@charset "UTF-8";
/* CSS Document */

@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 500;
   src: url(../../fonts/NotoSansCJKjp-Medium.eot) format('eot'),
url(../../fonts/NotoSansCJKjp-Medium.woff) format('woff'),
url(../../fonts/NotoSansCJKjp-Medium.otf) format('opentype');
 }

body{
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #000;
    line-height: 1.4;
}
a{
    color: #000;
    text-decoration: none;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}
a:hover{ opacity: 0.85;}
img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
.inner{
    clear: both;
    width: 100%;
    margin: 0 auto;
    padding:0 2.6%;
    box-sizing: border-box;
}
.inner:after{
    content: "";
    display: table;
    clear: both;
}

header{
    background: #fff;
    border-bottom: 2px solid #e5e5e5;
    width: 100%;
    height: 60px;
    position: fixed;
    top: 0;
    left:0;
    z-index: 10;
}
header .inner{
    position: relative;
    padding: 13px 2.6%;
}

header #logo{
    float: left;
    width: 72px;
    margin: 7px 0 0 5px;
}
header #menuBtn{
    width: 31px;
    height: 32px;
    position: absolute;
    top: 13px;
    right:calc(2.6% + 5px);
    z-index: 9999;
}
header #menuBtn:after{
    content: attr(title);
    position: absolute;
    bottom:0;
    left: 0;
    width: 100%;
    font-size: 8px;
    color: #009cbf;
    text-align: center;
    line-height: 1;
}
header #menuBtn.open:after{
    color: #fff;
    content: "CLOSE";
}

header #menuBtn > span{
    display: block;
    width: 100%;
    height: 21px;
    position: relative;
}
header #menuBtn > span span{
    display: block;
    background: #009cbf;
    width: 100%;
    height: 3px;
    position: absolute;
    right:0;
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
}
header #menuBtn > span span:first-child{ top: 0;}
header #menuBtn > span span:nth-child(2){
    top: 8px;
    opacity: 1;
}
header #menuBtn > span span:last-child{ top: 16px;}
header #menuBtn.open > span span{
    display: block;
    background: #fff;
    width: 100%;
    height: 3px;
    position: absolute;
    right:0;
}

header #menuBtn.open > span span:first-child{
    -webkit-transform: translateY(8px) rotate(-45deg);
    -moz-transform: translateY(8px) rotate(-45deg);
    -o-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
}
header #menuBtn.open > span span:nth-child(2){  opacity: 0;}
header #menuBtn.open > span span:last-child{
    -webkit-transform: translateY(-8px) rotate(45deg);
    -moz-transform: translateY(-8px) rotate(45deg);
    -o-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg);
}
header #gNavi{
    background: #009cbf;
    position: fixed;
    top: 0;
    right: -85%;
    width: 85%;
    height: 100%;
    padding: 60px 7%;
    color: #fff;
    box-sizing: border-box;
    z-index: 500;
    opacity: 0;
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
}
header #gNavi.open{
    right: 0;
    opacity: 1;
}
header #gNavi ul{ margin-bottom: 15px;}
header #gNavi ul li{
    border-bottom: 1px solid #fff;
    font-size: 107%;
}
header #gNavi ul li a{
    display: block;
    padding: 10px 0;
    color: #fff;
}
header #gNavi #logo2{
    width: 71px;
    margin: 0 auto;
}
#container{
    clear: both;
    width: 100%;
    /*padding: 60px 0 0 0;*/
}
#container > section,
#container > article{
    clear: both;
    padding: 35px 0;
}



#container #mainVisual{
    background: url(../../images/sp/bg_mv01.jpg) no-repeat;
    background-size: cover;
    width: 100%;
    padding: calc(100vh - 70px) 0 0 0;
    position: relative;
}
#mainVisual .inner{
    position: absolute;
    top: 30%;
    transform:translateY(-50%);
    left: 0;
    width: 100%;
}
#mainVisual .text{
    margin:0 auto 0 auto;
    width: 100%;
    pointer-events: stroke;
}
#mainVisual .text h1{
    font-size: 250%;
    font-weight: 600;
    letter-spacing: 5px;
    line-height: 1.2;
    text-align: center;
    color: #fff;
    padding: 0;
    text-shadow: 1px 1px 3px #111;
}
#mainVisual .text h1 span{
    display: block;
    padding: 5px 0 5px 0;
    letter-spacing: 0px;
    font-size: 35%;
}
#mainVisual .text .sub{
    margin:10px auto 0 auto;
    width: 100%;
    text-align: center;
    color: #fff;
}
#mainVisual .text ul li.text01{
    font-size: 80%;
    display: inline;
    border-bottom: 1px solid #fff;
    padding-bottom: 5px;
}
#mainVisual .text ul  li.text01 span{
    display: inline;
    font-size: 200%;
    color: #ffea03;
}
#mainVisual .text ul li.text02{
    margin: 5px 0 0 0;
    font-size: 80%;
    text-align: right;
    margin-right:22%;
}

/*
#mainVisual .text{
    margin-top: 3%;
}
#mainVisual .text h1{
    float: left;
    width: 100%;
    font-size: 250%;
    font-weight: 600;
    line-height: 1.2;
}
#mainVisual .text h1 span{
    display: block;
    margin-bottom: 5px;
    font-size:50%;
}
#mainVisual .text .icon{
    float: left;
    width: 39.4%;
    padding: 41.37% 0 0 0;
    position: relative;
}
#mainVisual .text ul li{
    background: #009cbf;
    width: 59%;
    padding: 59% 0 0 0;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    position: absolute;
}
#mainVisual .text ul li:first-child{
    top: 5%;
    right: left;
}
#mainVisual .text ul li:nth-child(2){
    bottom: 8%;
    right: 0;
}

#mainVisual .text ul li > span{
    display: block;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    font-size: 153%;
}
#mainVisual .text ul li > span span{
    font-size: 153%;
    font-weight: 700;
}
#mainVisual .text ul:after{
    content: "";
    display: table;
    clear: both;
}
#mainVisual .text small{
    position: absolute;
    bottom:0;
    right: 0;
    font-size: 75%;
    line-height: 1;

}
*/

#fvBtn{
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    height: 80px;
}
#floatBtn{
    display: none;
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    height: 80px;
}
#floatBtn.fixed{
    display: block;
    background: rgba(255,255,255,0.8);
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 400;
    -webkit-animation: fadeIn .5s ease forwards;
    -moz-animation: fadeIn .5s ease forwards;
    -o-animation: fadeIn .5s ease forwards;
    animation: fadeIn .5s ease forwards;
}
@keyframes fadeIn {
0% { opacity: 0;}
    100% {opacity: 1;}
}


.fvBtnList {
    margin: 0 auto;
    padding: 10px 0;
}
.fvBtnList__item{
    width: 90%;
    margin: 0 auto 10px auto;
    text-align: center;
    position: relative;
}
.fvBtnList__item a{
    font-size: 16px;
}
.fvBtnList__item.btn01 a{
    background: url(../../images/ico_arrow_btn01.png) 96% center no-repeat #f7a319;
    background-size: 6px auto;
    display: block;
    border-radius: 10px;
    color: #fff;
    height:55px;
    line-height: 55px;
    font-weight: bold;
}
.fvBtnList__item.btn01 a .btn span{
    display: block;
    font-size: 12px;
    padding: 8px 0 0 0;
}
.fvBtnList__item.btn02 a{
    background: url(../../images/ico_arrow_btn01.png) 94% center no-repeat;
    background-size: 6px auto;
    display: block;
    border-radius: 10px;
    color: #fff;
    height:55px;
    line-height: 55px;
    font-weight: bold;
}
.fvBtnList__item.btn02 a .btn span{
    display: block;
    font-size: 12px;
    padding: 8px 0 0 0;
}
.fvBtnList__item.btn02 a{ background-color: #009cbf;}
.fvBtnList__item.btn01 a span.btn{
    font-weight: bold;
    font-size: 12px ;
}
.fvBtnList__item span.muryo{
    background: #c82c2c;
    display: block;
    border-radius: 50%;
    position: absolute;
    top: -45px;
    left: -3px;
    width: 60px;
    height: 60px;
    line-height: 60px;
    color: #fff;
    text-align: center;
    font-weight: bold;
}
.fvBtnList__item p.gentei{
    background: #c82c2c;
    display: block;
    border-radius: 50%;
    position: absolute;
    top: -45px;
    left: -3px;
    width: 60px;
    height: 60px;
    line-height: 1.2;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 70%;
}
.fvBtnList__item p.gentei span{
    display: block;
    padding:19px 0 0 0;
}
/*chatbot*/
#floatBtn.fixed .inner{
    margin:15px 0 0 0;
}
.fixed ul li{
    float: left;
    margin: 0 2% !important;
    text-align: center;
    position: relative;
}
.fixed ul li.btn01{
    width:33% !important;
}
.fixed ul li.btn02{
    width:33% !important;
}
.fixed ul li.btn02 a{
    background-image: none !important;
}
.fixed ul li a{
    font-size: 11px !important;
}
.fixed ul li a span.btn{
    font-size: 11px !important;
}

.fixed ul li p.gentei span{
    display: block;
    padding: 19px 0 0 0;
    font-size: 10px !important;
}

.fixed ul li.btn01 a{
    height: 55px !important;
    line-height:55px;
}
.fixed ul li.btn02 a{
    height: 55px !important;
    line-height:55px;
}
.fixed ul li a .btn span{
    display: none !important;
}
/*chatbot*/

#floatBtn ul:after{
    content: "";
    display: table;
    clear: both;
    clear: both;
}
#container > section h2,
#container > article h2{
    margin-bottom: 35px;
    text-align: center;
    font-size: 200%;
    font-weight: 700;
}
#container > section h2 .catch,
#container > article h2 .catch{
    display: block;
    margin-bottom: 10px;
    font-size: 42%;
}
#container > section h2 .blue,
#container > article h2 .blue{
    color: #009cbf;
    letter-spacing: 0;
    font-weight: 600;
}
#container #movie .inner{
    width: 90%;
    margin: 0 auto;
}
#container #movie iframe{
    width: 100%;
    height: 200px;
    margin: 0 auto;
}
#container #reason{
    background: url(../../images/sp/bg_reason01.jpg);
    background-size: 16px auto;
}
#container #reason ul{
    background: url(../../images/sp/line_dot01.png) 0 0 no-repeat;
    padding-top: 35px;
}
#container #reason ul.block01 li{
    width: 98%;
    margin:0 auto 35px;
}
#container #reason ul.block01 li:first-child dl.reason{ background-image: url(../../images/sp/ico_reason01.png);}
#container #reason ul.block01 li:nth-child(2) dl.reason{ background-image: url(../../images/sp/ico_reason02.png);}
#container #reason ul.block01 li:last-child dl.reason{ background-image: url(../../images/sp/ico_reason03.png);}
#container #reason ul.block01 li dl.reason{
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 110px auto;
    width: 100%;
    margin-bottom: 20px;
    padding-top: 136px;
    text-align: center;
}
#container #reason ul.block01 li dl.reason dt,
#container #reason ul.block01 li dl.reason dd{
    display: inline-block;
    line-height: 25px;
}
#container #reason ul.block01 li dl.reason dt{
    margin-right: 2px;
    font-weight: 600;
    font-size: 78.5%;
}
#container #reason ul.block01 li dl.reason dt span{
    display: block;
    font-size: 314%;
    font-weight: 600;
    line-height: 22px;    
}
#container #reason ul.block01 li dl.reason dd span{
    display: block;
    font-size: 171%;
    font-weight: 600;
    line-height: 22px;
}
#container #reason ul.block01 li dl.point{
    background: #fff;
    padding: 15px 2%;
}
#container #reason ul.block01 li dl.point dd{
    text-indent: -1em;
    padding-left: 1em;
}

#container #reason ul.block01 li dl.point dt{
    color: #009cbf;
    font-weight: 600;
}
#container #reason ul.block02 li{
    background: #f7a319;
    border-radius: 10px;
    float: left;
    width: 47%;
    margin: 0 1.5% 24px;
    padding: 16px 0;
    color: #fff;
    text-align: center;
    position: relative;
    font-size: 92%;
}
#container #reason ul.block02 li:after {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(247, 163, 25, 0);
	border-bottom-color: #f7a319;
	border-width: 12px;
	margin-left: -12px;
}
#container #reason ul.block02 li span{
    display: block;
    font-size: 177%;
    font-weight: bold;
}
#container #reason ul.block02 li:nth-child(n+3){ margin-bottom: 0;}

#container #reason ul.block02:after{
    content: "";
    display: table;
    clear: both;
}
#container #rapid{background: #009cbf;}
#container #rapid h2{ color: #fff;}
#container #rapid .slide01 .slick-slide{
    background: #fff;
    margin: 0 10px;
    padding: 20px;
    width: 212px;
    box-sizing: border-box;
    font-size: 78.5%;
}
#container #rapid .slide01 .slick-slide .title{
    border-bottom: 1px solid #c7c7c7;
    margin-bottom: 20px;
    padding-bottom: 20px;
    position: relative;
}
#container #rapid .slide01 .slick-slide h3{
    font-size: 167%;
    font-weight: 600;
    margin-bottom: 5px;
}
#container #rapid .slide01 .slick-slide .area{
    font-size: 133%;
    font-weight: 600;
    margin-bottom: 5px;
}
#container #rapid .slide01 .slick-slide .subject{
    background: #009cbf;
    position: absolute;
    top: 0;
    right: 0;
    width: 73px;
    height: 73px;
    border-radius: 50%;
    text-align: center;
    color: #fff;
    font-size: 135%;
    font-weight: 600;
}
#container #rapid .slide01 .slick-slide .small{font-size: 100%;}
#container #rapid .slide01 .slick-slide .subject span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
#container #rapid .slide01 .slick-slide .small span{
     width: 73px;
}
#container #rapid .slide01 .slick-slide table{
    width: 100%;
    border: 0;
    border-collapse: collapse;
}
#container #rapid .slide01 .slick-slide table th,
#container #rapid .slide01 .slick-slide table td{
    padding: 3px 0;
    text-align: left;
    vertical-align: top;
}
#container #rapid .slide01 .slick-slide table th{width: 40%;}
#container #rapid .slide01 ul .slide-arrow{
    position: absolute;
    top: 50%;
    left: 10%;
    z-index:5;
    cursor: pointer;
    width: 25px;
    height: 25px;
}
#container #rapid .slide01 ul .slick-prev{ transform: translate(0,0);}
#container #rapid .slide01 ul .slick-next{ 
    left: auto;
    right: 10%;
    transform: translate(0,0);
}

#container #about .inner{
    background: url(../../images/bg_about01.jpg) center top no-repeat;
    background-size: 100% auto;
    padding-top: 50%;
}
#container #about ul li{
    width: 100%;
}
#container #about ul li h3{
    width: 100%;
    margin-bottom: 20px;
    padding: 0 0 10px 0;
    position: relative;
    border-bottom: 1px solid #e5e5e5;
    box-sizing: border-box;
    font-size: 114%;
    font-weight: 600;
    color: #009cbf;
}
#container #about ul li h3 span{
    font-size: 158%;
    color: #b92432;
    font-weight: 600;
    margin: 0 0 0 10px;
}



#container #about ul:after{
    content: "";
    display: table;
    clear: both;
}
#container #about ul li p{
    margin: 0 auto 30px;
    text-align: justify;
    letter-spacing: -1px;
}

#container #flow{
    background: url(../../images/sp/bg_flow01.png);
    background-size: 47px auto;
}
#container #flow ol{
}
#container #flow ol li{
    background: url(../../images/sp/bg_flow02.png) left bottom no-repeat;
    background-size: 100% auto;
    border-top: 1px solid #009cbf;
    float: none;
    width: 100%;
    margin: 0 0 20px 0;
    padding: 25px 10%;
    box-sizing: border-box;
    text-align: justify;
}
#container #flow ol li h3{
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: auto 100%;
    font-size: 150%;
    color: #009cbf;
    font-weight: 600;
    margin-bottom: 25px;
}
#container #flow ol li:first-child h3{ background-image: url(../../images/sp/img_flow01.png);}
#container #flow ol li:nth-child(2) h3{ background-image: url(../../images/sp/img_flow02.png);}
#container #flow ol li:nth-child(3) h3{ background-image: url(../../images/sp/img_flow03.png);}
#container #flow ol li:last-child h3{ background-image: url(../../images/sp/img_flow04.png);}

#container #flow ol li h3 span{
    display: block;
    font-size: 176.6%;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 5px;
}

#container #flow ol li:nth-child(even){ margin-right: 0;}
#container #flow ol li .btn{
    width: 80%;
    margin: 20px auto 0;
}
#container #flow ol li a{
    display: block;
    border-radius: 20px;
    background: #f7a319;
    padding: 5px 0;
    color: #fff;
    font-size: 128%;
    text-align: center;
}
#container #flow ol:after{
    content: "";
    display: table;
    clear: both;
}
#container #results{
    background: url(../../images/bg_results01.png);
    background-size: 10px auto;
    position: relative;
    padding: 120px 0 60px;
    border-bottom: 15px solid #009cbf;
    overflow: hidden;
}
#container #results > p{
    background: #009cbf;
    width: 100%;
    padding: 20px 0;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    color: #fff;
    font-size: 114%;
}
#container #results table{
    border: 2px solid #a0a0a0;
    background: #fff;
    width: 80%;
    margin: 0 auto 30px;
    font-size: 78%;
}
#container #results table th,
#container #results table td{
    padding: 5px 0 5px 10%;
    text-align: left;
}
#container #results table tr:first-child th,
#container #results table tr:first-child td{ padding-top: 20px;}
#container #results table tr:last-child th,
#container #results table tr:last-child td{ padding-bottom: 20px;}

#container #results table td{ width: 50%;}
#container #results ul {
    width: 96%;
    margin: 0 auto;
}
#container #results ul li.slick-slide{
    background: #fff;
    border:2px solid #009cbf;
    margin: 0;
    text-align: center;
    z-index: 1;
    box-sizing: border-box;
}
#container #results ul li dl{
    width: 100%;
}
#container #results ul li dl dt{
    background: #009cbf;
    padding: 15px 0;
    font-size: 125%;
    color: #fff;
    line-height: 1;
}
#container #results ul li dl dd{
    padding: 35px 5%;
    text-align: center;
}
#container #results ul li dl dd img{
    margin: 0 auto;
}
#container #results ul .slide-arrow{
    position: absolute;
    top: 50%;
    left: -2%;
    z-index:5;
    cursor: pointer;
    width: 25px;
    height: 25px;
}
#container #results ul .slick-prev{ transform: translate(0,0);}
#container #results ul .slick-next{ 
    left: auto;
    right: -2%;
    transform: translate(0,0);
}

#container #voice{
    background: #f5f5f5;
}
#container #voice article{ margin-bottom: 45px;}
#container #voice article:last-of-type{ margin-bottom: 0;}
#container #voice article .titleBox{
    background-position: 0 0 ;
    background-repeat: no-repeat;
    background-size: 100% auto;
    position: relative;
    padding: 62.9% 0 0 0;
}
#container #voice article:first-of-type .titleBox{ background-image:url(../../images/sp/bg_voice04.jpg);}
#container #voice article .titleBox .text{
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);

}
#container #voice article:nth-of-type(1) .titleBox .text{ left: 60%; width: 34%;}

#container #voice article:nth-of-type(2) .titleBox{ background-image:url(../../images/sp/bg_voice06.jpg);}
#container #voice article:nth-of-type(2) .titleBox .text{
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
}
#container #voice article:nth-of-type(2) .titleBox .text{width: 42%;}

#container #voice article .titleBox .text h3{
    margin-bottom: 15px;
    font-size: 92%;
}
#container #voice article .titleBox .text h3 > span{
    font-size: 338%;
    color: #189cbb;
    font-family: 'Noto Sans Japanese';
    display: block;
    margin-bottom: 10px;
    padding-left: 15px;
    position: relative;
    line-height: 1;
}
#container #voice article .titleBox .text h3 > span span{
    font-size: 29%;
    display: block;
    line-height: 1;
    margin: 0;
    padding: 0;
    transform: rotate(270deg) translate(-50%,-50%);
    position: absolute;
    top: 0;
    left: 0;
}
#container #voice article table{
    width: 100%;
    border: 0;
    border-collapse: collapse;
}
#container #voice article table th{
    display: block;
    width: 100%;
    padding: 25px 0;
    font-size: 118.75%;
    color: #189cbb;
    text-align: left;
    vertical-align: middle;
    box-sizing: border-box;
}
#container #voice article table td{
    display: block;
    width: 100%;
    padding: 0 0 25px 0;
    border-bottom: 1px solid #a0a0a0;
    vertical-align: middle;
    box-sizing: border-box;
    text-align: justify;
}
#container #voice article table tr:first-child th,
#container #voice article table tr:first-child td{
    background: #189cbb;
    border: 0;
    color: #fff;
    padding: 25px 5%;
}
#container #voice article table tr:first-child td{ padding-top: 0;}
#container #voice article table tr:first-child th img{
    height: 13px;
    width: auto;
}

footer{
    background: #009cbf;
    padding:  0 0 80px;
    color: #fff;
}
footer ul li{
    border-bottom: 1px dotted #fff;
    font-size: 107%;
}
footer ul li a{
    display: block;
    padding: 20px 5%;
    color: #fff;
}
footer ul li a:hover{
    text-decoration: underline;
    opacity: 1;
}
footer #copyRight{
    padding: 25px 0;
    text-align: center;
}
@media screen and (max-width:520px){
    #mainVisual .text h1{
        font-size: 150%;
        /*font-size: 214%;*/
    }
    #mainVisual .text h1 span{
        display: block;
        margin: 5px 0 5px 0;
        font-size: 50%;
    }
    #mainVisual .text ul li > span{

        font-size: 92%;
    }
    #mainVisual .text ul li > span span{
        font-size: 153%;
        font-weight: 700;
    }
    #mainVisual .text ul li.text02{
        margin-right:17%;
    }
}
@media screen and (max-width:400px){
    #container > section h2,
    #container > article h2{
        font-size: 180%;
    }
    #container > section h2 .catch, #container > article h2 .catch {
        font-size: 35%;
    }    
}


/*2019 0313 START*/
.catchphrase{
    padding: 14px 0;
    width: 100%;
    background: #c62e31;
}
.catchphrase p{
    margin: 0 auto;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size:15px;
}
@media screen and (max-width:320px){
.catchphrase{
    padding: 14px 0;
}
.catchphrase p{
    font-size:13px;
}
}
/*2019 0313 END*/

/*2019 1225 START*/
#present_navi img{
    width: 100%;
}
#present_navi{
    margin: 0;
    padding: 0 !important;
}
#present_navi .img{
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
#present_navi .btn{
    text-align: center;
    width: 17.3%;
    margin: -30px auto 0 auto;
    display: block;
    position: relative;
}
#present_navi .btn img{
    margin: 0;
}
#present{
    margin:0;
}
#present img{
    width: 100%;
}
#present p.text{
    margin: 10px 0 0 0;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
}
#present p.btn{
    margin: 10px auto;
    text-align: center;
    width: 90%;
}
/*2019 1225 END*/

#osusume{
    margin: 0;
    padding: 0 !important;
}
#osusume p{
    margin: 0;
    line-height: 0.5;
}



/***** アプリ紹介コンテンツ *****/
section#app_info {
    padding-top: 45px;
    padding-bottom: 0;
    background: url(../../images/app_info_bg.gif) repeat;
}
#app_info .app_info_ttl {
    position: relative;
    margin-bottom: 0;
    padding: 0 0 30px 0;
    font-size: 27px;
    font-weight: bold;
    color: #009cbf;
    text-align: center;
    letter-spacing: 0;
}
#app_info .app_info_ttl:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    background: url(../../images/app_info_arupaka.png) no-repeat;
    background-size: 47px 64px;
    width: 47px;
    height: 64px;
}
#app_info .app_info_ttl:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 25px;
    background: url(../../images/app_info_kawauso.png) no-repeat;
    background-size: 45px 56px;
    width: 45px;
    height: 56px;
}
.app_info_ttl_sub {
    margin-bottom: 20px;
    padding: 5px;
    font-size: 21px;
    font-weight: bold;
    background: #009cbf;
    color: #ffffff;
    text-align: center;
}
.app_info_feature {
    margin-bottom: 50px;
}
.app_info_feature__item {
    margin-bottom: 30px;
}
.app_info_feature__img img {
    vertical-align: bottom;
    max-width: 100%;
    text-align: center;
}
.app_info_feature__txt {
    padding: 25px 20px;
    background: #ffffff;
    color: #535353;
}
.app_info_feature__ttl {
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.app_info_feature__body {
    line-height: 1.6;
}
.u-marker {
    font-style: normal;
    font-weight: bold;
    background: linear-gradient(transparent 70%, #fff100 70%);
}

.app_info_dl {
}
.app_info_dl__img {
    margin-left: 40px;
    margin-right: 40px;
    line-height: 1;
    text-align: center;
}
.app_info_dl img {
    vertical-align: bottom;
}
.app_info_dl__txt {
    margin-bottom: 30px;
}
.app_info_dl__ttl {
    margin-bottom: 20px;
    font-size: 22px;
    font-weight: bold;
    color: #e6551c;
    text-align: center;
}
.app_info_dl_list {
    display: flex;
    justify-content: center;
}
.app_info_dl_list__item {
    margin-right: 5px;
    margin-left: 5px;
    text-align: center;
}
.app_info_dl_list__qr {
    margin-top: 10px;
}



/***** 採用情報スライダー *****/
#rapid .inner {
    padding: 0;
    width:100%;
}
#rapid .jobInfoSlide {
    margin-bottom: 102px;
}
#rapid article {
    box-sizing: border-box;
    margin: 0 10px;
    padding: 30px 28px 10px 28px;
    width: 250px !important;
    min-height: 340px;
    background: #ffffff;
}
#rapid article .ico_area {
    width: 100px;
    height: 100px;
    margin: 0 auto 22px;
    border-radius: 100px;
    background: #86ac6f;
    display: flex;
    justify-content: center;
    align-items: center;
}
#rapid article .ico_area a {
    font-size: 171%;
    color: #ffffff;
}
#rapid article p.rapid_title a {
    font-weight: 400;
}

/* slick style*/
#rapid .jobInfoSlide .slick-prev::before {
    content: '';
    width: 30px;
    height: 30px;
    display: inline-block;
    background-image: url(../../images/ico_jobInfoSlide_prev.png);
    background-size: contain;
    vertical-align: middle;
}
#rapid .jobInfoSlide .slick-next::before {
    content: '';
    width: 30px;
    height: 30px;
    display: inline-block;
    background-image: url(../../images/ico_jobInfoSlide_next.png);
    background-size: contain;
    vertical-align: middle;
}
#rapid .jobInfoSlide .slick-prev {
    left: 0px;
    width: 30px;
    height: 30px;
    z-index:1;
}
#rapid .jobInfoSlide .slick-next {
    right: 0;
    width: 30px;
    height: 30px;
    z-index:1;
    display: block;
}
#rapid .jobInfoSlide .slick-dots {
    height: 10px;
    bottom: -50px;
    line-height: 10px;
    justify-content: center;
}
#rapid .jobInfoSlide .slick-dots li {
    margin: 0 5px;
    width: 10px;
}
#rapid .jobInfoSlide .slick-dots li button {
    height: 10px;
}
#rapid .jobInfoSlide .slick-dots li button::before {
    color: #ffffff;
    font-size: 10px;
    line-height: 10px;
    width: 10px;
    height: 10px;
    opacity: 0.25;
    background: #ffffff;
    border-radius: 5px;
}
#rapid .jobInfoSlide .slick-dots li.slick-active {
    height: 10px;
}
#rapid .jobInfoSlide .slick-dots li.slick-active button::before {
    opacity: 1;
}


/* カテゴリ */
.ico_category li.ico_status a{ background: #ee4e15;}
.ico_category li.ico_status.end a{ background: #235f85;}
.ico_category li.ico_area a{ background: #86ad71;}
.ico_category li.ico_subject a{ background: #71adac;}
.ico_category li.ico_form a{ background: #7178ad;}
.ico_category li.ico_classification a{ background: #ee6464;}
.ico_category li.ico_charge a{ background: #009cbd;}
.ico_category li.ico_graduate a{ background: #c9b006;}
.ico_category li.ico_college a{ background: #e28496;}

#rapid ul{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 5px 0 0 0;
}
#rapid ul li{
    margin: 5px 5px 5px 0;
    font-size: 12px;
}
#rapid ul li a{
    color: #fff;
    display: block;;
    height: 26px;
    line-height: 26px;
    text-align: center;
    padding: 0 6px;
    box-sizing: border-box;
    min-width: 46px;
}
#rapid ul li.area a{ background: #009cbd;}
#rapid ul li.subject a{ background: #00bd78;}
#rapid ul li.form a{ background: #9e58c2;}
#rapid ul li.classification a{ background: #e24d85;}

#rapid ul li a:hover{
    text-decoration: none;
    opacity: 0.8;
}


#rapid .btn_bottom {
    margin: 30px 0;
}
#rapid .btn_bottom .more {
    height: 50px;
    border-radius: 25px;
    padding: 0 20px;
    margin: 0 auto;
    display: block;
    width: 260px;
    box-sizing: border-box;
}
.btn_b5 {
    border: 2px solid #fff;
    background: #009cbd;
    color: #fff;
}

/*20220614*/
#container #flow ol li {
    background: #fff;
    border: 2px solid #349cbd;
}

#container #flow ol li .head {
    display: flex;
    align-items: center;
}
#container #flow ol li .head .icon {
    width: 30% !important;
}
#container #flow ol li .head h3 {
    margin-bottom: 0;
    min-height: unset !important;
    font-size: 19px;
    word-break: keep-all;
    margin-left: 12px;
    background: none !important;
}

#container #flow ol li .img img {
    min-width: 80%;
}

#container #flow ol li .img {
    margin: 20px auto;
    text-align: center;
}

#container #flow ol li p {
    font-size: 14px;
    line-height: 1.6;
}
#container #flow ol li p span {
    color: #ff780a;
    font-size: 16px;
    font-weight: bold;
}

#container #flow ol li .btn_r1 {
    display: block;
    text-align: center;
    font-size: 16px;
    width: 100%;
    padding: 16px 0;
    border-radius: 4px;
    border: 2px solid #cc0026;
    background: #cc0026;
    color: #fff;
    line-height: 1;
    box-sizing: border-box;
    margin-bottom: 6%;
}
#container #flow ol li .btn_r1 span {
    font-size: 10px;
    display: inline-block;
    padding: 4px 6px;
    margin-right: 8px;
    vertical-align: middle;
    line-height: 1;
    border-radius: 9px;
    background: #fff;
    color: #cc0026;
}

#container #flow .btn_r1:hover {
    border: 2px solid #cc0026;
    background: #fff;
    color: #cc0026;
}

#container #flow .btn_r1:hover span {
    background: #cc0026;
    color: #fff;
}

#flow .txt {
    text-align: center;
    font-size: 14px;
    line-height: 1.7;
    margin: 10px auto 0;
}

#flow .txt span {
    font-size: 16px;
    color: #349cbd;
    font-weight: bold;
    display: block;
    margin: 10px 0 0;
}

#flow .entryflow_btn {
    display: block;
    width: 100%;
    margin: 25px auto 0;
    height: 55px;
    line-height: 55px;
    text-align: center;
    border-radius: 32px;
    color: #fff;
    background: #349cbd;
    font-size: 14px;
    background-image: url(../../images/icon_arrow_right.png);
    background-repeat: no-repeat;
    background-size: 7px;
    background-position: 95%;
}

#flow .entryflow_btn:hover {
    text-decoration: underline;
}

#faq h2 {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
    font-size: 20px !important;
    font-weight: normal !important;
    letter-spacing: 0 !important;
    margin-bottom: 0 !important;
}

#faq h2 span {
    font-size: 22px;
    color: #349cbd;
}

#faq article {
    border-bottom: 2px solid #dcdcdc;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

#faq article .question {
    background: url(../../images/ico_plus_qa.png) right center no-repeat;
    background-position: right center;
    background-size: 8% auto;
    border-bottom: 1px solid #dcdcdc;
    padding: 30px 14% 30px 8%;
    font-size: 15px;
    color: #000;
    position: relative;
}

#faq article .question {
    padding-right: 40px;
}

#faq article .question.open {
    background: url(../../images//ico_minus_qa.png) right center no-repeat;
    background-position: right center;
    background-size: 8% auto;
}

#faq article .question::before {
    content: "Q";
    font-size: 150%;
    color: #009cbd;
    font-weight: 700;
    position: absolute;
    top: 28px;
    left: 0;
    line-height: 1;
}

#faq article .answerBox {
    border-bottom: 2px solid #dcdcdc;
    display: none;
}

#faq article .answerBox .answer {
    padding: 30px 0 0 40px;
    font-size: 114.3%;
    position: relative;
}

#faq article .answerBox .answer:before {
    content: "A";
    font-size: 153%;
    color: #009cbd;
    font-weight: 700;
    position: absolute;
    top: 28px;
    left: 0;
    line-height: 1;
}

#faq article .answerBox p {
    line-height: 1.8;
    font-size: 25px;
}

#faq article .answerBox>p {
    padding: 0 4.6% 5% 8%;
    font-size: 107.3%;
}

#faq article .answerBox p a {
    color: #349cbd;
}

#faq article .answerBox p a:hover {
    text-decoration: underline
}

#faq .bnr {
    width: 100%;
    margin: 13% auto 6%;
}