@charset "UTF-8";

/***** -- reset -- *****/
ins,mark{color:#000}article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section{display:block}a,hr{padding:0}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}body{line-height:1}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;font-size:100%;vertical-align:baseline;background:0 0}ins{background-color:transparent;text-decoration:none}mark{background-color:#ff9;font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{height:1px;border:0;border-top:1px solid #ccc;margin:.5em 0}input,select{vertical-align:middle}

/***** -- Foundation -- *****/
* {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
}
body {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: left;
  background: transparent;
  overflow-x: hidden;
  word-break: break-word;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-print-color-adjust: exact;
}
a {
  text-decoration: none;
} 

/***** -- Component  -- *****/
/* btn */
.c-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0 0.4em;
  position: relative;
  max-width: 100%;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  letter-spacing: .1em;
  padding: 1.5em 6em;
  background: initial;
  border: initial;
  border: 1px solid transparent;
  transition: all .2s ease;
  cursor: pointer;

  color: var(--color-on-button);
  background-color: var(--color-button);
}
.c-button:hover {
  opacity: .75;
}
.c-button__icon {
  font-size: 24px;
  font-size: 1.5em;
}
.c-button__text {
  font-size: 16px;
  min-width: 0;
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* flex */
.c-flex {
  display: flex;
  position: relative;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.c-flex > * {
  display: block;
  position: relative;
  max-width: 100%;
}
.c-flex--center {
  justify-content: center;
}

@media screen and (max-width: 960px) {
  .c-button__text {
    font-size: 15px;
  }
}
@media screen and (max-width: 640px) {
  .c-button__text {
    font-size: 14px;
  }
}
/***** -- Utility -- ******/
.is-pc    {display: block !important;}
.is-pc-tb {display: block !important;}
.is-pc-sp {display: block !important;}
.is-tb    {display: none !important;}
.is-tb-sp {display: none !important;}
.is-sp    {display: none !important;}
@media screen and (max-width: 1120px) {}
@media screen and (max-width: 960px) {
  .is-pc    {display: none !important;}
  .is-pc-tb {display: block !important;}
  .is-pc-sp {display: none !important;}
  .is-tb    {display: block !important;}
  .is-tb-sp {display: block !important;}
  .is-sp    {display: none !important;}
}
@media screen and (max-width: 800px) {}
@media screen and (max-width: 640px) {
  .is-pc    {display: none !important;}
  .is-pc-tb {display: none !important;}
  .is-pc-sp {display: block !important;}
  .is-tb    {display: none !important;}
  .is-tb-sp {display: block !important;}
  .is-sp    {display: block !important;}
}
@media screen and (max-width: 480px) {}