:root {
  /* --font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; */
  /* --font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; */
  /* --font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; */

  -- font-family:
  'Liberation Serif', 'Noto Sans CJK JP',  /* Linux/Android/ChromeOS */
  'TakaoGothic', 'VL Gothic',  /* Debian/Ubuntu */
  'Yu Gothic', 'MS Gothic',  /* Windows */
  'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Osaka-Mono',  /* Mac/iOS */
  'Noto Sans JP', Monospace;


  /* --font-size: clamp(12px, 1vw, 16px); */
  /* --font-size: clamp(12px, 141px, 16px); */ 
  /* --font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem); */
  /* --font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem); */
  /* --font-size: clamp(0.625rem, 0.534rem + 0.2vw, 0.875rem); */
  

  --font-size-s: clamp(1.1rem, calc(0.9rem + 0.625vw), 1.6rem);
  --font-size-m: clamp(1.2rem, calc(1rem + 0.625vw), 1.7rem);
  --font-size-l: clamp(2.4rem, calc(2.2rem + 0.625vw), 2.9rem);
 
  --font-size: 13px;
}

* {
  margin: 0;
  padding: 0;
}

html {
  background: var(--primary-bg);
  color: var(--primary-fg);
}

html, body {
  width: 100%;
  height: 100%;
  font-size: var(--font-size);
  font-family: var(--font-family);
}



/* SP */
//* @media screen and (min-width:480px) and (max-width:599px) { */
@media screen and (min-width:480px) {
  body {
    /* font-size: var(--font-size-s); */
  }
}


/* Tablet */
/* @media screen and (min-width:600px) and (max-width:959px) { */
@media screen and (min-width:600px) {
  body {
    /* font-size: var(--font-size-s); */
  }
}


/* PC small */
/* @media screen and (min-width:960px) and (max-width:1279px) { */
@media screen and (min-width:960px) {
  body {
    /* font-size: 1.6rem; */
  }
}


/* PC */
@media screen and (min-width:1280px) {
  body {
    /* font-size: 1.6rem; */
  }
}


body {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

button, h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family);
}

button {
  margin: 0;
  font-size: 1.0rem;
}


hr {
  margin: 0;
  padding: 0;
}

h1 {
  margin: 0;
  padding: 0;
  font-size: 2.0rem;
  font-weight: bold;
}
h2 {
  margin: 0;
  padding: 0;
  font-size: 1.8rem;
  font-weight: bold;
}
h3 {
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: bold;
}
h4 {
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  font-weight: bold;
}
h5 {
  margin: 0;
  padding: 0;
  font-size: 1.2rem;
  font-weight: bold;
}
h6 {
  margin: 0;
  padding: 0;
  font-size: 1.0rem;
  font-weight: bold;
}

input, textarea, select {
  font-size: 1.0rem;
  font-family: var(--font-family);
}

textarea {
  padding: 4px;
}

p {
  margin: 0;
  font-size: var(--font-size);
  font-family: var(--font-family);
  line-height: initial;
}


ul {
  list-style: none;
}

a {
  text-decoration: none;
}

dt {
 font-weight: normal;
}


/*========================================
 autocomplete
========================================*/
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--textfield-bg) inset;
  -webkit-text-fill-color: var(--textfield-fg);
}
input:autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--textfield-bg) inset;
  -webkit-text-fill-color: var(--textfield-fg);
}




/*========================================
 EXTW
========================================*/
.extw_row {
  display: flex;
}
.extw_rowx {
  display: inline-block;
}
.extw_row_wrap {
  flex-wrap : wrap;
  overflow-wrap: anywhere;
}

.extw_flex_center {
  justify-content: center;
  align-items: center;
  flex-wrap : wrap;
}
.extw_flex_baseline {
  align-items: baseline;
  flex-wrap : wrap;
}

.extw_table {
  display: table;
  width: 100%;
}
.extw_table_cell {
  display: table-cell;
  vertical-align: top;
}


.extw_box_radius_8px {
  border: 1px solid var(--border-color);
  border-radius: 8px;
  margin: 0rem 0.4rem 0.4rem 0rem;
  position: relative;
  background-color: var(--secondary-bg);
}
.extw_box_shadow_6px {
  box-shadow: 6px 6px 8px -4px var(--shadow-color);
}
.extw_button_box {
  all: initial;
  position: relative;
  width: 100%;
}
.extw_border_radius_10px {
  border-radius: 10px;
}


.extw_underline {
  text-decoration : underline;
}
.extw_hover_opacity:hover {
  opacity: 0.6;
}
.extw_hover_expansion_1_2 {
  display: inline-block;
  transition: .3s;
  -webkit-transform: scale(1);
  transform: scale(1);
}
.extw_hover_expansion_1_2:hover {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}


.extw_width_05rem {
  width: 0.5rem;
}
.extw_width_1rem {
  width: 1rem;
}


.extw_height_05rem {
  height: 0.5rem;
}
.extw_height_1rem {
  height: 1rem;
}
.extw_width_2rem {
  width: 2rem;
}


.extw_padding_02rem {
  padding: 0.2rem;
}
.extw_padding_04rem {
  padding: 0.4rem;
}
.extw_padding_06rem {
  padding: 0.6rem;
}
.extw_padding_08rem {
  padding: 0.8rem;
}


.extw_inline_block {
  display: inline-block;
  text-align: bottom;
}
.extw_box_1 {
  position: relative;
  margin: 1em 0;
  padding: 0.5em 1em;
  border: solid 2px var(--border-color);
  border-radius: 8px;
}
.extw_box_title {
  position: absolute;
  display: inline-block;
  top: -0.6rem;
  left: 0.6rem;
  padding: 0 0.4rem;
  line-height: 1;
  background: var(--primary-bg);
  color: var(--primary-fg);
  font-weight: bold;
}


.extw_left {
  flex: 1 0 auto;
}
.extw_right {
  flex: 0 1 auto;
}


.divControls {
  display: flex;
  justify-content: center;
  vertical-align: top;
  flex-wrap: wrap;
  gap: 1rem 1rem;
}


.large_button {
  width: 100%;
  height: 100px;
  background: var(--secondary-bg);
}

.large_button:hover {
  cursor: pointer;
  background-color: ivory;
}

.large_button:hover::after {
  /* transform-origin: left top;
  transform: scale(1, 1); */
}

.large_button:active {
  -webkit-transform: translate(0,2px);
  -moz-transform: translate(0,2px);
  transform: translate(0,2px);
  border-bottom: none;
}


/*-------- DL --------*/
dl.menu {
  width: 100%;
  font-size: 1rem;
}
dl.menu div {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: 5px 0;
  padding: 5px 0;
}
dl.menu div::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 1;
  width: 100%;
  border-bottom: dotted 1px var(--primary-fg);
}
dl.menu dt {
  margin: 0;
  padding: 0 10px 0 0;
  background-color: var(--primary-bg);
  color: var(--primary-fg);
  z-index: 2;
  text-align: left;
}
dl.menu dd {
  margin: 0;
  padding: 0 0 0 10px;
  background-color: var(--primary-bg);
  color: var(--primary-fg);
  z-index: 2;
  text-align: right;
}


dl.dl_1 div {
  width:100%;
  display: flex;
}
dl.dl_1 dt {
  float: left;
}
dl.dl_1 dd {
  margin-left: 0.6rem;
  /*width: 8rem;*/
  word-break: break-all;
}



dl.dl_table {
  width: 100%;
  overflow: hidden;
  border: 1px solid #ccc;
  border-top: none;
  background: #ddd;
}
dl.dl_table dt {
  width: 30%;
  float: left;
  padding: 4px;
  border-top: 1px solid #ccc;
  box-sizing: border-box;
}
dl.dl_table dd {
  margin-left: 30%;
  padding: 4px;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
  background: #fff;
}
dl.dl_table dd:after {
  display: block;
  content: "";
  clear: both;
}

@media screen and (max-width: 320px) {
  dl.dl_table dt{
    width: 100%;
    float: none;
  }
  dl.dl_table dd{
    margin-left: auto;
    border-left: none;
  }
}




/*-------- cp_link --------*/
.cp_link {
  position: relative;
  padding: 0.1em 0.3em;
  display: inline-block;
  transition: .3s;
  color: var(--link-fg);
}
.cp_link::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  content: '';
  width: 0;
  height: 2px;
  background-color: #FFDDFF;
  transition: .3s;
  transform: translateX(-50%);
}
.cp_link:hover {
  color: var(--link-hover-fg);
}
.cp_link:hover::after {
  width: 100%;
}



/*-------- dtx --------*/
dtx {
  margin-left: 0px; 
  margin-bottom: 4px;
  font-size: 0.8rem;
  font-weight: bold;

  /*
  padding-top: 1px;
  padding-bottom: 2px;
  */
  padding-left: 4px;
  
  border-left-width: 6px;
  border-left-style: solid;
  border-left-color: #CCCCCC;  
  
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #CCCCCC;
}

ddx {  
  margin-left: 16px;
  margin-bottom: 16px;
  font-size: 1rem;
  line-height: 1.8;

  /*
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #999999;    

  padding-left: 0px;
  padding-right: 0px;
  */
}


/*-------- pagination --------*/
.page_button {
  /* display: inline-block; */
  margin: 0.5px;
  padding: 0px 8px;
  /* height: 1.8rem; */
  line-height: 1.8rem;
  text-align: center;
  border: 1px var(--border-color) solid;
  border-radius: 5px / 5px;
  box-shadow: 4px 4px 6px -4px var(--shadow-color);
  background-color: #FFFFFF;
  color: dimgray;
}
.page_button:disabled {
  background-color: #FFFFFF;
  color: gainsboro;
  opacity: 0.5;
}
.page_button_selected {
  /* display: inline-block; */
  margin: 0.5px;
  padding: 0px 8px;
  /* height: 1.8rem; */
  line-height: 1.8rem;
  text-align: center;
  border: 1px var(--border-color) solid;
  border-radius: 5px / 5px;
  box-shadow: 4px 4px 6px -4px var(--shadow-color);
  background-color: paleturquoise;
  color: dimgray;
}


h3.headline1 {
  position: relative;
  padding: 0.25em 0;
  color: #800080;
}
h3.headline1:after {
  content: "";
  display: block;
  height: 4px;
  background: -webkit-linear-gradient(to right, rgb(380, 90, 90), transparent);
  background: linear-gradient(to right, rgb(230, 90, 90), transparent);
}


.area_selected {
  margin: 0;
  color: hotpink;
  font-size: 1.2rem;
  font-weight: bold;
  text-shadow: 1px 0 3px gray;
}

.area_selection {
  align-items:flex-end
}


.sample09 {
  border-bottom: 2px solid #ff3333;
  font-size: 120%;
}


.test1 {
  width: 90%;
}

.merchandiseMenuBox {
  width: 100%;
  /* padding: 0 0rem 0 0;
  background: yellow; */
}
.merchandiseMenuSubTitleBox {
  height: 1.2rem;
  /* background: red; */
}
.merchandiseMenuList {
}




/*========================================
 MDC
========================================*/
.mdc-text-field--outlined {
  height: 2.2rem;
}

.mdc-text-field--dense {
  background: var(--textfield-bg);
}

.mdc-text-field {
  padding: 0 0.6rem;
}

.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input {
  color: var(--textfield-fg);
}

.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading, .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__notch, .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {
  border-color: var(--textfield-outline);
}

.mdc-form-field {
  color: var(--textfield-fg);
}


.mdc-text-field__icon--leading {
 margin-left: 0.6rem;
 margin-right: 0.6rem;
 color: initial
}

.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon--leading {
 color: var(--textfield-fg);
}




/*========================================
 MDL
========================================*/
.mdl-textfield {
  width: initial;
}

.mdl-button {
  font-size: 1.1rem;
  font-weight: 500;
  min-width: 7rem;
  color: var(--primary-fg);
  text-transform: initial;
}
.mdc-button--raised:disabled {
  background-color: gray;
}



.mdl-mini-footer {
  padding: 0.5rem 1.5rem;
  color: var(--secondary-fg);
  background-color: var(--secondary-bg);
}

.mdl-dialog__title {
  padding: 1rem 1rem 0;
  font-size: 1.4rem;
}
.mdl-dialog__content {
  padding: 1rem 1rem;
  text-align: left;
}
.mdl-dialog__content {
  padding: 0.6rem 0.6rem;
}
.mdl-dialog__actions {
  padding: 1rem 0.8rem;
}
.mdl-js-ripple-effect {
 // all: initial;
}

.mdl-cell {
 margin: 6px;
}

.mdl-layout__drawer .mdl-navigation .mdl-navigation__link {
  padding: 8px;
}

textarea.mdl-textfield__input {
  background: var(--textfield-bg);
  color: var(--textfield-fg);
  border-color: var(--textfield-outline);
  border-radius: 3px;  
  border: 1px solid var(--textfield-outline); 
}

.mdl-textfield__label {
  color: var(--primary-fg);
}

.mdl-textfield--floating-label.is-focused .mdl-textfield__label, .mdl-textfield--floating-label.is-dirty .mdl-textfield__label, .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {
  color: var(--primary-fg);
  font-size: initial;
  top: 0.1rem;
  visibility: visible;
}

.mdl-card__supporting-text {
  padding: 10px;
  width: initial;
}

.mdl-checkbox__box-outline {
  background: var(--textfield-bg);
  border: 2px solid var(--textfield-outline);
}

.mdl-radio__outer-circle {
  // background: var(--textfield-bg);
  border: 1px solid var(--textfield-fg);
}
.mdl-radio__inner-circle {
  background: var(--mdc-theme-primary);
}

.mdl-navigation__link {
  color: var(--primary-fg);
  text-decoration: none;
  margin: 0.5rem;
  font-size: 1.0rem;
  font-weight: 400;
  line-height: 1.5rem;
  letter-spacing: 0;
  opacity: .90;
}


dialog {
  padding: 0.6rem;
}

.mdl-layout__header {
  min-height:54px;
}
.mdl-layout__header-row {
  height: 54px;
}

.mdl-layout__drawer {
  background: var(--secondary-bg);
}




/*========================================
 input type=date
========================================*/
.date_label {
  position: relative;
  display: inline-block;
  width: 200px;
  height: 36px;
  border: 1px solid darkgray;
  border-radius: 4px;
}
.date_label_xxxx::before {
  position: absolute;
  content: "";
  top: 6px;
  right: 2px;
  width: 32px;
  height: 32px;
  background-image: url("images/calendar_32x32.png");
  background-repeat: no-repeat;
  background-position: center;
  /*background-color: #06c;*/
  /*border-radius: 6px;*/
}

input[type="date"] {
  position: relative;
  padding: 0 10px;
  width: 200px;
  height: 36px;
  border: 0;
  background: transparent;
  box-sizing: border-box;
  font-size: 14px;
  color: #999;
}
input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  padding: 0;
  top: 5px;
  right: 5px;
  width: 26px;
  height: 26px;
  color: transparent;
  cursor: pointer;
}
/*
input[type="date"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
input[type="date"]::-webkit-clear-button {
  -webkit-appearance: none;
}
*/


.boxes2 {
  display: flex;
}




/*-------- dndArea --------*/
.dndArea {
  padding: 0.4em;
  display: flex;
  flex-direction: column;
  text-align: center;
  border: 1px var(--border-color) dashed;
}





.media_grid {  
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  margin: 0.5rem;
}

.media_cell {
  margin: 0.2rem 0.5rem 1rem 0.5rem;
}

.media_icon {
  position: relative;
  top: -50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 2rem;
  text-align: center;
}

.media_message {
  position: relative;
  top: -50%;
  font-size: 0.8rem;
  text-align: center;
}

.loader {
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: 
    radial-gradient(farthest-side,#ffa516 94%,#0000) top/8px 8px no-repeat,
    conic-gradient(#0000 30%,#ffa516);
  -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0);
  animation: l13 1s infinite linear;

  position: relative;
  top:  calc(-50% - 25px);
  left: calc(50% - 25px); 
}
@keyframes l13{ 
  100%{transform: rotate(1turn)}
}

