@charset "utf-8";


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&display=swap');


body {
font-family: 'Noto Sans JP','Arial', sans-serif;
font-feature-settings: "palt";
}


@media (min-width: 1200px) {
.container, .container-sm, .container-md, .container-lg, .container-xl {
max-width: 1320px;
}
}

@media (min-width: 992px) {
.container, .container-sm, .container-md, .container-lg {
max-width: 1320px;
}
}



/* ------------------------------------------------
## 共通CSSの範囲
------------------------------------------------ */
section {
padding-bottom: 80px;
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 576px) {
section {
padding-bottom: 40px;
}
}

p {
margin-bottom: 16px !important;
line-height: 2 !important;
text-align: justify;
letter-spacing: 1px;
}


nav.navbar.navbar-expand-custom div#navbarNavDropdown.collapse.navbar-collapse ul.navbar-nav.ml-auto li.nav-item a.nav-link:hover {
color: #2bb3d5;
}

/* サイト全体のカラー指定 */
.color01 {
color: #2bb3d5;
}

/* サイト全体の見出し指定 */
.all-ttl01 {
font-size: 36px;
margin-top: 0;
margin-right: 0px;
margin-bottom: 10px;
margin-left: 0px;
font-family: 'Nunito', sans-serif;
font-weight: 400;
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 576px) {
.all-ttl01 {
font-size: 30px;
margin-top: 0;
margin-right: 0px;
margin-bottom: 10px;
margin-left: 0px;
font-family: 'Nunito', sans-serif;
font-weight: 400;
}
}

.all-ttl02 {
font-size: 36px;
font-weight: normal;
margin-bottom: 40px;
margin-right: 15px;
margin-left: 15px;
}
/*--------------------------------------------------------------
## Extra small devices (縦向きモバイル, less than 576px)
--------------------------------------------------------------*/
@media (max-width: 768px) {
.all-ttl02 {
font-size: 30px;
font-weight: normal;
margin-bottom: 30px;
margin-right: 10px;
margin-left: 10px;
}
.all-ttl02 br {
display: none;
}
}

/* サイト全体の単体CSS */
.mb16 {
margin-bottom: 16px;
}

/* ボタンwidth300pxの指定 */
.btn01 a {
background: #2bb3d5;
border-radius: 4px;
position: relative;
display: flex;
justify-content: space-around;
align-items: center;
margin: 30px auto 0px;
max-width: 320px;
padding: 18px 0 18px;
color: #FFF;
transition: 0.3s ease-in-out;
font-weight: 500;
}
.btn01 a:hover {
background: #1f849d;
color: #FFF;
}
.btn01 a:after {
content: '';
width: 10px;
height: 10px;
border-top: 3px solid #FFF;
border-right: 3px solid #FFF;
transform: rotate(45deg) translateY(-50%);
position: absolute;
top: 50%;
right: 20px;
border-radius: 1px;
transition: 0.3s ease-in-out;
}
.btn01 a:hover:after {
border-color: #FFF;
}
/* ボタンの高さを揃える＝親要素にh-100を追加の指定 */
.btn01 {
margin-top: auto;
}

.btn02 {
padding-bottom: 25px;
}
.btn02 a {
background: #313131;
border-radius: 4px;
position: relative;
display: flex;
justify-content: space-around;
align-items: center;
margin: 30px auto 0px;
max-width: 320px;
padding: 18px 0 18px;
color: #FFF;
transition: 0.3s ease-in-out;
font-weight: 500;
}
.btn02 a:hover {
background: #1f849d;
color: #FFF;
}
.btn02 a:after {
content: '';
width: 10px;
height: 10px;
border-top: 3px solid #FFF;
border-right: 3px solid #FFF;
transform: rotate(45deg) translateY(-50%);
position: absolute;
top: 50%;
right: 20px;
border-radius: 1px;
transition: 0.3s ease-in-out;
}
.btn02 a:hover:after {
border-color: #FFF;
}



/* ------------------------------------------------
## ハンバーガーメニュー色変更
------------------------------------------------ */
.navbar-toggler{
background-color: #000000;
}
.navbar-toggler .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}



/* ------------------------------------------------
## HEADER-FIXEDの範囲
------------------------------------------------ */
.header-fixed {
position: fixed;
width: 100%;
z-index: 100;
}



/* ------------------------------------------------
## HEADER-TOPの範囲
------------------------------------------------ */
.header-top {
background-color: #2bb3d5;
color: #FFF;
padding-bottom: 2px;
height: 20px;
}
.header-text01 {
padding-left: 10px;
font-size: 14px;
margin-top: 2px;
}

.header-sns {
display: flex;
justify-content: flex-end;
padding-top: 2px;
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.header-sns {
display: none;
}
}

.header-sns li.Twitter {
padding-right: 20px;
font-size: 14px;
}
.header-sns li.Facebook {
padding-right: 20px;
font-size: 14px;
}
.header-sns li.Twitter::before {
font-family: "Font Awesome 5 Brands";
font-weight: 400;
content: "\f099";
padding-right: 10px;
}
.header-sns li.Facebook::before {
font-family: "Font Awesome 5 Brands";
font-weight: 400;
content: "\f39e";
padding-right: 10px;
}



/* ------------------------------------------------
## NAVIGATIONの範囲
------------------------------------------------ */
.logo {
margin-left: 20px;
}
.navbar {
position: relative;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-ms-flex-align: center;
align-items: center;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 1rem 0rem !important;
}
nav.navbar.navbar-expand-custom {
background-color: #FFF;
box-shadow: 0px 0px 3px 0px rgb(0 0 0 / 10%);
}
nav.navbar.navbar-expand-custom h1 img.img-fluid {
max-width: 100%;
height: auto;
}
/*
.navbar-toggler-icon {
display: inline-block;
width: 2.5em !important;
height: 2.5em !important;
vertical-align: middle;
content: "";
background: no-repeat center center;
background-size: 100% 100%;
}
*/
nav.navbar.navbar-expand-custom div#navbarNavDropdown.collapse.navbar-collapse ul.navbar-nav.ml-auto li.nav-item {
margin-right: 20px;
}
nav.navbar.navbar-expand-custom div#navbarNavDropdown.collapse.navbar-collapse ul.navbar-nav.ml-auto li.nav-item.dropdown div.dropdown-menu a {
font-size: 16px;
}

/*  ブレークポイントの変更CSS
------------------------------------------------ */
@media (min-width: 1300px) {
.navbar-expand-custom {
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
}
.navbar-expand-custom .navbar-nav {
flex-direction: row;
}
.navbar-expand-custom .navbar-nav .nav-link {
padding-right: 16px;
}
.navbar-expand-custom .navbar-collapse {
display: flex!important;
}
.navbar-expand-custom .navbar-toggler {
display: none;
}
}

/*  プルダウンの調整CSS
------------------------------------------------ */
@media (min-width: 1200px) {
.navbar-nav .dropdown-menu {
position: absolute;
float: none;
}
}
@media (max-width: 1199px) {
.navbar-nav .dropdown-menu {
position: static;
float: none;
}
}



/* ------------------------------------------------
## FOOTERの範囲
------------------------------------------------ */
.site-footer
{
background-color:#26272b;
padding:45px 0 20px;
font-size:15px;
line-height:24px;
color:#737373;
}

.site-footer hr {
border-top-color: #bbb;
opacity: 0.5;
margin-top: 30px;
margin-bottom: 30px;
}
@media (max-width: 575.98px) {
.site-footer hr {
border-top-color: #bbb;
opacity: 0.5;
margin-top: 0;
margin-bottom: 30px;
}
}

.site-footer hr.small
{
margin:20px 0
}
.site-footer h6
{
color:#fff;
font-size:16px;
text-transform:uppercase;
margin-top:5px;
letter-spacing:2px
}
.site-footer a
{
color:#737373;
}
.site-footer a:hover
{
color:#3366cc;
text-decoration:none;
}
.footer-links
{
padding-left:0;
list-style:none
}
.footer-links li
{
display:block;
margin-bottom: 4px;
}
.footer-links a
{
color:#737373
}
.footer-links a:active,.footer-links a:focus,.footer-links a:hover
{
color:#3366cc;
text-decoration:none;
}
.footer-links.inline li
{
display:inline-block
}
.site-footer .social-icons
{
text-align:right
}
.site-footer .social-icons a
{
width:40px;
height:40px;
line-height:40px;
margin-left:6px;
margin-right:0;
border-radius:100%;
background-color:#33353d
}
.copyright-text
{
margin:0
}
@media (max-width:991px)
{
.site-footer [class^=col-]
{
margin-bottom:30px
}
}
@media (max-width:767px)
{
.site-footer
{
padding-bottom:0
}
.site-footer .copyright-text,.site-footer .social-icons
{
text-align:center
}
}
.social-icons
{
padding-left:0;
margin-bottom:0;
list-style:none
}
.social-icons li
{
display:inline-block;
margin-bottom:4px
}
.social-icons li.title
{
margin-right:15px;
text-transform:uppercase;
color:#96a2b2;
font-weight:700;
font-size:13px
}
.social-icons a{
background-color:#eceeef;
color:#818a91;
font-size:16px;
display:inline-block;
line-height:44px;
width:44px;
height:44px;
text-align:center;
margin-right:8px;
border-radius:100%;
-webkit-transition:all .2s linear;
-o-transition:all .2s linear;
transition:all .2s linear
}
.social-icons a:active,.social-icons a:focus,.social-icons a:hover
{
color:#fff;
background-color:#29aafe
}
.social-icons.size-sm a
{
line-height:34px;
height:34px;
width:34px;
font-size:14px
}
.social-icons a.facebook:hover
{
background-color:#3b5998
}
.social-icons a.twitter:hover
{
background-color:#00aced
}
.social-icons a.linkedin:hover
{
background-color:#007bb6
}
.social-icons a.dribbble:hover
{
background-color:#ea4c89
}
@media (max-width:767px)
{
.social-icons li.title
{
display:block;
margin-right:0;
font-weight:600
}
}
.fa-facebook::before {
font-family: "Font Awesome 5 Brands";
font-weight: 400;
content: "\f39e";
}
.fa.fa-twitter::before {
font-family: "Font Awesome 5 Brands";
font-weight: 400;
content: "\f099";
}
.footer-links li a:hover {
color: #FFF;
}
.footer-text01 {
line-height: 1.8;
padding-right: 20px;
}







/* ------------------------------------------------
## 下階層メインイメージの範囲
------------------------------------------------ */
.mAInIimages {
background-image: url(../images/1.png);
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
top: 124px;
height: 200px;
display: flex;
justify-content: center;
align-items: center;
flex-flow: column;
color: #FFF;
}
.mAInIimages:before{
content: '';
/* ↓暗いオーバーレイを半透明で配置 */
background-color: rgba(0, 0, 0, 0.8);
/* ↓全体を覆うように配置 */
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: block;
}
.mAInIimages-inner {
position: absolute;
}
.mAInIimages h1 {
font-size: 20px;
letter-spacing: 1px;
}

.mAInIimages h2 {
font-family: 'Nunito', sans-serif;
font-size: 40px;
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.mAInIimages h2 {
font-family: 'Nunito', sans-serif;
font-size: 30px;
}
}

.mAInIimages h3 {
font-size: 18px;
letter-spacing: 1px;
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.mAInIimages h3 {
font-size: 18px;
letter-spacing: 1px;
padding-right: 10px;
padding-left: 10px;
}
}






/* ------------------------------------------------
## 下階層メインイメージの範囲
------------------------------------------------ */
.mAInIimages01 {
background-image: url("../images/01.jpg");
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
top: 124px;
height: 200px;
display: flex;
justify-content: center;
align-items: center;
flex-flow: column;
color: #FFF;
}
.mAInIimages01:before{
content: '';
/* ↓暗いオーバーレイを半透明で配置 */
background-color: rgba(0, 0, 0, 0.5);
/* ↓全体を覆うように配置 */
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: block;
}
.mAInIimages-inner {
position: absolute;
}
.mAInIimages01 h1 {
font-size: 20px;
letter-spacing: 1px;
}

.mAInIimages01 h2 {
font-family: 'Nunito', sans-serif;
font-size: 40px;
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.mAInIimages01 h2 {
font-family: 'Nunito', sans-serif;
font-size: 30px;
}
}

.mAInIimages01 h3 {
font-size: 18px;
letter-spacing: 1px;
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.mAInIimages01 h3 {
font-size: 18px;
letter-spacing: 1px;
padding-right: 10px;
padding-left: 10px;
}
}















.pan {
margin-top: 132px;
}
.pan p a {
color: #212529;
}
.pan p a:hover {
color: #2bb3d5;
}




/***** トップページ微調整 START ******/

/*--------------------------------------------------------------
##  (1190px以下での微調整)
--------------------------------------------------------------*/
@media (max-width: 1300px) {
nav > button {
margin-right: 20px !important;
}
#navbarNavDropdown > ul {
padding-left: 20px;
padding-bottom: 20px;
}
}

/*--------------------------------------------------------------
## Large devices (デスクトップ, 992px and up)
--------------------------------------------------------------*/
@media (min-width: 992px) and (max-width: 1199.98px) {
.slider, .slide {
height: 80vh;
}
.slick-dots {
position: absolute;
bottom: 90px;
list-style: none;
display: block;
text-align: center;
padding: 0;
margin: 0;
width: 100%;
}
}

/*--------------------------------------------------------------
## Medium devices (タブレット, 768px and up)
--------------------------------------------------------------*/
@media (min-width: 768px) and (max-width: 991.98px) {
.stick {
padding-top: 156px;
}
}

/*--------------------------------------------------------------
## Extra small devices (縦向きモバイル, less than 576px)
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
nav.navbar.navbar-expand-custom h1 img.img-fluid {
max-width: 80%;
height: auto;
}
.stick {
padding-top: 140px;
}
.slide .slide__content--headings h2 {
font-size: 1.5rem;
    padding-top: 0px;
    margin-right: 5px;
    margin-left: 5px;
    margin-top: 0;
}
p.animated.text-center.fadeInUp {
    display: none;
}
.slick-dots {
position: absolute;
bottom: 10px;
list-style: none;
display: block;
text-align: center;
padding: 0;
margin: 0;
width: 100%;
}
}






/*--------------------------------------------------------------
## 画像にドロップシャドウ
--------------------------------------------------------------*/
.img_shadow {
box-shadow: 15px 15px 0px 0 rgb(60, 194, 235);
}


html body div div#pi_tracking_opt_in_div {
display: none;
}








