/*====================
 全体・設定
====================*/
html{
 scroll-behavior:smooth !important;
}

body{
 width:100%;
 margin:0px;
 font-weight:400;
 line-height:1.5;
 color:#3E3A39;
 text-align:left;
 background-color:#fff;
 font-display:swap;
}

.container{
 width:100%;
 height:auto !important;
 padding-right:15px;
 padding-left:15px;
 margin:0px;
}

img{
 width:100%;
 height:auto;
 margin:0px;
 display:block;
}



/*==================
 フォントの設定
====================*/
:root{
 font-family:"Noto Sans JP", sans-serif, 游ゴシック, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

html{
 font-family:"Noto Sans JP", sans-serif, 游ゴシック, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

body{
 font-family:"Noto Sans JP", sans-serif, 游ゴシック, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

input,
button,
select,
optgroup,
textarea{
 font-family:"Noto Sans JP", sans-serif, 游ゴシック, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

h1, .h1{
 width:100% !important;
 font-size:2.5rem !important;
 font-weight:bold !important;
 font-family:"Noto Sans JP", sans-serif, 游ゴシック, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
 text-align:center !important;
 display:block !important;
 align-items:center !important;
 color:#3E3A39;
}

h2, .h2{
 width:100% !important;
 font-size:2.2rem !important;
 font-weight:bold !important;
 font-family:"Noto Sans JP", sans-serif, 游ゴシック, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
 text-align:center !important;
 display:block !important;
 align-items:center !important;
 color:#3E3A39;
 margin:0px !important;
}

h2 span{
 font-weight:bold !important;
 font-family:"Noto Sans JP", sans-serif, 游ゴシック, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
 font-size:.50em !important;
 color:#3E3A39;
 border-bottom:0px !important;
}

.heading-white{
 color:#fff !important;
}

.heading-white span{
 color:#fff !important;
}

h3, .h3{
 width:100% !important;
 font-size:1.6rem !important;
 font-weight:bold !important;
 text-align:left !important;
 display:block !important;
 align-items:center !important;
 margin-bottom:1.5rem;
 color:#3E3A39;
}

h4, .h4{
 width:100% !important;
 font-size:1.4rem !important;
 text-align:center !important;
 font-weight:bold !important;
 color:#3E3A39;
}

h4 span{
 font-size:1.2rem !important;
 font-weight:500 !important;
 text-align:center !important;
 align-items:center !important;
}

h5, .h5{
 font-size:1.2rem !important;
 text-align:center !important;
 font-weight:bold !important;
 color:#3E3A39;
}

p, .p{
 font-size:1.2rem !important;
 font-weight:normal !important;
 margin-bottom:0px !important;
 line-height:30px !important;
 color:#3E3A39;
}

p span{
 border-bottom:1px dotted #3E3A39;
}

span{
 font-size:1rem !important;
 font-weight:500 !important;
 text-align:center !important;
 align-items:center !important;
}

em{
 color:#dc3545 !important;
 font-size:1rem !important;
 font-weight:bold !important;
}

@media screen and (max-width:959px){
small, .small{
 width:100% !important;
}

}

dl, .dl{
 margin:0px;
 padding:0px;
}

dt, .dt{
 font-size:1.2rem !important;
 margin-top:1rem !important;
 float:left !important;
}

dd, .dd{
 font-size:1.2rem !important;
 margin-top:1rem !important;
 float:left !important;
}



/*==========================
 会社概要・設定
==========================*/
@media screen and (max-width:414px){
dd, .dd{
 margin-top:0rem !important;
 margin-bottom:1rem !important;
}

}

/*==========================
 フォント・レスポンシブ・設定
==========================*/
@media screen and (max-width:959px){
h1, .h1{
 font-size:2rem !important;
}

h2, .h2{
 font-size:1.6rem !important;
}

h3, .h3{
 font-size:1.4rem !important;
}

h4, .h4{
 font-size:1.2rem !important;
}

h4 span{
 font-size:1rem !important;
}

h5, .h5{
 font-size:1rem !important;
}

}



/*==========================
 リンクの設定
==========================*/
a, .a,
a:link, a:visited{
 margin:0px;
 color:#3E3A39;
 text-decoration:none !important;
 font-weight:bold !important;
}

a:hover{
 color:#1C2A55;
 opacity:0.6 !important;
 transition:0.5s !important;
}

a:active{
 color:#1C2A55 !important;
}

.navbar-light
.navbar-nav
.nav-link:hover{
 color:#1C2A55 !important;
 opacity:0.6 !important;
 transition:0.5s !important;
}

.B-link{
 color:#fff !important;
 text-decoration:none !important;
 background-color:#1C2A55 !important;
}

.B-link:hover{
 color:#fff !important;
 background-color:#1C2A55 !important;
 opacity:0.6 !important;
 transition:0.5s !important;
}

.nav-link.active{
 color:#1C2A55 !important;
}



/*==========================
 リンク文字の設定
==========================*/
.text-link{
 margin:0px;
 color:#FE2E2E !important;
 text-decoration:none !important;
 font-weight:bold !important;
}

.text-link:hover{
 color:#FE2E2E !important;
 opacity:0.6 !important;
 transition:0.5s !important;
}



/*==========================
 リンク写真の設定
==========================*/
.S-box{
 width:100% !important;
 height:auto !important;
 margin:1.5rem 0px;
 display:block !important;
 overflow:hidden !important;
 background-color:transparent;
}

.S-box img{
 width:100% !important;
 height:auto !important;
 display:block !important;
 transition-duration:0.6s !important;
}

.S-box img:hover{
 transform:scale(0.9) !important;
 transition-duration:0.6s !important;
}

.S-box h4{
 margin-top:1.5rem !important;
 margin-bottom:0rem !important;
}



/*============================
 電話番号・レスポンシブ・設定
============================*/
@media screen and (max-width:959px){
a[href^="tel:"] {
 pointer-events:none !important;
 cursor:default !important;
}

}



/*==========================
 リンク・アンカーポイントの設定
==========================*/
.anchor{
 display:block !important;
 padding-top:100px !important;
 margin-top:-100px !important;
}



/*==========================
 ボタンの設定
==========================*/
.btn{
 color:#fff !important;
 text-decoration:none !important;
 display:block !important;
 font-weight:bold !important;
 text-align: center !important;
 background-color:#1C2A55 !important;
 font-size:1rem !important;
}

.btn:hover{
 color:#1C2A55 !important;
 border-color:#1C2A55 !important;
 outline:none !important;
 background-color:#fff !important;
 text-decoration:none !important;
 -webkit-transition: all 0.5s!important;
 -moz-transition: all 0.5s !important;
 -ms-transition: all 0.5s!important;
 -o-transition: all 0.5s !important;
 transition: all 0.5s !important;
}



/*========================================================
 メニューのボタンの設定(クリックしたら下にメニューが出てくる)
========================================================*/
.button-menu{
 font-size:1.7rem !important;
}



/*==========================
 大見出し・設定
==========================*/
#B-heading{
 height:auto !important;
 margin-top:7rem;
 background-color:#6a78a3;
 background-repeat:no-repeat !important;
 background-size:cover !important;
 background-position:center !important;
 content-visibility:auto !important;
 contain-intrinsic-size:200px !important;
}

#B-heading h1{
 color:#fff !important;
 margin:3rem 0px !important;
}



/*==========================
 小見出し・設定
==========================*/
.heading{
 background-position:center !important;
 background-repeat:no-repeat !important;
 background-size:100% !important;
}



/*==========================
 小見出し・PC・設定
==========================*/
@media screen and (min-width:960px){
.heading{
 margin-top:3rem;
 margin-bottom:3rem;
}

}



/*==========================
 小見出し・レスポンシブ・設定
==========================*/
@media screen and (max-width:959px){
.heading{
 margin-top:3rem !important;
 margin-bottom:3rem!important;
}

.heading h2{
 font-size:1.6rem !important;
}

}



/*==========================
 区切り線・設定
==========================*/
hr.style-one{
 border:0;
 height:1px;
 background:#1C2A55;
 background-image: linear-gradient(to right, #ccc, #1C2A55, #ccc);
}



/*===============================
 トップページに戻るボタン・PC・設定
===============================*/
@media(min-width:980px){
#page_top{
 width:100px;
 height:100px;
 position:fixed;
 right:10px;
 bottom:75px;
 z-index:400;
 content-visibility:auto !important;
 contain-intrinsic-size:100px !important;
}

#page_top a{
 position:relative;
 display:block;
 width:100px;
 height:100px;
 text-decoration:none;
}

}
  
  
  
/*============================
  トップページに戻るボタン・レスポンシブ・設定
============================*/
@media(max-width:979px){
#page_top{
 display:none !important;
}
  
}



/*==========================
 事業所案内・見出し・設定
==========================*/
.business-heading{
 text-align:left !important;
 padding-left:13px !important;
 border-left:10px solid #1C2A55 !important;
}



/*============================
 トップページに戻るボタン・レスポンシブ・設定
============================*/
@media(max-width:979px){
#page_top{
 display:none !important;
}

}



/*==================
 ヘッダー・設定
====================*/
#header{
 height:auto !important;
}



/*==================================
 ナビメニュー上部の線・スクロール時・設定
==================================*/
.nav.transform{
 background-color:rgba(69, 147, 225,.8) !important;
 height:auto !important;
}
 
 
 
/*==========================
 ナビメニュー上部の線・PC・設定
==========================*/
@media (min-width:960px){
.nav-line{
 width:100% !important;
 height:30px !important;
 margin:0px !important;
 position:fixed !important;
 top:0px !important;
 display:flex !important;
 justify-content:space-between !important;
 transition: .5s !important;
 background-repeat:no-repeat !important;
 background-size:100% !important;
 background-color:#1C2A55 !important;
}
 
}
 
 

/*=================================
 ナビメニュー上部の線・レスポンシブ・設定
=================================*/
@media (max-width:959px){
.nav-line{
 width:100% !important;
 height:30px !important;
 margin:0px !important;
 position:fixed !important;
 top:0px !important;
 background-color:#1C2A55 !important;
 background-repeat:no-repeat !important;
 background-size:auto 4rem !important;
}
 
}



/*==================
 ナビメニュー・設定
====================*/
.fixed-top{
 position:fixed;
 top:30px !important;
 margin:0px !important;
 padding:0px !important;
}

.navbar-nav{
 margin:0px auto !important;
}

.navbar{
 width:100%;
 font-weight:bold;
 flex-wrap:nowrap !important;
 padding-right:1rem !important;
 padding-left:1rem !important;
 margin-right:auto !important;
 margin-left:auto !important;
}

.navbar h1{
 width:auto !important;
 margin:0px !important;
 z-index:1000 !important;
}

.navbar-light .navbar-nav{
 color:#fff !important;
 text-align:center !important;
 font-size:1rem !important;
}

.navbar-brand{
 height:auto !important;
 margin:0px !important;
 display:block !important;
}

.dropdown-item{
 display:block !important;
 width:100% !important;
 padding:0.25rem 0rem !important;
 clear:both !important;
 font-weight:500 !important;
 text-decoration:none !important;
 white-space:nowrap !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
 color:#fff;
 background-color:none !important;
}

.logo1{
 max-width:100% !important;
}

.logo2{
 display:none !important;
}



/*==========================
 ナビメニュー・スクロール時・設定
==========================*/
.fixed-top.transform{
 background-color:rgba(244, 244, 244,.8) !important;
 height:auto !important;
}

.transform .navbar-light .navbar-nav .nav-link{
 color:#3E3A39 !important;
}



/*==================
 ナビメニュー・PC・設定
====================*/
@media (min-width:960px){
.navbar{
 margin-top:0rem !important;
}

.navbar-collapse{
 margin:0px 1rem !important;
}

.navbar-nav{
 margin-right:1.5rem !important;
}

.navbar-brand img{
 width:283px !important;
 height:auto !important;
 margin:0px !important;
}

.openbtn,
.g-nav{
 display:none !important;
}

.fixed-top{
 max-width:100% !important;
 display:flex !important;
 position:fixed !important;
 justify-content:space-between !important;
 transition: .5s !important;
 background-repeat:no-repeat !important;
 background-size:100% !important;
 background-color:#fff !important;
}

.dropdown-menu{
 position:absolute;
 top: 100%;
 left: 0;
 min-width: 10rem;
 padding: .5rem 0.5rem !important;
 margin: .125rem 0 0;
 font-size:1rem !important;
 text-align:left !important;
 background-clip:padding-box;
 border: 1px solid #3E3A39;
 vertical-align:baseline;
}

.navbar-light .navbar-nav .nav-link{
 color:#3E3A39 !important;
}

.navbar-light .navbar-nav .nav-link:hover{
 color:#3E3A39 !important;
}

/* SNSのアイコン設定 */
.sns-icon{
 width:auto !important;
 height:auto !important;
 margin:auto 0.5rem !important;
 float:left !important;
}

.tell-icon img,
.tell-icon p{
 width:auto !important;
 height:100% !important;
 margin-left:0.5rem !important;
 float:left !important;
 font-weight:bold !important;
 color:#3E3A39 !important;
}

}



/*============================
 ナビメニュー・レスポンシブ・設定
============================*/
@media (max-width:959px){
.navbar{
 margin-top:0rem !important;
}

.navbar-toggler:focus{
 outline:3px solid #fff !important;
 box-shadow:none !important;
}

.fixed-top{
 max-width:100% !important;
 height:100%;
 background-color:#fff !important;
 background-repeat:no-repeat !important;
 background-size:auto 4rem !important;
}

.navbar-collapse{
 margin:0px 1rem !important;
 display:none !important;
}

.navbar-expand-lg .navbar-nav .nav-link{
 padding-right: .5rem !important;
 padding-left: .5rem !important;
 margin-top:0px !important;
}

.navbar-brand img{
 max-width:283px !important;
 height:auto !important;
 margin:0px !important;
}

.dropdown-menu{
 position: absolute;
 top: 100%;
 left: 0;
 min-width: 10rem;
 padding: .5rem 0;
 margin: .125rem 0 0;
 font-size:1rem!important;
 text-align:center !important;
 background-clip: padding-box;
 border: 1px solid #3E3A39;
 vertical-align:baseline;
}

}



/*===========================================
 ハンバーガーメニュー(押したら全体に拡大)・設定
===========================================*/

/*========= ナビゲーションのためのCSS ===============*/
ul{
 list-style:none !important;
}
 
#g-nav{
/*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
 position:fixed;
 z-index:-1;
 opacity:0;/*はじめは透過0*/
 background-color:#1C2A55 !important;
 
/*ナビの位置と形状*/
 top:0;
 left:0;
 width:100%;
 display:flex;
 justify-content:center;
 align-items:center;

/*動き*/
 transition:opacity .4s linear, visibility .6s ease;
 pointer-events:none;
 touch-action:auto !important;
}
 
/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
 opacity:1;
 z-index:999;
 height:100vh;/*ナビの高さ*/
 pointer-events:auto;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
 /*ナビの数が増えた場合縦スクロール*/
 position:fixed;
 z-index:999;
 width:100%;
 height:100vh;/*表示する高さ*/
 overflow:auto;
 -webkit-overflow-scrolling:touch;
}
 
/*ナビゲーション*/
#g-nav ul{
 display:none;
 /*ナビゲーション天地中央揃え*/
 position:absolute;
 z-index:999;
 top:26rem;
 left:50%;
 transform:translate(-50%,-50%);
 width:95% !important;
 margin:0px;
 padding:0px;
}

#g-nav.panelactive ul{
 display:block;
}
 
/*リストのレイアウト設定*/
#g-nav li{
 list-style:none;
 text-align:center;
 transition:transform .6s ease, opacity .2s ease;
}

#g-nav li a{
 color:#fff;
 text-decoration:none;
 padding:10px;
 display:block;
 text-transform:uppercase;
 letter-spacing:0.1em;
 font-weight:bold;
 font-size:1.2rem !important;
}
 
#g-nav .list-reserve{
 margin-top:50px !important;
 padding:10px !important;
 border-top:2px solid #fff !important;
 border-bottom:2px solid #fff !important;
}
 
#g-nav .list-reserve a{
 font-size:1rem !important;
}
 
#g-nav .list-reserve a strong{
 color:#fff !important;
 text-align:center !important;
 font-weight:bold !important;
 font-size:1.3rem !important;
}


 
/*========= ボタンのためのCSS ===============*/
.openbtn{
 position:fixed;
 z-index:9999;/*ボタンを最前面に*/
 right:10px;
 cursor:pointer;
 width:60px;
 height:60px;
 padding:0.3rem;
}

/*×に変化*/
.openbtn span{
 display:inline-block;
 transition:all .4s;
 position:absolute;
 left:16px;
 height:3px;
 border-radius:2px;
 background-color:#3E3A39;
 width:45%;
 margin-top:0.5rem;
}
 
.openbtn span:nth-of-type(1){
 top:12px;
}
 
.openbtn span:nth-of-type(2){
 top:20px;
}
 
.openbtn span:nth-of-type(3){
 top:28px;
}
 
.openbtn.active p{
 color:#fff !important;
}
 
.openbtn.active span:nth-of-type(1){
 top:18px;
 left:18px;
 transform:translateY(6px) rotate(-45deg);
 width:30%;
 color:#fff !important;
 background-color:#fff !important;
}
 
.openbtn.active span:nth-of-type(2){
 opacity:0;
 color:#fff !important;
 background-color:#fff !important;
}
 
.openbtn.active span:nth-of-type(3){
 top:30px;
 left:18px;
 transform:translateY(-6px) rotate(45deg);
 width:30%;
 color:#fff !important;
 background-color:#fff !important;
}

/* open */
.open{
 overflow:hidden;

  
#gloval-nav{
 visibility:visible;
 opacity:1;
}

#gloval-nav li{
 opacity:1;
 transform:translateX(0);
 transition:transform 1s ease, opacity .9s ease;
}

}



/*==================
 トップ画像・設定
====================*/
#top{
 margin-top:115px !important;
 background-size:100% !important;
 background-repeat:no-repeat !important;
 background-position:center;
}
  
.top-box{
 width:100% !important;
 height:650px !important;
 position:relative !important;
}
 
.cube-box1 div,
.cube-box2 div{
 position:absolute !important;
 box-sizing:border-box !important;
 width:100% !important;
 height:100% !important;
 padding:30px !important;
 text-align:center !important;
 font-size:50px !important;
 border-radius:5px !important;
 border:3px solid #ddddddc0 !important;
 display:flex !important;
 justify-content:center !important;
 align-items:center !important;
}
 
.cube-box1 img,
.cube-box2 img{
 width:100% !important;
 height:auto !important;
 margin:0px !important;
}
 
 
 
/*===== パターン1 ======*/
.cube-box1{
 transform-style:preserve-3d !important;
 width:150px !important;
 height:150px !important;
 animation:kaiten 20s linear infinite !important;
}
  
@keyframes kaiten{
 0%{transform:rotateX(-30deg) rotateY(0deg) rotateZ(0deg);}
 100%{transform:rotateX(-30deg) rotateY(-360deg) rotateZ(0deg);}
}
 
 
 
/*===== パターン2 ======*/
.cube-box2{
 transform-style:preserve-3d !important;
 width:150px !important;
 height:150px !important;
 animation: turnAround 10s linear 0s infinite normal none running !important;
}
 
@keyframes turnAround{
 0%{transform:rotateX(0deg) rotateY(0deg);}
 100%{transform:rotateX(360deg) rotateY(360deg);}
}
 
 
 
/*===== パターン3 ======*/
.circle{
 width:600px !important;
 height:600px !important;
 margin:0px !important;
 display:flex !important;
 justify-content:center !important;
 align-items:center !important;
 transform:translateY(-60px) !important;
 position:relative !important;
 top:50px !important;
 left:50px !important;
}
 
.inner{
 transform-style:preserve-3d !important;
 transform:rotateX(-90.1deg) rotateZ(120deg) !important;
}
 
.text{
 margin:0px !important;
 transform-style:preserve-3d !important;
 animation:rotateAnim linear infinite !important;
 animation-duration:7s !important;
 font-weight:bold !important;
 font-family:'Caveat', cursive !important;
}
 
 
 
@keyframes rotateAnim{
 0%{transform: rotate(360deg);}
 50%{transform: rotate(180deg);}
 100%{transform: rotate(0deg);}
}

.text span{
 font-size:3rem !important;
 position:absolute;
 inset:0;
 font-weight:700;
 opacity:0;
 animation:opacityAnim 7s linear infinite;
}
 
@keyframes opacityAnim{
 0%, 50%, 100%{opacity: 0.2;}
 25%{opacity: 1;}
 75%{opacity: 0;}
}
 
 
 
/*===================
 トップ画像・PC・設定
===================*/
@media screen and (min-width:960px){
.cube-box1,
.cube-box2{
 position:relative !important;
 top:200px !important;
 left:80px !important;
}
 
 
 
/*===== パターン1 ======*/
.cube1{
 background-color:#ffddddc0 !important;
 transform:scale3d(1.5, 1.5, 1.5) translateZ(75px) !important;
}
    
.cube2{
 background-color:#ffddffc0 !important;
 transform:scale3d(1.5, 1.5, 1.5) rotateY(90deg) translateZ(75px) !important;
}
 
.cube3{
 background-color:#ddddffc0 !important;
 transform:scale3d(1.5, 1.5, 1.5) rotateY(180deg) translateZ(75px) !important;
}
 
.cube4{
 background-color:#ffffddc0 !important;
 transform:scale3d(1.5, 1.5, 1.5) rotateY(-90deg) translateZ(75px) !important;
}
 
.cube5{
 background-color:#ddffffc0 !important;
 transform:scale3d(1.5, 1.5, 1.5) rotateX(-90deg) translateZ(75px) !important;
}
 
.cube6{
 background-color:#ddffddc0 !important;
 transform:scale3d(1.5, 1.5, 1.5) rotateX(90deg) translateZ(75px) !important;
}
 
 
 
/*===== パターン2 ======*/
.cube2-1{
 background-color:#ddffddc0 !important;
 transform:scale3d(1.5, 1.5, 1.5) translateZ(75px) !important;
}
 
.cube2-2{
 background-color:#ddffddc0 !important;
 transform:scale3d(1.5, 1.5, 1.5) rotateY(90deg) translateZ(75px) !important;
}
  
.cube2-3{
 background-color:#ddffddc0 !important;
 transform:scale3d(1.5, 1.5, 1.5) rotateY(180deg) translateZ(75px) !important;
}
  
.cube2-4{
 background-color:#ddffddc0 !important;
 transform:scale3d(1.5, 1.5, 1.5) rotateY(-90deg) translateZ(75px) !important;
}
  
.cube2-5{
 background-color:#ddffddc0 !important;
 transform:scale3d(1.5, 1.5, 1.5) rotateX(-90deg) translateZ(75px) !important;
}
  
.cube2-6{
 background-color:#ddffddc0 !important;
 transform:scale3d(1.5, 1.5, 1.5) rotateX(90deg) translateZ(75px) !important;
}
 
}
   
   
   
/*===========================
  トップ画像・レスポンシブ・設定
===========================*/
@media screen and (max-width:959px){
.top-box{
 width:100% !important;
 height:auto !important;
 position:relative !important;
}
 
.cube-box1,
.cube-box2{
 position:relative !important;
 top:0px !important;
 left:-15px !important;
}
 

 
/*===== パターン1 ======*/
.cube1{
 background-color:#ffddddc0 !important;
 transform:scale3d(0.5, 0.5, 0.5) translateZ(75px) !important;
}
    
.cube2{
 background-color:#ffddffc0 !important;
 transform:scale3d(0.5, 0.5, 0.5) rotateY(90deg) translateZ(75px) !important;
}
 
.cube3{
 background-color:#ddddffc0 !important;
 transform:scale3d(0.5, 0.5, 0.5) rotateY(180deg) translateZ(75px) !important;
}
 
.cube4{
 background-color:#ffffddc0 !important;
 transform:scale3d(0.5, 0.5, 0.5) rotateY(-90deg) translateZ(75px) !important;
}
 
.cube5{
 background-color:#ddffffc0 !important;
 transform:scale3d(0.5, 0.5, 0.5) rotateX(-90deg) translateZ(75px) !important;
}
 
.cube6{
 background-color:#ddffddc0 !important;
 transform:scale3d(0.5, 0.5, 0.5) rotateX(90deg) translateZ(75px) !important;
}
 
 
 
/*===== パターン2 ======*/
.cube2-1{
 background-color:#ddffddc0 !important;
 transform:scale3d(0.5, 0.5, 0.5) translateZ(75px) !important;
}
 
.cube2-2{
 background-color:#ddffddc0 !important;
 transform:scale3d(0.5, 0.5, 0.5) rotateY(90deg) translateZ(75px) !important;
}
  
.cube2-3{
 background-color:#ddffddc0 !important;
 transform:scale3d(0.5, 0.5, 0.5) rotateY(180deg) translateZ(75px) !important;
}
 
.cube2-4{
 background-color:#ddffddc0 !important;
 transform:scale3d(0.5, 0.5, 0.5) rotateY(-90deg) translateZ(75px) !important;
}
  
.cube2-5{
 background-color:#ddffddc0 !important;
 transform:scale3d(0.5, 0.5, 0.5) rotateX(-90deg) translateZ(75px) !important;
}
  
.cube2-6{
 background-color:#ddffddc0 !important;
 transform:scale3d(0.5, 0.5, 0.5) rotateX(90deg) translateZ(75px) !important;
}
 
}



/*==================
 メイン・設定
====================*/
#main{
 background-position:center !important;
 background-repeat:no-repeat !important;
 background-size:100% !important;
}

.card{
 background-color:transparent !important;
 border:0px solid rgba(0,0,0,.125) !important;
 border-radius:0rem !important;
}

.card img{
 width:100% !important;
 height:auto !important;
 margin:0px !important;
}

.card-body {
 padding:1rem 0rem !important;
}

.card-text{
 color:#333 !important;
}



/*==================
 メイン・PC・設定
====================*/
@media screen and (min-width:960px){
#main{
 padding:5rem 0rem !important;
}

.contents-icon{
 padding:1.5rem 1.5rem !important;
 background-size:100% !important;
 background-position:center !important;
 background-repeat:no-repeat !important;
}

}



/*========================
 メイン・レスポンシブ・設定
========================*/
@media screen and (max-width:959px){
#main{
 padding:1.5rem 0rem !important;
 background:none !important;
}

}



/*============================
 メイン・PC・フェードイン・設定
============================*/
@media screen and (min-width:960px){
/*.フェードインアニメーションの指定*/
.scrollanime{
 opacity:1.2;
}
/*一瞬表示されるのを防ぐ*/
    
.fadeInDown{
 animation-name:fadeInDown;
 animation-duration:1s;
 animation-fill-mode:forwards;
}

@keyframes fadeInDown{
0%{
 opacity:0;
}
    
100%{
 opacity:1;
 transform:translate(0);
}

}
    
/*上下の動きを指定*/
.updown{
 transform:translateY(-100px);
}

.downup{
 transform:translateY(100px);
}

}



/*========================
 メイン・コンテンツ・設定
========================*/
div.radius_ad{
 background:#f0f8ff;
 border:3px solid #1C2A55;
 border-radius:10px;
 width:100%;
 height:auto;
 padding:25px;
 margin:0px auto 0px auto;
 display:inline-block;
}

#ad h6{
 font-size:1.5rem!important;
 color:#333 !important;
 font-weight:bold;
 margin-bottom:1.5rem;
}



/*========================================
 メイン・サブコンテンツ・レスポンシブ・設定
========================================*/
@media screen and (max-width:959px){
.sub h3{
 font-size:1rem !important;
}

.sub a img{
 width:100%;
}

}



/*========================
 メイン・事業所一覧・設定
========================*/
.card{
 padding:1rem;
 background-color:#fff !important;
}

.card-body h4{
 width:85% !important;
 margin:0px auto !important;
}

.card-body ul{
 width:20%;
 height:auto;
 margin:0.5rem 40% 0.5rem 40%;
 padding:0px;
}

.card-body ul li{
 width:auto;
 height:auto;
 list-style:none;
}

.card-body ul li img{
 width:48px !important;
 height:48px !important;
 margin:0px;
}

.syurou-a{
 border:2px solid #ff7f7f !important;
}

.syurou-a h4{
 color:#ff7f7f !important;
 border-bottom:3px solid #ff7f7f !important;
}

.syurou-b{
 border:2px solid #7fbfff !important;
}
 
.syurou-b h4{
 color:#7fbfff !important;
 border-bottom:3px solid #7fbfff !important;
}

.soudan{
 border:2px solid #5F9EA0 !important;
}
        
.soudan h4{
 color:#5F9EA0 !important;
 border-bottom:3px solid #5F9EA0 !important;
}

.group-home{
 border:2px solid #7fff7f !important;
}
  
.group-home h4{
 color:#7fff7f !important;
 border-bottom:3px solid #7fff7f !important;
}



/*=====================================
 メイン・事業所一覧・スライドショー・設定
=====================================*/
#slider{
 position:relative !important;
 margin-top:3rem !important;
}
   

   

  
/*==========================================
  メイン・事業所一覧・PC・設定
==========================================*/
@media screen and (min-width:960px){
.carousel-item{
 height:auto;
}

#myCarousel1{
 display:block !important;
}

#myCarousel2{
 display:none !important;
}

}
   
   
   
/*==========================================
  メイン・事業所一覧・レスポンシブ・設定
==========================================*/
@media screen and (max-width:959px){
#myCarousel1{
 display:none !important;
}

#myCarousel2{
 height:100% !important;
 content-visibility:auto !important;
 contain-intrinsic-size:670px !important;
 display:block !important;
}

.carousel-control-prev-icon,
.carousel-control-next-icon{
 height:25px !important;
 width:25px !important;
 outline:#1C2A55 !important;
 background-color:rgba(28, 42, 85, 0.9) !important;
 background-size:100%, 100% !important;
 border-radius:50% !important;
 border:3px solid #1C2A55 !important;
}

}



/*=================================
 メイン・下部のサブコンテンツ・設定
=================================*/
.contact-box a img{
 width:72px;
 height:72px;
 margin:0px auto;
}

.contact-box h3{
 color:#1C2A55;
}

.control-label{
 font-size:1rem;
 font-weight:bold;
}

.badge{
 padding:0.25em 0.4em;
 font-size:0.3rem;
 font-weight:700;
 text-align:center;
 white-space:nowrap;
 vertical-align:baseline;
 border-radius:0.25rem;
 transition:color 0.15s ease-in-out,
 background-color 0.15s ease-in-out,
 border-color 0.15s ease-in-out,
 box-shadow 0.15s ease-in-out;
 margin-left:10px;
}

.badge-danger{
 color:#fff;
 background-color:#dc3545;
}



/*=======================================
 メイン・事業内容・ご利用までの流れ・設定
=======================================*/
.system-list[system-line]{
 width:100% !important;
 height:auto !important;
 margin-top:1.5rem !important;
 position:relative !important;
}

.system-list ul[system-line]{
 position:relative !important;
 margin:0 !important;
 padding:0 !important;
 list-style-type:none !important;
}
 
.system-box1[system-line]{
 position:relative !important;
 right:0 !important;
 width:400px !important;
 margin-left:auto !important;
}

.system-box2[system-line]{
 position:relative !important;
 right:0 !important;
 width:400px !important;
 margin-right:auto !important;
}

.system-number[system-line]{
 margin:0 !important;
 font-size:3rem !important;
 font-weight:bold !important;
 color:#1C2A55 !important;
 line-height:1.7 !important;
}

.system-list[system-line] ul li h3{
 color:#1C2A55 !important;
 font-size:1.5rem !important;
}

.step04-tell{
 font-size:3rem !important;
}



/*=================================================
 メイン・事業内容・ご利用までの流れ・レスポンシブ設定
=================================================*/
@media screen and (max-width:960px){
.system-list[system-line]:before{
 display:none !important;
}

.system-box1[system-line],
.system-box2[system-line]{
 position:relative !important;
 right:0 !important;
 width:332px !important;
 margin:0px !important;
}

}



/*==================
 よくあるご質問・設定
====================*/
.accordion-button{
 color:#fff !important;
 background-color:#1C2A55 !important;
 margin:0px !important;
 padding:0px !important ;
 cursor:pointer !important;
 position:relative !important;
}

.accordion-button:hover{
 background-color:#1C2A55 !important;
}

.accordion-button p{
 font-size:1rem !important;
 font-weight:bold !important;
 color:#fff;
 margin:0px;
 padding:1rem 2rem 1rem 1rem;
}

.accordion-body p{
 font-size:1rem !important;
 font-weight:bold !important;
 color:#212529;
 margin:0px;
 padding:1rem;
}

/* 矢印 */
.accordion-button::after{
 width:8px !important;
 border-right:solid 2px #fff !important;
 border-top:solid 2px #fff !important;
 content:"" !important;
 display:block !important;
 height:8px !important;
 position:absolute !important;
 right:25px !important;
 top:38% !important;
 transform:rotate(135deg) !important;
 transition:transform .3s ease-in-out, top .3s ease-in-out !important;
 
}

.accordion-button.open::after{
 top:45% !important;
 transform:rotate(-45deg) !important;
}



/*==================
 フッター・設定
====================*/
#footer{
 padding:1.5rem 0px 1.5rem 0px;
 background-color:#1C2A55;
 content-visibility:auto !important;
 contain-intrinsic-size:300px !important;
}

#footer .link-secondary{
 font-size:1rem !important;
 color:#fff !important;
}

#footer .list-unstyled{
 margin-bottom:0px;
}



/*======================
 フッター・PC・設定
======================*/
@media screen and (min-width:960px){
#footer .footer-logo{
 width:283px !important;
 height:auto !important;
 margin:0px !important;
}

}



/*==========================
 フッター・レスポンシブ・設定
==========================*/
@media(max-width:959px){
#footer .footer-logo{
 max-width:283px !important;
 height:auto !important;
 margin:0px !important;
}

#footer .link-secondary{
 text-align:center !important;
}

#footer p{
 text-align:center !important;
}

.footer-menu{
 display:none !important;
}

}



/*=======================
 コピーライト・設定
=======================*/
#copyright{
 background-color:#1C2A55 !important;
 content-visibility:auto !important;
 contain-intrinsic-size:30px !important;
}

#copyright p{
 color:#fff !important;
 font-size:0.8rem !important;
 font-weight:bold !important;
 text-align:center !important;
 margin:0px !important;
}

#copyright p a{
 color:#fff !important;
}

#copyright p a:hover{
 border-bottom:1px solid #fff !important;
}