@charset "UTF-8";
/*sm用（599px以下）*/
/*Reset*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article,
section.alone, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, section.alone, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/*↑Reset*/
/*Base*/
html {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

body {
  background-color: #fff;
  color: #222;
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
}

a {
  text-decoration: none;
  color: #222;
}
a:visited {
  color: #666;
}
a:hover {
  color: #ccc;
}

a img {
  -moz-transition: 0.6s;
  -o-transition: 0.6s;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}
a img:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}

#container {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
}

/*↑Base*/
/*Header*/
header {
  width: 100%;
  overflow: visited;
  background: #fff;
  background-image: url("../img/common/header/2020header_s.jpg");
  background-repeat: repeat-x;
  background-position: top center;
  background-size: auto 60px;
}

@media (-webkit-device-pixel-ratio: 2) {
  header {
    background-image: url("../img/common/header/2020header_s@2x.jpg");
  }
}
#header_inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0;
  display: block;
  overflow: visited;
}

/*Page Top*/
#pagetop {
  position: fixed;
  bottom: 20px;
  right: 2px;
}
#pagetop i {
  padding-top: 6px;
}
#pagetop a {
  display: block;
  z-index: 999;
  padding: 0;
  text-decoration: none;
  text-align: center;
  writing-mode: vertical-rl;
}
#pagetop a:hover {
  text-decoration: none;
  opacity: 0.9;
}

/*Main*/
main {
  width: 100%;
  overflow: hidden;
  background-color: #fff;
  padding: 0 0 30px 0;
  text-align: center;
}

article, section.alone {
  max-width: 599px;
  margin: 0 auto;
  padding: 10px 10px 0 10px;
  display: block;
  overflow: hidden;
}

article a, section.alone a {
  font-weight: 700;
}

section.alone-top {
  max-width: 599px;
  margin: 0 auto;
  padding: 30px 10px 40px 10px;
  display: block;
  overflow: hidden;
}

section.alone-bottom {
  max-width: 599px;
  margin: 0 auto;
  padding: 10px 10px 40px 10px;
  display: block;
  overflow: hidden;
}

.no-hidden {
  overflow: visible !important;
}

.hidden {
  overflow: hidden !important;
}

.sc-inbox {
  padding: 10px 0 10px 0;
}

.sc-inbox_notop {
  padding: 0 0 10px 0;
}

.txt-box {
  max-width: 100%;
  margin: 0 auto;
  padding: 0px 10px;
  display: block;
  overflow: hidden;
  text-align: left;
}
.txt-box p {
  margin-bottom: 1em;
}
.txt-box p.m-no {
  margin-bottom: 0;
}
.txt-box p:last-of-type {
  margin-bottom: 0;
}

.txt-box-alone {
  max-width: 100%;
  margin: 0 auto;
  padding: 20px 10px 10px 10px;
  display: block;
  overflow: hidden;
  text-align: left;
}
.txt-box-alone p {
  margin-bottom: 1em;
}
.txt-box-alone p.m-no {
  margin-bottom: 0;
}
.txt-box-alone p:last-of-type {
  margin-bottom: 0;
}

.inline-box {
  display: inline-block;
  text-align: left;
}

.center-box {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  text-align: center;
}

/*p段落なし*/
.inbox {
  max-width: 100%;
  margin: 0 auto;
  padding: 20px 10px 10px 10px;
  display: block;
  overflow: hidden;
  text-align: left;
}

.border-box {
  padding: 20px;
  border: 1px solid #777;
}

.border-dashed-box {
  border: 1px dashed #777;
}

.border-dotted-box {
  border: 1px dotted #777;
}

.box-color-p {
  border-color: #e4007f;
}

/*hr*/
hr {
  height: 0;
  margin: 25px 0;
  padding: 0;
  border: 0;
  border-top: 2px dotted #777;
}

hr.line-hr {
  height: 0;
  margin: 25px 0;
  padding: 0;
  border: 0;
  border-top: solid 1px #222;
}

/*見出し*/
h1 {
  font-size: 18px;
  font-size: 1.125rem;
  width: 100%;
  line-height: 1.7;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 10px 0 10px 0;
  margin: 0 0 15px 0;
  display: inline-block;
  border-bottom: 2px solid #333;
  font-family: Reimin Medium;
}

h2 {
  font-size: 16px;
  font-size: 1rem;
  width: 100%;
  line-height: 1.7;
  font-weight: bold;
  letter-spacing: 0.08em;
  padding: 5px;
  margin: 0 0 20px 0;
  display: inline-block;
  border-bottom: 1px solid #333;
  font-family: Reimin Medium;
  text-align: left;
}

h3 {
  font-size: 15px;
  font-size: 0.9375rem;
  width: 100%;
  line-height: 1.7;
  font-weight: bold;
  letter-spacing: 0.07em;
  padding: 5px;
  margin: 20px 0;
  display: inline-block;
  border-bottom: 1px dotted #666;
  font-family: Reimin Medium;
  text-align: left;
}

h4 {
  font-size: 15px;
  font-size: 0.9375rem;
  width: 100%;
  line-height: 1.7;
  font-weight: bold;
  letter-spacing: none;
  padding: 0 0 7px 22px;
  margin: 0;
  display: inline-block;
  border-bottom: none;
  text-align: left;
  position: relative;
  line-height: 22px;
}

/*ナンバリング装飾*/
.squ-num1:before {
  content: 'looks_one';
  font-family: "Material Icons";
  font-size: 22px;
  font-size: 1.375rem;
  position: absolute;
  top: 0;
  left: 0;
}

.squ-num2:before {
  content: 'looks_two';
  font-family: "Material Icons";
  font-size: 22px;
  font-size: 1.375rem;
  position: absolute;
  top: 0;
  left: 0;
}

.squ-num3:before {
  content: 'looks_3';
  font-family: "Material Icons";
  font-size: 22px;
  font-size: 1.375rem;
  position: absolute;
  top: 0;
  left: 0;
}

.squ-num4:before {
  content: 'looks_4';
  font-family: "Material Icons";
  font-size: 22px;
  font-size: 1.375rem;
  position: absolute;
  top: 0;
  left: 0;
}

.squ-num5:before {
  content: 'looks_5';
  font-family: "Material Icons";
  font-size: 22px;
  font-size: 1.375rem;
  position: absolute;
  top: 0;
  left: 0;
}

.squ-num6:before {
  content: 'looks_6';
  font-family: "Material Icons";
  font-size: 22px;
  font-size: 1.375rem;
  position: absolute;
  top: 0;
  left: 0;
}

/*font*/
strong {
  font-weight: 700;
}

small {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.4;
}

/*dl*/
dl.dl-basic {
  width: 100%;
}
dl.dl-basic dt {
  color: #222;
}
dl.dl-basic dd {
  color: #222;
  margin-bottom: 10px;
}
dl.dl-basic dd:last-child {
  margin-bottom: 0;
}

dl.dl-gaiyo {
  width: 100%;
}
dl.dl-gaiyo dt {
  color: #707070;
}
dl.dl-gaiyo dd {
  color: #222;
  margin-bottom: 10px;
}
dl.dl-gaiyo dd:last-child {
  margin-bottom: 0;
}

dl.col-list {
  width: 100%;
  text-align: left;
}
dl.col-list dt {
  font-size: 15px;
  font-size: 0.9375rem;
  font-family: Reimin Medium;
  font-weight: 700;
  padding: 2px 0 2px 10px;
  margin: 0 0 10px;
  display: block;
  border-left: 4px solid #333;
}
dl.col-list dd {
  padding: 0 0 40px 10px;
}

dl.dl-sche, dl.dl-sche_en {
  width: 100%;
  text-align: left;
}
dl.dl-sche dt, dl.dl-sche_en dt {
  font-weight: 700;
  line-height: 1.3;
}
dl.dl-sche dd, dl.dl-sche_en dd {
  padding: 0 0 10px 10px;
}
dl.dl-sche dd:last-child, dl.dl-sche_en dd:last-child {
  margin-bottom: 0;
}

dl.entry-flow {
  width: 100%;
}
dl.entry-flow > dt {
  font-weight: 700;
  margin-bottom: 5px;
}
dl.entry-flow > dd {
  padding: 0 0 30px 0;
}
dl.entry-flow > dd .entry-w, dl.entry-flow > dd .entry-y {
  width: 100%;
  padding: 0;
  background: #f8f8f8;
}
dl.entry-flow > dd > .col1 {
  padding: 10px;
}

.entry-type {
  display: block;
  background: #fbff47;
  padding: 5px;
  text-align: center;
}

.entry-txt {
  padding: 10px;
}

/*ul*/
ul.d-list {
  width: 100%;
  padding: 0 0 20px 0;
}
ul.d-list li {
  position: relative;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: 1em;
  text-align: left;
  overflow: hidden;
}
ul.d-list li:last-child {
  padding-bottom: 0;
}

ul.d-list > li::after {
  display: block;
  content: "◆";
  position: absolute;
  left: 0;
  font-size: 10px;
  font-size: 0.625rem;
  top: 11px;
}

ul.d-list_n {
  width: 100%;
  padding: 0 0 20px 0;
}
ul.d-list_n li {
  position: relative;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
  padding-left: 1em;
  text-align: left;
  overflow: hidden;
}
ul.d-list_n li:last-child {
  padding-bottom: 0;
}

ul.d-list_n > li::after {
  display: block;
  content: "◆";
  position: absolute;
  left: 0;
  font-size: 10px;
  font-size: 0.625rem;
  top: 8px;
}

ul.d-list_inline {
  width: auto;
  padding: 0 0 20px 0;
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}
ul.d-list_inline li {
  position: relative;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: 1em;
  text-align: left;
  overflow: hidden;
}
ul.d-list_inline li:last-child {
  padding-bottom: 0;
}
ul.d-list_inline > li {
  display: inline-block;
}

ul.d-list > li::after {
  display: block;
  content: "◆";
  position: absolute;
  left: 0;
  font-size: 10px;
  font-size: 0.625rem;
  top: 11px;
}

ul.c-list {
  width: 100%;
  padding: 0 0 20px 0;
}
ul.c-list li {
  position: relative;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: 0;
  text-align: left;
  overflow: visible;
}
ul.c-list li:last-child {
  padding-bottom: 0;
}
ul.c-list > li {
  list-style-type: disc;
  list-style-position: outside;
  margin-left: 1em;
}

ul.c-list_n {
  width: 100%;
  padding: 0 0 20px 0;
}
ul.c-list_n li {
  position: relative;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
  padding-left: 0;
  text-align: left;
  overflow: visible;
}
ul.c-list_n li:last-child {
  padding-bottom: 0;
}
ul.c-list_n > li {
  list-style-type: disc;
  list-style-position: outside;
  margin-left: 1em;
}

ul.sq-list {
  width: 100%;
  padding: 0 0 20px 0;
}
ul.sq-list li {
  position: relative;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: 0;
  text-align: left;
  overflow: visible;
}
ul.sq-list li:last-child {
  padding-bottom: 0;
}
ul.sq-list > li {
  list-style-type: square;
  list-style-position: outside;
  margin-left: 1em;
}

ul.sq-list_n {
  width: 100%;
  padding: 0 0 20px 0;
}
ul.sq-list_n li {
  position: relative;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
  padding-left: 0;
  text-align: left;
  overflow: visible;
}
ul.sq-list_n li:last-child {
  padding-bottom: 0;
}
ul.sq-list_n > li {
  list-style-type: square;
  list-style-position: outside;
  margin-left: 1em;
}

ul.ar-list {
  width: 100%;
  padding: 0 0 20px 0;
}
ul.ar-list li {
  position: relative;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: 1em;
  text-align: left;
  overflow: visible;
}
ul.ar-list li:last-child {
  padding-bottom: 0;
}
ul.ar-list > li {
  list-style: none;
  word-break: normal;
}

ul.ar-list > li::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  font-family: "icomoon";
  font-size: 14px;
  font-size: 0.875rem;
  top: 8px;
}

ul.ar-list_n {
  width: 100%;
  padding: 0 0 20px 0;
}
ul.ar-list_n li {
  position: relative;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
  padding-left: 1em;
  text-align: left;
  overflow: hidden;
}
ul.ar-list_n li:last-child {
  padding-bottom: 0;
}

ul.ar-list_n > li::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  font-family: "icomoon";
  font-size: 14px;
  font-size: 0.875rem;
  top: 4px;
}

ul.ast-list {
  width: 100%;
  padding: 0 0 20px 0;
}
ul.ast-list li {
  position: relative;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: 1em;
  text-align: left;
  overflow: hidden;
}
ul.ast-list li:last-child {
  padding-bottom: 0;
}

ul.ast-list > li::after {
  display: block;
  content: "❊";
  position: absolute;
  left: 0;
  font-size: 14px;
  font-size: 0.875rem;
  top: 8px;
}

ul.ast-list_n {
  width: 100%;
  padding: 0 0 20px 0;
}
ul.ast-list_n li {
  position: relative;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
  padding-left: 1em;
  text-align: left;
  overflow: hidden;
}
ul.ast-list_n li:last-child {
  padding-bottom: 0;
}

ul.ast-list_n > li::after {
  display: block;
  content: "❊";
  position: absolute;
  left: 0;
  font-size: 14px;
  font-size: 0.875rem;
  top: 4px;
}

/*販売協力・レストランリスト*/
.sales-list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  width: 100%;
  padding: 0 0 20px 0;
}
.sales-list li {
  position: relative;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: 1em;
  text-align: left;
  overflow: hidden;
}
.sales-list li:last-child {
  padding-bottom: 0;
}

.sales-list > li::after {
  display: block;
  content: "◆";
  position: absolute;
  left: 0;
  font-size: 10px;
  font-size: 0.625rem;
  top: 11px;
}

/*後援リスト*/
.sup-list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  padding: 20px 0;
}
.sup-list > li {
  width: 50%;
  padding: 3px;
  height: 90px;
}
.sup-list > li > .sup-box {
  border: 1px solid #777;
  padding: 10px;
  width: 100%;
  height: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.sup-list > li > .sup-box > .sup {
  text-align: center;
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.4;
  display: block;
  overflow: hidden;
}
.sup-list > li > .sup-box > .sup > img {
  width: 94%;
  max-width: 200px;
  height: auto;
  padding-top: 8px;
}
.sup-list > li > .sup-box > .sup > a img {
  width: 94%;
  max-width: 200px;
  height: auto;
  padding-top: 8px;
}

.sherry-right {
  float: right;
  padding-left: 10px;
}

/*ol*/
ol {
  padding: 0;
}
ol > li {
  list-style-type: decimal;
  list-style-position: outside;
  padding-left: 3px;
  margin-left: 1em;
  margin-bottom: 1em;
  vertical-align: top;
}

ol.ol_s {
  padding: 0;
}
ol.ol_s > li {
  display: list-item;
  list-style-type: decimal;
  list-style-position: outside;
  vertical-align: top;
  padding: 3px 0 3px 3px !important;
  margin: 0 0 0 1.5em !important;
  line-height: 1.6;
  overflow: visible;
}

/*table*/
table.basic {
  width: auto;
}
table.basic th {
  padding: 10px;
  border-top: solid 1px #777;
  border-bottom: solid 1px #777;
  background: #F2F2F2;
  white-space: nowrap;
}
table.basic td {
  padding: 10px;
  border-top: solid 1px #777;
  border-bottom: solid 1px #777;
  background: #fff;
  text-align: left;
}

/*上下左右枠付き*/
table.full-b {
  margin: 5px 0;
}
table.full-b th {
  padding: 10px;
  border: solid 1px #777;
  background: #F2F2F2;
  white-space: nowrap;
  text-align: center;
}
table.full-b td {
  padding: 10px;
  border: solid 1px #777;
  background: #fff;
  text-align: center;
  vertical-align: top;
}

/*上下左右枠付き小サイズ*/
table.full-b_s {
  width: auto;
}
table.full-b_s th {
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: bold;
  padding: 10px;
  border: solid 1px #777;
  background: #F2F2F2;
  white-space: nowrap;
  text-align: center;
}
table.full-b_s td {
  font-size: 10px;
  font-size: 0.625rem;
  padding: 10px;
  border: solid 1px #777;
  background: #fff;
  text-align: center;
  vertical-align: top;
}

/*上下左右枠付き小サイズ　可変*/
table.full-b_res {
  width: 100%;
}
table.full-b_res th {
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: bold;
  padding: 10px;
  border: solid 1px #777;
  background: #F2F2F2;
  text-align: center;
}
table.full-b_res td {
  font-size: 10px;
  font-size: 0.625rem;
  padding: 10px;
  border: solid 1px #777;
  background: #fff;
  text-align: center;
  vertical-align: top;
}

/*メールフォーム　table*/
table.mailform {
  width: auto;
  margin: 0 auto;
  border-top: solid 1px #777;
  font-size: 14px;
  font-size: 0.875rem;
}
table.mailform th {
  background: #F2F2F2;
  padding: 15px 30px;
  border-bottom: solid 1px #777;
  background: #F2F2F2;
  white-space: nowrap;
  vertical-align: top;
}
table.mailform td {
  padding: 15px 30px;
  border-bottom: solid 1px #777;
  background: #fff;
  text-align: left;
}
table.mailform td > input {
  width: 100%;
  max-width: 300px;
  padding: 5px;
}
table.mailform td > input.w500 {
  width: 100%;
  max-width: 500px;
  padding: 5px;
}
table.mailform td > input.w100 {
  width: 100%;
  max-width: 100px;
  padding: 5px;
}
table.mailform td > textarea {
  width: 100%;
  height: 6em;
  padding: 5px;
}

.formbutton {
  width: 100%;
  text-align: center;
  padding: 20px;
}

@media (max-width: 598px) {
  table.mailform {
    width: 100%;
  }
  table.mailform th {
    display: block;
    padding: 10px;
  }
  table.mailform td {
    display: block;
    padding: 10px;
  }
}
/*審査員一覧用table*/
table.judgestable {
  width: 100%;
  border-top: solid 1px #777;
}
table.judgestable td {
  padding: 10px;
  border-bottom: solid 1px #777;
  text-align: left;
  font-size: 12px;
  font-size: 0.75rem;
  vertical-align: middle;
}
table.judgestable td > img {
  width: 50px;
  height: auto;
  padding: 0;
  margin: 0;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  vertical-align: middle;
}

.reader {
  background: #fff4f9;
}

.judges_spb {
  font-weight: bold;
  background: #f8f8f8;
}

/*サイドメニュー*/
.sidebar-container {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  width: 100%;
  /*overflow: hidden;*/
}
.sidebar-container .main {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0;
}
.sidebar-container .main p {
  margin-bottom: 1em;
}
.sidebar-container .main p.m-no {
  margin-bottom: 0;
}
.sidebar-container .main p:last-of-type {
  margin-bottom: 0;
}
.sidebar-container .sidebar {
  display: block;
  width: 100%;
  text-align: left;
}
.sidebar-container .sidebar .sidebar-item {
  width: 100%;
  padding: 0;
  background: #f8f8f8;
}
.sidebar-container .sidebar .sidebar-item .side-title {
  display: block;
  width: 100%;
  padding: 5px;
  text-align: center;
  background: #fbff47;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
}
.sidebar-container .sidebar .sidebar-item .side-txt {
  width: 100%;
  padding: 10px 10px;
}

.news-date {
  display: inline-block;
  float: left;
  font-size: 14px;
  font-size: 0.875rem;
}

.bn-list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.bn-list li {
  display: inline-block;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 2;
  padding: 0 1em;
}
.bn-list li > a {
  font-weight: normal;
}

.bn-small li {
  font-size: 13px;
  font-size: 0.8125rem;
  white-space: nowrap;
  line-height: 2.4em;
}

.sp-box {
  width: 100%;
  height: 12px;
  background: #fff;
}

/*font種類*/
.reimin {
  font-family: Reimin Medium;
}

.shimanami {
  font-family: Shimanami;
}

.kyoukasho {
  font-family: Kyoukasho ICA Medium;
}

.sakuragi {
  font-family: SakuraKeisetsu;
}

.robot-con {
  font-family: "Roboto Condensed", sans-serif;
}

/*フォントサイズ*/
.font-12 {
  font-size: 12px;
  font-size: 0.75rem;
}

.font-14 {
  font-size: 14px;
  font-size: 0.875rem;
}

.font-16 {
  font-size: 16px;
  font-size: 1rem;
}

.font-18 {
  font-size: 18px;
  font-size: 1.125rem;
}

.font-20 {
  font-size: 20px;
  font-size: 1.25rem;
}

/*テキスト装飾*/
.txt_b {
  font-weight: 700;
}

.txt-u {
  text-decoration: underline;
}

.txt-u_b {
  text-decoration: underline;
  font-weight: 700;
}

.txt-through {
  text-decoration: line-through;
}

.red-15p-17p {
  color: #e60033;
  font-size: 15px;
  font-size: 0.9375rem;
}

.red-small {
  color: #e60033;
  font-size: 12px;
  font-size: 0.75rem;
}

.marker {
  background: linear-gradient(rgba(0, 0, 0, 0) 75%, #fbff47 75%);
}

.marker_b {
  background: linear-gradient(rgba(0, 0, 0, 0) 75%, #fbff47 75%);
  font-weight: 700;
}

.circle {
  position: relative;
  padding-left: 1em;
}

.circle:before {
  content: "\02022";
  padding-right: 5px;
  font-size: 14px;
  font-size: 0.875rem;
  position: absolute;
  top: 50%;
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}

.arrow {
  position: relative;
  padding-left: 1em;
}

.arrow:before {
  content: "\e939";
  font-family: "icomoon";
  padding-right: 5px;
  font-size: 14px;
  font-size: 0.875rem;
  position: absolute;
  top: 50%;
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}

/*リンク装飾*/
a[target="_blank"]:after {
  content: "\e919";
  font-family: "icomoon";
  display: inline-block;
  padding: 0 5px;
  vertical-align: middle;
}

a.imglink[target="_blank"]:after {
  content: "";
  margin: 0;
  padding: 0;
}

a[href$=".pdf"]:after {
  content: 'PDF';
  display: inline-block;
  padding: 0 5px;
  font-size: 12px;
  font-size: 0.75rem;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

a[href$=".zip"]:after {
  content: 'ZIP';
  display: inline-block;
  padding: 0 5px;
  font-size: 12px;
  font-size: 0.75rem;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

a[href$=".docx"]:after {
  content: 'DOCX';
  display: inline-block;
  padding: 0 5px;
  font-size: 12px;
  font-size: 0.75rem;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

a[href$=".xlsx"]:after {
  content: 'XLSX';
  display: inline-block;
  padding: 0 5px;
  font-size: 12px;
  font-size: 0.75rem;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

a[href$=".ai"]:after {
  content: 'AI';
  display: inline-block;
  padding: 0 5px;
  font-size: 12px;
  font-size: 0.75rem;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

a[href$=".jpg"]:after {
  content: 'JPG';
  display: inline-block;
  padding: 0 5px;
  font-size: 12px;
  font-size: 0.75rem;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

/*位置指定*/
.right {
  float: right;
}

.left {
  float: left;
}

.center {
  margin: 0 auto;
}

.txt-right {
  text-align: right;
}

.txt-left {
  text-align: left;
}

.txt-center {
  text-align: center !important;
}

/*回り込み解除*/
.clear {
  clear: both;
}

/*回り込みさせない*/
.hidden {
  overflow: hidden;
}

/*画像配置指定*/
.img_right_l20 {
  float: right;
  margin: 0 0 0 20px;
}

.img_right_l20b20 {
  float: right;
  margin: 0 0 20px 20px;
}

.img_right_l20b10 {
  float: right;
  margin: 0 0 10px 20px;
}

.img_left_r20b20 {
  float: left;
  margin: 0 20px 20px 0;
}

.img_left_r20b10 {
  float: left;
  margin: 0 20px 10px 0;
}

.img_left_r20t10 {
  float: left;
  margin: 10px 20px 0 0;
}

.img_center_t20 {
  clear: both;
  display: block;
  margin: 20px auto 0 auto;
}

.img_center_t30 {
  clear: both;
  display: block;
  margin: 30px auto 0 auto;
}

.img_center_b30 {
  clear: both;
  display: block;
  margin: 0 auto 30px auto;
}

.img_center_t20b20 {
  clear: both;
  display: block;
  margin: 20px auto;
}

.img_center_t30b20 {
  clear: both;
  display: block;
  margin: 30px auto 20px;
}

.img_center_t30b30 {
  clear: both;
  display: block;
  margin: 30px auto;
}

.img_center_t30b40 {
  clear: both;
  display: block;
  margin: 30px auto 40px;
}

/*画像sh非表示*/
.img-no-on {
  display: none;
}

/*画像レスポンシブ*/
.img-w40-80 {
  width: 100%;
  max-width: 40px;
  height: auto;
}

.img-w50-100 {
  width: 100%;
  max-width: 50px;
  height: auto;
}

.img-w60-120 {
  width: 100%;
  max-width: 60px;
  height: auto;
}

.img-w100-200 {
  width: 100%;
  max-width: 100px;
  height: auto;
}

.img-w120-200 {
  width: 100%;
  max-width: 120px;
  height: auto;
}

.img-w120-240 {
  width: 100%;
  max-width: 120px;
  height: auto;
}

.img-w150-300 {
  width: 100%;
  max-width: 150px;
  height: auto;
}

.img-w200-400 {
  width: 100%;
  max-width: 200px;
  height: auto;
}

.img-w250-500 {
  width: 100%;
  max-width: 250px;
  height: auto;
}

.img-w100p-400 {
  width: 100%;
  height: auto;
}

.img-w100p-460 {
  width: 100%;
  height: auto;
}

.img-w100p-500 {
  width: 100%;
  height: auto;
}

.img-w100p-550 {
  width: 100%;
  height: auto;
}

.img-w100p-600 {
  width: 100%;
  height: auto;
}

input.linksource {
  float: left;
  width: 100%;
  padding: 5px;
}

/*画像装飾*/
.img-border {
  padding: 1px;
  border: solid 1px #ccc;
  -moz-box-shadow: 0 2px 4px rgba(102, 102, 102, 0.3);
  -webkit-box-shadow: 0 2px 4px rgba(102, 102, 102, 0.3);
  box-shadow: 0 2px 4px rgba(102, 102, 102, 0.3);
}

.img-border_nosha {
  padding: 1px;
  border: solid 1px #ccc;
}

.shadow {
  -moz-box-shadow: 2px 3px 6px 1px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 2px 3px 6px 1px rgba(0, 0, 0, 0.2);
  box-shadow: 2px 3px 6px 1px rgba(0, 0, 0, 0.2);
}

.border-glay {
  border: 1px solid #ccc;
}

.radius-15 {
  border-radius: 15px;
}

/*マージン*/
.m-b-0 {
  margin-bottom: 0;
}

.m-b-10 {
  margin-bottom: 10px;
}

.m-b-20 {
  margin-bottom: 20px;
}

.m-b-30 {
  margin-bottom: 30px;
}

.m-b-40 {
  margin-bottom: 40px;
}

.m-b-50 {
  margin-bottom: 50px;
}

.m-b-60 {
  margin-bottom: 60px;
}

.m-b-70 {
  margin-bottom: 70px;
}

.m-b-80 {
  margin-bottom: 80px;
}

.m-b-90 {
  margin-bottom: 90px;
}

.m-b-100 {
  margin-bottom: 100px;
}

.m-t-0 {
  margin-top: 0;
}

.m-t-5 {
  margin-top: 5px;
}

.m-t-10 {
  margin-top: 10px !important;
}

.m-t-20 {
  margin-top: 20px;
}

.m-t-30 {
  margin-top: 30px;
}

.m-t-40 {
  margin-top: 40px;
}

.m-t-50 {
  margin-top: 50px;
}

.m-l-10 {
  margin-left: 10px;
}

/*padding*/
.p-b-0 {
  padding-bottom: 0 !important;
}

.p-b-10 {
  padding-bottom: 10px;
}

.p-b-20 {
  padding-bottom: 20px;
}

.p-b-30 {
  padding-bottom: 30px;
}

.p-b-40 {
  padding-bottom: 40px;
}

.p-b-50 {
  padding-bottom: 50px;
}

.p-t-0 {
  padding-top: 0 !important;
}

.p-t-5 {
  padding-top: 5px;
}

.p-t-10 {
  padding-top: 10px;
}

.p-t-20 {
  padding-top: 20px;
}

.p-t-30 {
  padding-top: 30px;
}

.p-t-40 {
  padding-top: 40px;
}

.p-t-50 {
  padding-top: 50px;
}

.p-a-10 {
  padding: 10px;
}

.p-a-20 {
  padding: 20px;
}

.p-a-30 {
  padding: 30px;
}

/*サイズ*/
.w-70 {
  width: 70px !important;
}

.w-100 {
  width: 100px !important;
}

.w-150 {
  width: 150px !important;
}

.w-200 {
  width: 200px !important;
}

.w-250 {
  width: 250px !important;
}

.w-300 {
  width: 300px !important;
}

.w-400 {
  width: 400px !important;
}

.w-100p {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.max400 {
  width: 100%;
  max-width: 400px;
  height: auto;
}

/*色*/
.red {
  color: #e60033;
}

.yel {
  color: #fbff47;
}

.pink {
  color: #e4007f;
}

.bg-w {
  background: #fff;
}

/*リンクアンダーラインアニメ 細め1px*/
.underline-ani-center-s a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.underline-ani-center-s a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #222;
  bottom: 0px;
  transform: scale(0, 1);
  transition: transform .3s;
  transform-origin: center top;
}
.underline-ani-center-s a:hover::after {
  transform: scale(1, 1);
}
.underline-ani-center-s a:hover {
  color: #222;
}

.underline-ani-left-s a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.underline-ani-left-s a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #222;
  bottom: 0px;
  transform: scale(0, 1);
  transition: transform .3s;
  transform-origin: left top;
}
.underline-ani-left-s a:hover::after {
  transform: scale(1, 1);
}
.underline-ani-left-s a:hover {
  color: #222;
}

.underline-ani-left-right-s a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.underline-ani-left-right-s a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #222;
  bottom: 0px;
  transform: scale(0, 1);
  transition: transform .3s;
  transform-origin: right top;
}
.underline-ani-left-right-s a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
.underline-ani-left-right-s a:hover {
  color: #222;
}

.underline-ani-right-s a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.underline-ani-right-s a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #222;
  bottom: 0px;
  transform: scale(0, 1);
  transition: transform .3s;
  transform-origin: right top;
}
.underline-ani-right-s a:hover::after {
  transform: scale(1, 1);
}
.underline-ani-right-s a:hover {
  color: #222;
}

.underline-ani-right-left-s a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.underline-ani-right-left-s a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #222;
  bottom: 0px;
  transform: scale(0, 1);
  transition: transform .3s;
  transform-origin: left top;
}
.underline-ani-right-left-s a:hover::after {
  transform-origin: right top;
  transform: scale(1, 1);
}
.underline-ani-right-left-s a:hover {
  color: #222;
}

.underline-ani-top-s a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.underline-ani-top-s a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #222;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
  bottom: 1px;
}
.underline-ani-top-s a:hover::after {
  bottom: 0px;
  opacity: 1;
  visibility: visible;
}
.underline-ani-top-s a:hover {
  color: #222;
}

.underline-ani-bottom-s a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.underline-ani-bottom-s a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #222;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
  bottom: 0px;
}
.underline-ani-bottom-s a:hover::after {
  bottom: 0px;
  opacity: 1;
  visibility: visible;
}
.underline-ani-bottom-s a:hover {
  color: #222;
}

/*ブロック要素フェードイン*/
/* 画面外にいる状態 */
.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 0.5s;
}

/* 画面内に入った状態 */
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}
