@charset "UTF-8";

/* --------------------------------
 * base
 * -------------------------------- */
* {
  box-sizing: border-box;
}

body,
a,
.table {
  color: #666;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: 0.3rem;
}

.mt0{margin-top: 0px !important;}
.mt8{margin-top: 8px !important;}
.mt16{margin-top: 16px !important;}
.mt24{margin-top: 24px !important;}
.mt32{margin-top: 32px !important;}
.mt40{margin-top: 40px !important;}
.mt48{margin-top: 48px !important;}
.mt56{margin-top: 56px !important;}
.mt64{margin-top: 64px !important;}
.mt72{margin-top: 72px !important;}
.mt80{margin-top: 80px !important;}

.mb0{margin-bottom: 0px !important;}
.mb8{margin-bottom: 8px !important;}
.mb16{margin-bottom: 16px !important;}
.mb24{margin-bottom: 24px !important;}
.mb32{margin-bottom: 32px !important;}
.mb40{margin-bottom: 40px !important;}
.mb48{margin-bottom: 48px !important;}
.mb56{margin-bottom: 56px !important;}
.mb64{margin-bottom: 64px !important;}
.mb72{margin-bottom: 72px !important;}
.mb80{margin-bottom: 80px !important;}

.ml0{margin-left: 0px!important;}
.ml8{margin-left: 8px!important;}
.ml12{margin-left: 12px!important;}
.ml16{margin-left: 16px!important;}
.ml24{margin-left: 24px!important;}
.ml32{margin-left: 32px!important;}

.mr0{margin-right: 0px!important;}
.mr8{margin-right: 8px!important;}
.mr12{margin-right: 12px!important;}
.mr16{margin-right: 16px!important;}
.mr24{margin-right: 24px!important;}
.mr32{margin-right: 32px!important;}

.w5 {width:5%}
.w10 {width:10%}
.w15 {width:15%}
.w20 {width:20%}
.w25 {width:25%}
.w30 {width:30%}
.w35 {width:35%}
.w40 {width:40%}
.w45 {width:45%}
.w50 {width:50%}
.w55 {width:55%}
.w60 {width:60%}
.w65 {width:65%}
.w70 {width:70%}
.w75 {width:75%}
.w80 {width:80%}
.w85 {width:85%}
.w90 {width:90%}
.w95 {width:95%}
.w100 {width:100%}

.mincho {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.sp{
  display: none;
}
.pc{
  display: block;
}
br.sp{
  display: none;
}
br.pc{
  display: block;
}
p.sp{
  display: none;
}
p.pc{
  display: block;
}
form.sp{
  display: none;
}
form.pc{
  display: block;
}
span.sp{
  display: none;
}
span.pc{
    display: inline-block;
}

.px-45 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}


.triplets{width:33.333%}
.half{width:24%}

.f-left{float:left;}
.f-right{float:right}

.kome {
    text-indent: -19px;
    padding-left: 18px;
    margin-left: 8px !important;
}
.kome::before {
    content: "※";
    padding-right: 4px;
    font-size: 26px;
    vertical-align: text-bottom;
}
.kome.small::before {
    content: "※";
    padding-right: 3px;
}
.kome.small {
    text-indent: -16px;
    padding-left: 9px;
    margin-left: 5px !important;
}
.t-center {
    text-align: center;
}
.t-left {
    text-align: left;
}
.t-right {
    text-align: right;
}
.bold {
    color: #242424;
}
.small {
    font-size: 85%;
}
.fa, .fas {
    margin-left: 7px;
}





h1, .h1 {
  letter-spacing:  0.08rem;
  font-size: 2.2rem;
}

.text-blue {
  color: #6b90db !important;
}
.text-green {
  color: #2f8e31 !important;
}

.bg-blue,
.thead-blue,
.badge-primary {
  background-color: #6b90db !important;
}
.bg-green,
.thead-green,
.badge-primary {
  background-color: #2f8e31 !important;
}

.bg-lightblue {
  background-color: #ecf7fb !important;
}
.bg-lightgreen {
  background-color: #f1f1f1 !important;
}

.bg-yellow {
  background-color: #ffc107 !important;
}
.bg-pink {
  background-color: #DB8F81 !important;
}

.border-blue {
  border-color: #B2C2E1 !important;
}
.border-green {
  border-color: #2f8e31 !important;
}
.border-top {
  border-width: 2px !important;
}

p {
  line-height: 1.6rem;
}

/* ==================== クリアフィックス ==================== */
.clearfix::after {
content: ".";
display: block;
clear: both;
line-height: 0;
font-size: 0;
height: 0;
visibility: hidden;
}
.clearfix {
display: inline-block;
}
/* Mac版IEを除外 \*/
.clearfix {
display: block;
}
/* */


/* --------------------------------------------------
    ファーストビュー
-------------------------------------------------- */
.header {
  height: 100vh;
}

.header .jumbotron {
  background-image: url("../img/main-img.jpg");
  background-size: cover;
  background-position: center top;
  position: relative;
  height: 100vh;
  margin-bottom: 0;
  padding: 0;
}
.d-md-flex.align-items-center {
    justify-content: space-between;
}


/* nav
-------------------------------------------------- */
nav {
  display: block;
  z-index: 999;
  width: 100%;
  background-color: rgb(47 142 49 / 85%) ;
    box-shadow: 0px 0px 5px -1px rgba(0,0,0,0.35);
    -moz-box-shadow: 0px 0px 5px -1px rgba(0,0,0,0.35);
    -webkit-box-shadow: 0px 0px 5px -1px rgba(0,0,0,0.35);
    -o-box-shadow: 0px 0px 5px -1px rgba(0,0,0,0.35);
    -ms-box-shadow: 0px 0px 5px -1px rgba(0,0,0,0.35);
}
nav.fix {
  position: fixed;
  top: 0;
}
nav li.nav-item {
    font-size: 1rem;
    letter-spacing:  0.06em;
    font-weight: 500;
    flex: 1 0 auto;
}
nav li a.nav-link {
    color: #fff !important;
}
nav li a.nav-link:hover,
nav li a.nav-link.active {
    opacity: 0.8;
    filter: alpha(opacity=80);
    border-bottom: 1px solid rgb(255 255 255 / 70%);
}
nav .navbar-collapse {
    flex-grow: 0 !important;
}
/*li.nav-item.link {
    position: absolute;
    right: 2vw;
}*/
.link a.nav-link {
    background-color: #fff;
    padding: .3rem 1.3rem !important;
}
nav li.link a.nav-link {
    color: rgb(47 142 49 / 85%) !important;
}
.container-fluid {
    background-color: rgb(47 142 49 / 85%) !important;
}
.container-fluid h1 {
    color:  #fff !important;
    font-weight: 600;
    font-size: 1.2rem;
}
.container-fluid p {
    color:  #fff !important;
    line-height: 1.2;
    font-size: 0.9rem;
}
.navbar-expand-lg .navbar-nav .nav-link {
    padding: .3rem 1.1rem !important;
}

/*
@media (max-width:1520px) and (min-width: 992px) {
  li.nav-item.link {
    position: fixed;
    right: 1vw;
    top: unset;
    bottom: 11px;
  }
  .link a.nav-link {
    background-color: #6b90db;
  }
  nav li.link a.nav-link {
    color: #fff !important;
  }
}
*/



/*    キービジュアル
-------------------------------------------------- */
/*下層ページ*/
.under-layer .jumbotron {
  background-image: url("../img/main-img.jpg");
  background-size: cover;
  background-position: center top;
  margin-bottom: 0;
}
h1.h1.font-weight-bold.text-center.pb-5 {
    font-size: 2rem;
    color: #fff;
    letter-spacing: 0.08em;
    margin: 3rem 0 0 !important;
    text-shadow:0 0 6px rgb(27 28 27 / 95%);
  }

/* --------------------------------------------------
    メイン
-------------------------------------------------- */
/*
main {
    padding-top: 10vh;
}*/


/*    トップページ
-------------------------------------------------- */
.tokucho h3 span {
  font-family: 'Libre Caslon Text', serif;
  margin-right: 1rem;
  border-bottom: 5px solid #B2C2E1;
}
.col-md-6 iframe {
    width: 100%;
    height: 50vh;
}


/*    紹介
-------------------------------------------------- */
figcaption {
  padding-left: 1rem;
  border-left: 3px solid #6b90db;
}

/* --------------------------------------------------
    サンプルページ
-------------------------------------------------- */

/*   チャート
-------------------------------------------------- */
.flow > li .flow-icon {
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  line-height: 50px;
  color: #fff;
  background-color: #6b90db;
  margin: 0 auto 20px;
  display: block;
  text-align: center;
  position: relative;
  letter-spacing: 2px;
}

.flow > li .flow-icon::before {
  content: "";
  border: solid transparent;
  border-width: 8px;
  border-top-color: #6b90db;
  position: absolute;
  top: calc(100% - .2rem);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

/* --------------------------------------------------
    会社案内
-------------------------------------------------- */
.map iframe {
    width: 100%;
    height: 37vh;
}



/* --------------------------------------------------
    お問い合せページ
-------------------------------------------------- */
/*WEBでのご予約・お問合せ*/




.footer .text-white a {
  color: #cbf9b4;
}
.footer .text-white a:hover {
  color: #fff;
}
.snsicon ul {
    padding: 0;
}
.snsicon li {
    width: 40px;
    height: 40px;
    display: block;
    float: left;
    margin: 0 1%;
}
.snsicon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*-------------------------------------------------------------------------------------------------------------------------------------------------------------*/


@media screen and (max-width:991px) {
  .sp{
  display: block;
}
.pc{
  display: none;
}
br.sp{
  display: block;
}
br.pc{
  display: none;
}
p.sp{
  display: block;
}
p.pc{
  display: none;
}
form.sp{
  display: block;
}
form.pc{
  display: none;
}
span.sp{
    display: initial;
}
span.pc{
  display: none;
}
header h1, header .h1 {
    letter-spacing: 0.07rem;
    font-size: 1.4rem;
}
h1, h2, h3, h4, h5, h6 {
    letter-spacing: 0.1rem;
}
.h2, h2 {
    font-size: 1.7rem;
}

li.nav-item {
    margin-bottom: 1vh;
}
nav li a.nav-link:hover, nav li a.nav-link.active {
    border-bottom: none;
    border-left: 4px solid #fff;
}
li.nav-item.link {
    position: inherit;
    right: unset;
}
button.navbar-toggler {
    position: absolute;
    right: 2vw;
    top: 1.5vh;
}
.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");
}
.navbar-toggler-icon {
    width: 2em;
    height: 2em;
    background-size: 130%;
}
.navbar-expand-lg .navbar-nav .nav-link {
    padding: 0.7rem 1.1rem !important;
}
.navbar-light .navbar-toggler {
    border: none;
}
.navbar-expand-lg .navbar-nav .link .nav-link {
    padding: 0.5rem 1.1rem !important;
    margin: 1vh auto 3vh;
}
header .pt-0.col-md-4 {
    width: 80% !important;
    margin: 0vh 0 !important;
    padding: 2vh 0vw 1vh !important;
  }
header .col-md-7.pl-5 {
    padding: 1vh 0 0px !important;
}
header .container.py-2 {
    padding: 0 !important;
}
header .img-fluid {
    max-width: 75%;
}
.navbar.spd {
    display: none;
}
.navbar.spd.fix {
    display: block;
}
.col-form-label {
    font-size: 1.2rem;
    font-weight: bold;
    color: #2f8e31;
}
.badge {
    padding: .35em .45em;
    font-size: 68%;
    vertical-align: middle;
}
.badge-primary {
    vertical-align: top;
    margin-top: 3px;
}
}
