html {
    scroll-behavior: smooth;
    font-size: 16px;
}
/*
@media screen and (min-width: 320px) {
	html {
		font-size: calc(16px + 8 * ((100vw - 320px) / 1120));
	}
}
@media screen and (min-width: 1440px) {
  html {
    font-size: 1rem;
  }
}*/

#site_title{
    height:30px;
    font-size: 0.8rem;
    color: #757575;
    font-weight: bold;
    background-color: #ebebeb;
}

#area_switch_hidden_completed{
  display: inline-block;
  position: fixed;
  top: 6px;
  right: 5px;
  font-size:0.8em;
  z-index:10002;
}

#logout_site_header_block{
  position: relative;
}
#logout_site_header_image{
  filter: drop-shadow(3px 3px 5px #7a7360) opacity(90%);
}
#logout_site_header_title{
  box-shadow: 0px -6px 5px -5px #ff0 inset,0px 8px 4px -8px #FF0;
}
#logout_site_header_title {
    position: absolute;
    color: #ffffff;
    font-size: 2rem;
    bottom: 10px;
}
@media screen and (576px <= width) {
	#logout_site_header_title {
    position: absolute;
    color: #ffffff;
    font-size: 4rem;
    bottom: 10px;
	}
}
@media screen and (992px <= width) {
  #logout_site_header_title {
    position: absolute;
    color: #ffffff;
    font-size: 3rem;
    bottom: 20px;
  }
}
.site_title_text{
  font-family: 'Kosugi Maru', cursive;
}

.page-footer-section{
    background-color:#668ad8a9;
    font-size:0.8em;
}

.footer-icon{
    width:16px;
    height:16px;
    border:0px;
}

.nav_menu_button{
    height: 28px!important;
    width: 28px!important;
}

.dropdown_toggle_stamp{
    white-space: nowrap;
}
.dropdown_toggle_stamp::after{
    display: inline-block;
    font-family: "Material Icons Round";
    content: "\e5d2";
    font-size: 1.4rem;
    position: absolute;
    top: -2px;
    left: 2px;
    color:#bbbbbb;
}
.dropdown_toggle_stamp:empty::after {
    margin-left: 0;
}

#site_title a{
  text-decoration: none;
  color:#979797;
}

#header_logo_icon{
  height:25px;
  width:25px;
}


/*－－－－－－－－－－－－－－－－－－－－*/
/* いろいろなヘッダー */
.page_title_kadomaru {
    display: inline-block;
    position: relative;
    padding: 0.25em 1em;
    border: solid 2px black;
    border-radius: 3px 0 3px 0;
    font-size:2.5vmax;
}
.page_title_kadomaru:before, .page_title_kadomaru:after {
    box-sizing: unset;
    content: '';
    position: absolute;
    width:10px;
    height: 10px;
    border: solid 2px black;
    border-radius: 50%;
}
.page_title_kadomaru:after {
    top:-12px;
    left:-12px;
}
.page_title_kadomaru:before {
    bottom:-12px;
    right:-12px;
}


.page_title {
    display: inline-block;
    position: relative;
    min-height: 50px;
    padding-left: 50px;
    border-bottom: double 5px #FFC778;
    width: 100%;
}
.page_title::before{
    content: url('../images/questIcon_completed.png');
    transform: scale(0.25);
    display: inline-block;
    position: absolute;
    padding: 0;
    line-height: 40px;
    width: 40px;
    height: 40px;
    left: -12px;
    top: -18px;
}
.page_title_body{
    position: inherit;
    font-size:clamp(1.2rem, 7vw, 2rem);;
}
.page_title_user_name{
  font-size:1.2em;
  color:#0d6efd;
  font-weight:bold;
}



.h2_stamp {
    display: block;
    position: relative;
    min-height: 50px;
    padding-left: 50px;
    border-bottom: double 5px #FFC778;
    width: 100%;
    font-size:1.2em;
}
.h2_stamp::before{
    content: url('../images/questIcon_completed.png');
    transform: scale(0.25);
    display: inline-block;
    position: absolute;
    padding: 0;
    line-height: 40px;
    width: 40px;
    height: 40px;
    left: -12px;
    top: -18px;
}
.h2_stamp_body{
    position: initial;
    display: inline-block;
    vertical-align: -webkit-baseline-middle;
}

.h3_stamp{
    display: inline-block;
    position: relative;
    padding-left: 1em;
    padding-bottom: 0.3em;
    border-bottom: dotted 2px #c58c3d;
    font-size: 1em;
}
.h3_stamp::before{
  font-family: "Material Icons Round";
  content: "\e876";
  position: absolute;
  left : -0.5em; /*左端からのアイコンまで*/
  color: #25c155; /*アイコン色*/
}

#shortcut_to_name{
    position: sticky;
    z-index: 100;
    top: 35px;
    background-color: #ffffffa6;
}
#shortcut_to_name_body{
  max-height:70svh;
  overflow: auto;
}
.link_anchor_card_top{
  padding-top:100px!important;
  margin-top:-100px!important;
}
.link_anchor_card_top2:before {
    content: "";
    display: block;
    height: 100px; /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -100px; /* heightと同じ分のネガティブマージン */
    visibility: hidden;
}

/*－－－－－－－－－－－－－－－－－－－－*/
/* いろいろな色 */
.text-green-dark{color:#198754!important;}
.text-danger-pastel{color:#db4755!important;}
.bg-momo{background-color:#ffe8fc!important;}
.border-momo{border-color: #f0cceb!important;}
.bg-green-pastel{background-color:#daf5c6!important;}
.bg-green-dark-pastel{background-color:#9ce5c3!important;}
.bg-info-pastel{background-color:#c8f6ff!important;}
.bg-warning-pastel{background-color:#ffeaab!important;}
.bg-orange-pastel{background-color: #f7f3e9!important;}
.bg-danger-pastel{background-color:#f39999!important;}
.bg-nojob-pastel{background-color:#515255!important;}
.bg-tank-pastel{background-color:#606afa!important;}
.bg-healer-pastel{background-color:#67d651!important;}
.bg-dps-pastel{background-color:#f39999!important;}


/*－－－－－－－－－－－－－－－－－－－－*/
/* 強制的に隠す */
.hidden_force{
  display: none!important;
}

/*－－－－－－－－－－－－－－－－－－－－*/
/* Homeのタブを水平スクロール化 */
.custom-x-scroll-tab{
  padding-bottom:3px;
  overflow-x:scroll;
  overflow-y:hidden;
  flex-wrap: nowrap;
  display: -webkit-box;
}
@media (768px <= width) {
  .custom-x-scroll-tab{
    padding-bottom:3px;
    overflow-x:visible;
    overflow-y:visible;
    flex-wrap: wrap;
    display: flex;
  }
}

/*－－－－－－－－－－－－－－－－－－－－*/
/* 上部メニューをsticky */
.sticky-header-nav{
  position:-webkit-sticky; position:sticky; top:0;
  background-color:#ffffff;
  z-index: 10001;
}
.sticky-expansion-tab{
  position:-webkit-sticky; position:sticky; top:34px;
  background-color:#fffffff1;
  z-index: 10000;
}
.sticky-category-tab{
  position:-webkit-sticky; position:sticky; top:79px;
  background-color:#fffffff1;
  z-index: 10000;
}
.sticky-progress-bar{
  position:-webkit-sticky; position:sticky; top:124px;
  background-color:#fffffff1;
  z-index: 10000;
}
.sticky-add-detail-button-area{
  position:-webkit-sticky; position:sticky; top:34px;
  background-color:#ffffffb0;
  z-index: 100;
}
/*
@media (min-width: 768px) {
  .sticky-header-nav{
    position:-webkit-sticky; position:sticky; top:0;
    background-color:#ffffff;
    z-index: 10001;
  }
  .sticky-expansion-tab{
    position:-webkit-sticky; position:sticky; top:34px;
    background-color:#fffffff1;
    z-index: 10000;
  }
  .sticky-category-tab{
    position:-webkit-sticky; position:sticky; top:79px;
    background-color:#fffffff1;
    z-index: 10000;
  }
  .sticky-progress-bar{
    position:-webkit-sticky; position:sticky; top:138px;
    background-color:#fffffff1;
    z-index: 10000;
  }
}
@media (max-width: 767px) {
  .sticky-header-nav{
    position:-relative; top:0;
    background-color:#ffffff;
    z-index: 10001;
  }
  .sticky-expansion-tab{
    position:-webkit-sticky; position:sticky; top:0px;
    background-color:#fffffff1;
    z-index: 10000;
  }
  .sticky-category-tab{
    position:-webkit-sticky; position:sticky; top:45px;
    background-color:#fffffff1;
    z-index: 10000;
  }
  .sticky-progress-bar{
    position:-webkit-sticky; position:sticky; top:90px;
    background-color:#fffffff1;
    z-index: 10000;
  }
}
*/
.nav-tabs .nav-link.active {
    color: #495057;
    background-color: #fff5fee6;
    border-color: #f0cceb #f0cceb #ffffff;
}


/*－－－－－－－－－－－－－－－－－－－－*/
/* Homeの達成ボタンのON/OFF */
.btn-complete-check{
    background-color: #ffffff00;
    border-width: 0;
    width: 80px;
    height: 80px;
    position: relative;
    z-index: 101;
}
.btn-contents_complete_icon{
  display: inline-block;
  /* position: absolute; */
  /* bottom: 0; */
  /* right: 5px; */
  background-color: #ffffff00;
  border: 0;
  padding: 0;
  margin: 0;
  background-size: contain;
  /* width: 100%; */
  height: 80px;
  background-repeat: no-repeat;
}
.btn-contents_completed{
  background-image:url('../images/questIcon_completed.png');
  /*background-image:url('/static/images/questIcon_completed_v2.png');*/
}
.btn-contents_not_completed{
  background-image:url('../images/questIcon_offering.png');
  filter: grayscale(100%);
}

/*－－－－－－－－－－－－－－－－－－－－*/
/* Homeのコンテンツヘッダー画像のぼかしON/OFF */
.contents-image_blurON{
  -ms-filter: (15px);
  filter: blur(15px);
}
.contents-image_blurOFF{
  -ms-filter: none;
  filter: none;
}


/*－－－－－－－－－－－－－－－－－－－－*/
/* 要素の表示／非表示ON/OFF */
.is_hidden{
  display:none;
}
.is_show_contents{
  display:none;
}


/*－－－－－－－－－－－－－－－－－－－－*/
/* コンテンツヘッダー画像のON/OFF */
.not_available_image{
  font-size: 3em;
  color: #b6b6b6;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Hachi Maru Pop', cursive;
}
.not_available_image span.material-icons-outlined{
  font-size:1em;
  color:#b6b6b6;
}


/*－－－－－－－－－－－－－－－－－－－－*/
/* リンクボタン */
.btn-social-flat { 
    color: #484848;
    display: inline-flex;
    height: 40px;
    font-size: 1em;
    line-height: 40px;
    background: #eaeef1;
    text-decoration: none;
    margin: 0.5em;
}
.btn-social-flat-icon {
    display: flex;
    width: 40px;
    height: 40px;
    color: white;
    justify-content: center;
    align-items: center;
}
.btn-social-flat-icon i {
  font-size: 25px;
  line-height: 50px;
  transition: .3s;
}
.btn-social-flat-text {
    display: inline-block;
    text-align: center;
    padding: 0 0.8em;
}
.btn-social-flat:hover .btn-social-flat-icon i {
  -webkit-transform: rotateX(360deg);
  transform: rotateX(360deg);
}

.btn-social-flat-icon--green {
  background:#7ece46;
}


/*－－－－－－－－－－－－－－－－－－－－*/
/* リンクボタン */
.btn-social-isometric {
    color: #484848;
    display: inline-flex;
    height: 40px;
    font-size: 1em;
    line-height: 40px;
    background: #eaeef1;
    text-decoration: none;
    box-sizing: border-box;
    margin: 0.5em;
    border:0;
    padding:0;
}
.btn-social-isometric-icon {
  display: inline-block;
  width: 40px;
  height: 40px;
  text-align: center;
  color: white;
}
.btn-social-isometric-icon i {
    line-height: 40px;
    font-size: 25px;

}
.btn-social-isometric-text {
  display: inline-block;
  height: 40px;
  text-align: center;
  padding:0 0.8em;
  border-bottom: solid 4px #dcdcdc;
}
.btn-social-isometric:hover {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}
.btn-social-isometric:hover .btn-social-isometric-text, .btn-social-isometric:hover .btn-social-isometric-icon {
  border-bottom: none;
}

.btn-social-isometric-icon--blue {
  background:#a8b8ff;
  border-bottom: solid 4px #808cc0;
}

.btn-social-isometric-icon--green {
  background:#7ece46;
  border-bottom: solid 4px #65b130;
}

.btn-social-isometric-icon--warning {
  background:#f1d328;
  border-bottom: solid 4px #ceb52a;
}

.btn-social-isometric-icon--danger {
  background:#ff8f8f;
  border-bottom: solid 4px #bd6b6b;
}


/*－－－－－－－－－－－－－－－－－－－－*/
/* ログインボタン */
.btn_social_login {
  display: inline-block;
  width: 190px;
  border-radius: 5px;
  border: thin solid #888;
  box-shadow: 1px 1px 1px grey;
  white-space: nowrap;
  text-decoration:none;
}
.btn_social_login:hover {
  cursor: pointer;
}

.btn_social_login-twitter{
    background: rgb(29, 155, 240);
    color: #fff;
    width: 140px!important;
    /* font-size: 0.8rem!important; */
}
.btn_social_login > span.icon-twitter {
    background: url('../images/sign-in/Twitter_social_icons-square-blue.svg') transparent 0px 50% no-repeat;
    background-size: 100%;
    display: inline-block;
    vertical-align: middle;
    width: 25px;
    height: 30px;
}
.btn_social_login > span.buttonText-twitter {
    display: inline-block;
    vertical-align: middle;
    font-size: 10px;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
}

.btn_social_login-discord{
  background: #5865F2;
  color:#fff;
}
.btn_social_login > span.icon-discord {
  background: url('../images/sign-in/discord-mark-white.svg') transparent 0px 50% no-repeat;
  background-size: 80%;
  display: inline-block;
  vertical-align: middle;
  width: 42px;
  height: 42px;
}
.btn_social_login > span.buttonText-discord {
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
  font-weight: bold;
  /* Use the Roboto font that is loaded in the <head> */
  font-family: 'Roboto', sans-serif;
}

.btn_social_login-google{
  background: white;
  color: #444;
}
.btn_social_login > span.icon-google {
  background: url('../images/sign-in/btn_google_light_normal_ios.svg') transparent 0px 50% no-repeat;
  display: inline-block;
  vertical-align: middle;
  width: 42px;
  height: 42px;
}
.btn_social_login > span.buttonText-google {
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
  font-weight: bold;
  /* Use the Roboto font that is loaded in the <head> */
  font-family: 'Roboto', sans-serif;
}





/*－－－－－－－－－－－－－－－－－－－－*/
/* 外周にトピック表示のbox */
/* https://saruwakakun.com/html-css/reference/box#section5 */
.box26_detail_note_with_topic-title {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.box26_detail_note_with_topic-title .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}
.box26_detail_note_with_topic-title p {
    margin: 0; 
    padding: 10px;
}


/*－－－－－－－－－－－－－－－－－－－－*/
/* ページ要素 */



.btn-gradient-radius {
  display: inline-block;
  padding: 7px 20px;
  border-radius: 25px;
  text-decoration: none;
  color: #ffffff;
  background-image: linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%);
  transition: .4s;
  border-width:0;
}
.btn-gradient-radius:hover {
  background-image: linear-gradient(45deg, #FFC107 0%, #f76a35 100%);
}

.btn-stitch {
  display: inline-block;
  padding: 0.5em 1em;
  text-decoration: none;
  background: #668ad8;
  color: #FFF;
  border-radius: 4px;
  box-shadow: 0px 0px 0px 5px #668ad8;
  border: dashed 1px #FFF;
}
.btn-stitch:hover {
  border: dotted 1px #FFF;
}

/*－－－－－－－－－－－－－－－－－－－－*/
/* 送信中ボタン */
.btn-sending{
    opacity: 0.5;
}
.loading-icon {
  position: absolute;
  left:50%;
  box-sizing: border-box;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  box-shadow:
    0 -30px 0 #eee,     /*  上  */
    21px -21px 0 #ddd,  /* 右上 */
    30px 0 0 #ccc,      /*  右  */
    21px 21px 0 #bbb,   /* 右下 */
    0 30px 0 #aaa,      /*  下  */
    -21px 21px 0 #999,  /* 左下 */
    -30px 0 0 #666,     /*  左  */
    -21px -21px 0 #000; /* 左上 */
  animation: rotate 1s steps(8) 0s infinite;
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


.animoSpinner{ 
  position: absolute;
  left:50%;
  border:4px solid #E5EDFF;
  border-left-color:#f39c12;
  border-radius:50%;
  width:50px;
  height:50px;
  animation:spinner1 1.2s linear infinite
}
@keyframes spinner1{
  0%{
    transform:rotate(0)
  }
  100%{
    transform:rotate(360deg)
  }
}


.donutSpinner {
    position: absolute;
    top: 50%;
    left: 25%;
    display: inline-block;
    border: 14px double #E5EDFF;
    border-left-color: #5850EB;
    border-right-color: #f0cceb;
    border-radius: 50%;
    width: 200px;
    height: 200px;
    animation: donut-spin 1.2s linear infinite;
    z-index: 10000;
    opacity: 0.8;
}
@keyframes donut-spin {
  to {
    transform: rotate(1turn);
  }
}


/*－－－－－－－－－－－－－－－－－－－－*/
/* ローディングモーダル画面 */
.modal-dialog-loading{
  height:98vh;
}
/*－－－－－－－－－－－－－－－－－－－－*/
/* ローディングジャンピングボール */
.jumping_ball_pink {
    width: 20px;
    height: 20px;
    position: absolute;
    border-radius: 50%;
    background-color: pink;
    left: 15%;
    transform-origin: 50%;
    animation: jumping_ball_pink .5s alternate infinite ease;
}

@keyframes jumping_ball_pink {
    0% {
        top: 60px;
        height: 5px;
        border-radius: 50px 50px 25px 25px;
        transform: scaleX(1.7);
    }
    40% {
        height: 20px;
        border-radius: 50%;
        transform: scaleX(1);
    }
    100% {
        top: 0%;
    }
}

.jumping_ball_pink:nth-child(2) {
    left: 50%;
    animation-delay: .4s;
}

.jumping_ball_pink:nth-child(3) {
    left: 85%;
    animation-delay: .2s;
}

.jumping_ball_shadow {
    width: 20px;
    height: 4px;
    border-radius: 50%;
    background-color: rgba(220, 91, 81, .5);
    position: absolute;
    top: 62px;
    transform-origin: 50%;
    z-index: -1;
    left: 15%;
    filter: blur(1px);
    animation: jumping_ball_shadow .5s alternate infinite ease;
}

@keyframes jumping_ball_shadow {
    0% {
        transform: scaleX(1.5);
    }
    40% {
        transform: scaleX(1);
        opacity: .7;
    }
    100% {
        transform: scaleX(.2);
        opacity: .4;
    }
}

.jumping_ball_shadow:nth-child(4) {
    left: 50%;
    animation-delay: .2s
}

.jumping_ball_shadow:nth-child(5) {
    left: 85%;
    animation-delay: .3s;
}



/*－－－－－－－－－－－－－－－－－－－－*/
/* チェックボタン */
.check_checklist ul {
  border: 0;
  padding: 0.5em 0em 0.5em 0.8em;
  position: relative;
}

.check_checklist ul li {
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none!important;/*ポチ消す*/
}

.check_checklist ul li:before {
  font-family: "Material Icons Round";
  content: "\e876";
  position: absolute;
  left : -0.5em; /*左端からのアイコンまで*/
  color: #25c155; /*アイコン色*/
}



/*－－－－－－－－－－－－－－－－－－－－*/
/* リンクボタン */
.link_open_lodestone{
  height:18px;
  width:18px;
  border:0;
}

/* リンクAタグ後にアイコン表示 */
.link_internal::after{
  font-family: 'Material Icons';
  content: "\e157";
  vertical-align:text-bottom;
  font-weight: normal;
  font-style: normal;
  font-size: 18px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

.link_external::after{
  font-family: 'Material Icons';
  content: "\e89e";
  vertical-align:text-bottom;
  font-weight: normal;
  font-style: normal;
  font-size: 18px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}
/* リンクAタグ後にアイコン表示END */

/*－－－－－－－－－－－－－－－－－－－－*/
/* ページ上部へ移動ボタン */
.move_top_btn {
  cursor: pointer;
  width: 80px;
  height: 80px;
  background-color: #aaa;
  display: flex;
  justify-content: center;
  align-items:center;
  color: #fff;
  border-radius: 100px;
  position: fixed;
  right: 30px;
  bottom: 30px;
}

/*－－－－－－－－－－－－－－－－－－－－*/
/* ページ上部へ移動ボタン */
/* scroll_to_page */
#scroll_to_page-top{
    cursor: pointer;
    width: 70px;
    height: 70px;
    position: fixed;
    right: 5px;
    bottom: 0px;
    z-index: 2000;
    animation-name: smooth-fadein-out;
    animation-duration: 1s;
    animation-timing-function: ease;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-direction: normal;
}
@keyframes smooth-fadein-out {
  0% {opacity: 0;}
  100% {opacity: 0.6;}
}

#scroll_to_page-top span{
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    text-decoration: none;
    background-color: #88e18f91;
    border-radius: 50%;
}
#scroll_to_page-top span::before{
    font-family: 'Material Icons';
    font-weight: 900;
    content: '\eacf';
    font-size: 25px;
    color: #f9fafb;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -40px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}
#scroll_to_page-top span::after{
    white-space: pre;
    content: 'PAGE\ATOP';
    font-size: 13px;
    position: absolute;
    top: 29px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    color: #f9fafb;
    line-height: 0.9em;
}



.not_found_404 {
  color: #b6b6b6;
  display: flex;
  font-family: 'Hachi Maru Pop', cursive;
  font-size: 5rem;
  height: 80vh;
  align-items: center;
  justify-content: center;
}

.detail_no_data {
  color: #b6b6b6;
  display: flex;
  font-family: 'Mochiy Pop One', cursive;
  font-size: 5rem;
  align-items: center;
  justify-content: center;
}
.btn_link_to_detail{
    right: 5px;
    top: 5px;
    border: 2px solid #5b88ed;
    border-radius: 10px;
    background-color: #ffffffa1;
    height: 28px;
    width: 28px;
}
.link_to_detail{
    position: relative;
}
.link_to_detail .icon{
    position: absolute;
    top: -1px;
    font-size: 30px;
    color: #999999;
    text-shadow: 2px 1px 2px #cccccc;
}

.contents_detail_description{
  font-size:0.9em;
}
@media screen and (768px <= width) {
  .contents_detail_description{
    font-size:1.0em;
  }
}

.detail_data_image_quest_icon{
    transform: scale(0.8);
}

.detail_data_image_complete{

}
.detail_data_image_offering{
    filter: grayscale(100%);
    transform: skew(49deg, 330deg) scale(0.5);
    transform: rotate3d(0, 1, 1, 315deg) skew(25deg, 12deg) scale(0.8);
}
.detail_data_text_complete{
  font-family: 'Mochiy Pop One', cursive;
  font-size: clamp(2em, 3vw, 3em);
  color:#37c44d;
  box-shadow: 0px -6px 5px -5px #a2ee92 inset,0px 8px 4px -8px #D0D09D;
}
.detail_data_text_uncleared{
    font-family: 'Potta One', cursive;
    font-size: clamp(1.5em, 3vw, 3em);
    color: #5c554f;
    text-shadow: 4px 6px 10px #805e8b;
}
.detail_data_edit_button a{
  color:#6e6e6e;
}
.detail_icon_job{
  width:30px;
}
.detail_text_job{
    font-size: 1em;
}
@media screen and (768px <= width) {
  .detail_icon_job{
    width:35px;
  }
  .detail_text_job{
      font-size: 1.4em;
  }
}
@media screen and (992px <= width) {
  .detail_icon_job{
    width:45px;
  }
  .detail_text_job{
      font-size: 1.5em;
  }
}

.box25_contents_detail_card{
    position: relative;
    background: #fff2d4;
    box-shadow: 0px 0px 0px 5px #fff2d4;
    border: dashed 2px #e7d2b9;
    padding: 1.2em 1.5em;
    color: #454545;
}
.box25_contents_detail_card:after{
    position: absolute;
    content: '';
    right: -7px;
    top: -7px;
    border-width: 0 15px 15px 0;
    border-style: solid;
    border-color: #ffdb88 #fff #ffdb88;
    box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15);
}
.box25_contents_detail_card .box25_body{
    margin: 0; 
    padding: 0;
}

.contents_detail_setting_label{
    font-size:0.8em;
    background-color: #e7e7e7;
    padding: 0.2em 0.7em;
    margin: 0;
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.29);
}
.contents_detail_setting_label.setting_is_buff_true{ /* バフ効果の場合 */
    border-left: 8px solid #92ffaa;
}
.contents_detail_setting_label.setting_status_by_system { /* 100 */
  border-left:8px solid #9e0c0c;
}
.contents_detail_setting_label.setting_status_by_pc { /* 200 */
  border-left:8px solid #9e0c0c;
}
.contents_detail_setting_label.setting_pc_condition { /* 300 */
  border-left:8px solid #afa735;
}
.contents_detail_setting_label.setting_self_restrictions { /* 400 */
  border-left:8px solid #842bc0;
}
.detail_setting_icon_image{
  width:35px;
}
.btn_modal_send{
  color:#3f3bff;
  box-shadow: 0px -6px 5px -5px #a692ee inset,0px 8px 4px -8px #9da9d0;
}
.btn_modal_close{
  color:#a1a1a1;
  box-shadow: 0px -6px 5px -5px #5b5c48 inset,0px 8px 4px -8px #3f4146;
}
.detail_form_checkbox_settings {
  font-size:1.1rem;
  line-height: 1.6em;
}
.detail_form_checkbox_settings label{
  margin-left:1em;
}

.detail_modal_set_height{
    top:35px;
    height:80vh;
}
@media screen and (768px <= width) {
  .detail_modal_set_height{
      top:35px;
  }
}

#id_is_complete {
  display:flex;
  margin-bottom:2px;
}

#id_is_complete > div > label {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    transition: 0.25s;
    padding: 6px 18px;
    cursor: pointer;
    font-size: 14px;
    margin: 3px;
    background-color: #a4fdbc00;
    color:#585858;
    border: solid 2px #8b8b8b;
    border-radius: 20px;
}

/* @supportsがサポートされている場合のスタイル */
@supports (selector(:has(*))) {
  #id_is_complete > div > label {
      display: inline-block;
      text-align: center;
      text-decoration: none;
      transition: 0.25s;
      padding: 6px 18px;
      cursor: pointer;
      font-size: 14px;
      margin: 3px;
      background-color: #a4fdbc00;
      color:#b1b1b1;
      border: solid 2px #8b8b8b;
      border-radius: 20px;
  }
  #id_is_complete input[type='radio'] {
      display: none;
  }
  #id_is_complete > div > label:has(#id_is_complete_0:checked){
      background-color: #a4fdbb;
      color: #086439;
      border: solid 2px #76bf9d;
      border-radius: 10px;
  }
  #id_is_complete > div > label:has(#id_is_complete_1:checked){
      background-color: #8f8d55;
      color: #ffffff;
      border: solid 2px #ccc;
      border-radius: 10px;
  }
}

.form_detail_choice_job{
      width: 230px;
}
@media screen and (768px <= width) {
  .form_detail_choice_job{
      width: 300px;
  }
}

#job_name option[data-role='タンク_タンク']{
  background-color:#8aafe7;
  color:#fff;
}
#job_name option[data-role='タンク']{
  background-color:#e3eaff;
}
#job_name option[data-role='ヒーラー_ヒーラー']{
  background-color:#80df8e;
  color:#fff;
}
#job_name option[data-role='ヒーラー']{
  background-color:#e3ffe7;
}
#job_name option[data-role='DPS_DPS']{
  background-color:#e9a8b8;
  color:#fff;
}

#job_name option[data-role='DPS']{
  background-color:#ffe3ea;
}

.box17_detail_note{
    margin:2em 0;
    position: relative;
    padding: 0.5em 1.5em;
    border-top: solid 2px #adb5bd;
    border-bottom: solid 2px #adb5bd;
}
.box17_detail_note:before, .box17_detail_note:after{
    content: '';
    position: absolute;
    top: -10px;
    width: 2px;
    height: -webkit-calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: #adb5bd;
}
.box17_detail_note:before {left: 10px;}
.box17_detail_note:after {right: 10px;}
.box17_detail_note .box17_detail_note_body {
    margin: 0; 
    padding: 0;
}

.box19_detail_note {
    position: relative;
    padding:0.25em 1em;
}
.box19_detail_note:before,.box19_detail_note:after{ 
    content:'';
    width: 20px;
    height: 30px;
    position: absolute;
    display: inline-block;
}
.box19_detail_note:before{
    border-left: solid 1px #5767bf;
    border-top: solid 1px #5767bf;
    top:0;
    left: 0;
}
.box19_detail_note:after{
    border-right: solid 1px #5767bf;
    border-bottom: solid 1px #5767bf;
    bottom:0;
    right: 0;
}
.box19_detail_note .box19_detail_note_body {
    margin: 0; 
    padding: 0;
}

.box26_detail_note {
    position: relative;
    margin: 0;
    padding: 0.5em 1em;
    border: solid 3px #e7d397;
    border-radius: 8px;
}
.box26_detail_note .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #fff2d4;
    color: #dbb031;
    font-weight: bold;
}
.box26_detail_note .box26_detail_note_body {
    color: #996e07;
    margin: 0.5em 0;
    padding: 0;
    overflow-wrap: break-word;
}

.toast_error_header{
    background-color: #d78b8b;
    color: #fff;
}
.toast_error_body{
  background-color:#ffe5e5;
}

/* 集計ページのやつ */
.result_icon_job{
  width:clamp(25px, 100%, 30px);
  height:clamp(25px, 100%, 30px);
}

.tooltip_title{
  border-bottom:1px solid #ccc;
}

.userlist_setting ul,.userlist_setting  ol {
  color: #1e366a;
  border-top: solid #1e366a 1px;/*上のボーダー*/
  border-bottom: solid #1e366a 1px;/*下のボーダー*/
  padding: 0.5em 0 0.5em 0;
}

.userlist_setting ul li,.userlist_setting  ol li {
  line-height: 1.5;
  margin-left:2em;
}


@media (width <= 375px) {
  .lodestone-profile-image{
    width:100%;
    height:180px;
    object-fit:cover;
    object-position:0px -30px;
  }
}
@media (width > 375px) {
  .lodestone-profile-image{
    width:100%;
    max-width:500px;
    max-height:300px;
    object-fit:cover;
    object-position:0px -35px;
  }
}


@media (width <= 600px) {
  .original-profile-image{
    width:100%;
    height:250px;
    object-fit:contain;
  }
}
@media (width > 600px) {
  .original-profile-image{
    width:100%;
    max-height:350px;
    object-fit:contain;
  }
}

.card-chracter-name{
    background-color: #ffffff86;
    padding: 5px 0;
}
.new_updated_profile{
  font-weight:bold;
  color:#3fb744;
}

label.label_choice_job{
  & .cwls_profile_choices_job_icon{
    width:37px;
    margin:0 5px;
    cursor: pointer;
    filter: opacity(40%) blur(1px);
  }

  & input[type="checkbox"]:checked + .cwls_profile_choices_job_icon{
    filter: brightness(130%) saturate(200%) opacity(100%) drop-shadow(0 3px 5px rgb(0, 0, 0));
  }
}

.cwls_profile_view_job_icon{
    width: 20vw;
    max-width: 45px;
    filter: brightness(130%) saturate(200%) opacity(100%) drop-shadow(0 3px 5px rgb(0, 0, 0));
    margin: 0 5px;
}



/* アクティブタイム用CSS */
@media screen and (width >= 1251px) {
  table.edit_active_time {
    & tbody{
      & td{
        padding: 5px 2px;
        display: inline-block;
      }
    }

    & .btn_logintime{
        padding: 0;
        height: 80px;
        width: 25px;
        font-size: 0.8em;
        display: flex;
        justify-content: center;
        align-items: center;
        border: 1px solid #aaac39;
        border-radius: 5px;
        cursor: pointer;
    }
    & input[type="checkbox"]:checked + .btn_logintime {
      background-color: #d1d34a;
    }
  }
}

/* テーブル縦横入れ替え https://y-com.info/contents/?p=4346 */
@media screen and (width <= 1250px) {
    table.edit_active_time {
        width: 100%;
        & tr {
            display: block;
            float: left;
            width: 50%;
            & td,
            & th {
                display: block;
                padding: 2px 5px;
            }
        }

        & tbody {
            display: block;
            float: left;
            width:100%;
        }
    }

    & .btn_logintime{
        padding: 0;
        height: 35px;
        font-size: 0.8em;
        display: flex;
        justify-content: center;
        align-items: center;
        border: 1px solid #aaac39;
        border-radius: 5px;
        cursor: pointer;
    }
    & input[type="checkbox"]:checked + .btn_logintime {
      background-color: #d1d34a;
    }
}

table.showLogintime{
  width: 194px;
  font-size: 10px;

  & tr {
    display: block;
    float: left;
    border:0;

    & td,
    & th {
      display: flex;
      height: 11px;
      flex-wrap: wrap;
      flex-direction: column;
      justify-content: center;
      align-items: stretch;
      padding: 0;
      text-align: center;
    }
  }

  & thead {
    display: block;
    float: left;
    min-width: 25px;

    & tr {
      width: 100%;
    }
  }

  & tbody {
    display: block;
    float: left;
    width: calc(100% - 3em);
    min-width: calc(194px - 3em);

    & tr {
      min-width: calc((194px - 3em) / 2);
    }
  }

  & .bar_logintime{
    padding:0;

    & div{
      height:10px;
      margin: 1px 3px;
      border: dotted #7489a7 1px;
      border-radius: 50px;
    }
  }

  & .bar_active_logintime{
    & div{
      height:100%;
      margin: 1px 3px;
      border: solid #e3fd71 1px;
      border-radius: 50px;
      background-color: #d1d34a;
    }
  }
}

/* ＝＝＝　サマリーページ用　＝＝＝ */
.summary_container {
    display: flex;
    flex-direction: column; /* 要素を縦に並べる */
    justify-content: space-evenly; /* 要素を均等間隔に分散させる */
    width:100%;
}
.summary_bar {
    display: flex;
    box-sizing: border-box;
    background-color: #c6f7e0;
    padding: 4px;
    margin-bottom:3px;
}
.summary_bar_activeTime{
    display: flex;
    box-sizing: border-box;
    background-color: #c6f7e0;
    padding: 0px;
    margin-bottom: 2px;
    height: 16px;
    font-size: 11px;
}
/* 項目のキャプションが折り返してしまわないように設定 */
.summary_bar_label {
    white-space: nowrap;
    display: flex;
    align-items: center;
}
.summary_body_box{
  background-color: #ffffe4;
}
.summary_topic_total{ 
    display: inline-block;
    text-align: end;
    width: 2.2em;
    margin-right: 0.5em;
}


.cwls_summary_job_icon{
    width: 25px;
    filter: brightness(130%) saturate(200%) opacity(100%) drop-shadow(0 2px 2px rgba(73, 73, 73, 0.801));
    margin: 0 5px;
}
.summary_bar_Tank{
    background-color: #d1d9ff;
}

.summary_bar_Healer{
    background-color: #c6f7e0;
}

.summary_bar_DPS{
    background-color: #ffdede;
}

.summary_bar_Crafter{
    background-color: #ebd3ff;
}

.summary_bar_Gatherer{
    background-color: #f7ecc6;
}


/* GoogleAdsense枠 */
.GoogleAdSense_box27 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #62c1ce;
}
.GoogleAdSense_box27 .GoogleAdSense_box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #62c1ce;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.GoogleAdSense_box27 p {
    margin: 0; 
    padding: 0;
}
/* GoogleAdsense枠 ここまで */
