@font-face {
    font-family: 'NotoSans';
    src: url('fonts/NotoSansCJKjp-Regular.woff') format('woff'),
             url('fonts/NotoSansCJKjp-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'NotoSans';
    src: url('fonts/NotoSansCJKjp-Medium.woff') format('woff'),
             url('fonts/NotoSansCJKjp-Medium.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'NotoSans';
    src: url('fonts/NotoSansCJKjp-Bold.woff') format('woff'),
             url('fonts/NotoSansCJKjp-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'NotoSerif';
    src: url('fonts/NotoSerifJP-Regular.woff') format('woff'),
             url('fonts/NotoSerifJP-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'NotoSerif';
    src: url('fonts/NotoSerifJP-Medium.woff') format('woff'),
             url('fonts/NotoSerifJP-Medium.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'NotoSerif';
    src: url('fonts/NotoSerifJP-Bold.woff') format('woff'),
             url('fonts/NotoSerifJP-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'NotoSerif';
    src: url('fonts/NotoSerifJP-Black.woff') format('woff'),
             url('fonts/NotoSerifJP-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
}



* {
  font-family: 'NotoSans';
}
#wrapper {
  background-color: transparent;
}
.font-xs {
  font-size: 0.6rem;
}
.font-sm {
  font-size: 0.8rem;
}
.font-md {
  font-size: 1.0rem;
}
.font-lg {
  font-size: 1.4rem;
}
.font-xl {
  font-size: 1.8rem;
}
.font-xxl {
  font-size: 2.4rem;
}

.bold {
  font-weight: 700;
}

a {
text-decoration: none !important;
color: #005daa;
}
a.img img {
  opacity: 1;
  transition: opacity 0.5s;
}
a.img:hover img {
  opacity: 0.7;
  transition: opacity 0.5s;
}

.title-sm {
  font-size: 0.8rem;
}
h1 span {
  font-family: 'NotoSerif';
}
.h5 {
  font-weight: 700;
}

[data-ruby] {
  position: relative;
}
[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  width: 1.3rem;
  top: -1.5em;
  left: -0.1rem;
  right: 0;
  margin: auto;
  font-size: 0.6em;
}
rt {
  display: none;
}

.bg-light-grey {
  background-color: #efefef;
}

#logo a.pc {
    display: block;
}
#logo a.sp {
    display: none;
}

.primary-menu .menu-container .menu-link {
  font-size: 13px;
}
.menu-item:hover .menu-link-text div, .menu-item.current .menu-link-text div {
  text-shadow: none !important;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: rgba(0,0,0,0);
}
.menu-item:hover .menu-link div, .menu-item.current .menu-link div {

  background-image: linear-gradient(19deg, rgb(67, 129, 187) 40%, rgb(50, 69, 109) 100%) !important;
}
.pos-absolute {
  position: absolute;
  width: 100%;
}
.pos-relative {
  position: relative;
  height: 100%;
}
.pos-absolute.container {
  left: 0;
  right: 0;
}
.pos-top {
  top: 0;
}
.pos-bottom {
  bottom: 0;
}
.pos-right {
  right: 0;
}
.bg {
  background-color: #3c6da8 !important;
}
.imagebg {
  position: relative;
}
.imagebg .container {
  z-index: 2;
}
.imagebg .container:not(.pos-absolute) {
  position: relative;
}
.imagebg:not(.image--light) h1,
.imagebg:not(.image--light) h2,
.imagebg:not(.image--light) h3,
.imagebg:not(.image--light) h4,
.imagebg:not(.image--light) h5,
.imagebg:not(.image--light) h6,
.imagebg:not(.image--light) p,
.imagebg:not(.image--light) ul,
.imagebg:not(.image--light) blockquote {
  color: #fff;
}
.imagebg:not(.image--light) .bg--white h1,
.imagebg:not(.image--light) .bg--white h2,
.imagebg:not(.image--light) .bg--white h3,
.imagebg:not(.image--light) .bg--white h4,
.imagebg:not(.image--light) .bg--white h5,
.imagebg:not(.image--light) .bg--white h6 {
  color: #252525;
}
.imagebg:not(.image--light) .bg--white p,
.imagebg:not(.image--light) .bg--white ul {
  color: #666666;
}

h1.titular-title, .catchcopy {
  font-family: 'NotoSerif' !important;
  font-weight: 900 !important;
}

.topmargin {
  margin-top: 2rem !important;
}

.social-icon {
  border: 0;
}
.si-instagram:hover,
.si-colored.si-instagram { background-image: -webkit-linear-gradient(135deg, rgba(131,58,180,1) 0%, rgba(253,29,29,1) 50%, rgba(252,176,69,1) 100%) !important;
	background-image: linear-gradient(135deg, rgba(131,58,180,1) 0%, rgba(253,29,29,1) 50%, rgba(252,176,69,1) 100%) !important;
}

.catchcopy {
  font-weight: 700 !important;
}

.text-primary {
  color: #e2abc0 !important;
}

/**! 33. Gradient BG **/
[data-gradient-bg] {
  position: relative;
  background: #252525;
}
[data-gradient-bg] > canvas {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.8;
}

.gradient-seasons,
.h-gradient-seasons:hover {
	
  background-image: linear-gradient(19deg, rgb(240, 240, 253) 45%, rgb(226, 171, 192) 100%) !important;
}

.width-md-80 {
  width: 80%;
  height: auto;
}

.gmap, .gmap iframe {
  height: 400px;
}

.dark #copyrights, #copyrights.dark {
  background-color: transparent !important;
}

footer {
    background-color: #ffffff !important;
}



/**! PC **/

@media (min-width: 992px) {
  .primary-menu .menu-container .menu-link {
    font-size: 13px;
    font-family: 'NotoSans';
  }
  h1.titular-title {
    font-size: 4.2rem;
		line-height: 4.8rem;
  }
	h1.titular-title span {
    font-size: 3.0rem;
  }
}

@media (min-width: 1200px) {
  .width-lg-70 {
    width: 70%;
   height: auto;
  }
}

/**! スマートフォン **/

@media (max-width: 991.98px) {
  #logo {
    height: 70px;
  }
  #logo a.pc {
    display: none;
  }
  #logo a.sp {
    height: 40px;
    display: block;
  }
  .header-misc {
    display: none;
  }
	.min-vh-100 {
    min-height: auto !important;
	}
	.slider-inner {
	  width: 100% !important;
		height: 0 !important;
		padding-top: calc(1590 / 1200 * 100%) !important; /* calc(画像高さ ÷ 画像横幅 × 100%) */
		background: url('../images/top.jpg') center center no-repeat;
		background-size: cover !important;
		z-index: -1;
	}
	.vertical-middle2 {
		z-index: 1 !important;
	}
	.video-wrap {
	  dispaly: none;
	}
	.titular-title {
	  font-size: 2.6rem!important;
	  line-height: 3.2rem;
	}
	h1.titular-title span {
    font-size: 1.6rem;
  }
  .page-section {
    padding: 50px 0;
  }
  .fuji {
    background-position-x: -75%;
  }
  .gmap, .gmap iframe {
    height: 400px;
  }
  .one-page-arrow {
    display: none;
  }
  #copyrights {
    padding: 0 0 40px
  }
}
