@charset "UTF-8";
/* Scss Document */
/*変数*/
/*mixin*/
/*全体*/

/*　
紫　#8672f7
ラピスラズリ　#3d62ad
*/

:root{
    --color_w:#Fff;
    --color_b:#000;
    --color_gray:#333;
    --color_gray2:#ccc;
    --color_pur:#8672f7;
    --color_red:#FF0000;
}
/* starry */
#div_entry09 select{
    width: auto;
    margin: 10px auto;
}
#div_entry10 select,#div_entry10 input,#div_entry11 input,
#div_entry09 input{
    margin: 10px auto;
}

/* STARRY 黒背景になった調整　*/
#div_item_ec02 .stry-ec02-item-block02{
    background-color: #000 !important;
}
.stry-errorbox, .stry-loginbox, .stry-entry01-contents, .stry-entry01-signupbox {background-color: transparent;}
button.stry-login01-button, button.stry-logout01-button, button.stry-member01-button00, button.stry-member01-button01, button.stry-member01-button02, button.stry-member01-button03, button.stry-member01-button04,
button.stry-member01-button05, button.stry-update01-button00, button.stry-update01-button01, button.stry-error01-button, .stry-support01-button, button.stry-ec03-recalc, button.stry-ec04-back-button, button.stry-ec04-payment-button,.stry-loginbox,.stry-loginbox a,.stry-errorbox {color: #000 !important;}
table.stry-member01-memberinfo-table .stry-member01-column01, table.stry-member01-courseinfo-table .stry-member01-column01, table.stry-update01-courseinfo-table .stry-update01-column01,.stry-entry01-contents,.stry-entry01-signupbox {background-color: transparent !important;}
tr.stry-tableodd td {background-color: var(--color_gray);}

table td {border-color: var(--color_gray2) !important;}

.stry-entry01-paymentblock, .stry-entry01-serviceblock {display: none;}

table.stry-support01-table td {background-color: transparent;}
/* カテゴリページ補正 */
.stry-ec01-category-thumbnail a img {max-width: 100px !important;}
.stry-ec01-item-descriptions, .stry-ec01-category-name a {color:#000;}

/* カートページ補正（仮） */
.stry-ec02-breadcrumbs.stry-alignleft {display: none;}

/* エントリーページ補正 */
#join_text, #join_text h3, #join_text h4 {color: #fff !important;}
.stry-entry01-mailaddress, .stry-entry01-password, .stry-entry01-agree, .stry-entry01-agreement {color: #fff;}
.stry-entry01-agreement a {color: var(--color_gray2);}
.stry-entry01-agreement {background-color: transparent;}
.entry_rule {background-color: #eee;}
.entry_rule {color: #000;}
/* マイページ補正 */
hr.stry-member01-hr01, hr.stry-member01-hr02, hr.stry-member01-hr03  {margin-top: 10px; margin-bottom: 10px;}
table.stry-support01-table,
table.stry-member01-memberinfo-table, table.stry-member01-courseinfo-table, table.stry-member01-maintable, table.stry-update01-courseinfo-table {width: 100%;}
/* 購入手続きページ補正 */
.stry-ec03-table-ammount input {background-color: transparent;}
#div_item_ec04 h5 {color: #fff;}
#div_item_ec04 input, #div_item_ec04 option, #div_item_ec04 select {color: #000;}
button#backbtn, button#btn {color: #000;}

div#div_item_ec05 form table {
border: solid 1px var(--color_gray2);
width: 100%;
margin-bottom: 4em;
}
div#div_item_ec05 form table td {
border: solid 1px var(--color_gray2);
padding: 5px;
}
div#div_entry09 select option {
color: #000;
}
/* STARRY　ここまで　*/



body {
  font-family: 'Comfortaa','Kosugi Maru', sans-serif;
  font-weight: 200;
  color: var(--color_w);
  background: var(--color_b);
  font-size: 16px;
  font-size: 1rem; }
body a{
    color: var(--color_w);
}
.font-purple{
    color:var(--color_pur);
}
ul li{
    list-style: none;
}

/* 画像リンクのマウスオーバーに透かし */
a:hover img {
  transition: all 0.5s ease;
}

/*共通*/
.clearfix:after {
  content: " ";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  line-height: 0; }

.wrapper {
  min-height: 100vh;
  position: relative;
  padding-bottom: 150px;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden; }
  @media screen and (max-width: 601px) {
      .wrapper{
          padding-bottom: 200px;}}

.delayed-image {
	/* じわっと画像が表示される */
 	animation: fadeIn 3s ease 0s 1 normal;
    -webkit-animation: fadeIn 3s ease 0s 1 normal;
}
.sp_only {
    display: none !important; } 
    
.pc_only {
    display: block; } 

/* 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;
}
#mask {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 1000;
  display: none; }

.flex_wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  flex-wrap: wrap; }

.flex_wrap2 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.flex_wrap li {
  list-style: none; }

.flex_wrap3 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center; }

.flex_wrap4 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  justify-content: flex-end;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.img_sp {
  display: none !important; }

/*メインコンテンツ*/
.language {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 100;
  cursor: pointer; }

.language_pop {
  width: 500px;
  padding: 20px;
  position: absolute;
  top: 100px;
  left: calc(50% - 270px);
  background: #000;
  z-index: 1100;
  display: none;
  color: #fff;
  line-height: 1.3em; }

.menu_trig {
  width: 90px;
  height: 90px;
  position: fixed;
  top: calc(5% - 45px);
  right: 10px;
  z-index: 200;
  cursor: pointer; }

.menu_trig span {
  width: 42px;
  height: 2px;
  background: #8672f7;
  display: block; }

.menu_trig span:nth-of-type(1) {
  position: absolute;
  top: 26px;
  left: 24px; }

.menu_trig span:nth-of-type(2) {
  position: absolute;
  top: 38px;
  left: 24px; }

.menu_trig span:nth-of-type(3) {
  position: absolute;
  top: 50px;
  left: 24px; }

.menu_trig span:nth-of-type(4) {
  position: absolute;
  top: 62px;
  left: 24px; }

.menu_area {
  background: rgba(53, 53, 160, 0.6);
  padding: 30px 170px 0 170px;
  position: fixed;
  top: 0;
  right: -640px;
  width: 300px;
  z-index: 999999;
  height: 100vh;
  transition: 1s;
  border-bottom-left-radius: 854px;
  overflow-y: scroll; }

.menu_show {
  right: 0px; }

.rad_cancel {
  border-bottom-left-radius: 0%; }

.menu_title{
    color: #fff;
    font-size: 50px;
    margin: 0 0 20px;
}
.menu_area a,
.menu_area li a {
  text-decoration: none;
  color: #fff;
  transition: .6s; }

.menu_area a:hover {
  color: #fff;
  text-shadow:0 0 5px #fff;
  text-decoration-line: none;}

.menu_area h2 {
  margin-bottom: 40px; }

.menu_area ul {
  padding-bottom: 20px;
  margin-bottom: 20px; }

.menu_area li {
  list-style: none;
  font-size: 28px;
  color: #fff;
  margin-bottom: 20px; }

/*#menu-item-381,#menu-item-380,#menu-item-379,
#menu-item-362,
#menu-item-304,*/
.menu-font-small{
    font-size: 18px !important;
    margin: 10px 0 0 0;
    line-height: 1.5;
    padding: 0 0 0 20px;
}
.menu_close {
  width: 90px;
  height: 90px;
  position: fixed;
  top: calc(5% - 45px);
  right: 10px;
  z-index: 999999;
  display: none;
  cursor: pointer; }
.cross1 {
  width: 42px;
  height: 2px;
  transform: rotate(45deg);
  background: #fff;
  position: absolute;
  top: 43px;
  left: 25px; }
.cross2 {
  width: 42px;
  height: 2px;
  transform: rotate(-45deg);
  background: #fff;
  border-radius: 2px;
  position: absolute;
  top: 43px;
  left: 25px; }
.scroll {
  position: absolute;
  bottom: 20px;
  left: calc(50% - 27px);
  z-index: 800; }
.main_mask {
  display: block; }

.page_title{
    margin: 20px auto 40px;
    max-width: 1260px;
    font-size: 46px;
    color: var(--color_w);
    padding: 5px 0 5px 20px;
    line-height: 1.5;
}
  @media screen and (max-width: 1150px) {
      .page_title{
        margin: 0 auto 30px;}
 }
  @media screen and (max-width: 601px) {
      .page_title{
        font-size: 36px;
        margin: 0 auto 10px;
        padding: 5px 0 5px 10px;}
 }

footer {
  width: 100%;
  bottom: 0;
  position: absolute;}

small {
  display: inline-block;
  width: 100%;
  font-size: 80%;
  color: var(--color_gray2);
  padding: 18px 0;
  text-align: center; }
.page_top {
  background: url("../assets/images/back_top.png");
  background-blend-mode:lighten;    
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: center 180px;}
  @media (max-width: 1025px) {
      .page_top {
          background-position: center 200px;} }

.white {
  width: 100%;
  height: 287px;
  background: rgba(255, 255, 255, 0.75);
  position: absolute;
  top: 0;
  left: 0; }
.breadcramb {
  font-size: 90%;
  color: var(--color_w);
  width: 865px;
  margin: 0 auto 60px auto; }
  @media screen and (max-width: 601px) {
      .breadcramb {
          margin: 0 auto 20px auto;}
 }
.breadcramb a {
  color: var(--color_w);
  text-decoration: none; }

.breadcramb a:hover {
  text-decoration: underline; }

.footer_logo {
  display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
  text-align: center;
}
.footer_logo img{
    width: 20%;
    height: auto;
}
.footer_logo:before, .footer_logo:after {
  border-top: 1px solid var(--color_w);
  content: "";
  width: 70%; /* 線の長さ */
}
.footer_logo:before {
  margin-right: 1em; /* 文字の右隣 */
}
.footer_logo:after {
  margin-left: 1em; /* 文字の左隣 */
}
footer ul{
    list-style: none;    
    margin: 0 ;
    padding: 0 ;
    text-align: center;
}
footer li a{
    font-family: 'Sawarabi Mincho', sans-serif !important;
    text-decoration-line: none !important;
    font-size: 93%;
}
footer li a:hover{   
    text-decoration-line: none !important;
}
footer li {
  display: inline-block;
  margin: 20px 10px; }
  footer ul > a {
    color: #000;
    text-decoration: none; }
    footer li > a:hover {
      text-decoration: underline; }
  @media screen and (max-width: 750px) {
    footer li {
      width: 50%;
      margin: 10px 0;
      text-align: center; } }

/* 240209 SHOP　*/
.member-cat div{
    margin: 0 10px 20px;
    padding: 5px;
    border: 1px solid var(--color_pur);
    background-color: rgba(255,255,255,0.8);
}
.member-cat div.current{
    border-radius:0;
    width: auto;
    background: var(--color_pur);
    
}
.member-cat div a{
    color: var(--color_pur) !important;
    text-decoration-line: none;
}
.member-cat div.current a{
    color: var(--color_w) !important;
    text-decoration-line: none;
}
.shop-page{
    padding: 30px;
}
.shop-title{
    margin-top: 30px;
}
.shop-info{
    font-size: 12px;
    line-height: 2;
    margin-top: 10px;
    margin-bottom: 20px;
}
.shop-f{
    margin: 20px auto;
    align-items:flex-start:
}
.shop-box{
    width: calc((100% - 80px)/4);
    margin: 0 10px 20px;
    overflow-wrap:anywhere;
    text-align: center;
}
.shop-box img{
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;        
    object-fit: contain;
}
.shop-box h3{
    font-size: 14px;
    font-weight: 400;
    margin: 5px 0;
    line-height: 1.4;
    font-size: 90%;
}
.shop-box a{
    color: #333;
    text-decoration-line: none;
}
.shop-box a:hover{
    text-decoration-line: underline;
}
.shop-box span{
    font-size: 80%;
}
.shop-box p{
    font-size: 90%;
    font-weight: bold;
}

/* ------------------------------ */
.stry-support01-row02 {
  background: #eee; }

.td.stry-support01-column01, td.stry-support01-column02 {
  vertical-align: middle; }

/*ログインせずに購入ボタン　非表示
.stry-ec03-daibiki-text,
.stry-ec03-buttonblock #btn3{
    display: none !important;
}*/
.stry-ec03-daibiki-text{
    display: none !important;
}
/*商品購入時のセレクト画面　Lサイズやら、応募やら*/
.stry-ec02-item-selectbox select{
    padding: 0 25px 0 5px !important;
}

.wrap {
  position: relative;
  max-width: 1000px;
  margin: auto;
  color: var(--color_gray2);
  padding: 50px 0 20px; }
.wrap img{
  width: auto;
  max-width: 860px;
  height: auto;}
@media screen and (max-width: 860px) {
.wrap img{
  max-width: 100%;}
 }
.wrap p{
  margin-bottom: 10px;
  font-family: 'Kosugi Maru', sans-serif;
  font-size: 100%;
  font-weight: 400;
  line-height: 2;}

#primary {
  width: 100%;
  max-width: 960px;
  margin: 0 auto; }

#primary a{
    color:#fff;
}

td.stry-support01-column01, td.stry-support01-column02 {
  color: #333; }

.stry-support01-button button {
  width: 200px; }

.page_head {
  color: #000;
  text-align: center;
  font-size: 40px;
  padding: 40px 0;
  background: rgba(255, 255, 255, 0.5); }

.stry-margintb10{
    line-height: 1.5;
}
.stry-ec03-enrollment a{
    color: var(--color_w) !important;
}

@media screen and (max-width: 601px) {
      form {
        min-height: 650px;}
}
input#name1, input#email, input#subject, textarea#post_comment {
  padding: 5px; }

td.stry-support01-column01, td.stry-support01-column02 {
  vertical-align: middle; }

table.stry-support01-table tr:nth-of-type(2) {
  background: #e3deff !important; }

table.stry-support01-table tr:nth-of-type(4) {
  background: #e3deff !important; }

td.stry-support01-column01, td.stry-support01-column02 {
  padding: 10px !important; }

.stry-support01-button button {
  width: 200px !important;
  background: -webkit-linear-gradient(#426ab3 0%, #2154b2 100%);
  background: -o-linear-gradient(#426ab3 0%, #2154b2 100%);
  background: linear-gradient(#426ab3 0%, #2154b2 100%);
  border: none;
  color: #fff; }

.stry-support01-button button:hover {
  background: -webkit-linear-gradient(#7ca0e2 0%, #5480d0 100%);
  background: -o-linear-gradient(#7ca0e2 0%, #5480d0 100%);
  background: linear-gradient(#7ca0e2 0%, #5480d0 100%); }

#div_support02 {
  background: #eee;
  padding: 20px;
  color: #000;
  text-align: center; }

#div_support02 table {
  width: 100%;
  background: #fff;
  margin: 20px 0; }

#div_support02 table tr td {
  text-align: left !important;
  padding: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1); }

#div_support02 table tr:nth-of-type(2) {
  background: #e0ebff !important; }

#div_support02 table tr:nth-of-type(4) {
  background: #e0ebff !important; }

#btn1, #btn2, #btn3 {
  width: 100px !important;
  background: -webkit-linear-gradient(#8672f7 0%, #b4a8f9 100%) !important;
  background: -o-linear-gradient(#8672f7 0%, #b4a8f9 100%) !important;
  background: linear-gradient(#8672f7 0%, #b4a8f9 100%) !important;
  border: none;
  color: #fff;
  padding: 10px 0; }

#btn1:hover {
  background: -webkit-linear-gradient(#7ca0e2 0%, #5480d0 100%);
  background: -o-linear-gradient(#7ca0e2 0%, #5480d0 100%);
  background: linear-gradient(#7ca0e2 0%, #5480d0 100%); }

#btn3:hover,
#btn2:hover {
  background: -webkit-linear-gradient(#7ca0e2 0%, #5480d0 100%);
  background: -o-linear-gradient(#7ca0e2 0%, #5480d0 100%);
  background: linear-gradient(#7ca0e2 0%, #5480d0 100%); }

#btn2 {
  margin-left: 20px !important; }

#div_support05 {
  padding: 50px 0;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  background: #eee;
  color: #000; }

.hid_area {
  height: 0; }

.sub_tit {
  position: absolute;
  top: 226px;
  width: 100%;
  text-align: center;
  font-size: 20px; }

.dashicons-cart:before {
  content: "" !important; }

.cart-item-count {
  padding: 0 !important; }

.dashicons {
  display: none !important; }

.cart-item-count {
  padding: 0 !important; }

.member_info h5 {
  font-size: 20px;
  margin-bottom: 20px; }

.stry-ec04-member_info_table input {
  height: 25px; }

.stry-ec04-member_info_table select {
  height: 25px; }

.stry-ec04-member_info_table td {
  height: 25px;
  padding: 10px 0; }

.stry-ec04-delivery_info_table input {
  height: 25px; }

.stry-ec04-delivery_info_table select {
  height: 25px; }

.stry-ec04-delivery_info_table td {
  height: 25px;
  padding: 10px 0; }

#div_item_ec05 td {
  text-align: left !important;
  padding: 10px 0; }

.stry-wrap a {
  color: #fff; }

table {
  width: 100%; }

.stry-ec04-membername-lastbox {
  width: calc(100% - 10px) !important; }

.stry-ec04-deliveryname-lastbox {
  width: calc(100% - 10px) !important; }

.stry-ec02-breadcrumbs {
  display: none; }

.stry-entry01-alert {
  padding: 10px 0; }

.stry-entry01-contents {
  background: rgba(0, 0, 0, 0); }

#div_entry05 {
  padding: 10px; }

td.stry-member-info-input-cell select {
  height: 35px;
  padding: 0 10px; }

.stry-member-input-return {
  text-align: center; }

.stry-member-input-confirm button {
  padding: 10px; }

.stry-member-input-return button {
  padding: 10px;
  width: 50%; }

.stry-tableodd td {
  padding: 10px 5px; }

.stry-tableeven td {
  padding: 10px 5px; }

#div_entry07 {
  padding: 20px; }

#div_entry07 div {
  margin-top: 20px; }

#div_entry03 {
  padding: 10px; }

#div_password01 {
  padding: 10px;
  line-height: 2em; }

#div_password02 {
  padding: 10px; }

#div_password03 {
  padding: 10px;
  line-height: 2em; }

#div_password04 {
  padding: 10px; }

#div_member02 {
  padding: 10px;
  line-height: 2em; }

#div_update03 {
  line-height: 1.5em;
  padding: 10px; }

#div_support03 {
  line-height: 1.5em;
  padding: 10px; }

#div_member08 {
  padding: 10px; }

#div_member05 {
  padding: 10px; }

#div_member09 {
  padding: 20px; }

#div_leave01 {
  line-height: 2em;
  padding: 10px; }

select {
 color: #8672f7;
 font-family: 'Comfortaa', sans-serif !important;
 font-size: 12px;
 width: 180px;
 height: 40px;
 border-radius: 10px;
 border:1px solid var(--color_w);
 padding: 0 0 0 10px; }

/*パーティクル*/
.particles-js .can_hid:first-child {
  visibility: hidden; }

canvas {
  display: block;
  vertical-align: bottom; }

/* ---- particles.js container ---- */
#particles-js {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
  background-repeat: no-repeat;
  background-size: 20%;
  background-position: 50% 50%; }

/* ---- stats.js ---- */
.count-particles {
  position: absolute;
  top: 48px;
  left: 0;
  width: 80px;
  color: #13E8E9;
  font-size: 0.8em;
  text-align: left;
  text-indent: 4px;
  line-height: 14px;
  padding-bottom: 2px;
  font-family: Helvetica, Arial, sans-serif;
  font-weight: bold;
  visibility: hidden; }

.js-count-particles {
  font-size: 1.1em; }

#stats,
.count-particles {
  -webkit-user-select: none;
  margin-top: 5px;
  margin-left: 5px; }

#stats {
  border-radius: 3px 3px 0 0;
  overflow: hidden; }

.count-particles {
  border-radius: 0 0 3px 3px; }

/* gtranslate */

#gtranslate_selector{
 position: absolute;
 left: 20px !important;
 z-index: 9999;
}
@media (max-width: 601px) {
    #gtranslate_selector{
        width: 130px;
        left: 0 !important;
        font-size: 10px;
        height: 25px;
    }
}
@media (max-width: 320px) {
    #gtranslate_selector{
        width: 100px;
        left: 0 !important;
        font-size: 10px;
        height: 20px;
    }
}