@charset "UTF-8";
/* ==================================================
[Style]
	 1. Reset
	 2. Animation
	 3. General
	 4. All
	 5. Header
	 6. Content
	 7. Footer
	 8. Index
	 9. News
	10. About
	11. Quiz
	12. Gallery
================================================== */
/* --------------------------------------------------
	 1. Reset
-------------------------------------------------- */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* --------------------------------------------------
	 2. Animation
-------------------------------------------------- */
@-webkit-keyframes scroll_button {
  0% {
    top: 65%;
  }
  15% {
    top: 66%;
  }
  30% {
    top: 65%;
  }
  45% {
    top: 66%;
  }
  60% {
    top: 65%;
  }
}
@keyframes scroll_button {
  0% {
    top: 65%;
  }
  15% {
    top: 66%;
  }
  30% {
    top: 65%;
  }
  45% {
    top: 66%;
  }
  60% {
    top: 65%;
  }
}

@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* --------------------------------------------------
	 3. General
-------------------------------------------------- */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  color: #333;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.8;
  word-break: normal;
  overflow-wrap: normal;
  word-wrap: normal;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

body::before, body::after {
  position: fixed;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 10px;
  background-color: #f5e25a;
  z-index: 5;
}

body::before {
  top: 0;
}

body::after {
  bottom: 0;
}

a {
  outline: none;
  word-break: break-all;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

a:link, a:visited {
  color: #e81f54;
  text-decoration: none;
}

a:hover, a:active {
  text-decoration: underline;
}

ul, ol {
  list-style: none;
}

em, dl, i, address {
  font-style: normal;
}

sup, sub {
  font-size: 0.73333rem;
  line-height: 1.35;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1rem;
  font-family: inherit;
}

table th, table td {
  text-align: left;
  vertical-align: middle;
  padding: 10px;
}

table th {
  font-weight: normal;
}

table td {
  word-break: break-all;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

select,
textarea,
input[type="text"],
input[type="email"],
input[type="password"] {
  margin: 5px;
  padding: 6px;
  color: #222222;
  font-size: 1rem;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  border: 1px solid #666666;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

textarea,
input[type="text"],
input[type="email"],
input[type="password"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type="text"].align_left {
  text-align: left;
}

input[type="text"].align_center {
  text-align: center;
}

input[type="text"].align_right {
  text-align: right;
}

input[type="radio"], input[type="checkbox"] {
  margin: 3px 0 5px 5px;
  outline: none;
  cursor: pointer;
}

input[type="radio"] + label,
input[type="checkbox"] + label {
  padding: 0 8px 0 2px;
  cursor: pointer;
}

input:-moz-placeholder, textarea:-moz-placeholder {
  color: gray;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: gray;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: gray;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: gray;
}

.gothic {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.font_big {
  font-size: 1.26667rem !important;
}

.font_large {
  font-size: 1.13333rem !important;
}

.font_normal {
  font-size: 1rem !important;
}

.font_small {
  font-size: 0.86667rem !important;
}

.font_little {
  font-size: 0.73333rem !important;
}

.mt_0 {
  margin-top: 0rem !important;
}

.mr_0 {
  margin-right: 0rem !important;
}

.mb_0 {
  margin-bottom: 0rem !important;
}

.ml_0 {
  margin-left: 0rem !important;
}

.m_0 {
  margin: 0rem !important;
}

.mx_0 {
  margin-left: 0rem !important;
  margin-right: 0rem !important;
}

.my_0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.pt_0 {
  padding-top: 0rem !important;
}

.pr_0 {
  padding-right: 0rem !important;
}

.pb_0 {
  padding-bottom: 0rem !important;
}

.pl_0 {
  padding-left: 0rem !important;
}

.p_0 {
  padding: 0rem !important;
}

.px_0 {
  padding-left: 0rem !important;
  padding-right: 0rem !important;
}

.py_0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.mt_1 {
  margin-top: 1rem !important;
}

.mr_1 {
  margin-right: 1rem !important;
}

.mb_1 {
  margin-bottom: 1rem !important;
}

.ml_1 {
  margin-left: 1rem !important;
}

.m_1 {
  margin: 1rem !important;
}

.mx_1 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.my_1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.pt_1 {
  padding-top: 1rem !important;
}

.pr_1 {
  padding-right: 1rem !important;
}

.pb_1 {
  padding-bottom: 1rem !important;
}

.pl_1 {
  padding-left: 1rem !important;
}

.p_1 {
  padding: 1rem !important;
}

.px_1 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.py_1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.mt_2 {
  margin-top: 2rem !important;
}

.mr_2 {
  margin-right: 2rem !important;
}

.mb_2 {
  margin-bottom: 2rem !important;
}

.ml_2 {
  margin-left: 2rem !important;
}

.m_2 {
  margin: 2rem !important;
}

.mx_2 {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

.my_2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.pt_2 {
  padding-top: 2rem !important;
}

.pr_2 {
  padding-right: 2rem !important;
}

.pb_2 {
  padding-bottom: 2rem !important;
}

.pl_2 {
  padding-left: 2rem !important;
}

.p_2 {
  padding: 2rem !important;
}

.px_2 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.py_2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.mt_3 {
  margin-top: 3rem !important;
}

.mr_3 {
  margin-right: 3rem !important;
}

.mb_3 {
  margin-bottom: 3rem !important;
}

.ml_3 {
  margin-left: 3rem !important;
}

.m_3 {
  margin: 3rem !important;
}

.mx_3 {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.my_3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.pt_3 {
  padding-top: 3rem !important;
}

.pr_3 {
  padding-right: 3rem !important;
}

.pb_3 {
  padding-bottom: 3rem !important;
}

.pl_3 {
  padding-left: 3rem !important;
}

.p_3 {
  padding: 3rem !important;
}

.px_3 {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.py_3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.mt_4 {
  margin-top: 4rem !important;
}

.mr_4 {
  margin-right: 4rem !important;
}

.mb_4 {
  margin-bottom: 4rem !important;
}

.ml_4 {
  margin-left: 4rem !important;
}

.m_4 {
  margin: 4rem !important;
}

.mx_4 {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}

.my_4 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.pt_4 {
  padding-top: 4rem !important;
}

.pr_4 {
  padding-right: 4rem !important;
}

.pb_4 {
  padding-bottom: 4rem !important;
}

.pl_4 {
  padding-left: 4rem !important;
}

.p_4 {
  padding: 4rem !important;
}

.px_4 {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

.py_4 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.mt_5 {
  margin-top: 5rem !important;
}

.mr_5 {
  margin-right: 5rem !important;
}

.mb_5 {
  margin-bottom: 5rem !important;
}

.ml_5 {
  margin-left: 5rem !important;
}

.m_5 {
  margin: 5rem !important;
}

.mx_5 {
  margin-left: 5rem !important;
  margin-right: 5rem !important;
}

.my_5 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.pt_5 {
  padding-top: 5rem !important;
}

.pr_5 {
  padding-right: 5rem !important;
}

.pb_5 {
  padding-bottom: 5rem !important;
}

.pl_5 {
  padding-left: 5rem !important;
}

.p_5 {
  padding: 5rem !important;
}

.px_5 {
  padding-left: 5rem !important;
  padding-right: 5rem !important;
}

.py_5 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

article section,
article h3,
article h4,
article h5,
article h6 {
  clear: both;
}

article h3:first-child,
article h4:first-child,
article h5:first-child,
article h6:first-child {
  padding-top: 0;
}

article h2 + h3,
article h3 + h4,
article h4 + h5,
article h5 + h6 {
  padding-top: 0 !important;
}

article p {
  margin-bottom: 1em;
}

article span.focus,
article strong.focus {
  color: #119fd1;
}

article span.attention,
article strong.attention {
  color: #e81f54;
}

article .note {
  margin-bottom: 1em;
  font-size: 0.86667rem;
}

article .text_left {
  text-align: left;
}

article .text_center {
  text-align: center;
}

article .text_right {
  text-align: right;
}

article a:link, article a:visited {
  text-decoration: underline;
}

article a:hover, article a:active {
  text-decoration: none;
}

article a.non_style:after {
  display: none !important;
}

article .table_frame {
  margin-bottom: 2em;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}

article .table_frame table {
  margin-bottom: 0 !important;
  width: auto;
}

article .table_frame th,
article .table_frame td {
  white-space: nowrap;
}

article table.basic_table, article table.simple_table {
  margin: 2em auto;
  min-width: 74.54545%;
  max-width: 100%;
  background-color: #fff;
  border-bottom: 1px solid #000;
}

article table.basic_table th, article table.simple_table th {
  font-weight: bold;
  text-align: center;
}

article table.basic_table th,
article table.basic_table td, article table.simple_table th,
article table.simple_table td {
  border-top: 1px solid #000;
}

article table.basic_table.center {
  margin-right: auto;
  margin-left: auto;
}

article table.basic_table thead th {
  text-align: center;
}

article table.basic_table th,
article table.basic_table td {
  padding: 15px;
}

article table.basic_table th.left,
article table.basic_table td.left {
  text-align: left !important;
}

article table.basic_table th.center,
article table.basic_table td.center {
  text-align: center !important;
}

article table.basic_table th.right,
article table.basic_table td.right {
  text-align: right !important;
}

article table.basic_table th.top,
article table.basic_table td.top {
  vertical-align: top !important;
}

article table.basic_table th.middle,
article table.basic_table td.middle {
  vertical-align: middle !important;
}

article table.basic_table th.bottom,
article table.basic_table td.bottom {
  vertical-align: bottom !important;
}

article table.basic_table th {
  position: relative;
  min-width: 5em;
  white-space: nowrap;
}

article table.simple_table {
  border-right: 1px solid #000;
}

article table.simple_table th {
  color: #fff;
  background-color: #000;
}

article table.simple_table th,
article table.simple_table td {
  border-left: 1px solid #000;
}

article .flex > .row > [class^=col],
article .block > .row > [class^=col] {
  padding: 10px;
}

article .flex > .row > [class^=col].left,
article .block > .row > [class^=col].left {
  text-align: left;
}

article .flex > .row > [class^=col].center,
article .block > .row > [class^=col].center {
  text-align: center;
}

article .flex > .row > [class^=col].right,
article .block > .row > [class^=col].right {
  text-align: right;
}

article .flex > .row > [class^=col].offset1,
article .block > .row > [class^=col].offset1 {
  margin-left: 8.33333%;
}

article .flex > .row > [class^=col].offset2,
article .block > .row > [class^=col].offset2 {
  margin-left: 16.66667%;
}

article .flex > .row > [class^=col].offset3,
article .block > .row > [class^=col].offset3 {
  margin-left: 25%;
}

article .flex > .row > [class^=col].offset4,
article .block > .row > [class^=col].offset4 {
  margin-left: 33.33333%;
}

article .flex > .row > [class^=col].offset5,
article .block > .row > [class^=col].offset5 {
  margin-left: 41.66667%;
}

article .flex > .row > [class^=col].offset6,
article .block > .row > [class^=col].offset6 {
  margin-left: 50%;
}

article .flex > .row > [class^=col].offset7,
article .block > .row > [class^=col].offset7 {
  margin-left: 58.33333%;
}

article .flex > .row > [class^=col].offset8,
article .block > .row > [class^=col].offset8 {
  margin-left: 66.66667%;
}

article .flex > .row > [class^=col].offset9,
article .block > .row > [class^=col].offset9 {
  margin-left: 75%;
}

article .flex > .row > [class^=col].offset10,
article .block > .row > [class^=col].offset10 {
  margin-left: 83.33333%;
}

article .flex > .row > [class^=col].offset11,
article .block > .row > [class^=col].offset11 {
  margin-left: 91.66667%;
}

article .flex > .row > .col1,
article .block > .row > .col1 {
  width: 8.33333%;
}

article .flex > .row > .col2,
article .block > .row > .col2 {
  width: 16.66667%;
}

article .flex > .row > .col3,
article .block > .row > .col3 {
  width: 25%;
}

article .flex > .row > .col4,
article .block > .row > .col4 {
  width: 33.33333%;
}

article .flex > .row > .col5,
article .block > .row > .col5 {
  width: 41.66667%;
}

article .flex > .row > .col6,
article .block > .row > .col6 {
  width: 50%;
}

article .flex > .row > .col7,
article .block > .row > .col7 {
  width: 58.33333%;
}

article .flex > .row > .col8,
article .block > .row > .col8 {
  width: 66.66667%;
}

article .flex > .row > .col9,
article .block > .row > .col9 {
  width: 75%;
}

article .flex > .row > .col10,
article .block > .row > .col10 {
  width: 83.33333%;
}

article .flex > .row > .col11,
article .block > .row > .col11 {
  width: 91.66667%;
}

article .flex > .row > .col12,
article .block > .row > .col12 {
  width: 100%;
}

article .flex > .row.gutter > [class^=col],
article .block > .row.gutter > [class^=col] {
  margin-bottom: 2%;
  padding: 0;
}

article .flex > .row.gutter > [class^=col].offset1,
article .block > .row.gutter > [class^=col].offset1 {
  margin-left: 6.5%;
}

article .flex > .row.gutter > [class^=col].offset2,
article .block > .row.gutter > [class^=col].offset2 {
  margin-left: 15%;
}

article .flex > .row.gutter > [class^=col].offset3,
article .block > .row.gutter > [class^=col].offset3 {
  margin-left: 23.5%;
}

article .flex > .row.gutter > [class^=col].offset4,
article .block > .row.gutter > [class^=col].offset4 {
  margin-left: 32%;
}

article .flex > .row.gutter > [class^=col].offset5,
article .block > .row.gutter > [class^=col].offset5 {
  margin-left: 40.5%;
}

article .flex > .row.gutter > [class^=col].offset6,
article .block > .row.gutter > [class^=col].offset6 {
  margin-left: 49%;
}

article .flex > .row.gutter > [class^=col].offset7,
article .block > .row.gutter > [class^=col].offset7 {
  margin-left: 57.5%;
}

article .flex > .row.gutter > [class^=col].offset8,
article .block > .row.gutter > [class^=col].offset8 {
  margin-left: 66%;
}

article .flex > .row.gutter > [class^=col].offset9,
article .block > .row.gutter > [class^=col].offset9 {
  margin-left: 74.5%;
}

article .flex > .row.gutter > [class^=col].offset10,
article .block > .row.gutter > [class^=col].offset10 {
  margin-left: 83%;
}

article .flex > .row.gutter > [class^=col].offset11,
article .block > .row.gutter > [class^=col].offset11 {
  margin-left: 91.5%;
}

article .flex > .row.gutter > .col1,
article .block > .row.gutter > .col1 {
  width: 6.5%;
}

article .flex > .row.gutter > .col2,
article .block > .row.gutter > .col2 {
  width: 15%;
}

article .flex > .row.gutter > .col3,
article .block > .row.gutter > .col3 {
  width: 23.5%;
}

article .flex > .row.gutter > .col4,
article .block > .row.gutter > .col4 {
  width: 32%;
}

article .flex > .row.gutter > .col5,
article .block > .row.gutter > .col5 {
  width: 40.5%;
}

article .flex > .row.gutter > .col6,
article .block > .row.gutter > .col6 {
  width: 49%;
}

article .flex > .row.gutter > .col7,
article .block > .row.gutter > .col7 {
  width: 57.5%;
}

article .flex > .row.gutter > .col8,
article .block > .row.gutter > .col8 {
  width: 66%;
}

article .flex > .row.gutter > .col9,
article .block > .row.gutter > .col9 {
  width: 74.5%;
}

article .flex > .row.gutter > .col10,
article .block > .row.gutter > .col10 {
  width: 83%;
}

article .flex > .row.gutter > .col11,
article .block > .row.gutter > .col11 {
  width: 91.5%;
}

article .flex > .row.gutter > .col12,
article .block > .row.gutter > .col12 {
  width: 100%;
}

article .flex > .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

article .flex > .row.gutter {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

article .flex > .row.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

article .flex > .row.reverse > .offset1 {
  margin-left: 0;
  margin-right: 8.33333%;
}

article .flex > .row.reverse.gutter > .offset1 {
  margin-left: 0;
  margin-right: 8.5%;
}

article .flex > .row.reverse > .offset2 {
  margin-left: 0;
  margin-right: 16.66667%;
}

article .flex > .row.reverse.gutter > .offset2 {
  margin-left: 0;
  margin-right: 17%;
}

article .flex > .row.reverse > .offset3 {
  margin-left: 0;
  margin-right: 25%;
}

article .flex > .row.reverse.gutter > .offset3 {
  margin-left: 0;
  margin-right: 25.5%;
}

article .flex > .row.reverse > .offset4 {
  margin-left: 0;
  margin-right: 33.33333%;
}

article .flex > .row.reverse.gutter > .offset4 {
  margin-left: 0;
  margin-right: 34%;
}

article .flex > .row.reverse > .offset5 {
  margin-left: 0;
  margin-right: 41.66667%;
}

article .flex > .row.reverse.gutter > .offset5 {
  margin-left: 0;
  margin-right: 42.5%;
}

article .flex > .row.reverse > .offset6 {
  margin-left: 0;
  margin-right: 50%;
}

article .flex > .row.reverse.gutter > .offset6 {
  margin-left: 0;
  margin-right: 51%;
}

article .flex > .row.reverse > .offset7 {
  margin-left: 0;
  margin-right: 58.33333%;
}

article .flex > .row.reverse.gutter > .offset7 {
  margin-left: 0;
  margin-right: 59.5%;
}

article .flex > .row.reverse > .offset8 {
  margin-left: 0;
  margin-right: 66.66667%;
}

article .flex > .row.reverse.gutter > .offset8 {
  margin-left: 0;
  margin-right: 68%;
}

article .flex > .row.reverse > .offset9 {
  margin-left: 0;
  margin-right: 75%;
}

article .flex > .row.reverse.gutter > .offset9 {
  margin-left: 0;
  margin-right: 76.5%;
}

article .flex > .row.reverse > .offset10 {
  margin-left: 0;
  margin-right: 83.33333%;
}

article .flex > .row.reverse.gutter > .offset10 {
  margin-left: 0;
  margin-right: 85%;
}

article .flex > .row.reverse > .offset11 {
  margin-left: 0;
  margin-right: 91.66667%;
}

article .flex > .row.reverse.gutter > .offset11 {
  margin-left: 0;
  margin-right: 93.5%;
}

article .block > .row::after {
  display: block;
  content: "";
  clear: both;
}

article .block > .row > [class^=col] {
  float: left;
}

article .block > .row.gutter > [class^=col]:not(:first-child) {
  margin-left: 2%;
}

article .block > .row.gutter > [class^=col].offset1 {
  margin-left: 10.5%;
}

article .block > .row.gutter > [class^=col].offset1:first-child {
  margin-left: 8.5%;
}

article .block > .row.gutter > [class^=col].offset2 {
  margin-left: 19%;
}

article .block > .row.gutter > [class^=col].offset2:first-child {
  margin-left: 17%;
}

article .block > .row.gutter > [class^=col].offset3 {
  margin-left: 27.5%;
}

article .block > .row.gutter > [class^=col].offset3:first-child {
  margin-left: 25.5%;
}

article .block > .row.gutter > [class^=col].offset4 {
  margin-left: 36%;
}

article .block > .row.gutter > [class^=col].offset4:first-child {
  margin-left: 34%;
}

article .block > .row.gutter > [class^=col].offset5 {
  margin-left: 44.5%;
}

article .block > .row.gutter > [class^=col].offset5:first-child {
  margin-left: 42.5%;
}

article .block > .row.gutter > [class^=col].offset6 {
  margin-left: 53%;
}

article .block > .row.gutter > [class^=col].offset6:first-child {
  margin-left: 51%;
}

article .block > .row.gutter > [class^=col].offset7 {
  margin-left: 61.5%;
}

article .block > .row.gutter > [class^=col].offset7:first-child {
  margin-left: 59.5%;
}

article .block > .row.gutter > [class^=col].offset8 {
  margin-left: 70%;
}

article .block > .row.gutter > [class^=col].offset8:first-child {
  margin-left: 68%;
}

article .block > .row.gutter > [class^=col].offset9 {
  margin-left: 78.5%;
}

article .block > .row.gutter > [class^=col].offset9:first-child {
  margin-left: 76.5%;
}

article .block > .row.gutter > [class^=col].offset10 {
  margin-left: 87%;
}

article .block > .row.gutter > [class^=col].offset10:first-child {
  margin-left: 85%;
}

article .block > .row.gutter > [class^=col].offset11 {
  margin-left: 95.5%;
}

article .block > .row.gutter > [class^=col].offset11:first-child {
  margin-left: 93.5%;
}

article .block > .row.reverse > [class^=col] {
  float: right;
}

article .block > .row.reverse > [class^=col].offset1 {
  margin-left: 0;
  margin-right: 8.33333%;
}

article .block > .row.reverse > [class^=col].offset2 {
  margin-left: 0;
  margin-right: 16.66667%;
}

article .block > .row.reverse > [class^=col].offset3 {
  margin-left: 0;
  margin-right: 25%;
}

article .block > .row.reverse > [class^=col].offset4 {
  margin-left: 0;
  margin-right: 33.33333%;
}

article .block > .row.reverse > [class^=col].offset5 {
  margin-left: 0;
  margin-right: 41.66667%;
}

article .block > .row.reverse > [class^=col].offset6 {
  margin-left: 0;
  margin-right: 50%;
}

article .block > .row.reverse > [class^=col].offset7 {
  margin-left: 0;
  margin-right: 58.33333%;
}

article .block > .row.reverse > [class^=col].offset8 {
  margin-left: 0;
  margin-right: 66.66667%;
}

article .block > .row.reverse > [class^=col].offset9 {
  margin-left: 0;
  margin-right: 75%;
}

article .block > .row.reverse > [class^=col].offset10 {
  margin-left: 0;
  margin-right: 83.33333%;
}

article .block > .row.reverse > [class^=col].offset11 {
  margin-left: 0;
  margin-right: 91.66667%;
}

article .block > .row.reverse.gutter > [class^=col]:not(:first-child) {
  margin-left: 0;
  margin-right: 2%;
}

article .block > .row.reverse.gutter > [class^=col].offset1 {
  margin-left: 0;
  margin-right: 10.5%;
}

article .block > .row.reverse.gutter > [class^=col].offset1:first-child {
  margin-right: 8.5%;
}

article .block > .row.reverse.gutter > [class^=col].offset2 {
  margin-left: 0;
  margin-right: 19%;
}

article .block > .row.reverse.gutter > [class^=col].offset2:first-child {
  margin-right: 17%;
}

article .block > .row.reverse.gutter > [class^=col].offset3 {
  margin-left: 0;
  margin-right: 27.5%;
}

article .block > .row.reverse.gutter > [class^=col].offset3:first-child {
  margin-right: 25.5%;
}

article .block > .row.reverse.gutter > [class^=col].offset4 {
  margin-left: 0;
  margin-right: 36%;
}

article .block > .row.reverse.gutter > [class^=col].offset4:first-child {
  margin-right: 34%;
}

article .block > .row.reverse.gutter > [class^=col].offset5 {
  margin-left: 0;
  margin-right: 44.5%;
}

article .block > .row.reverse.gutter > [class^=col].offset5:first-child {
  margin-right: 42.5%;
}

article .block > .row.reverse.gutter > [class^=col].offset6 {
  margin-left: 0;
  margin-right: 53%;
}

article .block > .row.reverse.gutter > [class^=col].offset6:first-child {
  margin-right: 51%;
}

article .block > .row.reverse.gutter > [class^=col].offset7 {
  margin-left: 0;
  margin-right: 61.5%;
}

article .block > .row.reverse.gutter > [class^=col].offset7:first-child {
  margin-right: 59.5%;
}

article .block > .row.reverse.gutter > [class^=col].offset8 {
  margin-left: 0;
  margin-right: 70%;
}

article .block > .row.reverse.gutter > [class^=col].offset8:first-child {
  margin-right: 68%;
}

article .block > .row.reverse.gutter > [class^=col].offset9 {
  margin-left: 0;
  margin-right: 78.5%;
}

article .block > .row.reverse.gutter > [class^=col].offset9:first-child {
  margin-right: 76.5%;
}

article .block > .row.reverse.gutter > [class^=col].offset10 {
  margin-left: 0;
  margin-right: 87%;
}

article .block > .row.reverse.gutter > [class^=col].offset10:first-child {
  margin-right: 85%;
}

article .block > .row.reverse.gutter > [class^=col].offset11 {
  margin-left: 0;
  margin-right: 95.5%;
}

article .block > .row.reverse.gutter > [class^=col].offset11:first-child {
  margin-right: 93.5%;
}

article ul[class^=col],
article ol[class^=col] {
  margin: 0;
  list-style: none;
}

article ul[class^=col]::after,
article ol[class^=col]::after {
  display: block;
  content: "";
  clear: both;
}

article ul[class^=col] > li,
article ol[class^=col] > li {
  float: left;
  margin-bottom: 0;
  padding: 10px;
}

article ul[class^=col] > li.left,
article ol[class^=col] > li.left {
  text-align: left;
}

article ul[class^=col] > li.center,
article ol[class^=col] > li.center {
  text-align: center;
}

article ul[class^=col] > li.right,
article ol[class^=col] > li.right {
  text-align: right;
}

article ul[class^=col].gutter > li,
article ol[class^=col].gutter > li {
  margin: 0 0 2% 2%;
  padding: 0;
}

article ul.col2 > li,
article ol.col2 > li {
  width: 50%;
}

article ul.col2 > li:nth-child(2n+1),
article ol.col2 > li:nth-child(2n+1) {
  clear: both;
  margin-left: 0;
}

article ul.col2.gutter > li,
article ol.col2.gutter > li {
  width: 49%;
}

article ul.col3 > li,
article ol.col3 > li {
  width: 33.33333%;
}

article ul.col3 > li:nth-child(3n+1),
article ol.col3 > li:nth-child(3n+1) {
  clear: both;
  margin-left: 0;
}

article ul.col3.gutter > li,
article ol.col3.gutter > li {
  width: 32%;
}

article ul.col4 > li,
article ol.col4 > li {
  width: 25%;
}

article ul.col4 > li:nth-child(4n+1),
article ol.col4 > li:nth-child(4n+1) {
  clear: both;
  margin-left: 0;
}

article ul.col4.gutter > li,
article ol.col4.gutter > li {
  width: 23.5%;
}

article ul.col5 > li,
article ol.col5 > li {
  width: 20%;
}

article ul.col5 > li:nth-child(5n+1),
article ol.col5 > li:nth-child(5n+1) {
  clear: both;
  margin-left: 0;
}

article ul.col5.gutter > li,
article ol.col5.gutter > li {
  width: 18.4%;
}

article ul.basic_ul,
article ol.basic_ol {
  margin: 0 0 1em 1.5em;
}

article ul.basic_ul > li,
article ol.basic_ol > li {
  padding-left: 0.25em;
}

article ul.basic_ul > li > ul,
article ul.basic_ul > li > ol,
article ol.basic_ol > li > ul,
article ol.basic_ol > li > ol {
  margin: 0 0 0 1.25em;
}

article ul.basic_ul.inline > li,
article ol.basic_ol.inline > li {
  display: inline-block;
  vertical-align: middle;
  padding-right: 3em;
}

article ul.basic_ul > li > ul > li::before {
  background-color: transparent;
}

article ul.basic_ul > li {
  position: relative;
}

article ul.basic_ul > li::before {
  position: absolute;
  left: -1.05em;
  top: 0.65em;
  display: block;
  content: "";
  width: 7px;
  height: 7px;
  background-color: #333;
  border: 2px solid #333;
  border-radius: 50%;
}

article ol.basic_ol {
  list-style: decimal;
}

article ol.basic_ol > li::before {
  display: none;
}

article dl.basic_dl dt {
  font-weight: bold;
}

article dl.basic_dl dd {
  margin-left: 1em;
}

article img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

article img.center, article img.mt-image-center {
  clear: both;
  display: block;
  margin: 0 auto 30px;
}

article img.left, article img.mt-image-left {
  clear: both;
  float: left;
  margin: 0 30px 30px 0;
}

article img.right, article img.mt-image-right {
  clear: both;
  float: right;
  margin: 0 0 30px 30px;
}

article em {
  font-style: italic;
}

article iframe {
  max-width: 100%;
}

article div.focus, article div.attention {
  margin: 2rem auto;
  padding: 2rem;
  max-width: 900px;
  border-radius: 6px;
}

article div.focus > ul,
article div.focus > ol, article div.attention > ul,
article div.attention > ol {
  margin-bottom: 0;
}

article div.focus table th, article div.attention table th {
  font-weight: bold;
}

article div.focus {
  background-color: #efefef;
}

article div.focus strong {
  color: #119fd1;
}

article div.attention {
  background-color: #ffe1ec;
}

article div.attention strong {
  color: #e81f54;
}

article .basic_btn {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 10px 5px;
  padding: 10px 30px;
  min-width: 240px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none !important;
  background-color: #333333;
  border-radius: 50px;
  cursor: pointer;
}

article .basic_btn.white {
  color: #333;
  background-color: #fff;
}

article .internal_link {
  text-align: center;
}

article .internal_link li {
  display: inline-block;
  vertical-align: middle;
}

article .internal_link a {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 10px 5px;
  padding: 10px 30px;
  min-width: 240px;
  color: #5fc8f2;
  font-weight: bold;
  text-align: center;
  text-decoration: none !important;
  background-color: #fff;
  border: 1px solid #5fc8f2;
  border-radius: 50px;
  cursor: pointer;
}

article .text_indent {
  margin-left: 1em;
  text-indent: -1em;
}

article .pagination ul {
  text-align: center;
  font-size: 0;
}

article .pagination ul li {
  display: inline-block;
  vertical-align: middle;
  font-size: 1rem;
}

article .pagination ul li a,
article .pagination ul li span {
  display: inline-block;
  vertical-align: middle;
  margin: 5px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  border: 2px solid #333;
  border-radius: 50%;
}

article .pagination ul li a {
  color: #fff;
  background-color: #333;
}

article .pagination ul li span {
  color: #333;
  background-color: #fff;
}

article .js_fadein {
  opacity: 0;
  -webkit-transform: translate3d(0, 80px, 0);
  transform: translate3d(0, 80px, 0);
  -webkit-transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: opacity 0.6s, transform 0.6s;
  transition: opacity 0.6s, transform 0.6s, -webkit-transform 0.6s;
}

article .js_fadein.is_show {
  opacity: 1 !important;
  -webkit-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
}

@media all and (min-width: 740px) {
  html {
    font-size: 15px;
  }
  article {
    padding: 80px 0 100px;
  }
  article section + section {
    padding-top: 100px;
  }
  article a img {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  article a:hover img {
    opacity: 0.8;
  }
  article table.fixed {
    table-layout: fixed;
  }
  article .basic_btn {
    -webkit-transition: color 0.4s, background-color 0.4s, -webkit-box-shadow 0.4s;
    transition: color 0.4s, background-color 0.4s, -webkit-box-shadow 0.4s;
    transition: color 0.4s, background-color 0.4s, box-shadow 0.4s;
    transition: color 0.4s, background-color 0.4s, box-shadow 0.4s, -webkit-box-shadow 0.4s;
  }
  article .basic_btn:hover {
    color: #333;
    background-color: #f5e25a;
    -webkit-box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
  }
  article .basic_btn.white:hover {
    color: #fff;
    background-color: #333;
    -webkit-box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
  }
  article .internal_link a {
    -webkit-transition: color 0.4s, background-color 0.4s, -webkit-box-shadow 0.4s;
    transition: color 0.4s, background-color 0.4s, -webkit-box-shadow 0.4s;
    transition: color 0.4s, background-color 0.4s, box-shadow 0.4s;
    transition: color 0.4s, background-color 0.4s, box-shadow 0.4s, -webkit-box-shadow 0.4s;
  }
  article .internal_link a:hover {
    color: #fff;
    background-color: #5fc8f2;
    -webkit-box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
  }
  article .pagination ul li.prev a, article .pagination ul li.next a {
    padding: 5px 25px;
    border-radius: 20px;
  }
  article .pagination ul li a,
  article .pagination ul li span {
    padding: 5px 15px;
  }
  article .pagination ul li a {
    -webkit-transition: color 0.4s, background-color 0.4s;
    transition: color 0.4s, background-color 0.4s;
  }
  article .pagination ul li a:hover {
    color: #333;
    background-color: #fff;
  }
  article .pagination ul li.prev a::before {
    display: inline-block;
    vertical-align: middle;
    content: "←";
    margin-right: .5em;
  }
  article .pagination ul li.next a::after {
    display: inline-block;
    vertical-align: middle;
    content: "→";
    margin-left: .5em;
  }
}

@media only screen and (max-width: 739px) {
  html {
    font-size: 13px;
  }
  article {
    padding: 50px 0;
  }
  article section + section {
    padding-top: 50px;
  }
  article table.vertical > thead > tr > th,
  article table.vertical > thead > tr > td,
  article table.vertical > tbody > tr > th,
  article table.vertical > tbody > tr > td {
    display: block;
    white-space: normal !important;
    width: 100%;
  }
  article table.vertical > thead > tr > th:empty,
  article table.vertical > thead > tr > td:empty,
  article table.vertical > tbody > tr > th:empty,
  article table.vertical > tbody > tr > td:empty {
    display: none;
  }
  article .flex > .row.vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  article .flex > .row.vertical > [class^=col] {
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
    width: 100%;
  }
  article .block > .row.vertical > [class^=col] {
    float: none;
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
    width: 100%;
  }
  article ul[class^=col].vertical > li,
  article ol[class^=col].vertical > li {
    float: none;
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
    width: 100%;
  }
  article .pagination ul {
    margin: 0 -20px;
  }
  article .pagination ul li.prev a, article .pagination ul li.next a {
    padding: 2px 20px;
    border-radius: 15px;
  }
  article .pagination ul li a,
  article .pagination ul li span {
    padding: 2px 10px;
  }
}

/* --------------------------------------------------
	 4. All
-------------------------------------------------- */
#all {
  padding: 10px;
}

#all::before, #all::after {
  position: fixed;
  top: 0;
  display: block;
  content: "";
  width: 10px;
  height: 100%;
  background-color: #f5e25a;
  z-index: 5;
}

#all::before {
  left: 0;
}

#all::after {
  right: 0;
}

#all #header,
#all #content,
#all #footer {
  clear: both;
}

#all #header .inner,
#all #content .inner,
#all #footer .inner {
  position: relative;
  margin: 0 auto;
}

#all #content::after {
  display: block;
  content: "";
  clear: both;
}

@media all and (min-width: 740px) {
  #all #content .inner,
  #all #footer .inner {
    max-width: 1200px;
  }
}

@media only screen and (max-width: 739px) {
  #all #header,
  #all #content,
  #all #footer {
    min-width: 320px;
  }
  #all #content .inner,
  #all #footer .inner {
    padding-left: 20px;
    padding-right: 20px;
    min-width: 280px;
  }
}

/* --------------------------------------------------
	 5. Header
-------------------------------------------------- */
body.menu_opened {
  position: fixed;
  width: 100%;
}

body.menu_opened #header .menu {
  background-color: transparent;
}

body.menu_opened #header .menu:before, body.menu_opened #header .menu:after {
  opacity: 0;
}

body.menu_opened #header .menu span:before {
  background-color: #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

body.menu_opened #header .menu span:after {
  background-color: #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

body.menu_opened #header .nav {
  opacity: 1;
  pointer-events: auto;
}

body.menu_opened #header .nav a {
  color: #333;
  font-weight: bold;
}

#header .global_menu .menu {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  position: fixed;
  background-color: #f5e25a;
  -webkit-transition: background-color 0.4s;
  transition: background-color 0.4s;
  cursor: pointer;
  z-index: 20;
}

#header .global_menu .menu:before, #header .global_menu .menu:after {
  position: absolute;
  left: 30%;
  display: block;
  content: "";
  width: 40%;
  background-color: #000;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

#header .global_menu .menu:before {
  top: 35%;
}

#header .global_menu .menu:after {
  bottom: 35%;
}

#header .global_menu .menu span {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
}

#header .global_menu .menu span:before, #header .global_menu .menu span:after {
  position: absolute;
  left: 30%;
  top: 50%;
  display: block;
  content: "";
  width: 40%;
  background-color: #000;
  -webkit-transition: background-color 0.4s, -webkit-transform 0.4s;
  transition: background-color 0.4s, -webkit-transform 0.4s;
  transition: background-color 0.4s, transform 0.4s;
  transition: background-color 0.4s, transform 0.4s, -webkit-transform 0.4s;
}

#header .global_menu .nav {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  line-height: 4;
  background-color: #030303;
  opacity: 0;
  pointer-events: none;
  z-index: 10;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

#header .global_menu .nav a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 100%;
  height: 80px;
  background: transparent no-repeat center center;
  background-size: contain;
}

#header .global_menu .nav ul {
  width: 60%;
}

#header .global_menu .nav li {
  border-bottom: 1px solid #fff;
}

#header .global_menu .nav li.home a {
  background-image: url(image/txt_menu_home.png);
}

#header .global_menu .nav li.news a {
  background-image: url(image/txt_menu_news.png);
}

#header .global_menu .nav li.about a {
  background-image: url(image/txt_menu_about.png);
}

#header .global_menu .nav li.quiz a {
  background-image: url(image/txt_menu_quiz.png);
}

#header .global_menu .nav li.gallery a {
  background-image: url(image/txt_menu_gallery.png);
}

#header .global_menu .nav li.kabegami a {
  background-image: url(image/txt_menu_kabegami.png);
}

#header .social {
  position: fixed;
  z-index: 5;
}

#header .social li a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  background: #000 no-repeat center center;
  background-size: contain;
  border-radius: 50%;
}

#header .social li.facebook a {
  background-image: url(image/icon_social_facebook.png);
}

#header .social li.twitter a {
  background-image: url(image/icon_social_twitter.png);
}

#header .social li.line a {
  background-image: url(image/icon_social_line.png);
}

@media all and (min-width: 740px) {
  #header .global_menu .menu {
    right: 10px;
    top: 10px;
    width: 100px;
    height: 100px;
    -webkit-transition: -webkit-box-shadow 0.4s;
    transition: -webkit-box-shadow 0.4s;
    transition: box-shadow 0.4s;
    transition: box-shadow 0.4s, -webkit-box-shadow 0.4s;
  }
  #header .global_menu .menu:before, #header .global_menu .menu:after {
    height: 4px;
  }
  #header .global_menu .menu span:before, #header .global_menu .menu span:after {
    margin-top: -2px;
    height: 4px;
  }
  #header .global_menu .menu:hover {
    -webkit-box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
  }
  #header .global_menu .nav a {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  #header .global_menu .nav a:hover {
    background-color: rgba(255, 255, 255, 0.1);
  }
  #header .social {
    right: 30px;
    top: 120px;
  }
  #header .social li {
    padding-top: 20px;
  }
  #header .social li a {
    width: 60px;
    height: 60px;
    -webkit-transition: background-color 0.4s, -webkit-box-shadow 0.4s;
    transition: background-color 0.4s, -webkit-box-shadow 0.4s;
    transition: background-color 0.4s, box-shadow 0.4s;
    transition: background-color 0.4s, box-shadow 0.4s, -webkit-box-shadow 0.4s;
  }
  #header .social li a:hover {
    background-color: #dcc20d;
    -webkit-box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
  }
}

@media only screen and (max-width: 739px) {
  #header .global_menu .menu {
    right: 10px;
    top: 10px;
    width: 60px;
    height: 60px;
  }
  #header .global_menu .menu:before, #header .global_menu .menu:after {
    height: 2px;
  }
  #header .global_menu .menu span:before, #header .global_menu .menu span:after {
    margin-top: -1px;
    height: 2px;
  }
  #header .global_menu .nav a {
    height: 50px;
  }
  #header .social {
    right: 20px;
    top: 80px;
  }
  #header .social li {
    padding-top: 10px;
  }
  #header .social li a {
    width: 40px;
    height: 40px;
  }
}

/* --------------------------------------------------
	 6. Content
-------------------------------------------------- */
#content #primary {
  position: relative;
  background: transparent url(image/bg_dot_rough.png) repeat left top;
  background-size: 10px;
}

#content > .home {
  margin-bottom: 5em;
  text-align: center;
}

#content > .home a {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 10px 5px;
  padding: 10px 30px;
  min-width: 240px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none !important;
  background-color: #333333;
  border-radius: 50px;
  cursor: pointer;
}

#content > .banner {
  text-align: center;
}

#content > .banner li {
  display: inline-block;
  vertical-align: middle;
  margin: 10px;
  width: 300px;
  max-width: 90%;
}

#content > .banner li a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 100%;
  padding-top: 33.33333%;
  background: transparent no-repeat center center;
  background-size: contain;
}

#content > .banner li.jikenjiko a {
  background-image: url(image/bn_jikenjiko.png);
}

#content > .banner li.gallery a {
  background-image: url(image/bn_gallery.png);
}

#content > .banner li.list03286 a {
  background-image: url(image/bn_list03286.png);
}

#content > .banner li.sagapre a {
  background-image: url(image/bn_sagapre.png);
}

#content > .banner li.sbp a {
  background-image: url(image/bn_sbp.png);
}

@media all and (min-width: 740px) {
  #content #primary {
    position: relative;
  }
  #content > .home {
    padding-top: 100px;
  }
  #content > .home a {
    -webkit-transition: color 0.4s, background-color 0.4s;
    transition: color 0.4s, background-color 0.4s;
  }
  #content > .home a:hover {
    color: #030303;
    background-color: #f5e25a;
  }
  #content > .banner li a {
    -webkit-transition: -webkit-box-shadow 0.4s;
    transition: -webkit-box-shadow 0.4s;
    transition: box-shadow 0.4s;
    transition: box-shadow 0.4s, -webkit-box-shadow 0.4s;
  }
  #content > .banner li a:hover {
    -webkit-box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
  }
}

@media only screen and (max-width: 739px) {
  #content > .home {
    padding-top: 50px;
  }
}

/* --------------------------------------------------
	 7. Footer
-------------------------------------------------- */
#footer {
  overflow: hidden;
}

#footer .inner::before, #footer .inner::after {
  position: absolute;
  bottom: 0;
  display: block;
  content: "";
  width: 50%;
  background: transparent no-repeat;
  background-size: contain;
  z-index: -1;
}

#footer .inner::before {
  right: 50%;
  background-image: url(image/bg_footer_left.png);
  background-position: right bottom;
}

#footer .inner::after {
  left: 50%;
  background-image: url(image/bg_footer_right.png);
  background-position: left bottom;
}

#footer .logo,
#footer .copyright {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  margin: 0 auto;
  background: transparent no-repeat center bottom;
  background-size: contain;
}

#footer .logo {
  margin-bottom: 10px;
  background-image: url(image/img_saga_pref.png);
}

#footer .information {
  font-size: 0.93333rem;
  text-align: center;
}

#footer .information .department > span,
#footer .information .tel_fax > span {
  display: inline-block;
  vertical-align: middle;
  margin-right: 1em;
}

#footer .information .department a,
#footer .information .tel_fax a {
  color: #333;
}

#footer .copyright {
  background-image: url(image/txt_copyright.png);
}

@media all and (min-width: 740px) {
  #footer .inner {
    padding-top: 100px;
  }
  #footer .inner::before {
    margin-right: 240px;
    padding-top: 20%;
  }
  #footer .inner::after {
    margin-left: 240px;
    padding-top: 21.875%;
  }
  #footer .logo {
    width: 300px;
    height: 50px;
  }
  #footer .copyright {
    margin: 30px auto;
    width: 300px;
    height: 15px;
  }
}

@media only screen and (max-width: 739px) {
  #footer .inner {
    padding-top: 50px;
  }
  #footer .inner::before {
    margin-right: 140px;
    padding-top: 16%;
  }
  #footer .inner::after {
    margin-left: 140px;
    padding-top: 17.5%;
  }
  #footer .logo {
    width: 200px;
    height: 60px;
  }
  #footer .copyright {
    margin: 15px auto;
    width: 200px;
    height: 10px;
  }
}

/* --------------------------------------------------
	 8. Index
-------------------------------------------------- */
body.index #header .main_img {
  position: relative;
  padding-top: 56.25%;
  background: transparent url(image/bg_dot.png) repeat left top;
  background-size: 4px;
}

body.index #header .main_img h1 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent url(image/h1_title.png) no-repeat center 25%;
  background-size: 46.875% auto;
}

body.index #header .main_img .movie {
  position: absolute;
  left: 0;
  top: 52.5%;
  width: 100%;
}

body.index #header .main_img .movie a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  position: relative;
  margin: 0 auto;
  width: 31.66667%;
  padding-top: 4.59677%;
}

body.index #header .main_img .movie a::before, body.index #header .main_img .movie a::after {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: transparent no-repeat center center;
  background-size: contain;
}

body.index #header .main_img .movie a::before {
  background-image: url(image/bn_movie_link_off.png);
  z-index: 1;
}

body.index #header .main_img .movie a::after {
  background-image: url(image/bn_movie_link_on.png);
  opacity: 0;
  z-index: 2;
}

body.index #header .main_img .scroll {
  position: absolute;
  left: 0;
  top: 65%;
  width: 100%;
  -webkit-animation: scroll_button 1.5s linear infinite;
  animation: scroll_button 1.5s linear infinite;
}

body.index #header .main_img .scroll a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  position: relative;
  margin: 0 auto;
  width: 7.5%;
  padding-top: 13.33333%;
}

body.index #header .main_img .scroll a::before, body.index #header .main_img .scroll a::after {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: transparent no-repeat center center;
  background-size: contain;
}

body.index #header .main_img .scroll a::before {
  background-image: url(image/btn_scroll_off.png);
  z-index: 1;
}

body.index #header .main_img .scroll a::after {
  background-image: url(image/btn_scroll_on.png);
  opacity: 0;
  z-index: 2;
}

body.index #header .main_img #player {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: -2;
}

body.index article {
  padding-top: 0;
}

body.index article section + section {
  padding-top: 0;
}

body.index section.news {
  position: relative;
  background: #f5e25a url(image/bg_footprint.png) no-repeat 10% center;
  background-size: auto 90%;
}

body.index section.news::before, body.index section.news::after {
  position: absolute;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 10px;
  background: transparent url(image/bg_frame.png) repeat-x left top;
  background-size: 20px 10px;
}

body.index section.news::before {
  top: -10px;
}

body.index section.news::after {
  bottom: -10px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

body.index section.news h2 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 100%;
  background: transparent url(image/h2_news.png) no-repeat center center;
  background-size: contain;
}

body.index section.news ul {
  margin: 2em auto;
  max-width: 800px;
  border-top: 1px dashed #666666;
}

body.index section.news li {
  border-bottom: 1px dashed #666666;
}

body.index section.news li a {
  position: relative;
  display: block;
  padding: 15px 40px 15px 10px;
  color: #2d2d2d;
  font-size: 1.06667rem;
  text-decoration: none;
}

body.index section.news li a.new .date::after {
  background-image: url(image/icon_news_new.png);
}

body.index section.news li a .date::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 90px;
  height: 20px;
  background: transparent no-repeat center center;
  background-size: contain;
}

body.index section.news li a::after {
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -10px;
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 20px;
  height: 20px;
  background: transparent url(image/icon_news_arrow.png) no-repeat center center;
  background-size: contain;
}

body.index section.news .more {
  text-align: center;
}

body.index section.about h2 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 100%;
  padding-top: 8.47458%;
  background: transparent url(image/h2_about.png) no-repeat center center;
  background-size: contain;
}

body.index section.about .comment {
  padding: 1em 0;
  font-size: 1.13333rem;
}

body.index section.about .manya {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 100%;
  padding-top: 40.67797%;
  background: transparent url(image/img_about.png) no-repeat center center;
  background-size: contain;
}

body.index section.about .more {
  text-align: center;
}

body.index section.about .guide {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 100%;
  background: transparent url(image/txt_about.png) no-repeat center center;
  background-size: contain;
}

body.index section#movie {
  background-color: #f5e25a;
}

body.index section#movie .inner {
  background: transparent url(image/bg_movie.jpg) no-repeat center center;
  background-size: 70%;
  margin-bottom: 100px !important;
}

body.index section#movie h2 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 100%;
  background: transparent url(image/h2_movie.png) no-repeat center center;
  background-size: contain;
}

body.index section#movie .hiroshi {
  background: transparent url(image/bg_movie_hiroshi.jpg) no-repeat center center;
  background-size: 70%;
}

body.index section#movie .hiroshi h2 {
  background: transparent url(image/h2_movie_hiroshi.png) no-repeat center center;
  background-size: contain;
}

body.index section#movie .couple {
  background: transparent url("image/bg_movie_couple.jpg") no-repeat center center;
  background-size: 70%;
}

body.index section#movie .couple h2 {
  background: transparent url(image/h2_movie_couple.png) no-repeat center center;
  background-size: contain;
}

body.index section#movie .oudan {
  background: transparent url("image/bg_movie_oudan.jpg") no-repeat center center;
  background-size: 70%;
}

body.index section#movie .oudan h2 {
  background: transparent url(image/h2_movie_oudan.png) no-repeat center center;
  background-size: contain;
}

body.index section#movie .itumono {
  background: transparent url("image/bg_movie_itumono.jpg") no-repeat center center;
  background-size: 70%;
}

body.index section#movie .itumono h2 {
  background: transparent url(image/h2_movie_itumono.png) no-repeat center center;
  background-size: contain;
}

body.index section#movie .yokaroumon {
  background: transparent url("image/bg_movie_yokaroumon.jpg") no-repeat center center;
  background-size: 70%;
}

body.index section#movie .yokaroumon h2 {
  background: transparent url(image/h2_movie_yokaroumon.png) no-repeat center center;
  background-size: contain;
}

body.index section#movie .smp {
  background: transparent url("image/bg_movie_smp.jpg") no-repeat center center;
  background-size: 70%;
}

body.index section#movie .smp h2 {
  background: transparent url(image/h2_movie_smp.png) no-repeat center center;
  background-size: contain;
}

body.index section#movie .osananazimi {
  background: transparent url("image/bg_movie_osananazimi.jpg") no-repeat center center;
  background-size: 70%;
}

body.index section#movie .osananazimi h2 {
  background: transparent url(image/h2_movie_osananazimi.png) no-repeat center center;
  background-size: contain;
}
body.index section#movie .oudanaka {
  background: transparent url("image/bg_movie_oudanaka.jpg") no-repeat center center;
  background-size: 70%;
}

body.index section#movie .oudanaka h2 {
  background: transparent url(image/h2_movie_oudanaka.png) no-repeat center center;
  background-size: contain;
}

body.index section#movie .summary span {
  display: inline-block;
  margin-bottom: .5em;
  padding: .5em 1em;
  color: #fff;
  background-color: #2d2d2d;
}

body.index section#movie .movie {
  text-align: center;
}

body.index section#movie .movie a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  position: relative;
  margin: 0 auto;
  width: 46.66667%;
  padding-top: 9.16667%;
}

body.index section#movie .movie a::before, body.index section#movie .movie a::after {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: transparent no-repeat center center;
  background-size: contain;
}

body.index section#movie .movie a::before {
  background-image: url(image/bn_movie_off.png);
  z-index: 1;
}

body.index section#movie .movie a::after {
  background-image: url(image/bn_movie_on.png);
  opacity: 0;
  z-index: 2;
}
.grad-wrap{
	position: relative;
	padding-bottom: 5em;
}
.grad-btn {
	position: absolute;
	right: 0;
	left: 0;
	vertical-align: middle;
	margin: 10px auto;
	padding: 10px 30px !important;
	width: 240px;
	color: #333;
	background-color: #fff;
	font-weight: bold;
	text-align: center;
	text-decoration: none !important;
	border-radius: 50px;
	transition: color 0.4s, background-color 0.4s, box-shadow 0.4s, -webkit-box-shadow 0.4s;
	z-index: 1;
}
.grad-btn::before {
  content: "もっと見る"
}
.grad-item {
  position: relative;
  overflow: hidden;
  height: 0; /*隠した状態の高さ*/
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  content: "";
}
.grad-trigger {
  display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked ~ .grad-btn{
	bottom: -2em;
}
.grad-trigger:checked ~ .grad-btn::before {
  content: "閉じる" /*チェックされていたら、文言を変更する*/
}
.grad-trigger:checked ~ .grad-item {
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ .grad-item::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}
@media all and (min-width: 740px) {
	.grad-btn:hover {
		color: #fff;
		background-color: #333;
		box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
	}
}

body.index section.quiz h2 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 100%;
  background: transparent url(image/h2_quiz.png) no-repeat center center;
  background-size: contain;
}

body.index section.quiz .comment {
  padding: 1em 0 3em;
  font-size: 1.13333rem;
}

body.index section.quiz .question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

body.index section.quiz .question a {
  display: block;
  color: #333;
  font-size: 1.13333rem;
  font-weight: bold;
  text-decoration: none;
  position: relative;
  background-color: #fff;
  border: 8px solid #5fc8f2;
  border-radius: 4px;
}

body.index section.quiz .question a::before {
  position: absolute;
  left: 1%;
  top: 0;
  display: block;
  content: "";
  background: transparent url(image/icon_question.png) no-repeat center center;
  background-size: contain;
  border-radius: 50%;
}

body.index section.quiz .question a ol {
  padding-top: .5em;
}

body.index section.quiz .question a ol li {
  margin-left: 1.25em;
  text-indent: -1.25em;
}

body.index section.quiz .more {
  text-align: center;
}

body.index section.quiz .overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px;
  background-color: rgba(3, 3, 3, 0.6);
  opacity: 0;
  pointer-events: none;
  z-index: 30;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

body.index section.quiz .overlay.show {
  opacity: 1;
  pointer-events: auto;
}

body.index section.quiz .overlay .answer {
  position: relative;
  background-color: #fff;
  border: 8px solid #ef6082;
  border-radius: 4px;
}

body.index section.quiz .overlay .answer::before {
  position: absolute;
  left: 10px;
  top: 0;
  display: block;
  content: "";
  background: transparent url(image/icon_answer.png) no-repeat center center;
  background-size: contain;
  border-radius: 50%;
}

body.index section.quiz .overlay .answer > ul > li {
  display: none;
}

body.index section.quiz .overlay .answer > ul > li.active {
  display: block;
}

body.index section.quiz .overlay .answer .title {
  margin-bottom: 1em;
  font-size: 1.13333rem;
  font-weight: bold;
  border-bottom: 1px dashed #ef6082;
}

body.index section.quiz .overlay .answer .content {
  font-size: 1.13333rem;
  font-weight: bold;
}

body.index section.quiz .overlay .answer .close {
  padding-top: 2em;
  text-align: center;
}

body.index section.quiz .overlay .answer .close a {
  position: relative;
  padding: 10px 50px 10px 70px;
  color: #fff;
  text-decoration: none;
  background-color: #030303;
  border-radius: 30px;
}

body.index section.quiz .overlay .answer .close a::before, body.index section.quiz .overlay .answer .close a::after {
  position: absolute;
  left: 55px;
  top: 50%;
  display: block;
  content: "";
  margin-top: -7px;
  width: 1px;
  height: 14px;
  background-color: #fff;
}

body.index section.quiz .overlay .answer .close a::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

body.index section.quiz .overlay .answer .close a::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media all and (min-width: 740px) {
  body.index #header .main_img .movie a::after {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  body.index #header .main_img .movie a:hover::after {
    opacity: 1;
  }
  body.index #header .main_img .scroll a::after {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  body.index #header .main_img .scroll a:hover::after {
    opacity: 1;
  }
  body.index article {
    padding-bottom: 50px;
  }
  body.index section {
    padding: 50px 0 !important;
  }
  body.index section.news h2 {
    padding-top: 5.83333%;
  }
  body.index section.news li a {
    overflow: hidden;
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    word-wrap: normal;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  body.index section.news li a:hover {
    background-color: rgba(255, 255, 255, 0.2);
  }
  body.index section.about .comment {
    padding-left: 20px;
    padding-right: 20px;
    text-align: center;
  }
  body.index section.about .guide {
    height: 60px;
  }
  body.index section#movie {
    padding: 100px 0 !important;
  }
    
  body.index section#movie h2 {
    padding-top: 10%;
  }
  body.index section#movie .summary {
    margin: 4em 0 6em;
    font-size: 1.33333rem;
  }

  body.index section#movie .movie a::after {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  body.index section#movie .movie a:hover::after {
    opacity: 1;
  }
  body.index section.quiz h2 {
    padding-top: 7.5%;
  }
  body.index section.quiz .comment {
    padding-left: 20px;
    padding-right: 20px;
    text-align: center;
  }
  body.index section.quiz .question {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
    max-width: 880px;
  }
  body.index section.quiz .question a {
    margin: 1%;
    margin-bottom: 3.57143%;
    padding: 3% 5% 2.5%;
    width: 43%;
    -webkit-transition: -webkit-box-shadow 0.4s;
    transition: -webkit-box-shadow 0.4s;
    transition: box-shadow 0.4s;
    transition: box-shadow 0.4s, -webkit-box-shadow 0.4s;
  }
  body.index section.quiz .question a::before {
    margin-top: -9.28571%;
    width: 14.28571%;
    padding-top: 14.28571%;
    -webkit-transition: -webkit-box-shadow 0.4s;
    transition: -webkit-box-shadow 0.4s;
    transition: box-shadow 0.4s;
    transition: box-shadow 0.4s, -webkit-box-shadow 0.4s;
  }
  body.index section.quiz .question a:hover {
    -webkit-box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
  }
  body.index section.quiz .question a:hover::before {
    -webkit-box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
  }
  body.index section.quiz .overlay .answer {
    padding: 40px;
  }
  body.index section.quiz .overlay .answer::before {
    margin-top: -40px;
    width: 60px;
    padding-top: 60px;
  }
  body.index section.quiz .overlay .answer .close a {
    -webkit-transition: color 0.4s, background-color 0.4s;
    transition: color 0.4s, background-color 0.4s;
  }
  body.index section.quiz .overlay .answer .close a::before, body.index section.quiz .overlay .answer .close a::after {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  body.index section.quiz .overlay .answer .close a:hover {
    color: #030303;
    background-color: #f5e25a;
  }
  body.index section.quiz .overlay .answer .close a:hover::before, body.index section.quiz .overlay .answer .close a:hover::after {
    background-color: #030303;
  }
}

@media only screen and (max-width: 739px) {
  body.index #header .main_img .movie a {
    width: 45%;
    padding-top: 6.53226%;
  }
  body.index #header .main_img .scroll {
    display: none;
  }
  body.index article {
    padding-bottom: 25px;
  }
  body.index section {
    padding: 25px 0 !important;
  }
  body.index section.news h2 {
    margin-bottom: 30px;
    padding-top: 8.97436%;
  }
  body.index section.news li a .title {
    display: block;
    padding-top: 5px;
  }
  body.index section.about .comment br {
    display: none;
  }
  body.index section.about .guide {
    height: 40px;
  }
  body.index section#movie {
    padding: 50px 0 !important;
  }
  body.index section#movie .inner {
    background-position: center 10%;
    margin-bottom: 50px !important;
  }
  body.index section#movie h2 {
    padding-top: 10%;
  }
  body.index section#movie .summary {
    margin: 37.5% 0 2em;
  }
  body.index section#movie .movie a {
    width: 280px;
    height: 55px;
    padding-top: 0;
  }
  body.index section.quiz h2 {
    padding-top: 10.22727%;
  }
  body.index section.quiz .comment br {
    display: none;
  }
  body.index section.quiz .question {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  body.index section.quiz .question a {
    margin-bottom: 40px;
    padding: 25px 5% 20px;
  }
  body.index section.quiz .question a::before {
    margin-top: -25px;
    width: 40px;
    height: 40px;
    padding-top: 0;
  }
  body.index section.quiz .overlay .answer {
    padding: 30px 20px;
  }
  body.index section.quiz .overlay .answer::before {
    margin-top: -25px;
    width: 40px;
    padding-top: 40px;
  }
}

/* --------------------------------------------------
	 9. News
-------------------------------------------------- */
body.news article {
  padding-bottom: 0;
}

body.news article h1 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  padding-top: 6.66667%;
  background: transparent url(images/news/h1_title.png) no-repeat center center;
  background-size: contain;
}

body.news section > .panel {
  position: relative;
  background: #f5e25a url(images/news/bg_footprint.png) no-repeat 10% center;
  background-size: auto 90%;
}

body.news section > .panel::before, body.news section > .panel::after {
  position: absolute;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 10px;
  background: transparent url(image/bg_frame.png) repeat-x left top;
  background-size: 20px 10px;
}

body.news section > .panel::before {
  top: -10px;
}

body.news section > .panel::after {
  bottom: -10px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

body.news section.list .list {
  margin: 2em auto;
  max-width: 800px;
  border-top: 1px dashed #666666;
}

body.news section.list .list li {
  border-bottom: 1px dashed #666666;
}

body.news section.list .list li a {
  position: relative;
  display: block;
  padding: 15px 40px 15px 10px;
  color: #2d2d2d;
  font-size: 1.06667rem;
  text-decoration: none;
}

body.news section.list .list li a.new .date::after {
  background-image: url(image/icon_news_new.png);
}

body.news section.list .list li a .date::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 90px;
  height: 20px;
  background: transparent no-repeat center center;
  background-size: contain;
}

body.news section.list .list li a::after {
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -10px;
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 20px;
  height: 20px;
  background: transparent url(image/icon_news_arrow.png) no-repeat center center;
  background-size: contain;
}

body.news section.detail > .panel > .inner > h2 {
  display: inline-block;
  margin-bottom: 1em;
  padding: 5px 20px;
  color: #fff;
  font-size: 1.26667rem;
  background-color: #000;
}

body.news section.detail > .panel > .inner > .date {
  margin-bottom: 1em;
  font-size: 1.13333rem;
}

body.news section.detail > .panel > .inner > .content {
  font-size: 1.13333rem;
}

body.news section.detail > .panel > .inner > .content::after {
  display: block;
  content: "";
  clear: both;
}

body.news section.detail > .panel > .inner > .content img {
  height: auto !important;
}

body.news section.detail > .panel > .inner > .content table {
  margin: 2em auto;
  max-width: 100%;
  background-color: #fff;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
}

body.news section.detail > .panel > .inner > .content table th {
  color: #fff;
  font-weight: bold;
  text-align: center;
  background-color: #000;
}

body.news section.detail > .panel > .inner > .content table th,
body.news section.detail > .panel > .inner > .content table td {
  border-left: 1px solid #000;
  border-top: 1px solid #000;
}

body.news section.detail > .panel > .inner > .content ul,
body.news section.detail > .panel > .inner > .content ol {
  margin: 0 0 1em 1.5em;
}

body.news section.detail > .panel > .inner > .content ul > li,
body.news section.detail > .panel > .inner > .content ol > li {
  padding-left: 0.25em;
}

body.news section.detail > .panel > .inner > .content ul > li > ul,
body.news section.detail > .panel > .inner > .content ul > li > ol,
body.news section.detail > .panel > .inner > .content ol > li > ul,
body.news section.detail > .panel > .inner > .content ol > li > ol {
  margin: 0 0 0 1.25em;
}

body.news section.detail > .panel > .inner > .content ul > li > ul > li::before {
  background-color: transparent;
}

body.news section.detail > .panel > .inner > .content ul > li {
  position: relative;
}

body.news section.detail > .panel > .inner > .content ul > li::before {
  position: absolute;
  left: -1.05em;
  top: 0.65em;
  display: block;
  content: "";
  width: 7px;
  height: 7px;
  background-color: #333;
  border: 2px solid #333;
  border-radius: 50%;
}

body.news section.detail > .panel > .inner > .content ol {
  list-style: decimal;
}

body.news section.detail > .panel > .inner > .content ol > li::before {
  display: none;
}

body.news section.detail > .panel > .inner > .content dl dt {
  font-weight: bold;
}

body.news section.detail > .panel > .inner > .content dl dd {
  margin-left: 1em;
}

body.news section.detail > .panel > .inner > .list {
  padding-top: 2em;
  text-align: center;
}

@media all and (min-width: 740px) {
  body.news article h1 {
    margin-bottom: 60px;
  }
  body.news section > .panel {
    padding: 60px 0;
  }
  body.news section.list .list li a {
    overflow: hidden;
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    word-wrap: normal;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  body.news section.list .list li a:hover {
    background-color: rgba(255, 255, 255, 0.2);
  }
  body.news section.detail > .panel > .inner > h2 {
    margin-right: 100px;
  }
}

@media only screen and (max-width: 739px) {
  body.news article h1 {
    margin-bottom: 30px;
  }
  body.news section > .panel {
    padding: 30px 0;
  }
  body.news section.list .list li a .title {
    display: block;
    padding-top: 5px;
  }
  body.news section.detail > .panel > .inner > h2 {
    margin-right: 40px;
  }
}

/* --------------------------------------------------
	10. About
-------------------------------------------------- */
body.about article {
  padding-bottom: 0;
}

body.about section.about h1 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  padding-top: 14.16667%;
  background: transparent url(images/about/h1_title.png) no-repeat center center;
  background-size: contain;
}

body.about section.about .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

body.about section.about .row .manya {
  width: 40%;
}

body.about section.about .row .manya .image {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  margin: 0 auto;
  max-width: 400px;
  background: transparent url(images/about/img_manya.png) no-repeat center center;
  background-size: contain;
}

body.about section.about .row .status {
  width: 60%;
}

body.about section.about .row .status ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

body.about section.about .row .status ul li {
  padding: 5px 10px;
  width: 100%;
  font-weight: bold;
}

body.about section.about .row .status ul li:nth-child(4) {
  position: relative;
}

body.about section.about .row .status ul li:nth-child(4)::after {
  position: absolute;
  right: 30px;
  top: 50%;
  display: block;
  content: "";
  margin-top: -50px;
  width: 50px;
  height: 90px;
  background: transparent url(images/about/icon_mark01.png) no-repeat center center;
  background-size: contain;
}

body.about section.about .row .status ul li:nth-child(4) .content {
  padding-right: 70px;
}

body.about section.about .row .status ul .title {
  display: inline-block;
  margin-left: -15px;
  padding: 5px 20px;
  color: #fff;
  background-color: #000;
  border-radius: 4px;
}

body.about section.about .row .status ul .content {
  display: block;
  margin-top: -15px;
  margin-bottom: 1em;
  padding: 20px 20px 10px;
  font-size: 1.13333rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.5);
  border-radius: 4px;
}

body.about section.about .row .status ul .twitter_btn .basic_btn{
	font-size: 0.875rem;
	padding: 8px 20px;
	min-width: 200px;
}

body.about section.about .config {
  position: relative;
  background: #f5e25a url(image/bg_footprint.png) no-repeat 10% center;
  background-size: auto 90%;
}

body.about section.about .config::before, body.about section.about .config::after {
  position: absolute;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 10px;
  background: transparent url(image/bg_frame.png) repeat-x left top;
  background-size: 20px 10px;
}

body.about section.about .config::before {
  top: -10px;
}

body.about section.about .config::after {
  bottom: -10px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

body.about section.about .config ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

body.about section.about .config ul li {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 50%;
  padding-top: 31.66667%;
  background: transparent no-repeat center bottom;
  background-size: contain;
}

body.about section.about .config ul li:nth-child(1) {
  background-image: url(images/about/img_config01.png);
}

body.about section.about .config ul li:nth-child(2) {
  background-image: url(images/about/img_config02.png);
}

body.about section.about .config h2{
	margin-bottom: 40px;
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  padding-top: 5%;
  background: transparent url(images/about/tit_meigen.png) no-repeat center center;
  background-size: contain;
}

body.about section.about .config .meigen{
	text-align: center;
	margin-bottom: 120px;
}
body.about section.about .config .meigen img{
	display: block;
	margin: 0 auto 1em;
}


body.about section.terms {
  background-color: #fff;
}

body.about section.terms #anc_terms,
body.about section.terms #anc_cast{
	margin-top:-50px;
	padding-top:50px;
}

body.about section.terms .frame {
  border: 1px solid rgba(0, 0, 0, 0.5);
}

body.about section.terms h2 {
  margin: -2em 0 .5em;
  font-size: 2rem;
  text-align: center;
}

body.about section.terms h2 span {
  padding: 0 .5em;
  background-color: #fff;
}

body.about section.terms h3 {
  padding-top: 1em;
}

body.about section.terms .focus {
  max-width: none;
}

body.about section.terms dl dt {
  margin-left: 1.25em;
  text-indent: -1.25em;
  padding-top: 1em;
  font-weight: bold;
}

body.about section.terms dl dt:first-child {
  padding-top: 0;
}

body.about section.terms ul li {
  margin-left: 2.25em;
  text-indent: -2.25em;
}

body.about section.terms ul li::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  margin: 0 10px;
  width: 10px;
  height: 10px;
  background: transparent url(images/about/icon_arrow.png) no-repeat center center;
  background-size: contain;
}

body.about section.terms ul li.new a::after{
  display: inline-block;
  vertical-align: middle;
  content: "";
  margin-top: -5px;
  margin-left: 5px;
  width: 60px;
  height: 20px;
  background: transparent no-repeat center center;
  background-size: contain;
  background-image: url(images/about/icon_new.png);
}


body.about section.terms ul li.pdf span::after, body.about section.terms ul li.word span::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  margin-top: -5px;
  margin-left: 5px;
  width: 20px;
  height: 20px;
  background: transparent no-repeat center center;
  background-size: contain;
}

body.about section.terms ul li.pdf span::after {
  background-image: url(images/about/icon_pdf.png);
}

body.about section.terms ul li.word span::after {
  background-image: url(images/about/icon_word.png);
}

body.about section.terms address {
  margin-left: 1.5em;
}

body.about section.terms address > span {
  display: inline-block;
  vertical-align: middle;
  margin-right: 1em;
}

@media all and (min-width: 740px) {
  body.about section.about .row {
    margin-bottom: 60px;
  }
  body.about section.about .row .manya .image {
    padding-top: 105%;
  }
  body.about section.about .row .status {
    padding-right: 100px;
  }
  body.about section.about .row .status ul li:nth-child(2) {
    width: 40%;
  }
  body.about section.about .row .status ul li:nth-child(3) {
    width: 55%;
    margin-left: 5%;
  }
  body.about section.about .row .status ul li:nth-child(5) {
    width: 40%;
  }
  body.about section.about .row .status ul li:nth-child(5) .content {
    padding-right: 40px;
  }
  body.about section.about .row .status ul li:nth-child(6) {
    width: 55%;
    margin-left: 5%;
  }
  body.about section.about .config {
    padding: 60px 0;
  }
  body.about section.terms .frame {
    margin: 0 30px;
    padding: 30px 40px;
  }
  body.about section.terms h3 {
    font-size: 1.26667rem;
  }
  body.about section.terms dl dt {
    font-size: 1.13333rem;
  }
  body.about section.terms br.pc_only{
	display: none;
  }
}

@media only screen and (max-width: 739px) {
  body.about section.about .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 30px;
  }
  body.about section.about .row .manya,
  body.about section.about .row .status {
    width: 100%;
  }
  body.about section.about .row .manya .image {
    padding-top: 75%;
  }
  body.about section.about .row .status ul li:nth-child(4)::after {
    margin-top: -40px;
  }
  body.about section.about .row .status ul li:nth-child(4) .content {
    padding-right: 80px;
  }
  body.about section.about .config {
    padding: 30px 0;
  }
  body.about section.about .config ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  body.about section.about .config ul li {
    margin-bottom: 10px;
    width: 100%;
    padding-top: 63.33333%;
  }
  body.about section.terms .frame {
    margin: 0;
    padding: 20px 20px;
  }
  body.about section.terms h2 {
    font-size: 1.33333rem;
  }
  body.about section.terms h3 {
    font-size: 1.13333rem;
  }
  body.about section.terms address br {
    display: none;
  }
  body.about section.terms address > span {
    display: block;
  }
}

/* --------------------------------------------------
	11. Quiz
-------------------------------------------------- */
body.quiz section.quiz > .inner > p {
  margin: 1em auto;
  font-size: 1.13333rem;
  max-width: 1120px;
}

body.quiz section.quiz h1 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  padding-top: 7.5%;
  background: transparent url(images/quiz/h1_title.png) no-repeat center center;
  background-size: contain;
}

body.quiz section.quiz .question {
  padding-top: 3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

body.quiz section.quiz .question a {
  display: block;
  color: #333;
  font-size: 1.13333rem;
  font-weight: bold;
  text-decoration: none;
  position: relative;
  background-color: #fff;
  border: 8px solid #5fc8f2;
  border-radius: 4px;
}

body.quiz section.quiz .question a::before {
  position: absolute;
  left: 1%;
  top: 0;
  display: block;
  content: "";
  background: transparent url(image/icon_question.png) no-repeat center center;
  background-size: contain;
  border-radius: 50%;
}

body.quiz section.quiz .question a ol {
  padding-top: .5em;
}

body.quiz section.quiz .question a ol li {
  margin-left: 1.25em;
  text-indent: -1.25em;
}

body.quiz section.quiz .overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px;
  background-color: rgba(3, 3, 3, 0.6);
  opacity: 0;
  pointer-events: none;
  z-index: 30;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

body.quiz section.quiz .overlay.show {
  opacity: 1;
  pointer-events: auto;
}

body.quiz section.quiz .overlay .answer {
  position: relative;
  background-color: #fff;
  border: 8px solid #ef6082;
  border-radius: 4px;
}

body.quiz section.quiz .overlay .answer::before {
  position: absolute;
  left: 10px;
  top: 0;
  display: block;
  content: "";
  background: transparent url(image/icon_answer.png) no-repeat center center;
  background-size: contain;
  border-radius: 50%;
}

body.quiz section.quiz .overlay .answer > ul > li {
  display: none;
}

body.quiz section.quiz .overlay .answer > ul > li.active {
  display: block;
}

body.quiz section.quiz .overlay .answer .title {
  margin-bottom: 1em;
  font-size: 1.13333rem;
  font-weight: bold;
  border-bottom: 1px dashed #ef6082;
}

body.quiz section.quiz .overlay .answer .content {
  font-size: 1.13333rem;
  font-weight: bold;
}

body.quiz section.quiz .overlay .answer .close {
  padding-top: 2em;
  text-align: center;
}

body.quiz section.quiz .overlay .answer .close a {
  position: relative;
  padding: 10px 50px 10px 70px;
  color: #fff;
  text-decoration: none;
  background-color: #030303;
  border-radius: 30px;
}

body.quiz section.quiz .overlay .answer .close a::before, body.quiz section.quiz .overlay .answer .close a::after {
  position: absolute;
  left: 55px;
  top: 50%;
  display: block;
  content: "";
  margin-top: -7px;
  width: 1px;
  height: 14px;
  background-color: #fff;
}

body.quiz section.quiz .overlay .answer .close a::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

body.quiz section.quiz .overlay .answer .close a::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media all and (min-width: 740px) {
  body.quiz article {
    padding-bottom: 50px;
  }
  body.quiz section.quiz > .inner > p {
    padding: 0 100px 0 20px;
  }
  body.quiz section.quiz .question {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
    max-width: 880px;
  }
  body.quiz section.quiz .question a {
    margin: 1%;
    margin-bottom: 3.57143%;
    padding: 3% 5% 2.5%;
    width: 43%;
    -webkit-transition: -webkit-box-shadow 0.4s;
    transition: -webkit-box-shadow 0.4s;
    transition: box-shadow 0.4s;
    transition: box-shadow 0.4s, -webkit-box-shadow 0.4s;
  }
  body.quiz section.quiz .question a::before {
    margin-top: -9.28571%;
    width: 14.28571%;
    padding-top: 14.28571%;
    -webkit-transition: -webkit-box-shadow 0.4s;
    transition: -webkit-box-shadow 0.4s;
    transition: box-shadow 0.4s;
    transition: box-shadow 0.4s, -webkit-box-shadow 0.4s;
  }
  body.quiz section.quiz .question a:hover {
    -webkit-box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
  }
  body.quiz section.quiz .question a:hover::before {
    -webkit-box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.2);
  }
  body.quiz section.quiz .overlay .answer {
    padding: 40px;
  }
  body.quiz section.quiz .overlay .answer::before {
    margin-top: -40px;
    width: 60px;
    padding-top: 60px;
  }
  body.quiz section.quiz .overlay .answer .close a {
    -webkit-transition: color 0.4s, background-color 0.4s;
    transition: color 0.4s, background-color 0.4s;
  }
  body.quiz section.quiz .overlay .answer .close a::before, body.quiz section.quiz .overlay .answer .close a::after {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  body.quiz section.quiz .overlay .answer .close a:hover {
    color: #030303;
    background-color: #f5e25a;
  }
  body.quiz section.quiz .overlay .answer .close a:hover::before, body.quiz section.quiz .overlay .answer .close a:hover::after {
    background-color: #030303;
  }
  body.quiz #content > .home {
    padding-top: 50px;
  }
}

@media only screen and (max-width: 739px) {
  body.quiz article {
    padding-bottom: 25px;
  }
  body.quiz section.quiz > .inner > p {
    padding-right: 40px;
  }
  body.quiz section.quiz > .inner > p br {
    display: none;
  }
  body.quiz section.quiz .question {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  body.quiz section.quiz .question a {
    margin-bottom: 40px;
    padding: 25px 5% 20px;
  }
  body.quiz section.quiz .question a::before {
    margin-top: -25px;
    width: 40px;
    height: 40px;
    padding-top: 0;
  }
  body.quiz section.quiz .overlay .answer {
    padding: 30px 20px;
  }
  body.quiz section.quiz .overlay .answer::before {
    margin-top: -25px;
    width: 40px;
    padding-top: 40px;
  }
  body.quiz #content > .home {
    padding-top: 25px;
  }
}

/* --------------------------------------------------
	12. Gallery
-------------------------------------------------- */
body.gallery section.gallery h1 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  padding-top: 14.16667%;
  background: transparent url(images/gallery/h1_title.png) no-repeat center center;
  background-size: contain;
}

body.gallery section.gallery .cm {
  padding-top: 5em;
}

body.gallery section.gallery .cm li {
  margin-bottom: 2em;
  text-align: center;
}

body.gallery section.gallery .cm .title {
  font-weight: bold;
}

@media all and (min-width: 740px) {
  body.gallery article {
    padding-bottom: 50px;
  }
  body.gallery section.gallery .cm::after {
    display: block;
    content: "";
    clear: both;
  }
  body.gallery section.gallery .cm li {
    float: left;
    width: 50%;
  }
  body.gallery section.gallery .cm li:nth-child(2n) {
    padding: 0 20px 0 10px;
  }
  body.gallery section.gallery .cm li:nth-child(2n+1) {
    padding: 0 10px 0 20px;
  }
  body.gallery #content > .home {
    padding-top: 50px;
  }
}

@media only screen and (max-width: 739px) {
  body.gallery article {
    padding-bottom: 25px;
  }
  body.gallery #content > .home {
    padding-top: 25px;
  }
}


/* --------------------------------------------------
	13. Kabegami
-------------------------------------------------- */
body.kabegami article {
  padding-bottom: 0;
}

body.kabegami section.kabegami h1 {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  padding-top: 7.5%;
  background: transparent url(images/kabegami/h1_title.png) no-repeat center center;
  background-size: contain;
}
body.kabegami section.kabegami p.first {
  text-align: center;
  margin: 4em auto 7em;
  font-size: 1.13333rem;
}

body.kabegami section.kabegami .config {
  position: relative;
  background: #f5e25a url(image/bg_footprint.png) no-repeat 10% center;
  background-size: auto 90%;
}

body.kabegami section.kabegami .config::before, body.kabegami section.kabegami .config::after {
  position: absolute;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 10px;
  background: transparent url(image/bg_frame.png) repeat-x left top;
  background-size: 20px 10px;
}

body.kabegami section.kabegami .config::before {
  top: -10px;
}

body.kabegami section.kabegami .config::after {
  bottom: -10px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}


body.kabegami section.terms {
  background-color: #fff;
  font-weight: 500;
}

body.kabegami section.terms .frame {
  max-width: 1000px;
  border: 1px solid rgba(0, 0, 0, 0.5);
}

body.kabegami section.terms h2 {
  margin: -2em 0 .5em;
  font-size: 2rem;
  text-align: center;
}

body.kabegami section.terms h2 span {
  padding: 0 .5em;
  background-color: #fff;
  display: inline-block;
}

body.kabegami section.terms h3 {
  font-size: 1.53333rem;
}

body.kabegami section.terms dl{
  margin-bottom: .5em;
}
body.kabegami section.terms dl dt,
body.kabegami section.terms dl dd{
  display: inline-block;
  font-size: 1.13333rem;
}
body.kabegami section.terms dl dt {
  border: 1px solid #000;
  border-radius: 6px;
  padding: 0 1em;
  margin-right: .5em;
  line-height: 1.4;
}
body.kabegami section.terms .focus {
  max-width: 1100px;
}
body.kabegami section.terms .focus p {
  margin-bottom: 0;
}

body.kabegami section.kabegami .download{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
body.kabegami section.kabegami .download .item{
  text-align: center;
}
body.kabegami section.kabegami .download .item .title{
  background-color: #000;
  color: #fff;
  font-weight: bold;
  padding: 5px;
  margin-bottom: 1.5em;
}
body.kabegami section.kabegami .download .item .basic_btn{
  margin-top: 2em;
  position: relative;
  min-width: 140px;
  width: 88%;
}
body.kabegami section.kabegami .download .item .basic_btn::before,
body.kabegami section.kabegami .download .item .basic_btn::after{
  position: absolute;
  content: "";
  width: 40px;
  height: 40px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
body.kabegami section.kabegami .download .item .basic_btn::before{
  background-image: url(./images/kabegami/bg_btn_before.png);
  left: -20px;
  top: -5px;
}
body.kabegami section.kabegami .download .item .basic_btn::after{
  background-image: url(./images/kabegami/bg_btn_after.png);
  right: -15px;
  top: -20px;
}

body.kabegami section.kabegami .download .item p{
  margin: 0 auto;
  font-weight: 500;
}


@media all and (min-width: 740px) {
  body.kabegami section.kabegami .config {
    padding: 60px 0;
  }
  body.kabegami section.terms .frame {
    margin: 0 auto;
    padding: 30px 40px;
    font-size: 1.13333rem;
  }
  body.kabegami section.terms .focus {
    padding: 2em 5em;
    font-size: 1.13333rem;
  }
  body.kabegami section.kabegami .download .item{
    max-width: 290px;
    width: 25%;
    margin: 0 4% 4%;
  }
  body.kabegami section.terms .sp_only{
    display: none;
  }
}

@media only screen and (max-width: 739px) {
  body.kabegami section.kabegami p.first {
    text-align: left;
    margin: 1em auto 4em;
    padding-right: 40px;
  }
  
  body.kabegami section.kabegami .config {
    padding: 30px 0;
  }
  body.kabegami section.kabegami .download .item{
    width: 50%;
    padding: 2%;
    margin-bottom: 5%;
  }
  body.kabegami section.kabegami .download .item .basic_btn::before,
  body.kabegami section.kabegami .download .item .basic_btn::after{
    width: 20px;
    height: 20px;
  }
  body.kabegami section.kabegami .download .item .basic_btn::before{
    left: -10px;
    top: 5px;
  }
  body.kabegami section.kabegami .download .item .basic_btn::after{
    right: -5px;
    top: 0;
  }
  body.kabegami section.kabegami .download .item p{
    text-align: center;
  }
  body.kabegami section.terms .frame {
    margin: 0;
    padding: 20px 20px;
  }
  body.kabegami section.terms h2,
  body.kabegami section.terms h3 {
    font-size: 1.33333rem;
  }
}






/* --------------------------------------------------
	16. campaign（新着）
-------------------------------------------------- */
body:not(.index) section:first-child .campaign p{
  font-size: 1rem;
  text-align: left;
  padding: inherit;
}
body:not(.index) section:first-child .campaign p,
body:not(.index) section:first-child .campaign span,
body:not(.index) section:first-child .campaign dt,
body:not(.index) section:first-child .campaign dd,
body:not(.index) section:first-child .campaign div,
body:not(.index) section:first-child .campaign ul {
  color: #000;
}

.campaign h4{
  color: #000000;
  font-size: 1.25rem;
  margin-bottom: 0.5em;
  font-size: 30px;
}
.campaign .red{
  color: #ff0000 !important;
  font-size: 17px !important;
  margin-bottom: 0em;
}
.campaign .kome{
  text-indent: -1em;
  padding-left: 1em !important;
}
.campaign .mv{
  text-align: center;
}
.campaign .mv .period{
  font-weight: bold;
  margin: 5em auto;
  padding: 1em 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.campaign .mv .period .text__center{
  display: table;
  margin: 0 auto;
  text-align: left;
}
.campaign .mv .period span.big{
  font-size: 37px;
  margin-right: 6px;
}
.campaign .mv .period span{
  margin-right: 6px;
  font-size: 30px;
}
.campaign .bg_white{
  background-color: #fff;
  padding: 2em 0;
  margin-bottom: 2em;
}
.campaign .oubo{
  margin-bottom: 6em;
}
.campaign .oubo .twitter{
  margin-bottom: 3em;
}
.campaign .oubo .title{
  display: block;
  font-weight: bold;
  padding-left: 2.5em;
  margin-bottom: 1em;
  position: relative;
  font-size: 19px;
  line-height: 30px;
}
.campaign .oubo .title.twitter::before{
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 30px;
  height: 30px;
  background-image: url(./image/icon_twitter_circle.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.campaign .oubo .title.instagram::before{
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 30px;
  height: 30px;
  background-image: url(./image/icon_instagram_circle.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.campaign .oubo dl{
  margin-bottom: .75em;
}
.campaign .oubo dl dt,
.campaign .oubo dl dd{
  display: inline-block;
}
.campaign .oubo dl dt{
  border: 1px solid #000;
  padding: 0 .25em;
  text-align: center;
  width: 80px;
  line-height: 1.4;
  font-size: 17px;
  border-radius: 8px;
}
.campaign .oubo dl dd{
  width: calc(100% - 90px - 1em);
  font-size: 19px;
  vertical-align: text-top;
  margin-top: -7px;
}
.campaign .gaiyo h5{
  position: relative;
  padding-left: 1.25em;
  font-size: 19px;
  color: #000;
}
.campaign .gaiyo h5::before{
  position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: "■";
}
.campaign .gaiyo p{
  font-size: 17px;
  font-weight: 400;
}
.campaign .gaiyo ul{
  margin: .5em auto;
  margin-left: 2em !important
}
.campaign .gaiyo ul li{
  margin-bottom: 0.5em;
}
.campaign .gaiyo ul li::before {
  background-color: #000 !important;
  border: 2px solid #000 !important;
}

.campaign .contact_box{
  text-align: center;
  padding: 3em;
}
.campaign .contact_box .title{
  font-size: 1.5rem;
  font-weight: bold;
}
.campaign .contact_box p{
  text-align: center !important;
  padding: 0 !important;
  margin: .5em auto;
  font-weight: bold;
}
.campaign .contact_box a{
  display: inline-block;
  margin: 1em;
  background-color: #03a9f4;
  color: #fff !important;
  text-decoration: none;
  font-weight: bold;
}
.campaign .contact_box a.insta{
  background-color: #ff4979;
}
.campaign .contact_box a::after{
  display: none;
}

@media only screen and (max-width: 739px) {
  body:not(.index) section:first-child .campaign p{
    font-size: 14px;
  }
  .campaign .oubo .title{
  margin-bottom: 1.5em;
  font-size: 14px;
  }
  .campaign h4{
    font-size: 18px;
    margin-bottom: 0.5em;
  }
  .campaign .red{
    font-size: 14px !important;
  }
  .campaign .mv .period span.big{
    font-size: 1.25rem;
  }
  .campaign .mv .period span{
    font-size: 1rem;
  }
  .campaign .oubo dl dt{
    font-size: 16px;
  }
  .campaign .oubo dl dd{
    font-size: 17px;
  }
  .campaign .gaiyo h5{
    font-size: 16px;
  }
  .campaign .contact_box .title{
    font-size: 18px;
  }
  .campaign .contact_box{
    padding: 2em;
  }
  .campaign .contact_box a{
    margin: 0 0 1em 0;
  }
  .campaign .oubo dl dt{
  width: 70px;
  font-size: 16px;
  }
}