@charset "utf-8";

/* Define
--------------------------------------*/
:root {
  --maincolor: #ed1c26;
  --hovercolor: #3ba1bc;
  --subcolor: #1d92e7;
  --lighter: #d9e4ef;
  --darker: #033d9c;
  --marker: #fffe26;
  --swiper-theme-color: #fff !important;
}


/* Reset
--------------------------------------*/
html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;*font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}



/* ----------------------------------------------------------------------------
  COMMON
----------------------------------------------------------------------------*/

html {
  scroll-behavior: smooth;
  scroll-padding-top: 58px;
  position: relative;
  word-break: break-all;
}

body {
	font-family: 'Noto Sans JP', 'Avenir', 'Helvetica Neue', 'Helvetica','Arial', sans-serif;
	font-size: 16px;
  position: relative;
}

body.active {
  overflow-y: hidden;
}

img {
  display: block;
  max-width: 100%;
}

a {
  text-decoration: none;
  color: #000;
}

p {
  word-break: break-all;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

th {
  display: table-cell;
  vertical-align: inherit;
  font-weight: bold;
  text-align: -internal-center;
}

td {
  display: table-cell;
  vertical-align: inherit;
}

strong {
  font-weight: bold;
}

@font-face {
  font-family: 'Original';
  src: url(../font/BloxhallSample.ttf);
}

@font-face {
  font-family: 'Original2';
  src: url(../font/Coves.otf);
}

.notosans {
  font-family: 'Noto Sans', sans-serif;
}

.notosansJp {
  font-family: 'Noto Sans JP', sans-serif;
}

.notoserif {
  font-family: 'Noto Serif JP', serif;
}




/* Font */
.light {
	font-weight: 300;
}

.medium {
	font-weight: 500;
}

.bold {
	font-weight: 700;
}

.exbold {
	font-weight: 900;
}

.inner {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
}

.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

.onlySp {
  display: none !important;
}

.exceptSp {
  display: block !important;
}

.none {
  display: none !important;
}

.hr {
  margin: 40px auto;
  border-bottom: 1px solid #000;
}

.fade_up {
	transform:translateY(30px);
  transition: all ease .4s;
	opacity: 0;
  -webkit-transform:translateY(30px);
  -webkit-transition: all ease .4s;
  perspective: 1000;
}

.fade_up.scrolled {
	opacity: 1;
  transform:translateY(0px);
	-webkit-transform:translateY(0px);
}

.fade_left {
  transform:translateX(30px);
  transition: all ease .4s;
  -webkit-transform:translateX(30px);
  -webkit-transition: all ease .4s;
  opacity: 0;
}

.fade_up.scrolled {
  opacity: 1;
  transform:translateX(0px);
  -webkit-transform:translateX(0px);
}

.speed01 {
  transition-delay: .1s;
  -webkit-transition-delay: .1s;
}

.speed02 {
  transition-delay: .2s;
  -webkit-transition-delay: .2s;
}

.speed03 {
  transition-delay: .3s;
  -webkit-transition-delay: .3s;
}

.speed04 {
  transition-delay: .4s;
  -webkit-transition-delay: .4s;
}

.speed05 {
  transition-delay: .5s;
  -webkit-transition-delay: .5s;
}

.speed07 {
  transition-delay: .7s;
  -webkit-transition-delay: .7s;
}

.speed10 {
  transition-delay: 1.0s;
  -webkit-transition-delay: 1.0s;
}

.centering {
  display: flex;
  justify-content: center;
  align-items: center;
}

.hidden {
  display: none;
}

.video {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 60%;
}

.video iframe{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
margin-bottom: 40px;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}



/* navigation */
#header #nav {
  align-items: center;
}

#header #nav li {
  text-align: center;
}

#header #nav li a {
  color: #fff;
  display: block;
  padding: 8px;
  letter-spacing: .2em;
  box-sizing: border-box;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
  position: relative;
  font-family: 'Noto Serif JP', serif;
  font-size: .9rem;
}

#header #nav li a::after {
  content: '';
  width: 0%;
  height: 2px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
}

#header #nav li a:hover::after {
  width: 100%;
}

#header #nav li a:hover {
  opacity: .8;
}


#header #spNav {
  position: fixed;
  z-index: 1000;
  right: 14px;
  top: 24px;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
  cursor: pointer;
}

#header #spNav .toggle {
  display: block;
  position: relative;
  width: 1.75rem;
  height: 1.5rem;
}

#header #spNav .toggle i {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #75accf;
  position: absolute;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
}

#header.show #spNav .toggle i {
  background-color: #fff;
}

#header #spNav .toggle i:nth-child(1) {
  top: 0;
}

#header #spNav .toggle i:nth-child(2) {
  top: 0;
  bottom: 0;
  margin: auto;
}

#header #spNav .toggle i:nth-child(3) {
  bottom: 0;
}

#header.show .toggle i:nth-child(1) {
  transform: translateY(10px) rotate(-45deg);
  -webkit-transform: translateY(10px) rotate(-45deg);
}

#header.show .toggle i:nth-child(2) {
  opacity: 0;
}

#header.show .toggle i:nth-child(3) {
  transform: translateY(-12px) rotate(45deg);
  -webkit-transform: translateY(-12px) rotate(45deg);
}

#header #spMenu {
  position: fixed;
  z-index: -100;
  display: block;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
  opacity: 0;
  visibility: hidden;
}

#header.show #spMenu {
  opacity: 1;
  visibility: visible;
  z-index: 900;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--maincolor); 
  display: flex;
  align-items: center;
  justify-content: center;
}

#header #spMenu ul {
  display: none;
}

#header.show #spMenu ul {
  display: block;
  box-sizing: border-box;
}

#header #spMenu a {
  display: block;
  color: #fff;
  font-size: 2.8rem;
  font-weight: bold;
  padding: .6% 0;
  letter-spacing: .07em;
  display: block;
  margin-bottom: .4%;
}

#header.show #spMenu ul#snsNavSp {
  align-items: flex-start;
  display: flex;
  justify-content: flex-start;
}

#snsNavSp li {
  width: 8%;
  padding-right: 20px;
}

#header .logo img {
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
}

#header .logo img:hover {
  opacity: .7;
  transform: rotate(-3deg);
}


/* topBtn */
#topBtn.show {
  opacity: 1;
  transform: translateY(0px);
  -webkit-transform: translateY(0px);
}

#topBtn {
  opacity: 0;
  transform: translateY(20px);
  -webkit-transform: translateY(20px);
  position: fixed;
  z-index: 100;
  right: 1.5%;
  bottom: 20px;
  padding: 2px;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
}

#topBtn a {
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: url(../img/arrow/arrow01w.png) no-repeat, var(--maincolor);
  background-size: 20px;
  background-position: center;
  box-sizing: border-box;
  transform: rotate(-90deg);
  transition: all ease .4s;
  -webkit-transform: rotate(-90deg);
  -webkit-transition: all ease .4s;
  border: 2px solid #fff;
}

#topBtn a:hover {
  background: url(../img/arrow/arrow01w.png) no-repeat, var(--maincolor);
  background-size: 20px;
  background-position: center;
  box-shadow: 1px 1px 20px #fff;
}

/* popup */
.lum-lightbox-image-wrapper img {
	width: 70% !important;
  max-height: 70vh !important;
  object-fit: contain;
  margin: 0 auto;
}

.lum-gallery-button {
	display: none !important;
}


/* slick */

.slick-dots li button:before {
  font-size: 40px !important;
}

.slick-dots {
  bottom: 25px !important;
}

.slick-dots li button:before {
  color: #fff !important;
}

.slick-dots li.slick-active button:before {
  color: #fff !important;
}

.slick-dotted.slick-slider {
  margin-bottom: 0 !important;
}




/* ----------------------------------------------------------------------------
  ORIGINAL
----------------------------------------------------------------------------*/

.fadeout {
  opacity: 0 !important;
  transition: .1s linear !important;
  -webkit-transition: .1s linear !important;
}



/* HEADER
--------------------------------------*/

#header {
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
}

#header .hTop {
  background: var(--maincolor);
}

#header .hTtl {
  overflow: hidden;
  color: #fff;
  font-weight: lighter;
  font-size: .9rem;
  letter-spacing: .06em;
  font-family: 'Noto Sans JP', sans-serif;
}

#header .hTtl span {
  float: right;
}


#header .logo {
  width: 20%;
  max-width: 250px;
  padding: 14px 0;
  transition: all ease .4s;
}

#header .nav {
  width: 60%;
  display: flex;
  justify-content: center;
  align-items: center;
}

#header .nav li {
  width: calc(100 / 5);
  text-align: center;
}

#header .nav li a {
  font-size: 1rem;
  color: #36424a;
  letter-spacing: .06em;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  transition: all ease .4s;
}

#header .nav li a:hover {
  color: var(--maincolor);
}



/* SLIDER
--------------------------------------*/

#slider {
  position: relative;
  margin-top: 57px;
}

#slider img {
  display: block;
  width: 100%;
}

#slider .main {
  width: 100%;
  display: block;
  /* filter: brightness(.5); */
}

#slider .mainArea {
  position: relative;
}

#slider .mainTxt {
  position: absolute;
  width: 30%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}



/* FOOTER
--------------------------------------*/

#footer .copyright {
  color: #fff;
  background: #732125;
  font-size: .8rem;
  font-weight: lighter;
  letter-spacing: .1em;
  padding: 4px 0;
  text-align: center;
}

#footer .box {
  color: #fff;
  text-align: center;
  padding: 30px 0;
}

#footer .box p a {
  color: #fff;
  transition: all ease .4s;
}

#footer .box p a:hover {
  text-shadow: 1px 1px 6px #fff;
}

#footer .box p:first-child {
  font-size: 1rem;
  font-weight: lighter;
}

#footer .box p:last-child {
  font-size: 2rem;
  font-weight: 400;
}

#footer .btn a {
  display: block;
  color: #fff;
  background:  #ff9800;
  padding: 12px;
  text-align: center;
  width: 30%;
  border-radius: 6px;
  box-sizing: border-box;
  margin: 40px auto 80px;
  transition: all ease .4s;
}

#footer .btn a:hover {
  background: #ffb03c;
}

.mainArea {
  position: relative;
}

.mainArea .pageTxt {
  width: 100%;
  position: absolute;
  top: 30%;
  left: 10%;
}

.mainArea .pageTxt p {
  font-family: sans-serif;
  text-align: left;
  font-size: 1.7rem;
  letter-spacing: .05em;
  font-weight: bold;
  color: #fff;
  margin-bottom: 12px;
}

.mainArea .pageTxt li {
  margin-bottom: 12px;
}

.mainArea .pageTxt li:last-child {
  margin-bottom: 0;
}

.mainArea .pageTxt li a {
  display: block;
  width: 22%;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
  background: #fc8d16;
  border-radius: 8px;
  letter-spacing: .1em;
  font-family: 'Noto Sans JP', sans-serif;
  transition: all ease .4s;
}

.mainArea .pageTxt li a:hover {
  transform: scale(1.1);
  opacity: .95;
}


.mainArea .pageTxt li:last-child a {
  background: #00c200;
}

.mainArea .pageTxt li:first-child img {
  display: inline-block !important;
  width: 16px !important;
  margin-right: 8px !important;
}

.mainArea .pageTxt li:last-child img {
  display: inline-block !important;
  width: 18px !important;
  margin-right: 8px !important;
  margin-bottom: -2px !important;
}

.page .mainArea .pageTxt {
  font-family: serif;
  font-size: 2rem;
  letter-spacing: .3em;
  text-shadow: 1px 1px 3px #000;
  font-weight: bold;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.mainArea .pageTxt span{
  font-size: 1.1rem;
  line-height: 1.7;
  display: block;
  margin-bottom: 20px;
}

.mainArea .pageTxt2 {
  width: 130px;
  position: absolute;
  right: 20px;
  bottom: 20px;
}


/* ABOUT
--------------------------------------*/

#about {
  padding: 80px 0 60px;
}

#about .ttl {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  text-align: center;
  letter-spacing: .08em;
  color: #5c5c5c;
  margin-bottom: 40px;
}

#about .ttl::first-letter {
  color: var(--maincolor);
}

#about .ttl span {
  position: relative;
}

/* #about .ttl span::before {
  content: '';
  width: 50px;
  height: 50px;
  background: url(../img/item1.png) no-repeat;
  background-size: contain;
  background-position: left bottom;
  position: absolute;
  left: -50px;
  bottom: 0;
}

#about .ttl span::after {
  content: '';
  width: 50px;
  height: 50px;
  background: url(../img/item2.png) no-repeat;
  background-size: contain;
  background-position: right bottom;
  position: absolute;
  right: -50px;
  bottom: 0;
} */

#about .sub {
  font-family: 'Noto Sans JP', sans-serif;
  color: #717171;
  font-size: .8rem;
  text-align: center;
  font-weight: 300;
  letter-spacing: .05em;
  margin-bottom: 30px;
}

#about .desc {
  font-family: 'Noto Sans JP', sans-serif;
  color: #717171;
  font-size: .8rem;
  text-align: center;
  font-weight: 300;
  letter-spacing: .05em;
  width: 50%;
  margin: 0 auto 60px;
  line-height: 1.7;
}

#about .single {
  width: 30%;
  margin-bottom: 20px;
}

#about .single:nth-child(3n+2) {
  transition-delay: .3s;
}

#about .single:nth-child(3n) {
  transition-delay: .6s;
}

#about .single img {
  display: block;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  width: 100%;
}

#about .single .h3 {
  font-family: 'Noto Sans JP', sans-serif;
  color: #5c5c5c;
  font-size: 1rem;
  text-align: center;
  font-weight: 500;
  margin-top: 8px;
  margin-bottom: 1px;
  letter-spacing: .08em;
}

#about .single  .info {
  font-family: 'Noto Sans JP', sans-serif;
  color: #5c5c5c;
  font-size: .8rem;
  text-align: center;
  font-weight: 300;
}

/* ABOUT2
--------------------------------------*/

#about2 {
  padding: 80px 0 100px;
  background: #f9f9f9;
}

#about2 .ttl {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  text-align: center;
  letter-spacing: .08em;
  color: #5c5c5c;
  margin-bottom: 40px;
}

#about2 .ttl::first-letter {
  color: var(--maincolor);
}

#about2 .ttl span {
  position: relative;
}

#about2 .desc {
  font-family: 'Noto Sans JP', sans-serif;
  color: #717171;
  font-size: .8rem;
  text-align: left;
  font-weight: 300;
  letter-spacing: .05em;
  line-height: 1.7;
  margin-bottom: 40px;
}

#about2 .fx1 {
  width: 30%;
  background: #fff;
  border: 1px solid #ccc;
  padding: 20px;
  box-sizing: border-box;
}

#about2 .fx1 img {
  width: 100%;
}

#about2 .fx2 {
  width:66%;
}

#about2 .box {
  width: 70%;
  margin: 0 auto;
}



/* SERVICE
--------------------------------------*/
#service {
  padding: 80px 0;
}

#service .ttl {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  text-align: center;
  letter-spacing: .08em;
  color: #5c5c5c;
}

#service .ttl::first-letter {
  color: #75add0;
}

#service .ttl span {
  position: relative;
}

#service .ttl span::before {
  content: '';
  width: 50px;
  height: 50px;
  background: url(../img/item1.png) no-repeat;
  background-size: contain;
  background-position: left bottom;
  position: absolute;
  left: -50px;
  bottom: 0;
}

#service .ttl span::after {
  content: '';
  width: 50px;
  height: 50px;
  background: url(../img/item2.png) no-repeat;
  background-size: contain;
  background-position: right bottom;
  position: absolute;
  right: -50px;
  bottom: 0;
}

#service .sub {
  font-family: 'Noto Sans JP', sans-serif;
  color: #717171;
  font-size: .8rem;
  text-align: center;
  font-weight: 300;
  letter-spacing: .05em;
  margin-bottom: 30px;
}

#service .desc {
  font-family: 'Noto Sans JP', sans-serif;
  color: #717171;
  font-size: .8rem;
  text-align: center;
  font-weight: 300;
  letter-spacing: .05em;
  width: 50%;
  margin: 0 auto 60px;
  line-height: 1.7;
}

#service .box::before {
  content: '';
  display: block;
  width: 24%;
  order: 1; /* アイテムの並び順 */
}

#service .box::after {
  content: '';
  display: block;
  width: 24%;
}

#service .single {
  width: 24%;
  margin-bottom: 30px;
}

#service .single:nth-child(4n+2) {
  transition-delay: .3s;
}

#service .single:nth-child(4n+3) {
  transition-delay: .6s;
}

#service .single:nth-child(4n) {
  transition-delay: .9s;
}

#service .single img {
  aspect-ratio: 5 / 4;
  object-fit: cover;
}

#service .single .name {
  font-family: 'Noto Sans JP', sans-serif;
  color: #717171;
  font-size: .9rem;
  text-align: center;
  font-weight: 300;
  letter-spacing: .05em;
  margin-top: 4px;
}

#service .single .price {
  font-family: 'Noto Sans JP', sans-serif;
  color: red;
  font-size: .8rem;
  text-align: center;
  font-weight: 500;
  letter-spacing: .05em;
  margin-bottom: 8px;
}

#service .single .more a {
  display: block;
  font-size: .8rem;
  color: #fff;
  background:#b3b3b3;
  text-align: center;
  padding: 4px;
  box-sizing: border-box;
  margin-bottom: 4px;
  transition: all ease .4s;
}

#service .single .more a:hover {
  opacity: .7;
}

#service .single .booking a {
  display: block;
  font-size: .8rem;
  color: #fff;
  background: #00af00;
  text-align: center;
  padding: 4px;
  box-sizing: border-box;
  transition: all ease .4s;
}

#service .single .booking a:hover {
  opacity: .7;
}



/* PAGE COMMON
--------------------------------------*/

#page .ttl {
  font-size: 1.8rem;
  text-align: center;
  letter-spacing: .04em;
}

#page .ttl::first-letter {
  color: var(--maincolor);
}

#page .sub {
  font-size: .8rem;
  text-align: center;
  font-weight: 300;
  letter-spacing: .02em;
  margin-bottom: 80px;
}

#page .h3Ttl {
  font-size: 1.5rem;
  letter-spacing: .04em;
  padding: 10px;
  box-sizing: border-box;
  border-bottom: 1px solid var(--maincolor);
}

#page .h3Ttl::first-letter {
  color: var(--maincolor);
}

#page .desc {
  color: #403f3f;
  font-size: .9rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .05em;
  padding: 20px;
  box-sizing: border-box;
  margin-bottom: 40px;
}

#page .h4Ttl {
  display: inline-block;
  font-size: 1.2rem;
  color: var(--maincolor);
  letter-spacing: .04em;
  padding: 6px 20px;
  border-radius: 8px;
  box-sizing: border-box;
  border: 1px solid var(--maincolor);
  margin-bottom: 40px;
}

.twoColumA .single {
  margin-bottom: 20px;
}

.twoColumA .single .fx1 {
  width: 24%;
}

.twoColumA .single .fx1 img {
  display: block;
  width: 100%;
}

.twoColumA .single .fx2 {
  width: 74%;
  padding: 20px;
  box-sizing: border-box;
  transition-delay: .3s;
}

.twoColumA .single .fx2 p:first-child {
  font-size: 1.3rem;
  font-weight: bold;
  color: var(--maincolor);
  margin-bottom: 10px;
}

.twoColumA .single .fx2 p:last-child {
  font-size: .9rem;
  font-weight: lighter;
  color: #403f3f;
  margin-bottom: 10px;
  line-height: 1.7;
  letter-spacing: .04em;
}

.tableA {
  width: 100%;
  margin-top: 60px;
  margin-bottom: 40px;
}

.tableA , .tableA td, .tableA th {
	border-collapse: collapse;
}

.tableA td, .tableA th {
	padding: 20px;
}

.tableA th {
	background: var(--maincolor);
  color: #fff;
  width: 20%;
  text-align: center;
  font-weight: lighter;
}

.tableA td {
  font-weight: lighter;
  line-height: 1.5;
  letter-spacing: .02em;
  background: #fff;
}

.tableA td a {
  color: #666;
  font-weight: lighter;
  line-height: 1.5;
  letter-spacing: .02em;
  transition: all ease .4s;
}

.tableA td a:hover {
  color: var(--maincolor);
  text-decoration: underline;
}

.tableA tr {
  border-bottom : 1px solid #e3e0d5;
  box-sizing: border-box;
}

.tableA tr:first-child {
  border-top : 1px solid #e3e0d5;
}

.twoColumA.type2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.twoColumA.type2 .single {
  width: 48%;
}

.twoColumA.type2 .single .fx2 {
  padding: 0 10px;
}

.twoColumA.type2 .single .fx2 p:first-child {
  font-size: 1.1rem;
  margin-bottom: 4px;
  letter-spacing: .01em;
}

.twoColumA.type2 .single .fx1 {
  width: 34%;
}

.twoColumA.type2 .single .fx2 {
  width: 64%;
}


/* NEWS
--------------------------------------*/

#news {
  padding: 80px 0 60px;
}

#news .ttl {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  text-align: center;
  letter-spacing: .08em;
  color: #5c5c5c;
}

#news .ttl::first-letter {
  color: #75add0;
}

#news .ttl span {
  position: relative;
}

#news .ttl span::before {
  content: '';
  width: 50px;
  height: 50px;
  background: url(../img/item1.png) no-repeat;
  background-size: contain;
  background-position: left bottom;
  position: absolute;
  left: -50px;
  bottom: 0;
}

#news .ttl span::after {
  content: '';
  width: 50px;
  height: 50px;
  background: url(../img/item2.png) no-repeat;
  background-size: contain;
  background-position: right bottom;
  position: absolute;
  right: -50px;
  bottom: 0;
}

#news .sub {
  font-family: 'Noto Sans JP', sans-serif;
  color: #717171;
  font-size: .8rem;
  text-align: center;
  font-weight: 300;
  letter-spacing: .05em;
  margin-bottom: 30px;
}

#news .desc {
  font-family: 'Noto Sans JP', sans-serif;
  color: #717171;
  font-size: .8rem;
  text-align: center;
  font-weight: 300;
  letter-spacing: .05em;
  width: 50%;
  margin: 0 auto 60px;
  line-height: 1.7;
}

#news .single {
  width: 30%;
  margin-bottom: 20px;
}

#news .single:nth-child(3n+2) {
  transition-delay: .3s;
}

#news .single:nth-child(3n) {
  transition-delay: .6s;
}

#news .single img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

#news .single .h3 {
  font-family: 'Noto Sans JP', sans-serif;
  color: #5c5c5c;
  font-size: 1rem;
  font-weight: 500;
  margin-top: 4px;
  margin-bottom: 1px;
  letter-spacing: .04em;
}

#news .single  .info {
  font-family: 'Noto Sans JP', sans-serif;
  color: #5c5c5c;
  font-size: .8rem;
  font-weight: 300;
  letter-spacing: .07rem;
}

#news .single a {
  display: block;
}

#news .single img {
  transition: all ease .4s;
}

#news .single img:hover {
  opacity: .8;
}


/* STAFF
--------------------------------------*/

#staff {
  padding: 80px 0 60px;
}

#staff .ttl {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  text-align: center;
  letter-spacing: .08em;
  color: #5c5c5c;
}

#staff .ttl::first-letter {
  color: #75add0;
}

#staff .ttl span {
  position: relative;
}

#staff .ttl span::before {
  content: '';
  width: 50px;
  height: 50px;
  background: url(../img/item1.png) no-repeat;
  background-size: contain;
  background-position: left bottom;
  position: absolute;
  left: -50px;
  bottom: 0;
}

#staff .ttl span::after {
  content: '';
  width: 50px;
  height: 50px;
  background: url(../img/item2.png) no-repeat;
  background-size: contain;
  background-position: right bottom;
  position: absolute;
  right: -50px;
  bottom: 0;
}

#staff .sub {
  font-family: 'Noto Sans JP', sans-serif;
  color: #717171;
  font-size: .8rem;
  text-align: center;
  font-weight: 300;
  letter-spacing: .05em;
  margin-bottom: 30px;
}

#staff .desc {
  font-family: 'Noto Sans JP', sans-serif;
  color: #717171;
  font-size: .8rem;
  text-align: center;
  font-weight: 300;
  letter-spacing: .05em;
  width: 50%;
  margin: 0 auto 60px;
  line-height: 1.7;
}

#staff .box {
  width: 50%;
  margin: 0 auto;
}

#staff .single {
  width: 50%;
  margin-bottom: 20px;
  text-align: center;
}

#staff .single:nth-child(2n) {
  transition-delay: .3s;
}

#staff .single .photo {
  width: 150px;
  height: 150px;
  background: #666;
  margin: 0 auto 6px;
  border-radius: 50%;
}

#staff .single .name {
  font-size: 1rem;
  text-align: center;
  font-weight: 300;
}








/* ABOUTPAGE
--------------------------------------*/

#aboutPage {
  padding: 80px 0 440px;
  background: url(../img/aboutPageBg1.png) no-repeat;
  background-position: bottom;
  background-size: 100% auto;
}

#aboutPage .box {
  margin-bottom: 80px;
}




/* SERVICEPAGE
--------------------------------------*/

#servicePage {
  padding: 80px 0 440px;
  background: url(../img/servicePageBg1.png) no-repeat;
  background-position: bottom;
  background-size: 100% auto;
}


/* NEWSPAGE
--------------------------------------*/

#newsPage {
  padding: 80px 0 440px;
}

.newsArea ul {
  margin-top: 40px;
}

.newsArea ul li {
  box-sizing: border-box;
  border-bottom: 1px solid #ccc;
}

.newsArea ul li a {
  display: block;
  padding: 20px 60px;
  box-sizing: border-box;
  position: relative;
  transition: all ease .4s;
}

.newsArea ul li a:hover {
  opacity: .3;
}

.newsArea ul li a::after {
  content: '';
  width: 12px;
  height: 12px;
  background: url(../img/arrow.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 4%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.newsArea ul li a .newsDate {
  letter-spacing: .04em;
}

.newsArea ul li a .newsTtl {
  letter-spacing: .1em;
}

.newsArea .float {
  overflow: hidden;
}

.newsArea .float dt {
  float: left;
  width: 18%;
}

.newsArea .float dd {
  float: right;
  width: 82%;
}

.singleDate {
  letter-spacing: .1em;
  font-size: 1rem;
  margin-bottom: -8px;
  color: #040404;
  padding-left: 12px;
}

.singleArea {
  padding: 30px 20px;
  box-sizing: border-box;
}

.singleArea p {
  letter-spacing: .03em;
  line-height: 2;
  font-size: .94rem;
}


/* sprash */
/* Loading背景画面設定　*/
#splash {
  /*fixedで全面に固定*/
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 9999;
     background:var(--maincolor); 
    text-align:center;
    color:#fff;
    top: 0;
  }
  
  /* Loading画像中央配置　*/
  #splash_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  /* Loading アイコンの大きさ設定　*/
  #splash_logo img {
    width:180px;
  }
  
  /* fadeUpをするアイコンの動き */
  .fadeUp{
  animation-name: fadeUpAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity: 0;
  }
  
  @keyframes fadeUpAnime{
    from {
      opacity: 0;
    transform: translateY(100px);
    }
  
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }


  figure {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    overflow: hidden;
  }
  
  figure {
    position: relative;
  }
  figure::before {
    position: absolute;
    top: 0;
    left: -85%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    -webkit-transform: skewX(-25deg);
    transform: skewX(-25deg);
  }
  figure:hover::before {
    -webkit-animation: shine .75s;
    animation: shine .75s;
  }
  @-webkit-keyframes shine {
    100% {
      left: 125%;
    }
  }
  @keyframes shine {
    100% {
      left: 125%;
    }
  }


  .caution {
    margin: 0 auto;
    padding: 40px;
    box-sizing: border-box;
    text-align: center;
    background: yellow;
    color: red;
    font-weight: bold;
    font-size: 1.1rem;
    letter-spacing: .06em;
    line-height: 1.6;
  }





