@charset "UTF-8";
/* Scss Document */
/*変数*/
/*mixin*/
/*全体*/

body {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: var(--color_gray4);
  font-size: 16px;
  font-size: 1rem; 
  font-weight: 400;
  background-color: #eee;
}
*{
  box-sizing: border-box;
}

:root{
    --color_w:#fff;
    --color_gray:#cecece;
    --color_gray2:#808080;
    --color_gray3:#666;
    --color_gray4:#333;
    --color_b:#000;}

/*共通*/
select{
    height: auto !important;
    background: #fff !important;
}
a{
    text-decoration-line: none;
    color: var(--color_gray3);}
.color-w,.color-w a{
    color:var(--color_w);}
.color-gray,.color-gray a{
    color:var(--color_gray);}
.color-gray2,.color-gray2 a{
    color:var(--color_gray2);}
.color-gray3,.color-gray3 a{
    color:var(--color_gray3);}
.font-small{
    font-size: 90%;}
.font-bold{
    font-weight: bold;}
.font-en,.font-en a {
  font-family: "Rajdhani", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.font-logo{
    font-family: "ltc-nicholas-cochin-pro", sans-serif;
    font-weight: 400;
    font-style: normal;    
}
.font-jp,.font-jp a{
    font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif !important;    
}
.font-jp-title,.font-jp-title a{
    font-family: "Zen Antique", serif !important;
}
.text-c{
    text-align: center;}
.text-r{
    text-align: right;}
.pc_only{
    display: block;}
.sp_only{
    display: none;}
a:hover img,
a img:hover{
    filter: brightness(110%);}
li{
    list-style: none;}

/* Flex  ------------------------------------*/
.flexwrap{
 display: -webkit-flex;
 display: flex;
 flex-wrap: wrap;
 -webkit-flex-wrap: wrap;
}
.flexnowrap{
 display: -webkit-flex;
 display: flex;
 flex-wrap: nowrap;
 -webkit-flex-wrap: nowrap;
}
.JCfs{
 justify-content: flex-start;
 -webkit-justify-content: flex-start;
}
.JCfe{
 justify-content: flex-end;
 -webkit-justify-content: flex-end;
}
.JCc{
 justify-content: center;
 -webkit-justify-content: center;
}
.JCsb{
 justify-content: space-between;
 -webkit-justify-content: space-between;
}
.AIc{
    align-items: center;
    -webkit-align-items: center;
}
.AIe{
    align-items: end;
    -webkit-align-items: end;
}
.mt05{
    margin-top: 0.5em;
}
.mt10{
    margin-top: 1em;
}
.mt20{
    margin-top: 2em;
}
.mt30{
    margin-top: 3em;
}
.mt50{
    margin-top: 5em;
}
.mb05{
    margin-bottom: 0.5em;
}
.mb10{
    margin-bottom: 1em;
}
.mb20{
    margin-bottom: 2em;
}
.mb30{
    margin-bottom: 3em;
}
.mb50{
    margin-bottom: 5em;
}
.ml10{
    margin-left: 1em;
}
.ml20{
    margin-left: 2em;
}
.mr10{
    margin-right: 1em;
}
.mr20{
    margin-right: 2em;
}
.pb10{
    padding-bottom: 1em;
}
.pb20{
    padding-bottom: 2em;
}
.pb30{
    padding-bottom: 3em;
}
.pb50{
    padding-bottom: 5em;
}
.pl10{
    padding-left: 1em;
}
.pl20{
    padding-left: 2em;
}
.pr10{
    padding-right: 1em;
}
.pr20{
    padding-right: 2em;
}
.clearfix:after {
  content: " ";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  line-height: 0; }
.wrapper {
  width: 100%; 
    min-height: 100vh;
    position: relative;/*←相対位置*/
    padding-bottom: 110px;/*←footerの高さ*/
    box-sizing: border-box;/*←全て含めてmin-height:100vhに*/    
}
.area{
    margin: 0 auto 5em;
    width: 90%;
    max-width: 1200px;
}
.content-area{
    line-height: 1.7;
}
.content-area h4{
    font-weight: normal;
}

/* ぱんくず　*/
.breadcrumb{
    width: 100%;
    margin: 2em 0;
    padding: 1em 0;
    font-size: 90%;
}
.breadcrumb li + li:before {
margin: 0 3px;
content: ">";
}
/* ページ送り */
.wp-pagenavi{
    margin: 3em 0 3em;
    width: 100%;
}
.wp-pagenavi a, .wp-pagenavi span{
    border:none !important;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current{
    border-bottom: 1px solid rgba(0,0,0,0.5) !important;}

/*ヘッダー*/
header {
  padding: 0;
  color: #000;
  position: relative;
  width: 100%; }
header .header-menu,
header .logo-top{
    position: absolute;
}
.menu_close {
  position: absolute;
  top: -67px;
  right: -9px; }

.menu_close div:first-child {
  width: 30px;
  height: 3px;
  background: #fff;
  margin-bottom: 8px;
  transform: rotate(45deg);
  position: absolute;
  top: 5px;
  left: -29px; }

.menu_close div:last-child {
  width: 30px;
  height: 3px;
  background: #fff;
  margin-bottom: 8px;
  transform: rotate(-45deg);
  position: absolute;
  top: 5px;
  left: -29px; }
/*　見出し　*/
h2 {
  padding: 1.5rem 0;
  font-size: 4em;
}

/* ハンバーガーメニュー */
nav {
  display: block;
  position: fixed;
  top: 0;
  right: -100%;
  bottom: 0;
  width: 15%;
  height: 100vh;
  height: 100svh;
  background:var(--color_gray);
  background-image: url(/wp-content/themes/sora2026/images/back_img.jpg);
  background-size: cover;
  border-left: 3px solid var(--color_b);
  transition: all .5s;
  z-index: 700;
  opacity: 0;
  overflow-y: scroll;
  overscroll-behavior-y: none;
}
.open nav {
  right: 0;
  opacity: 1;
    
}
nav .inner {
  width: 100%;
  padding-top: 5em;
}
nav .inner ul {
  margin: 0;
  padding: 0;
}
nav .inner ul li {
  list-style: none;
  width: 80%;
  position: relative;
  margin-left: auto;
  text-align: right;
  height: 35px;
  line-height: 35px;
  padding-right: 20px;
}
nav .inner ul li.fan{
    background-color: var(--color_gray3);
    border: 1px solid var(--color_gray3);
}
nav .inner ul li.fan a{
    color: var(--color_w);
}
nav .inner ul li.fan .font-jp-title{
    font-size: 0.9rem;
}
nav .inner ul li .sub-menu li{
  padding-right: 0;    
}
nav .inner ul li a {
  font-size: 16px;
  display: block;
  color: var(--color_b);
  text-decoration: none;
  transition-duration: 0.2s;
  font-family: "Rajdhani", sans-serif;
  font-weight: 400;
}
nav .inner ul li.font-jp a{
    font-family: "Noto Sans JP", serif !important;
    font-weight: 400;
    font-size: 0.9rem;
}
nav .inner ul li.fcmenu{
    border-bottom: 1px solid rgba(0,0,0,0.5);        
}
nav .inner ul li:nth-child(n+7){
    border-left: 1px solid rgba(0,0,0,0.5);        
}
nav .inner ul li:nth-child(7){
    border-bottom: 1px solid rgba(0,0,0,0.5);            
}
nav .inner ul li:last-child{
    border-bottom: 1px solid rgba(0,0,0,0.5);            
}
nav .inner ul li img{
    width: 25px !important;
    height: auto !important;
}
nav .inner .banner{
    width: 80%;
    margin: 2em 0 1em auto;
}
nav .inner .banner img{
    width: 100%;
    height: auto;
}
/* toggle_btn */
.toggle_btn {
  display: block;
  position: fixed;
  top: 5px;
  right: 20px;
  width: 55px;
  height: 55px;
  transition: all .5s;
  cursor: pointer;
  z-index: 9999;
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 1px;
  background-color: var(--color_b);
  border-radius: 4px;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 10px;
  left: 13px;
}
.toggle_btn span:nth-child(2) {
  top: 20px;
  left: 13px;
}
.toggle_btn p{
    margin: 55px 0 0 5px;
    color: #000;
}
.toggle_btn:hover,
.toggle_btn p:hover{
    color: #000;   
}
.open .toggle_btn span {
  background-color: #000;
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(10px) rotate(-315deg);
  transform: translateY(10px) rotate(-315deg);
    top: 5px;
}
.open .toggle_btn span:nth-child(2) {
  -webkit-transform: translateY(-10px) rotate(315deg);
  transform: translateY(0) rotate(315deg);
    top: 15px;
}
/*============
#mask
=============*/
#mask {
  display: none;
  transition: all .5s;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: var(--color_b);
  opacity: 0.5;
  z-index: 2;
  cursor: pointer;
}

/* PAGE TOP*/

#page_top{
  width: 30px;
  height: 30px;
  position: fixed;
  right: 20px;
  bottom: -50px;
  opacity: 0.6;
  border-radius: 50%;
  z-index: 100;
}
#page_top a{
  position: relative;
  display: block;
  width: 30px;
  height: 30px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: var(--color_b);
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}


/*トップ背景 ---------------- */
.back_img{
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.back_img div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top left;
  height: 100vh;
  margin: 0;
}
.slide-animation{
    animation: fadezoom 10s 0s forwards;
}
@keyframes fadezoom {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

/* iphone用背景設定　*/
@supports(-webkit-touch-callout: none){
/* iPhoneの表示のみ指定を上書き */
.back_img div {
  height: -webkit-fill-available;
  }
}
/*グラデーション*/
.back_grand{
    width: 100%;
    height: 400px;
    position: absolute;
    bottom: -10px;
    z-index: 1;
    background: -moz-linear-gradient(top, rgba(255,255,255,0), rgba(128,128,128,0.8) 80%);
    background: -webkit-linear-gradient(top, rgba(255,255,255,0), rgba(128,128,128,0.8) 80%);
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(128,128,128,0.8) 80%);  
}



/*トップ ---------------- */
/* top- LOGIN */
header .header-menu{
    position: fixed;
    top: 10px;
    right: 80px;
    z-index: 99999;
}
header .header-menu ul{
 display: -webkit-flex;
 display: flex;
 flex-wrap: wrap;
 -webkit-flex-wrap: wrap;
 justify-content: flex-end;
 -webkit-justify-content: flex-end;
 align-items: center;
 -webkit-align-items: center;    
}
header .header-menu ul li{
    margin: 0 10px;
    font-size: 90%;
}
header .header-menu ul li a{
    color: var(--color_gray3);
}
header .header-menu ul li a:last-child{
 display: -webkit-flex;
 display: flex;
 flex-wrap: nowrap;
 -webkit-flex-wrap: nowrap;
 justify-content: center;
 -webkit-justify-content: center;
 align-items: center;
 -webkit-align-items: center;       
}
header .header-menu ul img{
    width: 18px;
    height: auto;
}
header .header-menu ul img:hover{
    filter: invert(44%) sepia(92%) saturate(3%) hue-rotate(314deg) brightness(96%) contrast(92%);    
    transition: 0.5s;
}
.dashicons-cart:before{
    content: '';
    background-image: url(../images/cart.svg);
    background-repeat: no-repeat;
}

/*トップ ---------------- */
h1.logo-top{
    position: absolute;
    z-index: 50;
    font-size: 3rem;
    filter: drop-shadow(2px 2px 4px var(--color_gray2));
    left: 10%;
    top: 25%;
    transform:translate(-10%,-25%);
}
h1.logo-top a{
    font-weight: 300;
}
h1.logo-top span{
    font-size: 1.8rem;
    padding: 0 1em;
}
h2.logo-top{
    position: absolute;
    z-index: 50;
    font-size: 1.4rem;
    filter: drop-shadow(2px 2px 4px var(--color_gray2));
    left: 10%;
    top: 30%;
    transform:translate(-10%,-30%);
    color: #FFF;
    font-weight: 300;
    line-height: 1.6;
}
/*TOPコンテンツゆっくりフェードイン*/
.contents-fadein {
    z-index: 20;
  animation: contents-fadein 3s ease-out forwards;
}
@keyframes contents-fadein {
  0% {opacity: 0}
  50% {opacity: 0}
  100% {opacity: 1}
}

.top-contents{
    width: 95%;
}

.top-news{
    width: 60%;
}
.top-textbook{
    width: 1200px;
    top: calc(100vh - 340px);
    left:50%;
    transform:translateX(-50%);
    position: absolute;
    z-index: 50;
}
.top-textbook .pickup-slider .thum img{
  width: 100%;
  height: 100%;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.5);
  background: rgba(0,0,0,0.1);
  filter: drop-shadow(2px 4px 6px var(--color_gray2));
}
.recommend{
    margin: auto;
    width: 1200px;
    left:50%;
    transform:translateX(-50%);
    top: calc(100vh - 495px);
    position: absolute;
    z-index: 50;
    padding: 10px;
    background-color: rgba(204,204,204,0.8);
    border-radius: 15px;
    font-weight: 400;
}
.recommend p{
    margin: 5px 0;
    padding: 0 10px;
    font-size: 1.4rem;
}
.recommend li{
    height: 40px;
    line-height: 40px;
    list-style: none;
    width: calc(100% / 3);
}
.recommend img{
    width: 10px;
    height: auto;
    margin: 5px;
    vertical-align:sub;
}
.top-entry img{
    width: 20px;
    height: auto;
    margin: 5px;
    vertical-align:sub;
}
.top-entry{
    position: relative;
    background-color: #ffdcaf;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 600;
    padding: 0.8em 0 0.5em;
}
.top-entry:hover{
    background-color: #ffcb84;
    transition: 0.3s;
}
.top-entry a{
    display: block;
    color: var(--color_gray4);
}
.top-entry a p{
    font-size: 0.9rem;
    font-weight: 200;
    padding: 0.5em 0;
}

.top-entry-info {
    position:absolute;
    width: 100%;
    text-align: center;
    padding: 10px 5px;
    background-color: #333333;
    color: #fff;
    top: -30px;
    left: 0;
    font-size: 0.8rem;
}
.top-entry .top-entry-info span{
    font-size: 0.9rem;
}
.top-entry-info img{
    filter: brightness(0) invert(1);
    width: auto;
    height: 15px;
    vertical-align: middle;
    margin: 0 5px;
}
.top-entry .top-entry-info span img{
    height: 18px;
}

.foot-menu{
    width: 100%;
    left: 0;
    bottom: 60px !important;
}

/*header-child ---------------- */
header h1.logo{
    position: absolute;
    font-size: 46px;
    writing-mode: sideways-rl;
    padding: 20px 15px;
    height: 600px;
    z-index: 10;
    filter: drop-shadow(1px 0 2px #666);
}
header h1.logo span{
    font-size: 20px;
}
header h1.logo a{
    font-weight: 200 !important;    
}
/*TOPページ以外*/
.child-back{
  background-image: url(/wp-content/themes/sora2026/images/child_back_light2.jpg?0217);
  background-size: contain;
  position: fixed;
  top: 0;
  left:0;
  bottom: 0;
  right: 0;
  z-index: 2;
  width:70px;
  min-height: 100dvh;
  min-height: -webkit-fill-available;
  background-position: 40% top;
  background-repeat: repeat-y;
}
.back-img{
  background-image: url(/wp-content/themes/sora2026/images/white-back.jpg?0925);
  background-size: cover;
}
.area h2{
    font-family: "Zen Antique", serif !important;
    font-weight: 200 !important;
    font-weight: normal;
    margin: 0 0 0.3em 0 !important;
}
@font-face {
  font-family: 'japanh2-font';
  src: url(../font/ZenAntique-Regular.woff) format("woff");
  /* ここで日本語のサイズを調整する（例: 90%に縮小） */
  size-adjust: 80%;
  font-weight: 200;
}

.area h2 span{
    font-size: 2.5rem;
}


/*NEWS ---------------- */
.news-menu li{
    margin: 0 10px;
    padding: 5px 0 ;
}
.news-menu li .active{
    border-bottom: 1px solid rgba(0,0,0,0.5);
}
.info-box{
  margin-bottom: 2.5em;
  font-size: 90%;
  border-left: 1px solid var(--color_gray3);
  padding:2px 2px 2px 20px;
}
.info-box:hover{
  border-left: 1px solid var(--color_gray2);
  background: rgba(255,255,255,0.3);
  transition: 0.5s;
}
.info-box a:hover{
    display: block;
}
.news-f .cat{
    width: auto;
    background-color: unset;
    text-align: left;
}
.content-area .cat .name,
.news-f .cat .name{
    color: var(--color_gray3);
    background-color: var(--color_w);
    padding: 0 10px;
}
.content-area .content_day{
    margin-left: 10px;
}
.info-box .text{
    width: calc(100% - 100px);
}
.info-box p{
    margin: 15px 0 0;
}
.blog_title{
  font-size: 1.8em !important;
  border-left: 1px solid var(--color_gray3);
  padding: 5px 10px 10px 20px;
  font-weight: 400 !important;
  font-family: "Zen Antique", sans-serif !important;
}
.single_contents{
    margin-bottom: 30px;
}
.single_contents p{
    line-height: 1.8;
}
.single_contents iframe{
    aspect-ratio: 16 / 9;        
    width: 100%;
    height: auto;    
}
.more a{
    display: block;
  font-family: "Rajdhani", sans-serif;
  font-weight: 500;    
}
.more p{
  font-family: "Rajdhani", sans-serif;
  font-weight: 500;    
}
.more a:hover{
    color: var(--color_w);
    transition: 0.5s;
}

/*教科書 ---------------- */
.tag-menu-f{
    margin: 1em auto;
    width: 100%;
}
.tag-menu-f li{
    margin: 0 5px 5px 0;
    padding: 1px 5px;
    border: 1px solid rgba(0,0,0,.3);
    font-size: 0.8rem
}
.tag-menu-f li.current{
    background-color: var(--color_gray3);    
}
.tag-menu-f li.current a{
    color: var(--color_w);
}
.tag-menu-f li span{
    font-size: 0.7rem;
}
.tag-menu-f li:hover{
    background-color: var(--color_gray2);
    transition: 0.3s;
}
.tag-menu-f li:hover a{
    color: #fff;
    transition: 0.3s;
}
.tag-f{
    margin: 0.5em auto 1em;
    padding: 0 10px;
    width: 100%;
}
.tag-f li{
    width: auto;
    background-color: #cecece;
    padding: 2px 4px;
    margin: 0 10px 10px 0;
    font-size: 0.8rem;
}
.tag-f li:hover{
    background-color: #666;
    transition: 0.3s;
}
.tag-f li:hover a{
    color: #FFF;
    transition: 0.3s;
}
.textbook-box{
    margin: 20px;
    width: calc((100% - 160px) / 4);
    height: auto;
}
.textbook-box img{
    aspect-ratio: 1 / 1;
    width: 100%;
    height: 100%;
    border: 1px solid rgba(255,255,255,0.5);
    background: rgba(0,0,0,0.1);
    padding: 10px;
    filter: drop-shadow(2px 4px 6px var(--color_gray2));
    object-fit: cover;
    object-position: center;
}
.text-book img{
    display: block;
    margin: auto;
}

/*PROFILE ---------------- */
.prof-img{
    width: 50%;
    height: auto;
    padding: 3px;
    filter: drop-shadow(1px 2px 3px var(--color_gray2));
}
.prof-img img{
    width: 100%;
    height: auto;
}
.prof-text{
    border: 3px solid rgba(255,255,255,.5);
    margin-left: auto;
    width: 80%;
    padding: 20px;
    line-height: 2;
    backdrop-filter:blur(30px);
    -webkit-backdrop-filter:blur(30px);
    filter: drop-shadow(1px 2px 3px var(--color_gray2));
}

/*オフ会 ---------------- */

.offline-f h3{
    font-weight: 100;
    font-size: 3em;
    margin: 0 auto 0.5em;
    border-left: 1px solid rgba(0,0,0,.5);
    padding-left: 15px;
}
.offline-f .month{
    font-size: 2em;
}


/* FC TOP ---------------- */
.join-info{
    line-height: 1.8;
    border-left: 1px solid rgba(0,0,0,.5);
    padding-left: 15px;
    
}
.join-bt{
    padding: 0;
    margin: 1em 0;
    width: 250px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    background-color: var(--color_gray3);
}
.join-bt{
    color: var(--color_w);    
    display: block;
    font-weight: 300;
}
.join-bt:hover{
    background-color: var(--color_w);
    color: var(--color_gray3);
    transition: 0.3s;
}
.join-title{
    font-size: 42px;
}
.join-box div{
    margin: 10px 10px 20px;
    width: calc((100% - 60px)/3);   
    border-left: 1px solid rgba(0,0,0,.5);
    padding-left: 15px;
    font-size: 14px;
}

.join-box h3{
    font-size: 24px;
    margin: 10px 0 20px;
    font-weight: 300;
}

/* FC BLOG---------------- */
.blog-f{
    width: 100%;  
    margin: auto;
}
.blog-f .cat{
    padding: 2px 7px 4px;
    border-left: 1px solid rgba(0,0,0,.5);
    border-bottom: 1px solid rgba(0,0,0,.5);
    margin: 0 1em 1em 0;
}
.blog-f .cat a{
    font-size: 0.9rem;
    display: block;
}
.blog-f .cat:hover{
    background-color: var(--color_gray3);
    transition: 0.3s;
}
.blog-f .cat:hover a{
    color: var(--color_w);
    transition: 0.3s;
}
.blog-f .current{
    background-color: var(--color_gray3);    
}
.blog-f .current a{
    color: var(--color_w);
}

.blog-box{
    padding: 10px;
    width: 100%;
}
.blog-box:hover{
    background: rgba(255,255,255,0.3);
    transition: 0.5s;
}
.blog-thum{
    width: 30%;
    max-width: 200px;
}
.blog-thum img{
    aspect-ratio: 4 / 3;        
    width: 100%;
    height: auto;
    border: 1px solid #fff;
    background: var(--color_gray);
    padding: 5px;
    filter: drop-shadow(2px 4px 6px var(--color_gray2));
    object-fit: cover;
    object-position: center center;
}
.blog-text{
    width: 70%;
}
.blog-text h3{
    font-size: 18px;
}
.blog-single img{
    margin: 5px;
}

/* FC Photo ---------------- */
.fcphoto-box{
    margin: 20px;
    width: calc((100% - 160px) / 4);
    height: auto;
}
.fcphoto-box img{
    aspect-ratio: 4 / 3;        
    width: 100%;
    height: auto;
    border: 1px solid rgba(255,255,255,0.5);
    background: rgba(0,0,0,0.1);
    padding: 10px;
    filter: drop-shadow(2px 4px 6px var(--color_gray2));
    object-fit: cover;
    object-position: center;
}
.fcphoto-box h3{
    font-size: 18px;
    font-weight: 200;
}
.fc-photo-single p{
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;   
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
}
.fc-photo-single p a{
    margin: 20px;
}
.fc-photo-single img{
    max-height: 225px;
    width: auto;
}
.fcmovie-box{
    margin: 10px;
    width: calc((100% - 80px)/4);
    height: auto;
    aspect-ratio :16 / 9;
}

/*FC*LIVE ---------------- */
.live-f{
    width: 100%;
}
.live-box{
    width: 100%;
    margin: 0 auto 1em;
    padding: 10px;
    border-left: 1px solid rgba(0,0,0,0.5);
}
.live-box h3{
    margin: 0 0 1em;
    font-size: 18px;
    font-weight: 400;
}
.live-box .text,
.live-box .start,
.live-box .day{
    margin: 10px;
}
.live-box .text{
    line-height: 1.7;
    font-size: 12px;
}

/*FC*EVENT ---------------- */
.archive-f{
    padding: 5px;
    border-bottom: 1px solid rgba(0,0,0,0.5);
    border-right: 1px solid rgba(0,0,0,0.5);
    font-size: 18px;
    width: 100px;
    text-align: center;
}
.archive-f:hover{
    background-color: rgba(255,255,255,0.3);
    transition: 0.3s;
}
.event-f{
    padding: 15px;
    border-left: 1px solid rgba(128,128,128,0.5);
}
.event-f:hover{
    background-color: var(--color_gray);
    transition: 0.3s;
}
.event-f .text{
    width: calc(100% - 250px);
}
.event-f .eventday{
    width: 80px;
    color: var(--color_gray3)
}
.event-f .priod{
    font-size: 30px;
    padding: 0 10px;
}
.news-f .year,
.event-f .year{
    font-size: 18px;
    text-align: left;
    margin: 0;
}
.event-f .year{
    font-size: 14px;
    text-align: center;
}
.news-f .month,
.event-f .month{
    font-size: 28px;
    text-align: center;
    margin: 0;
    padding: 5px 0;
}
.event-f .month{
    border-bottom: 1px solid rgba(0,0,0,0.5);    
}
.news-f .day,
.event-f .day{
    font-size: 28px;
    text-align: center;
    margin: 0;
    padding: 5px 0;
}

.event-f h3{
    font-weight: 200;
    font-size: 30px;
    padding-left: 20px;
}

/* ROOOM ---------------- */
.produce-box{
    margin: 10px;
    width: calc((100% - 40px)/2);
    padding: 10px 10px 20px;
    border: solid 1px rgba(0,0,0,0.5);
    border-radius: 15px;
}
.produce-box:first-child h3{
    min-height: 105px;
    line-height: 105px;
}
.produce-box-full{
    margin: 10px;
    width: calc(100% - 20px);
    padding: 10px 10px 20px;
    border: solid 1px rgba(0,0,0,0.5);
    border-radius: 15px;
}
.produce-box-full h3,
.produce-box h3{
    font-size: 1.8rem;
    border-bottom: 1px solid rgba(0,0,0,0.5);
    padding-bottom: 5px;
    text-align: center;
    margin-bottom: 1em;
    min-height: 105px;
}
.produce-box-full p.price,
.produce-box p.price{
    font-weight: 600;
    font-size: 1.4rem;
    margin-bottom: 1em;
}
.produce-box-full p.price span,
.produce-box p.price span{
    font-size: 0.8rem;
    padding-left: 5px;
}
.produce-box-full img,
.produce-box img{
    width: 15px;
    height: auto;
    margin-right: 10px;
}
.produce-box-full .person p,
.produce-box .person p{
    font-weight: 600;
    font-size: 1.2rem;
    margin-bottom: 1em;
}
.produce-box-full .bt,
.produce-box .bt{
    margin: 1em auto;
}
.produce-box-full .bt a,
.produce-box .bt a {
    background: #ffdcaf;
    border-radius: 9999px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    padding: 10px 25px;
    color: #333333;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.produce-box-full .bt a:hover,
.produce-box .bt a:hover {
    background: #ffcb84;
    color: #FFF;
}
.produce-box-full .bt a:after,
.produce-box .bt a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #333333;
    border-right: 3px solid #333333;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.produce-box-full .bt a:hover:after,
.produce-box .bt a:hover:after {
    border-color: #fff;
}

/* produce 予約アプリ */
.header-child .am-fs__payments-sentence p,
.header-child .am-fs__congrats-info-payment{
    display: none !important;
}


/* コミュニティ ---------------- */
.bbp-author-ip,.bbp-template-notice{
    display: none;
}
.user-id-1 .bbp-author-name{
    font-weight: 600;
}
.bbp-body ul:hover{
    background-color: var(--color_gray2);
    transition: 0.3s;
}

/* ROOOM ---------------- */
.room-f h2{
    font-weight: 100;
    font-size: 4rem;
    padding: 0;
    writing-mode: sideways-rl;
}
.room-f .title{
    margin-right: 0.5em;
}
.room-f2 h2{
    width: 100%;
    font-weight: 100;
    font-size: 4rem;
}
.room-f .title img{
    width: 60px;
    margin: 1em 0;
    filter: invert(41%) sepia(0%) saturate(0%) hue-rotate(262deg) brightness(95%) contrast(94%);
}
.room-f2 h3,
.room-f h3{
    width: 100%;
    font-weight: 300;
    font-size: 1.4rem;
    margin: 0.5em 0 1em;
    line-height: 1.5;
}
.room-f{
    margin-bottom: 2em;
    margin-left:auto;
    display: flex;
    width: calc(100% - 120px);
    max-width: 1800px;
    overflow-y: hidden;
    overflow-x: auto;
    padding-bottom: 1em;
}
.room-f2{
    width: 100%;    
}
.room-f .room-box{
    flex-shrink: 0;
    width: calc((100% - 40px)/3.5);
    margin-right: 10px;
}
.room-f2 .room-box{
    width: calc((100% - 30px)/3);
    margin-right: 10px;
}
.room-f::-webkit-scrollbar {
  height: 5px; /* スクロールバーの高さ */
}
.room-f::-webkit-scrollbar-thumb {
  background: var(--color_gray2); /* ツマミの色 */
  border-radius: 0; /* ツマミ両端の丸み */
}
.room-f::-webkit-scrollbar-track {
  background: var(--color_gray); /* トラックの色 */
  border-radius: 0; /* トラック両端の丸み */
}
.room-f2 .room-box .img,
.room-f .room-box .img{
    position: relative;
    aspect-ratio: 1 / 2;
}
.room-f2 .room-box .img div,
.room-f .room-box .img div {
    width: 100%;
    position: absolute;
}
.room-f2 .room-box .img div img,
.room-f .room-box .img div img{
    width: 100%;
    object-fit: cover;
    object-position: top center;
    aspect-ratio: 1 / 2;
}
.room-f2 .room-box .img div,
.room-f .room-box .img div{
    animation: anime_fade1 6s infinite;
}
.room-f2 .room-box .img div:nth-child(2n) ,
.room-f .room-box .img div:nth-child(2n) {
    animation-delay: 3s;
}

@keyframes anime_fade1 {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 1;
    }
    60% {
        opacity: 0;
    }
    90% {
        opacity: 0;
    }
}

.room-single h3{
    margin: 2em 0 1em;
    font-size: 2rem;
    font-weight: 100;
}
.room-single-img div{
    width: calc(100% / 3);
}
.room-single-img2 div img,
.room-single-img div img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.room-single-img .room-about{
    list-style: 1.5;
    padding: 1em;
    background-color: var(--color_gray);
}
.room-single .single_contents{
    margin: 2em 0;
}
.room-single .single_contents img{
    margin: 5px;
}

/*SHOP ---------------- */
.shop-f h2{
    width: 100%;
    font-weight: 300;
    font-size: 2.5rem;
    margin: 3em 0 0;
}
.shop-box{
    width: calc((100% - 75px)/5);
    margin: 15px 15px 15px 0;
    overflow: hidden;
}
.shop-box a{
    overflow: hidden;
}
.shop-box h2{
    font-size: 1.5rem;
    padding: 10px 0;
}
.shop-box img{
    width: 100%;
    height: auto;
    margin-bottom: 10px;
    padding: 10px;
    background-color: rgba(255,255,255,0.5);
    filter: drop-shadow(2px 4px 6px var(--color_gray2));
}
.shop-box img:hover{    
    animation: fadein 1s forwards;
}
@keyframes fadein {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.05);
  }
}
.shop-f h3{
    width: 100%;
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 1.5;
    word-break: auto-phrase;
}
.fc-price{
    margin: 5px 0;
    color: red;
}
.room-single .viewall,
.shop-f .viewall{
    margin: 2em 0;
    font-size: 1.2rem;
}
.room-single .viewall img,
.shop-f .viewall img{
    vertical-align: bottom;
    height: 20px;
    width: auto;
    margin-left: 0.5em;
    filter: invert(41%) sepia(0%) saturate(0%) hue-rotate(262deg) brightness(95%) contrast(94%);
}
.room-single .viewall img{
    vertical-align: baseline;
    height: 15px;
}
.room-single .viewall:hover img,
.shop-f .viewall:hover img{
    transition: 0.3s;
    transform: translateX(5px);
}

/*CONTACT ---------------- */
.form-f{
    width: 70%;
    margin: 0 auto 100px;
    line-height: 1.8;
}
.form-f input{
    width: 100%;
    height: auto;
    padding: 5px 10px;
}
.form-f .stry-tableodd{
    background: unset;
}
.form-f .stry-support01-button button{
    width: 100%;
    padding: 10px;
    border: 1px solid var(--color_w);
    background-color: var(--color_w);
    color: var(--color_gray3);
}
.form-f input,.form-f textarea,.form-f select{
    border: 1px solid #fff;    
}
.form-f .stry-support01-button button:hover{
    border: 1px solid var(--color_gray2);
    transition: 0.5s;
}
.form-f select,
.form-f textarea{
    width: 100%;
    padding: 10px;
}
.stry-support01-column01{
    vertical-align: middle;
}

/* MEMBERSHIP CARD*/
.membercard-f{
    margin: auto;
    width: 90%;
    background-color: rgba(255,255,255,0.5);
    padding: 10px;
    max-width: 350px;
}
.membercard-box{
    margin: auto;
    aspect-ratio: 3 / 4;      
    max-width: 350px;
    position: relative;
}
.membercard-f img{
    padding: 15px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: drop-shadow(2px 2px 4px var(--color_gray2));
    background-color: rgba(255,255,255,0.3);
    margin-bottom: 15px;
}
.membercard-f .font-logo img{
    padding: 0;
    width: 70px;
    height: auto;
    background-color: unset;
}
.membercard-f p{
    position: absolute;
    bottom: 4%;
    right: 14%;
    font-size: 28px;
}
.membercard-f .member-info{
    text-align: center;
    width: 100%;
    margin: 10px 0;
}
.membercard-f .name{
}
.membercard-f .number{
}
.membercard-f .info-date{
}

/*フッター*/
footer{
    width: 100%;
    padding: 10px 0 0;
    position: absolute;/*←絶対位置*/
    bottom: 0; /*下に固定*/
    z-index: 10;
}
.copy {
  height: 60px;
  padding-top: 15px;
  color: var(--color_b);
  width: 100%;
  text-align: center;
  font-size: 10px;
  line-height: 1.5;
  background-color: var(--color_gray);}

.copy a {
  color: var(--color_b);
  text-decoration: none; }

.footer-menu-box{
    width: 50%;
}
.room img{
    width: auto;
    height: 20px;
}
/*STARRY MENU*/
.footer-menu-box ul{
    width: 100%;
    text-align: center;
}
.footer-menu-box ul li{
    width: 70px;
    height: 30px;
    line-height: 30px;
}
.footer-menu-box ul li:last-child{
    width: 40px;
    height: 30px;        
    }   
.footer-menu-box ul a{
    font-size: 90%;
    display: block;
}
.footer-menu-box ul li.starry-logout,
.footer-menu-box ul li.starry-login{
    background: var(--color_gray2);}
.footer-menu-box ul li.starry-entry{
    background: var(--color_b);}
.footer-menu-box ul li.starry-account{
    background: var(--color_gray);}

.footer-menu-box ul li a{
    color: #fff;}


.footer-menu-box ul li.starry-login:hover,
.footer-menu-box ul li.starry-logout:hover,
.footer-menu-box ul li.starry-account:hover,
.footer-menu-box ul li.starry-entry:hover{
    background:var(--color_gray);
    transition: 0.5s;
}

/*SNS MENU*/
.footer-menu-box #SNS img{
    width: 20px;
    height: auto;    
    margin: 0 10px;
    filter: invert(39%) sepia(0%) saturate(0%) hue-rotate(175deg) brightness(98%) contrast(85%);
    vertical-align:middle;
}
.footer-menu-box #SNS img:hover{
    filter: invert(44%) sepia(92%) saturate(3%) hue-rotate(314deg) brightness(96%) contrast(92%); 
    transition: 0.5s;
}
.footer-menu-box ul#SNS{
 display: -webkit-flex;
 display: flex;
 flex-wrap: wrap;
 -webkit-flex-wrap: wrap;
 justify-content: flex-start;
 -webkit-justify-content: flex-start;
}
.footer-menu li{
    list-style: none;
    height: 30px;
    line-height: 30px;
    margin-bottom: 1em;
}
