@charset "utf-8";
/* CSS Document */

* { margin: 0; padding: 0; }
html { font-size: 62.5%; }
body { background: #fff; font-family: a-otf-ud-shin-maru-go-pr6n, sans-serif; font-weight: 300; font-style: normal; line-height: 1.8; font-feature-settings: "palt"; color: #000; letter-spacing: .05em; margin: 0 !important; padding: 0 !important; }
hr { display: none; }
ul { list-style: none; }
header, section, nav, article, footer { display: block; }
img { vertical-align: bottom; }

.cen { text-align: center; }
.rig { text-align: right; }
.mini { font-size: smaller; }
.allcen { display: flex; justify-content: center; align-items: center; }
.none { opacity: .3; }

/*リンク設定
----------------------------------------------*/
a { color: #37c796; }
a:hover { color: #37bbc7; transition: 0.5s; text-decoration: none; }
a img:hover { opacity: .5; transition: .5s; }

/*おやくだち
----------------------------------------------*/
.coution { background: rgba(204,204,204,.5); padding: 3%; border: 1px solid #CCC; }
.strong { background: linear-gradient(transparent 60%, #ddd1bf 60%); }
.youtube { position: relative; width: 100%; padding-top: 56.25%; margin-bottom: 15px; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

#loading { width: 100vw; height: 100vh; transition: all 1s; background-color: #fff; position: fixed; top: 0; left: 0; z-index: 99999; }
.spinner { width: 100px; height: 100px; margin: 200px auto; background-color: #000; border-radius: 100%; animation: sk-scaleout 1.0s infinite ease-in-out; }
@keyframes sk-scaleout {
  0% { transform: scale(0);}
	100% { transform: scale(1.0); opacity: 0; }
}
.loaded { opacity: 0; visibility: hidden; }

/*共通
----------------------------------------------*/
.body { width: 95%; max-width: 960px; margin: 0 auto 80px; padding: 60px 50px; box-sizing: border-box; background: rgba(255, 255, 255, 0.85);}
.body > h2 { text-align: center; font-size: 24px; font-weight: 300; color: #a88443; margin-bottom: 40px; }
.body > h2 > span { border-bottom: 1px solid #a88443; padding: 0 15px; }
@media screen and (max-width: 720px) {
  .body { padding: 30px 25px; font-size: 12px; }
}

/**/

body { text-align: center; }

#playButton { position: fixed; top: 0; left: 0; width:80px; cursor:pointer; z-index: 1000; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.5));}

#sns { width: 100%; max-width: 850px; margin: 0 auto; font-size: 2.4rem; }
#sns > p { font-weight: bold; margin: 2em 0; text-align: center; }

.sns_news { width: 95%; max-height: 400px; overflow: auto; margin: 0 auto 2em; background: #00000010; border: 1px solid #a8844350; box-sizing: border-box; padding: 15px; text-align: left; border-radius: 15px; font-size: 1.4rem;}
.sns_news > li { border-bottom: 1px dashed #fff; padding: .5em 0;}
.sns_news > li > a { background: url(../img/op.svg) no-repeat 100% 0; padding-right: 1em; background-size: .6em;}
.sns_news > li > span { background: #37bbc7; color: #fff; font-size: 1.2rem; padding: 2px 5px; border-radius: 3px; margin-right: 1em;}
.sns_news > li > .news_blog { background: #37bbc7;}
.sns_news > li > .news_news { background: #c7375d;}

.sns_x { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: center; width: 100%; margin: 0 auto 50px;}

#kv > p { height: 417px; }
#kv1_w { background: url(../img/index_03_01.webp) 50% 0 no-repeat; }
#kv2_w { background: url(../img/index_03_02.webp) 50% 0 no-repeat; }
#kv3_w { background: url(../img/index_03_03.webp) 50% 0 no-repeat; }
#kv4_w { background: url(../img/index_03_04.webp) 50% 0 no-repeat; }
#kv5_w { background: url(../img/index_03_05.webp) 50% 0 no-repeat; }
@media screen and (max-width: 960px) {
  #kv > p { height: auto; }
}

#info_web { margin-bottom: 80px;}

/*フッター
----------------------------------------------*/
footer { background: #000; width: 100%; text-align: center; padding: 25px 0 40px; color: #fff; font-size: 12px; }
footer ul { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: center; margin: 15px 0; }
footer ul li img { border: 1px solid #fff; background: #fff; }


/*----- フェードイン -----*/
.inviewfadeIn { opacity: 0; transform: translate(0, 0); -webkit-transform: translate(0, 0); transition: 1.5s; }
.fadeIn { opacity: 1.0; transform: translate(0, 0); -webkit-transform: translate(0, 0); }

/*
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
SP用タグ
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
*/
img { max-width: 100%; height: auto; }
.sp { display: none; }
@media screen and (max-width: 720px) {
	.sp { display: block; }
	.pc { display: none; }
}