@charset "UTF-8";
/*
Theme Name: Hapilan Base
Theme URI:
Description: Hapilanベーステーマ
Author: Hapilan
Author URI:
Version: 1
Text Domain: Hapilan
*/
/* all display
-------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
html,
body {margin: 0px;font-size: 15px;color: #333333;font-family: "Noto Sans JP";text-align: justify;line-height: 1.8;-webkit-font-smoothing: antialiased;}
article,aside,details,figcaption,figure,footer,header,hgroup,
menu,nav,section {display: block;margin: 0px;padding: 0px;}
p,td,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4 {margin: 0px;padding: 0px;list-style: none;}
body{min-width: 1000px;}
table , td, th {border-collapse: collapse;}
img {border: 0px; font-size: 0; line-height: 0;vertical-align:bottom; max-width: 100%;text-decoration: none;}
a{transition: 0.3s;text-decoration: none;color: #002d72;}
a img{transition: 0.3s;}
a:hover img {opacity: 0.7;filter: alpha(opacity=70);-ms-filter: "alpha(opacity=70)";}
.wmain{max-width: 1400px;margin: 0 auto;}
.pc{display: inline-block;}
.sp{display: none;}
h1{line-height: 1.6em;font-size: 2rem;font-weight: 400;}
h2{font-size: 2.4rem;line-height: 1.6em;font-weight: 400;color: #002d72;}
h3{font-size: 1.8rem;line-height: 1.6em;font-weight: 400;color: #002d72;}
p{margin: 0 0 18px;}
.fnt{font-family: "Zen Old Mincho", serif;font-size: 115%;}
section{padding: 80px 30px;}
.imgfit{position: relative;width: 100%;}
.imgfit img{position: absolute;width: 100%;height: 100%;object-fit: cover;left: 0;top: 0;}

.httl{margin: 0 0 15px;}
.httl p{position: relative;padding: 0 0 0 30px;color: #94bfd1;margin: 0;}
.httl p:before{content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);width: 20px;height: 5px;background: #39b2e5;}
.httlsub{margin: 0 0 15px;}
.httlsub p{position: relative;padding: 0;color: #94bfd1;margin: 0;}
.lnk a{position: relative; display: inline-block;border: 1px solid #002d72;text-align: center;padding: 10px 85px;margin: 10px 0 0;}
.lnk a:after{content:url(img/arrow.svg);position: absolute;top: 50%;transform: translateY(-50%);right: 25px;width: 15px;;transition: 0.3s;}
.lnk a:hover:after{right: 15px;transition: 0.3s;}
.lnk.wh a:after{content:url(img/arrow_wh.svg);}

.slick-slide {padding-left: 1px;padding-right: 1px;}
.sld{width: 100%;margin: 0 auto;}
.sld img {width: 100%;display: block;overflow: hidden;text-align: center;height: auto;}
/* Slick*/
.slide-arrow {border: none; width: 50px;height: 50px;background: #001f4f;border-radius: 100px; position: absolute;top: 50%;transform: translateY(-50%);z-index: 99;display: flex;align-items: center;justify-content: center;cursor: pointer;}
.prev-arrow {left: -25px;padding-left: 5px;}
.next-arrow {right: -25px;padding-right: 5px;}
.slide-arrow__arrow {width: 4px;height: 4px;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.prev-arrow__arrow {border-bottom: 2px solid white;border-left: 2px solid white;}
.next-arrow__arrow {border-top: 2px solid white;border-right: 2px solid white;}
.slick-dots{bottom: 20px;}
.slick-dots li button:before{font-size: 16px;width: 25px;height: 25px;}
.slick-dots li.slick-active button:before{color: #001f4f;}

/*header
*********************/
.header{position: fixed;left: 0;right: 0;top: 0;max-width: 100%;margin: 0 auto;z-index: 999; padding: 15px 30px;background: #000000;background: linear-gradient(0deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.50) 100%);-webkit-transition: all 0.3s;transition: .5s;}
.header a{color: #fff;}
.header a:hover{color: #03c8e4;}
.header .wmain{padding: 5px 0 10px;display: flex;justify-content: space-between;align-items: center;width: 100%;max-width: 100%;}
/*topnav*/
.topnav .nav {margin: 0 auto;padding:0;display: flex;justify-content: flex-end;align-items: center;}
.topnav .nav li a{padding: 15px 20px;}
.topnav .nav .dropdown .btn{font-size: 90%;color: #fff;}
.topnav .nav .dropdown a{color: #333;font-size: 80%;margin: 0;}
.topnav .nav .pc{display: none;}
.topnav .nav .has-sub{position: relative;}
.topnav .nav .has-sub:after{content: "";position: absolute;right: 0;top: 45%;width: 0px;height: 0px;border-style: solid;border-width: 5px 5px 0 5px;border-color: #ffffff transparent transparent transparent;transform: rotate(0deg);}
.topnav .nav .sub-menu{position: absolute;left: 0;transform: translateX(-18%); top: 2.5em;display: none;z-index: 3;background: #001f4f;width: 185px;padding: 10px;border-radius: 10px;}
.topnav .nav .sub-menu:after{content: "";position: absolute;z-index: 4; left: 45%; top: -8px;width: 0px;height: 0px;border-style: solid;border-width: 0 10px 10px 10px;border-color: transparent transparent #001f4f transparent;transform: rotate(0deg);}
.topnav .nav .sub-menu li a{text-align: center;margin: 0;display: block;padding: 5px 0;}
.topnav .nav .sub-menu li{display: block;padding: 0;margin: 0;}
#header .logo{transition: all 0.3s;}
.menu-trigger{display: none;}
#header.sticky{transform: translateY(-100px); padding: 10px 20px;background: linear-gradient(0deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.80) 100%);transition: .5s;}
#header .navs{display: flex;justify-content: flex-end;}
#header .navs .sns img{width: 30px;}
#header .navs .sns span{display: none;}
#header .freedial{display: none;}
#header .freedial img{width: 40px;vertical-align: middle;}

/*top page
*********************/
/*fv*/
.fv{;position: relative;margin: 0 auto; text-align: center;}
.fv .img{height: 43vw;}
.fv .img img{position: absolute;width: 100%;height: 100%;object-fit: cover;left: 0;top: 0;}
.fv .slick-slide{padding: 0;}
.fv .slick-dotted.slick-slider{margin: 0;}
/*topnews*/
.arbtn{font-size: 18px;margin: 0;}
.arbtn a{position: relative;}
.arbtn a:after{transition: 0.3s;content: "";position: absolute;right: -60px;top: 50%;transform: translateY(-50%); width: 44px;height: 44px;background: url(img/arrow_wh.svg) center no-repeat;background-color:#001f4f; background-size: 13px;border-radius: 100px;}
.arbtn a:hover:after{background-color:#39b2e5; transition: 0.3s;right: -65px;}
.arbtn a:hover{color: #39b2e5;}
.topnews .ctn{position: relative;padding: 0 0 50px;}
.topnews ul{position: absolute;right: 0;top: 0;width: 75%;}
.topnews ul li a{display: block; padding: 10px;border-bottom: 1px solid #e5e5e5;transition: 0.3s;}
.topnews ul li a:hover{background: #f4f7f9;transition: 0.3s;}
.topnews .inr{display: flex;justify-content: space-between;}
.topnews .img{width: 14%;height: 120px;}
.topnews .tx{width:83%;}
.topnews .dtl{display: flex;margin: 0 0 10px;}
.topnews .dtl .date{width: 12%;}
.topnews .dtl .cate{border: 1px solid #2a5391;padding: 0 10px;display: inline-block;font-size: 85%;}
.topnews p{margin: 0;font-size: 110%;}
/*topstrengths*/
.topstrengths{background: url(img/Strengthsbg.jpg) center 0 no-repeat;background-size: cover;color: #fff;}
.topstrengths h2{color: #fff;}
.topstrengths .ctn{display: flex;justify-content: space-between;}
.topstrengths .txt{width: 48%;}
.topstrengths .img{width: 48%;margin: 50px 0 0;height: auto;}
.topstrengths .lnk a{border: 1px solid #fff;color: #fff;}
/*topproduct*/
.topproduct .ctn{display: flex;justify-content: space-between;flex-direction: row-reverse;}
.topproduct .txt{width: 48%;}
.topproduct .img{width: 48%;}
.topproduct .img .sld{margin: 0 auto;}
/*topcpy*/
.cpyimg .img{display: flex;justify-content: space-between;}
.cpyimg .img > img{width: 25%;}
.topcpy{background: #f7f7f7;}
.topcpy .ctn{display: flex;justify-content: space-between;}
.topcpy .txt{width: 48%;}
.topcpy .img{width: 48%;margin: 10px 0 0;height: auto;}

/*sub page
*********************/
.pagebg {background: #f7f7f7;}
.page{margin: 50px 0 0;}
body.page{margin: 0;}

/*pagefv*/
.pagefv{;position: relative;margin: 0 auto; text-align: center;}
.pagefv .img{height:350px;}
.pagefv .httl{position: absolute;bottom: -100px;left: 0;min-width: 375px; padding: 20px 30px 20px 10%;background: #001f4f;text-align: left;}
.pagefv .httl h2{color: #fff;font-weight: 300;}
.pagefvs{position: relative;margin: 0 auto 50px;}
.pagefvs .wmain{position: relative;z-index: 2;color: #fff;padding: 150px 30px 0;}
.pagefvs .img{height: 500px;position: absolute;z-index: 1;}
.pagefvs .httl{text-align: left;}
.pagefvs .httl h2{color: #fff;font-weight: 300;}
.pagefvs .inner{display: flex;justify-content: space-between;}
.pagefvs .txt{width: 55%;}
.pagefvs .imgs{width: 40%;}
/*strengths*/
.strengths li{display: flex;justify-content: space-between;padding: 40px 0;}
.strengths .txt{width: 46%;}
.strengths li .img{width: 50%;position: relative;}
.strengths li .img1{padding: 0 0 0 10%;}
.strengths li .img1 .imgfit{height: 285px;}
.strengths li .img2{position: absolute;left: 0;bottom:-5px;}
.strengths li .img2 .imgfit{width: 10vw; height: 13vw;}
.strengths li:nth-child(even){flex-direction: row-reverse;}
.strengths li:nth-child(even) .img1{padding: 0 10% 0 0;}
.strengths li:nth-child(even) .img2{position: absolute;right: 0;left: inherit;}
/*products*/
.products li{display: flex;justify-content: space-between;padding: 40px 0;}
.products .txt{width: 58%;}
.products li .img{width: 36%;position: relative;}
.products li .imgfit{height: 265px;}
/*prd*/
.page.prd{margin: 0;}
.prd ul{display: flex;flex-wrap: wrap;gap: 15px 2%;}
.prd li{width: 32%;font-weight: bold;font-size: 115%;text-align: center;}
.prd .imgfit{height:240px;}
.prd .dtl{margin: 5px 0 10px;}

/*news*/
.news .ctn{width: 70%;margin: 0 auto;}
.news ul li a{display: block; padding: 10px;border-bottom: 1px solid #e5e5e5;transition: 0.3s;}
.news ul li a:hover{background: #f2f2f2;transition: 0.3s;}
.news .dtl{display: flex;margin: 0 0 10px;}
.news .dtl .date{width: 12%;}
.news .dtl .cate{border: 1px solid #2a5391;padding: 0 10px;display: inline-block;font-size: 85%;}
.news p{margin: 0;font-size: 110%;}
.news_contents .inner{width: 70%;margin: 0 auto;}
.news_contents .ttl{margin: 0 0 25px;}
.news_contents .post-thumbnail{margin: 10px 0 25px; }
.news_contents .brd{margin: 0 0 15px;}
.news_contents .brd ul{display: flex; justify-content: flex-start;}
.news_contents .brd li {margin: 0 5px 0 0;color: #999;}
.news_contents  .brd li a:after {content: '〉';margin: 0 0 0 10px;color: #333;opacity: 1;}
.news_contents .newsall{text-align: center;margin: 60px auto 0;}
.news .inr{display: flex;justify-content: space-between;}
.news .img{width: 14%;height: 120px;}
.news .tx{width:83%;}
/*company*/
.company .message{margin: 50px 0 0;}
.company .message .ctn{display: flex;justify-content: space-between;}
.company .message .txt{width: 48%;}
.company .message .img{width: 48%;text-align: center;margin: 25px 0 0;}
.company .message .img .sign{margin: 25px auto 0;}
.company_info .ctn{display: flex;justify-content: space-between;position: relative;flex-direction: row-reverse;}
.company_info .ctn:before{content: "";width: 1px;background: #dfdfdf;height: 100%;position: absolute;left: 50%;top: 0;}
.company_info .img{width: 44%;}
.company_info .cpy{margin: 0 0 30px;}
.company_info .txt{width: 44%;}
.company_info table{width: 100%;}
.company_info th,.company_info td{padding: 0 0 10px;}
.company_info th{width: 30%;font-weight: normal;color: #001f4f;vertical-align: top;}
.company_info td{width: 70%;}
/*faq*/
.qa{width: 75%;margin: 50px auto 0;}
.qa li{background: #fff;margin: 10px 0;}
.qa-q {padding: 15px 45px 15px 20px;transition: background .3s ease;cursor: pointer;position: relative;border-bottom: 1px solid var(--bggry-color);}
.qa-q::before,
.qa-q::after{position:absolute;content:'';top:1px;right:20px;bottom:0;width:12px;height:1px;margin:auto;background:#001f4f;}
.qa-q::after{transform:rotate(-90deg);transition:transform 0.3s;}
.qa-q.active::after{transform:rotate(0deg);}
.qa-a {background:  var(--white-color);padding: 12px 20px 10px;}
.qa-q p,.qa-a p{padding: 0 35px;position: relative;margin: 0;}
.qa-q .ico,.qa-a .ico{position: relative;}
.qa-q .ico::before,.qa-a .ico::before{text-align: center;font-size: 180%;line-height: 1;}
.qa-q .ico::before{position: absolute;content:"Q";top: 0px;left: 0;color: #001f4f;}
.qa-a .ico::before{position: absolute;content:"A";top: 0px;left: 0;color: #e2ab18;}
.qa-q:hover,.qa-q.active {background: #e4f6ff;}
.qa-a {display: none;}
/*contact*/
.contact .inner{max-width: 70%;margin: 50px auto 0;}
.contact table{width: 100%;margin: 0 auto 20px;}
.contact th,.contact td{padding: 10px 0;position: relative;}
.contact th{width: 30%;font-weight: normal;}
.contact td{width: 70%;}
.contact tr{border-bottom: 1px dotted #ddd;}
.contact .inner p{margin: 0;}
.contact table select {width: 100%;border: 1px solid #eae9e9;border-radius: 5px;height: 50px;}
.contact .form-req{background: #ffe1e2;color: #c35656;position: absolute;right: 15px;top: 50%;transform: translateY(-50%);padding: 4px 3px;border-radius: 3px;font-size: 80%;line-height: 1;font-weight: 400;}
.submit-btn{text-align: center;margin: 20px auto 0;}
.submit-btn input{font-size: 105%;font-family: "Noto Sans JP";cursor: pointer;margin: 0 5px;}
.submit-btn p{display: flex;justify-content: center;}
.submit{border: none;margin: 5px 0;color: #fff;padding: 10px 100px;background: #001f4f;border-radius: 100px;transition: .5s;}
.submit:hover,.toback:hover{background: #000;color: #fff; transition: .5s;}
.toback{border: none;margin: 5px 0;border-radius: 100px;padding: 10px 100px;background:#ddd;}
.form-text,.form-textarea{width: 100%; border: 1px solid #eae9e9;background: #f6f6f6;border-radius: 5px;background: #fff;}
.form-text{height: 50px;}
.form-textarea{height: 140px;}
.chk-privacy{text-align: center;}
.chk-privacy a{text-decoration: underline;}
/*privacypolicy*/
.privacypolicy .inner{width: 70%;margin: 0 auto;}
.privacypolicy dl{margin: 30px 0 0;}
.privacypolicy dt{padding: 0 0 5px;margin: 0 0 5px;border-bottom: 1px dotted #ddd;font-weight: bold;}
.privacypolicy dd{margin: 0 0 30px;}
/*pagination*/
.pagination{margin: 20px 0 0;}
.pagination span,.pagination a{padding: 2px 3px;}
.contact .pfreedial{text-align: center;margin: 40px 0;font-size: 120%;}
.contact .pfreedial .ctn{background: #092e68;color: #fff;padding: 15px 50px;display: inline-block;}
.contact .pfreedial a{display: inline-block;color: #fff;}
.contact .pfreedial img{width: 40px;vertical-align: middle;}
.contact .pfreedial span{margin: 0 0 0 10px;}

/*footer
*********************/
.footer{margin: 0 auto;padding: 30px;background: #fff;}
.footer .wmain{padding: 5px 0 10px;display: flex;justify-content: space-between;flex-direction: row-reverse;}
.footnav{font-size: 80%;}
.footnav ul{display: flex;justify-content: flex-start;margin: 10px 0 35px;}
.footnav li a {font-size: 135%;margin: 0 25px 0 0;}
.footnav a:hover{color: #03c8e4;}
