@charset "utf-8";

html,body{
    overflow-x: hidden;
}

body,p,td,li, h5,h6 {
	font-family: "FP-ヒラギノUD角ゴ StdN W3";
	font-weight: 400;
	font-size:1rem;
	line-height:1.8em;
	overflow-x: hidden;
	color: #5f5f5f;
}
h1,h2,h3,h4,.h1,.h2,.h3,.h4,.h5,.h6 {
	/*font-family: "BIZ UDPMincho", "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",source-han-serif-japanese,"游明朝","Yu Mincho","游明朝体",YuMincho,"HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;*/
	font-family: "FP-ヒラギノUD角ゴ StdN W6";
	font-weight:800;
	line-height:1.5em;
	color: #5f5f5f;
}

.fs-1,.fs-2,.fs-4,.fw-bold{
    font-family: "FP-ヒラギノUD角ゴ StdN W6";
}

.font-g {
	font-family: "FP-ヒラギノUD角ゴ StdN W3";
}

.font-m {
	font-family: "BIZ UDPMincho", "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",source-han-serif-japanese,"游明朝","Yu Mincho","游明朝体",YuMincho,"HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
}

.bold {
	font-weight:800;
}


header {
  padding: 10px 0;
  position: relative;
}
header button#toggle {
  position: absolute;
  background: none;
  border: none;
  width: 40px;
  height: 32px;
  padding: 0;
  padding: 0;
  top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  right: 10px;
  z-index: 9999;
  cursor: pointer;
}
header button#toggle span {
  display: block;
  width: 40px;
  height: 2px;
  background: #5f5f5f;
  top: 10px;
  -webkit-transition: .3s;
  transition: .3s;
}
header button#toggle span::after, header button#toggle span::before {
  content: "";
  display: block;
  position: relative;
  width: 100%;
  height: 2px;
  background: #5f5f5f;
  -webkit-transition: .3s;
  transition: .3s;
}
header button#toggle span::before {
  top: 10px;
}
header button#toggle span::after {
  top: -12px;
}
header button#toggle.open span {
  background: rgba(255, 255, 255, 0);
}
header button#toggle.open span::before {
  top: 2px;
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
}
header button#toggle.open span::after {
  top: 0px;
  -webkit-transform: rotate(-225deg);
          transform: rotate(-225deg);
}
header nav ul {
  margin: 10px 0 0;
  padding-left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  justify-content: end;
  overflow-y:hidden;
}
header nav ul li {
  line-height: 1em;
  padding: 0 15px;
  border-right: 1px solid #231815;
  overflow-y:hidden;
}
header nav ul li:first-child {
  padding-left: 0;
}
header nav ul li:last-child {
  border-right: none;
  padding-right: 0;
}
header nav a {
  color: #231815;
  text-decoration: none;
}
@media (max-width:1080px){
  header nav a {
    font-size: 14px;
  }
}
@media (min-width:945px){
  header button#toggle{
    display: none
  }
 }
@media (max-width:945px){
  header nav a{
    font-size: 16px;
  }
  .snsicon{
    padding-right: 45px;
  }
  #navContents {
    display: block;
    position: fixed;
    top: 0;
    right: -350px;
    width: 80%;
    height: 100%;
    max-width: 350px;
    background: #fff;
    border-left: 1px solid #999;
    z-index: 999;
    padding-top: 40px;
    -webkit-transition: .3s;
    transition: .3s;
  }
  #navContents ul {
    display: block;
  }
  #navContents ul li {
    width: 100%;
    border-right: none;
    padding: 0;
  }
  #navContents ul li a {
    display: block;
    padding: 20px;
  }
  #navContents.open {
    right: 0;
  }
}

.topslide {
  position: relative;
}
.topslide h1 {
  position: absolute;
  width: 30%;
  bottom: 50px;
  right: 20px;
}
@media(min-width:768px){
    .topslide h1 {
        width: 30vw;
        bottom: 100px;
        right: 50px;
	}
}

.news {
  position: relative;
  border-radius: 20px;
  background: #f8f1f0;
  margin: -50px auto 50px;
  padding: 20px;
  color: #5f5f5f;
}
@media (min-width:768px){
	.news{
	  padding: 30px;
	}
}
.news h1 {
  font-size: 20px;
}
@media (min-width:768px){
    .news h1 {
      font-size: 25px;
    }
}
.news ul {
  padding: 0;
  list-style: none;
}
.news ul li {
  border-top: 1px solid #a49d9b;
  padding: 15px 10px;
}
.news .scl {
  height: 130px;
  overflow-y: scroll;
}
.news a {
  color: #5f5f5f;
  display: inline-block;
}

.container {
  max-width: 1041px;
  padding-right: 25px;
  padding-left: 25px;
}

.maru-gr, .maru-pk {
  position: relative;
}
.maru-gr::after, .maru-pk::after {
  position: absolute;
  top: -50px;
  left: -50px;
  content: "";
  display: block;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  z-index: -1;
}

.maru-gr::after {
  background: #e8f3e5;
}

.maru-pk::after {
  background: #f8f1f0;
}

.textBox-left, .textBox-right {
  position: relative;
  padding: 50px 12px 50px;
}
@media (min-width: 768px) {
  .textBox-left, .textBox-right {
    margin-top: 0;
    padding-top: 50px;
  }
}
.textBox-left::after, .textBox-right::after {
  display: block;
  position: absolute;
  content: "";
  width: 150%;
  height: calc(100% + 35vw);
  top: -35vw;
  background: inherit;
  z-index: -1;
}
@media (min-width: 768px) {
  .textBox-left::after, .textBox-right::after {
    height: 100%;
    top: 0;
  }
}
.textBox-left p, .textBox-right p {
  text-align: justify;
}

.textBox-left {
  padding-right: 25px;
}
@media (min-width: 768px) {
  .textBox-left {
    padding: 50px 16% 50px 12px;
  }
}
.textBox-left::after {
  right: 0;
}

.textBox-right {
  padding-left: 25px;
}
@media (min-width: 768px) {
  .textBox-right {
    padding: 50px 12px 50px 16%;
  }
}
.textBox-right::after {
  left: 0;
}

.ht100::after {
  top: -70vw;
  height: calc(100% + 70vw);
}
@media (min-width: 768px) {
  .ht100::after {
    height: 100%;
    top: 0;
  }
}

@media (min-width: 768px) {
  .textBox-mp {
    margin-top: 10%;
  }
}

.imgBox {
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .imgBox {
    position: absolute;
  }
}

@media (min-width: 768px) {
  .img-md-middle {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}


.card-title {
	color: #5f5f5f !important;
	font-weight:bold;
	font-size: 105%;
}

.tbl-pk{
	width: 100%;
	overflow-x: scroll !important;
}
.tbl-pk table{
	width: 100%;
	min-width: 992px;
}
.tbl-pk table th,
.tbl-pk table td{
	text-align: center;
	border: 5px solid #fff;
	padding: 5px 15px;
}
.tbl-pk table th{
	background: #ef857d;
	color: #fff;
	width: calc((100% - 15%) /3);
}
.tbl-pk table th:first-child{
	width: 15%;
}
.tbl-pk table td{
	font-size: 14px;
	background: #fef6f4;
	height:65px;
	line-height: 1.5em;
}
.tbl-pk table td:first-child{
	font-weight: bold;
}

ul.li-box {
	position:relative;
}
ul.li-box li::before{
	content: '□';
	position:absolute;
	left: 10px;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

ul.list-disc{
	position:relative;
	padding-left:20px;
}
ul.list-disc li::before{
	content:'・';
	position:absolute;
	left: 0;
}


footer ul {
margin: 10px 0 0;
padding-left: 0;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
list-style: none;
overflow-y:hidden;
}

footer ul li:first-child {
padding-left: 0;
}

footer ul li {
line-height: 1em;
padding: 0 15px;
	border-right: 1px solid #231815;
	font-size:90%;
overflow-y:hidden;
}

footer a {
color: #5f5f5f;
text-decoration: none;
font-size: 14px;
}


/* スワイプスライダー
==================================================== */
:root {
  --arrow-color: #ddd;
}

.swipe-slider-wrap {
  position: relative;
  overflow-x: hidden;
}
.swipe-slider-wrap .swipe-slider-arrow {
  position: relative;
  margin-top: 30px;
  text-align: center;
}
.swipe-slider-wrap .swipe-slider-prevBtn, .swipe-slider-wrap .swipe-slider-nextBtn {
  display: inline-block;
  width: 30px;
  margin: 0 10px;
  font-size: 30px;
  cursor: pointer;
}
.swipe-slider-wrap .swipe-slider-prevBtn {
  left: 10px;
  margin-right: 30px;
}
.swipe-slider-wrap .swipe-slider-prevBtn::before {
  content: '＜';
}
.swipe-slider-wrap .swipe-slider-nextBtn {
  right: 10px;
  margin-left: 30px;
}
.swipe-slider-wrap .swipe-slider-nextBtn::before {
  content: '＞';
}
.swipe-slider-wrap .swipe-slider-dots {
  display: none;
}

.swipe-slider {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-transition: .2s;
  transition: .2s;
}
.swipe-slider div {
  background: url(../img/back-img-wh.jpg) no-repeat;
  background-size: cover;
  margin: 0 10px;
  padding: 10px;
  width: 100%;
  min-width: 300px;
}
@media (min-width: 768px) {
  .swipe-slider div {
    min-width: calc(90% / 2);
    min-width: 350px;
  }
}
@media (min-width: 992px) {
  .swipe-slider div {
    min-width: calc(90% / 3);
    min-width: 300px;
  }
}




.simplebar-scrollbar {
  height: 10px;
	width: 10px;
  border-radius: 10px;
  top: 0;
}


/* fade
==================================================== */
.sclfade {
  position: relative;
  opacity: 0;
}
.sclfade.fade-up {
  top: 50px;
}
.sclfade.fade-up-center {
  top: 40%;
}
.sclfade.fade-down {
  top: -50px;
}
.sclfade.fade-down-center {
  top: 60%;
}
.sclfade.fade-left {
  left: -50px;
}
.sclfade.fade-right {
  left: 50px;
}
.sclfade.fade-left-center {
  left: 40%;
}
.sclfade.fade-right-center {
  left: 60%;
}
@media (max-width: 768px){
    .sclfade.m-none{ opacity: 1; }
    .sclfade.fade-up.m-none,.sclfade.fade-down.m-none{ top:0 }
    .sclfade.fade-left.m-none,.sclfade.fade-right.m-none{ left: 0;}   
}

.faed-animate {
  -webkit-animation: fade 1s forwards;
          animation: fade 1s forwards;
}
.faed-animate.fade-up, .faed-animate.fade-down {
  -webkit-animation: fadeY 1s forwards;
          animation: fadeY 1s forwards;
}
.faed-animate.fade-up-center, .faed-animate.fade-down-center {
  -webkit-animation: fadeYcenter 1s forwards;
          animation: fadeYcenter 1s forwards;
}
.faed-animate.fade-left, .faed-animate.fade-right {
  -webkit-animation: fadeX 1s forwards;
          animation: fadeX 1s forwards;
}
.faed-animate.fade-left-center, .faed-animate.fade-right-center {
  -webkit-animation: fadeXcenter 1s forwards;
          animation: fadeXcenter 1s forwards;
}
.faed-animate.delay{ animation-delay: 0.3s;  }

@keyframes fade {
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeY {
  100% {
    opacity: 1;
    top: 0;
  }
}
@keyframes fadeY {
  100% {
    opacity: 1;
    top: 0;
  }
}
@-webkit-keyframes fadeYcenter {
  100% {
    opacity: 1;
    top: 50%;
  }
}
@keyframes fadeYcenter {
  100% {
    opacity: 1;
    top: 50%;
  }
}
@-webkit-keyframes fadeX {
  100% {
    opacity: 1;
    left: 0;
  }
}
@keyframes fadeX {
  100% {
    opacity: 1;
    left: 0;
  }
}
@-webkit-keyframes fadeXcenter {
  100% {
    opacity: 1;
    left: 50%;
  }
}
@keyframes fadeXcenter {
  100% {
    opacity: 1;
    left: 50%;
  }
}k



/* 文字サイズ
==================================================== */
h1 { font-size:1.5rem; }

@media (min-width: 576px) {
	h1 { font-size:1.8rem;letter-spacing:2px; }
}
@media (min-width: 768px) {
	h1 { font-size:1.8rem; }
}
@media (min-width: 1200px) {
	h1 { font-size:2rem;letter-spacing:2px; }
}
@media (min-width: 1400px) {
	h1 { font-size:2.2rem;letter-spacing:2px; }
}

@media (min-width: 768px) and (max-width: 1050.98px) {
	.top_square .top_text { font-size:0.8rem; }
}
@media (max-width: 767.98px) {
	.top_text { font-size:1rem; }
}

@media (min-width:768px){
	    .position-md-absolute{
        position: absolute;
    }
}

/* マージン、パディング
==================================================== */
.mt-40 { margin-top:40px; }
.mb-40 { margin-bottom:40px; }
.pt-40 { padding-top:40px; }
.pb-40 { padding-bottom:40px; }
.mt-80 { margin-top:80px; }
.mb-80 { margin-bottom:80px; }
.pt-80 { padding-top:80px; }
.pb-80 { padding-bottom:80px; }
.ps-80 { padding-left:80px; }
.pe-80 { padding-right:80px; }
.mt-100 { margin-top:100px; }
.mb-100 { margin-bottom:100px; }
.pt-100 { padding-top:100px; }
.pb-100 { padding-bottom:100px; }
.ps-100 { padding-left: 100px; }
.mt-110 { margin-top:110px; }
.mb-110 { margin-bottom:110px; }
.pt-110 { padding-top:110px; }
.pb-110 { padding-bottom:110px; }
.ps-110 { padding-left: 110px; }

.my-80 { margin-top:80px; margin-bottom:80px; }
.my-110 { margin-top:110px; margin-bottom:110px; }
.py-80 { padding-top:80px; padding-bottom:80px; }
.px-80 { padding-left:80px; padding-right:80px; }
.py-110 { padding-top:110px; padding-bottom:110px; }
.py-100 { padding-top: 100px; padding-bottom: 100px;}

@media (max-width: 767.98px) {
	.mt-40, .mt-80, .mt-110 { margin-top:30px; }
	.mb-40, .mb-80, .mb-110 { margin-bottom:30px; }
	.pt-40, .pt-80, .pt-110 { padding-top:30px; }
	.pb-40, .pb-80, .pb-110 { padding-bottom:30px; }
	.ps-80, .ps-110 { padding-left:30px; }
	.pe-80, .pe-110 { padding-right:30px; }
	.my-80, .my-110 { margin-top:30px; margin-bottom:30px; }
	.py-80, .py-110 { padding-top:30px; padding-bottom:30px; }
	.mx-80 { margin-left:30px; margin-right:30px; }
}

@media (min-width: 767.98px) {
    .pr-md-5 { padding-right: 50px !important; }
}

.lh-1 { line-height: 1em; }
.lh-2 { line-height: 2em; }
.lh-3 { line-height: 3em; }




/* リンク
==================================================== */
a {
	color: #666;
}



/* ナビバー
==================================================== */
@media (max-width: 767.98px) {
	body { padding-top:67px; }
	header{
	    position: fixed;
	    z-index: 99;
	    top: 0;
	    background: #fff;
	}
}
.navbar-brand {
	padding:0;
	margin:0;
	padding-left: 15px;
}

.navbar-toggler { 
	position:relative;
	border:none!important;
	padding-bottom:0;
}

.navbar-light .navbar-toggler .navbar-toggler-icon {
	position:relative;
	margin-top:-16px;
}

.navbar-nav .nav-link {
	padding-left: 15px;
}

.navbar-light .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M6 6L 24 24M24 6L6 24'/%3E%3C/svg%3E");
}



/* コピーライト
==================================================== */
.copyright p {
	font-size:80%;
	padding-bottom:10px;
}





/* トップへ戻る
==================================================== */
a.page-top {
	position:fixed;
	bottom:60px;
	right:10px;
	opacity:0.5;
	color:#0064f2;
	display:block;
}
a.page-top:hover {
	opacity:0.7;
}

/* メディアクエリ
==================================================== */
// X-Small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) {}

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) {}

// Large devices (desktops, 992px and up)
@media (min-width: 992px) {}

// X-Large devices (large desktops, 1200px and up)
@media (min-width: 1200px) {}

// XX-Large devices (larger desktops, 1400px and up)
@media (min-width: 1400px) {}


// X-Small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) {}

// Small devices (landscape phones, less than 768px)
@media (max-width: 767.98px) {}

// Medium devices (tablets, less than 992px)
@media (max-width: 991.98px) {}

// Large devices (desktops, less than 1200px)
@media (max-width: 1199.98px) {}

// X-Large devices (large desktops, less than 1400px)
@media (max-width: 1399.98px) {}
