@charset "UTF-8";
/* ===================================================================
  common.css
=================================================================== */
/* CSS Document */
/* 画像サイズ調整 ---------------------------------------------------------------------------*/
/* フォントサイズ調整 ---------------------------------------------------------------------------*/
/* ブレークポイント ---------------------------------------------------------------------------*/
/*----------------------------------------------------
  共通
----------------------------------------------------*/
html {
  font-size: 10px;
}

body,
td,
th,
input,
textarea {
  color: #000000;
  font-family: "游ゴシック Medium", "游ゴシック体 Medium", "YuGothic", "Yu Gothic", "游ゴシック", "游ゴシック体", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif;
  font-size: 1.3rem;
  line-height: 1.5;
}

body {
  overflow-wrap: break-word;
}

a,
a:link,
a:visited,
a:active,
a:hover,
a:hover img {
  color: #000000;
  text-decoration: underline;
  /*
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
  opacity: .80;
*/
}

a:hover {
  text-decoration: none;
}

a:hover,
a:hover img,
.img_hover:hover {
  /*
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
  opacity: .80;
*/
}

img {
  vertical-align: bottom;
}

.img_ck {
  font-size: 0.1rem;
  line-height: 0;
}

/* clearfix (micro) */
.clearfix:before,
.clearfix:after {
  content: ' ';
  display: table;
}

.clearfix:after {
  clear: both;
}

/* For IE 6/7 only */
.clearfix {
  *zoom: 1;
}

div,
p {
  /*word-break: break-all;*/
}

h2,
h3,
h4,
h5,
h6,
div,
p,
ul,
ol,
li,
dl,
dt,
dd,
img,
nav {
  margin: 0;
  padding: 0;
}

ul,
ol,
li {
  list-style: none;
}

/* margin */
.mar_t0 {
  margin-top: 0 !important;
}

.mar_t5 {
  margin-top: 5px !important;
}

.mar_t10 {
  margin-top: 10px !important;
}

.mar_t15 {
  margin-top: 15px !important;
}

.mar_t20 {
  margin-top: 20px !important;
}

.mar_t25 {
  margin-top: 25px !important;
}

.mar_t30 {
  margin-top: 30px !important;
}

.mar_t35 {
  margin-top: 35px !important;
}

.mar_t40 {
  margin-top: 40px !important;
}

.mar_t45 {
  margin-top: 45px !important;
}

.mar_t50 {
  margin-top: 50px !important;
}

.mar_b0 {
  margin-bottom: 0 !important;
}

.mar_b5 {
  margin-bottom: 5px !important;
}

.mar_b10 {
  margin-bottom: 10px !important;
}

.mar_b15 {
  margin-bottom: 15px !important;
}

.mar_b20 {
  margin-bottom: 20px !important;
}

.mar_b25 {
  margin-bottom: 25px !important;
}

.mar_b30 {
  margin-bottom: 30px !important;
}

.mar_b35 {
  margin-bottom: 35px !important;
}

.mar_b40 {
  margin-bottom: 40px !important;
}

.mar_b45 {
  margin-bottom: 45px !important;
}

.mar_b50 {
  margin-bottom: 50px !important;
}

.mar_l0 {
  margin-left: 0 !important;
}

.mar_l5 {
  margin-left: 5px !important;
}

.mar_l10 {
  margin-left: 10px !important;
}

.mar_l15 {
  margin-left: 15px !important;
}

.mar_l20 {
  margin-left: 20px !important;
}

.mar_l25 {
  margin-left: 25px !important;
}

.mar_l30 {
  margin-left: 30px !important;
}

.mar_l35 {
  margin-left: 35px !important;
}

.mar_l40 {
  margin-left: 40px !important;
}

.mar_l45 {
  margin-left: 45px !important;
}

.mar_l50 {
  margin-left: 50px !important;
}

.mar_r0 {
  margin-right: 0 !important;
}

.mar_r5 {
  margin-right: 5px !important;
}

.mar_r10 {
  margin-right: 10px !important;
}

.mar_r15 {
  margin-right: 15px !important;
}

.mar_r20 {
  margin-right: 20px !important;
}

.mar_r25 {
  margin-right: 25px !important;
}

.mar_r30 {
  margin-right: 30px !important;
}

.mar_r35 {
  margin-right: 35px !important;
}

.mar_r40 {
  margin-right: 40px !important;
}

.mar_r45 {
  margin-right: 45px !important;
}

.mar_r50 {
  margin-right: 50px !important;
}

/*---------------------------------------------------------------------------*/
/* CMS用 */
.file {
  border-top: 1px dotted #cccccc;
  margin: 15px 0;
  padding: 10px 0 0;
  text-align: left;
}

.file .pdf {
  background: url(../images/cms/pdf.gif) left center no-repeat;
  line-height: 30px;
  padding: 4px 0 0 30px;
}

.file .xls,
.file .xlsx {
  background: url(../images/cms/xls.gif) left center no-repeat;
  line-height: 30px;
  padding: 4px 0 0 30px;
}

.file .doc,
.file .docx {
  background: url(../images/cms/doc.gif) left center no-repeat;
  line-height: 30px;
  padding: 4px 0 0 30px;
}

.top-right {
  float: right;
  margin: 0px 0px 30px 30px;
}

.top-left {
  float: left;
  margin: 0px 30px 30px 0px;
}

.top-center {
  margin: 0px 0px 30px 0px;
  text-align: center;
}

.bottom-right {
  float: right;
  margin: 30px 0px 0px 30px;
}

.bottom-left {
  float: left;
  margin: 30px 30px 0px 0px;
}

.bottom-center {
  margin: 30px 0px 0px 0px;
  text-align: center;
}

.entry-container b {
  font-weight: bold;
}

.entry-container i {
  font-style: italic;
}

.accordion_trigger {
  cursor: pointer;
}
.accordion_target {
  height: 0;
  overflow: hidden;
  transition: height .5s ease;
}

/* ------------------------------------------------ */
.yuMin {
  font-family: Lora, '游明朝', YuMincho, 'Yu Mincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', Osaka, 'メイリオ', Meiryo, sans-serif;
}

/* ------------------------------------------------ */
@media screen and (min-width: 769px), print {
  .sp {
    display: none;
  }
  body {
    padding-top: 90px;
  }
  html, body {
    scroll-padding-top: 90px;
  }
  #container {
    min-width: 1400px;
  }

  /*----------------------------------------------
    menu
  ----------------------------------------------*/
  header {
    font-family: Lora, '游明朝', YuMincho, 'Yu Mincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', Osaka, 'メイリオ', Meiryo, sans-serif;
    left: 0;
    position: fixed;
    top: 0;
    z-index: 10;
    width: 100%;
    min-width: 1400px;
    white-space: nowrap;
    z-index: 9999;
  }
  header *,
  header *:before,
  header *:after {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
  }
  header .alpha_ovr {
    width: 100%;
    display: block;
    text-decoration: none !important;
    -webkit-transition: .2s;
    -moz-transition: .2s;
    transition: .2s;
    opacity: 1;
  }
  header .alpha_ovr:hover {
    opacity: .7 !important;
  }
  header img {
    width: 100%;
  }
  header .menu_box {
    width: 100%;
    height: 90px;
    background: #fff;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 360px 0 30px;
    -moz-box-shadow: 7px 7px 10px 0 rgba(172, 172, 172, 0.1);
         box-shadow: 7px 7px 10px 0 rgba(172, 172, 172, 0.1);
  }
  header h1 {
    position: static !important;
    width: 307px !important;
    height: auto !important;
    margin: 8px 0 0 !important;
  }
  header h1 img {
    width: 100% !important;
  }
  header .menu_box .menu {
    width: 630px;
  }
  header .menu_box .menu .menu_list {
    margin-top: 2px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  header .menu_box .menu .menu_list > li + li {
    margin-left: 52px;
  }
  header .menu_box .menu .menu_list li .menu_list_item {
    font-size: 1.4rem;
    color: #346701;
    font-weight: bold;
    padding-top: 36px;
    min-width: 50px;
    text-align: center;
    letter-spacing: -1px;
    position: relative;
  }
  header .menu_box .menu .menu_list li a {
    -webkit-transition: opacity .2s;
    -moz-transition: opacity .2s;
    transition: opacity .2s;
    display: block;
    text-decoration: none;
  }
  header .menu_box .menu .menu_list li a:hover {
    opacity: .7;
  }
  header .menu_box .menu .menu_list li .menu_list_item:before {
    content: '';
    display: block;
    width: 100%;
    height: 36px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: opacity .2s;
    -moz-transition: opacity .2s;
    transition: opacity .2s;
  }
  header .menu_box .menu .menu_list li .menu_list_item.accordion {
    cursor: pointer;
  }
  header .menu_box .menu .menu_list li .menu_list_item.accordion .accordion_trigger {
    -webkit-transition: opacity .2s;
    -moz-transition: opacity .2s;
    transition: opacity .2s;
  }
  header .menu_box .menu .menu_list li .menu_list_item.accordion:hover .accordion_trigger {
    opacity: .7;
  }
  header .menu_box .menu .menu_list li .menu_list_item.accordion:hover:before {
    opacity: .7;
  }
  header .menu_box .menu .menu_list li .menu_list_item.accordion:hover .accordion_target {
    opacity: 1;
    pointer-events: all;
  }
  header .menu_box .menu .menu_list li .menu_list_item .accordion_target {
    height: auto !important;
    overflow: visible;
    background: #7cac37;
    width: 200px;
    -moz-border-radius: 10px;
         border-radius: 10px;
    -moz-box-shadow: 3px 3px 7px 0 rgba(56, 56, 56, 0.6);
         box-shadow: 3px 3px 7px 0 rgba(56, 56, 56, 0.6);
    position: absolute;
    top: 90px;
    left: -100px;
    right: -100px;
    margin: auto;
    z-index: 1;
    padding-top: 90px;
    padding: 26px 0 32px;
    -webkit-transition: opacity .2s;
    -moz-transition: opacity .2s;
    transition: opacity .2s;
    opacity: 0;
    pointer-events: none;
  }
  header .menu_box .menu .menu_list li .menu_list_item .accordion_target:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-bottom: 10px solid #7cac37;
    border-top: 0;
    position: absolute;
    top: -9px;
    left: 0;
    right: 0;
    margin: auto;
  }
  header .menu_box .menu .menu_list li .menu_list_item .accordion_target:after {
    content: '';
    width: 80%;
    height: 90px;
    position: absolute;
    top: -90px;
    left: 0;
    right: 0;
    margin: auto;
  }
  header .menu_box .menu .menu_list li .menu_list_item .accordion_target ul li + li {
    margin-top: 20px;
  }
  header .menu_box .menu .menu_list li .menu_list_item .accordion_target a {
    color: #fff;
    font-size: 1.6rem;
    text-decoration: none;
    letter-spacing: 0;
    padding-bottom: 6px;
    border-bottom: 1px solid #fff;
    display: inline;
  }
  header .menu_box .menu .menu_list li:nth-of-type(1) .menu_list_item:before {
    background: url(../images/nav_logo_01_green.png) no-repeat center/25px auto;
  }
  header .menu_box .menu .menu_list li:nth-of-type(2) .menu_list_item:before {
    background: url(../images/nav_logo_02_green.png) no-repeat center/28px auto;
  }
  header .menu_box .menu .menu_list li:nth-of-type(3) .menu_list_item:before {
    background: url(../images/nav_logo_03_green.png) no-repeat center/25px auto;
  }
  header .menu_box .menu .menu_list li:nth-of-type(4) .menu_list_item:before {
    background: url(../images/nav_logo_04_green.png) no-repeat center/27px auto;
  }
  header .menu_box .menu .menu_list li:nth-of-type(5) .menu_list_item:before {
    background: url(../images/nav_logo_05_green.png) no-repeat center/25px auto;
  }
  header .menu_box .menu .menu_list li:nth-of-type(6) .menu_list_item:before {
    background: url(../images/nav_logo_06_green.png) no-repeat center/23px auto;
  }
  header .menu_box .menu .instagram {
    width: 56px;
    height: 56px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 246px;
    margin: auto;
  }
  header .menu_box .support {
    width: 195px;
    height: 55px;
    -moz-border-radius: 27.5px;
         border-radius: 27.5px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 56px;
    line-height: 1;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 30px;
    margin: auto;
    background: #e60012 url(../images/header_supporter.png) no-repeat center left 22px/25px auto;
  }

  /* ------------------------------------------------ */
  .page_top_box {
    position: fixed;
    bottom: 50px;
    z-index: 10;
    margin: 0;
    right: 4.2vw;
  }
  .fix_bnr {
    position: fixed;
    width: 228px;
    bottom: 50px;
    right: 0;
    z-index: 10;
    display: none;
  }
  .fix_bnr.show {
    display: block;
  }
  .fix_bnr img {
    width: 100%;
  }
  .fix_bnr a {
    display: block;
    transition: opacity 0.3s ease;
  }
  .fix_bnr a:hover {
    opacity: 0.7;
  }
  .fix_bnr_cls {
    display: block;
    position: absolute;
    width: 37px;
    height: 37px;
    background-color: #000;
    border-radius: 50%;
    right: 15px;
    top: -40px;
  }
  .fix_bnr_cls:before,
  .fix_bnr_cls:after {
    content: "";
    display: block;
    width: 2px;
    height: 14px;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
  }
  .fix_bnr_cls:before {
    transform: rotate(-45deg);
  }
  .fix_bnr_cls:after {
    transform: rotate(45deg);
  }
  footer {
    border-top: 1px solid #447d03;
    min-width: 1400px;
    padding: 40px 0;
    text-align: center;
    width: 100%;
  }
  footer .copy {
    font-family: Lora;
    font-size: 1.0rem;
    margin-top: 40px;
  }
  footer .registration_info {
    margin: 40px 0;
    text-align: center;
  }
  footer .registration_info .table {
    margin: 10px auto;
    width: 260px;
    display: table;
  }
  footer .registration_info .table_r p {
    text-align: left;
    padding: 2px;
    font-size: 11px;
  }
  footer .bnr_list {
    font-size: 0;
    margin-top: 40px;
  }
  footer .bnr_list li {
    display: inline-block;
    vertical-align: top;
    width: 230px;
  }
  footer .bnr_list li + li {
    margin: 0 0 0 70px;
  }
  footer .bnr_list li img {
    height: auto;
    width: 100%;
  }
}

/* ------------------------------------------------ */
@media screen and (max-width: 768px) {
  /* ===================================================================
    common_sp.css
  =================================================================== */
  .pc {
    display: none;
  }

  img {
    height: auto;
    width: 100%;
  }

  body {
    padding-top: calc((100 * 100vw) / 768);
  }

  html, body {
    scroll-padding-top: calc((100 * 100vw) / 768);
  }

  /*----------------------------------------------
    menu
  ----------------------------------------------*/
  header {
    font-family: Lora, '游明朝', YuMincho, 'Yu Mincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', Osaka, 'メイリオ', Meiryo, sans-serif;
    left: 0;
    position: fixed;
    top: 0;
    z-index: 9999;
    width: 100%;
  }
  header *,
  header *:before,
  header *:after {
    -moz-box-sizing: border-box;
         box-sizing: border-box;
  }
  header .alpha_ovr {
    display: block;
    width: 100%;
    text-decoration: none !important;
    opacity: 1 !important;
  }
  header img {
    width: 100%;
  }
  header .menu_box {
    width: 100%;
    height: -webkit-calc((100 * 100vw) / 768);
    height: -moz-calc((100 * 100vw) / 768);
    height: calc((100 * 100vw) / 768);
    background: #fff;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -moz-box-shadow: -moz-calc((7 * 100vw) / 768) -moz-calc((7 * 100vw) / 768) -moz-calc((10 * 100vw) / 768) 0 rgba(172, 172, 172, 0.1);
         box-shadow: -webkit-calc((7 * 100vw) / 768) -webkit-calc((7 * 100vw) / 768) -webkit-calc((10 * 100vw) / 768) 0 rgba(172, 172, 172, 0.1);
         box-shadow: calc((7 * 100vw) / 768) calc((7 * 100vw) / 768) calc((10 * 100vw) / 768) 0 rgba(172, 172, 172, 0.1);
  }
  header .menu_box.active .menu {
    left: 0;
  }
  header .menu_box.active .menu_btn {
    color: transparent;
  }
  header .menu_box.active .menu_btn .cross span {
    background-color: transparent;
    top: 0;
  }
  header .menu_box.active .menu_btn .cross span:before {
    -webkit-transform: rotate(-225deg);
       -moz-transform: rotate(-225deg);
        -ms-transform: rotate(-225deg);
            transform: rotate(-225deg);
  }
  header .menu_box.active .menu_btn .cross span:after {
    -webkit-transform: rotate(225deg);
       -moz-transform: rotate(225deg);
        -ms-transform: rotate(225deg);
            transform: rotate(225deg);
  }
  header h1 {
    position: static !important;
    width: -webkit-calc((350 * 100vw) / 768) !important;
    width: -moz-calc((350 * 100vw) / 768) !important;
    width: calc((350 * 100vw) / 768) !important;
    height: auto !important;
    margin: 0 0 0 -webkit-calc((20 * 100vw) / 768) !important;
    margin: 0 0 0 -moz-calc((20 * 100vw) / 768) !important;
    margin: 0 0 0 calc((20 * 100vw) / 768) !important;
  }
  header h1 img {
    width: 100% !important;
  }
  header .menu_box .menu_btn {
    width: -webkit-calc((120 * 100vw) / 768);
    width: -moz-calc((120 * 100vw) / 768);
    width: calc((120 * 100vw) / 768);
    height: 100%;
    background: #346701;
    position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    font-size: -webkit-calc((20 * 100vw) / 768);
    font-size: -moz-calc((20 * 100vw) / 768);
    font-size: calc((20 * 100vw) / 768);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: -webkit-calc((20 * 100vw) / 768);
    padding-top: -moz-calc((20 * 100vw) / 768);
    padding-top: calc((20 * 100vw) / 768);
    -webkit-transition: color .5s ease;
    -moz-transition: color .5s ease;
    transition: color .5s ease;
  }
  header .menu_box .menu_btn .cross {
    cursor: pointer;
    position: relative;
    width: -webkit-calc((64 * 100vw) / 768);
    width: -moz-calc((64 * 100vw) / 768);
    width: calc((64 * 100vw) / 768);
    height: -webkit-calc((64 * 100vw) / 768);
    height: -moz-calc((64 * 100vw) / 768);
    height: calc((64 * 100vw) / 768);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  header .menu_box .menu_btn .cross span {
    display: block;
    width: -webkit-calc((64 * 100vw) / 768);
    width: -moz-calc((64 * 100vw) / 768);
    width: calc((64 * 100vw) / 768);
    height: 1.5px;
    background-color: #fff;
    position: absolute;
    top: -webkit-calc((16 * 100vw) / 768);
    top: -moz-calc((16 * 100vw) / 768);
    top: calc((16 * 100vw) / 768);
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transition: background-color .3s ease-out, top .3s ease-out;
    -moz-transition: background-color .3s ease-out, top .3s ease-out;
    transition: background-color .3s ease-out, top .3s ease-out;
  }
  header .menu_box .menu_btn .cross span:before,
  header .menu_box .menu_btn .cross span:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 1.5px;
    background-color: #fff;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    -moz-transition: transform .3s ease-out, -moz-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out, -moz-transform .3s ease-out;
  }
  header .menu_box .menu_btn .cross span:before {
    -webkit-transform: translateY(-webkit-calc(((9 * 100vw) / 768) * -1));
       -moz-transform: translateY(-moz-calc(((9 * 100vw) / 768) * -1));
        -ms-transform: translateY(calc(((9 * 100vw) / 768) * -1));
            transform: translateY(calc(((9 * 100vw) / 768) * -1));
  }
  header .menu_box .menu_btn .cross span:after {
    -webkit-transform: translateY(-webkit-calc((9 * 100vw) / 768));
       -moz-transform: translateY(-moz-calc((9 * 100vw) / 768));
        -ms-transform: translateY(calc((9 * 100vw) / 768));
            transform: translateY(calc((9 * 100vw) / 768));
  }
  header .menu_box .menu {
    width: 100vw;
    height: -webkit-calc(100vh - ((100 * 100vw) / 768));
    height: -moz-calc(100vh - ((100 * 100vw) / 768));
    height: calc(100vh - ((100 * 100vw) / 768));
    padding: -webkit-calc((64 * 100vw) / 768) -webkit-calc((60 * 100vw) / 768);
    padding: -moz-calc((64 * 100vw) / 768) -moz-calc((60 * 100vw) / 768);
    padding: calc((64 * 100vw) / 768) calc((60 * 100vw) / 768);
    background: #346701;
    position: absolute;
    top: -webkit-calc((100 * 100vw) / 768);
    top: -moz-calc((100 * 100vw) / 768);
    top: calc((100 * 100vw) / 768);
    left: 100vw;
    -webkit-transition: left .5s ease;
    -moz-transition: left .5s ease;
    transition: left .5s ease;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  header .menu_box .menu::-webkit-scrollbar {
    display: none;
  }
  header .menu_box .menu .menu_list li .menu_list_item {
    color: #fff;
    font-size: -webkit-calc((32 * 100vw) / 768);
    font-size: -moz-calc((32 * 100vw) / 768);
    font-size: calc((32 * 100vw) / 768);
    padding: -webkit-calc((30 * 100vw) / 768) 0 -webkit-calc((30 * 100vw) / 768) -webkit-calc((84 * 100vw) / 768);
    padding: -moz-calc((30 * 100vw) / 768) 0 -moz-calc((30 * 100vw) / 768) -moz-calc((84 * 100vw) / 768);
    padding: calc((30 * 100vw) / 768) 0 calc((30 * 100vw) / 768) calc((84 * 100vw) / 768);
    position: relative;
  }
  header .menu_box .menu .menu_list li:not(:last-of-type) .menu_list_item {
    background: url(../images/header_menu_line.png) repeat-x bottom left/auto -webkit-calc((2 * 100vw) / 768);
    background: url(../images/header_menu_line.png) repeat-x bottom left/auto -moz-calc((2 * 100vw) / 768);
    background: url(../images/header_menu_line.png) repeat-x bottom left/auto calc((2 * 100vw) / 768);
  }
  header .menu_box .menu .menu_list li .menu_list_item:before {
    content: '';
    display: block;
    width: 100%;
    height: -webkit-calc((106 * 100vw) / 768);
    height: -moz-calc((106 * 100vw) / 768);
    height: calc((106 * 100vw) / 768);
    position: absolute;
    top: 0;
    left: 0;
  }
  header .menu_box .menu .menu_list li a {
    display: block;
    text-decoration: none;
  }
  header .menu_box .menu .menu_list li .menu_list_item.accordion {
    padding: 0;
  }
  header .menu_box .menu .menu_list li .menu_list_item.accordion.active .accordion_trigger:after {
    -webkit-transform: rotate(0deg);
       -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  header .menu_box .menu .menu_list li .menu_list_item.accordion .accordion_trigger {
    position: relative;
    padding: -webkit-calc((30 * 100vw) / 768) 0 -webkit-calc((30 * 100vw) / 768) -webkit-calc((84 * 100vw) / 768);
    padding: -moz-calc((30 * 100vw) / 768) 0 -moz-calc((30 * 100vw) / 768) -moz-calc((84 * 100vw) / 768);
    padding: calc((30 * 100vw) / 768) 0 calc((30 * 100vw) / 768) calc((84 * 100vw) / 768);
  }
  header .menu_box .menu .menu_list li .menu_list_item.accordion .accordion_trigger:before,
  header .menu_box .menu .menu_list li .menu_list_item.accordion .accordion_trigger:after {
    content: '';
    display: block;
    width: -webkit-calc((30 * 100vw) / 768);
    width: -moz-calc((30 * 100vw) / 768);
    width: calc((30 * 100vw) / 768);
    height: -webkit-calc((3 * 100vw) / 768);
    height: -moz-calc((3 * 100vw) / 768);
    height: calc((3 * 100vw) / 768);
    background: #7cac37;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    -moz-transition: transform .3s ease, -moz-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease, -moz-transform .3s ease;
  }
  header .menu_box .menu .menu_list li .menu_list_item.accordion .accordion_trigger:after {
    -webkit-transform: rotate(90deg);
       -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  header .menu_box .menu .menu_list li .menu_list_item .accordion_target ul li + li {
    margin-top: -webkit-calc((40 * 100vw) / 768);
    margin-top: -moz-calc((40 * 100vw) / 768);
    margin-top: calc((40 * 100vw) / 768);
  }
  header .menu_box .menu .menu_list li .menu_list_item .accordion_target a {
    color: #fff;
    font-size: -webkit-calc((32 * 100vw) / 768);
    font-size: -moz-calc((32 * 100vw) / 768);
    font-size: calc((32 * 100vw) / 768);
    text-decoration: none;
    padding-left: -webkit-calc((112 * 100vw) / 768);
    padding-left: -moz-calc((112 * 100vw) / 768);
    padding-left: calc((112 * 100vw) / 768);
    position: relative;
  }
  header .menu_box .menu .menu_list li .menu_list_item .accordion_target a:before {
    content: '-';
    position: absolute;
    top: 0;
    left: -webkit-calc((86 * 100vw) / 768);
    left: -moz-calc((86 * 100vw) / 768);
    left: calc((86 * 100vw) / 768);
  }
  header .menu_box .menu .menu_list li .menu_list_item .accordion_inner {
    padding: -webkit-calc((40 * 100vw) / 768) 0;
    padding: -moz-calc((40 * 100vw) / 768) 0;
    padding: calc((40 * 100vw) / 768) 0;
    background: url(../images/header_menu_line.png) repeat-x top left/auto -webkit-calc((2 * 100vw) / 768);
    background: url(../images/header_menu_line.png) repeat-x top left/auto -moz-calc((2 * 100vw) / 768);
    background: url(../images/header_menu_line.png) repeat-x top left/auto calc((2 * 100vw) / 768);
  }
  header .menu_box .menu .menu_list li:nth-of-type(1) .menu_list_item:before {
    background: url(../images/nav_logo_01_white.png) no-repeat center left/calc((50 * 100vw) / 768) auto;
  }
  header .menu_box .menu .menu_list li:nth-of-type(2) .menu_list_item:before {
    background: url(../images/nav_logo_02_white.png) no-repeat center left/calc((50 * 100vw) / 768) auto;
  }
  header .menu_box .menu .menu_list li:nth-of-type(3) .menu_list_item:before {
    background: url(../images/nav_logo_03_white.png) no-repeat center left/calc((50 * 100vw) / 768) auto;
  }
  header .menu_box .menu .menu_list li:nth-of-type(4) .menu_list_item:before {
    background: url(../images/nav_logo_04_white.png) no-repeat center left/calc((50 * 100vw) / 768) auto;
  }
  header .menu_box .menu .menu_list li:nth-of-type(5) .menu_list_item:before {
    background: url(../images/nav_logo_05_white.png) no-repeat center left/calc((50 * 100vw) / 768) auto;
  }
  header .menu_box .menu .menu_list li:nth-of-type(6) .menu_list_item:before {
    background: url(../images/nav_logo_06_white.png) no-repeat center left -webkit-calc((8 * 100vw) / 768)/calc((42 * 100vw) / 768) auto;
    background: url(../images/nav_logo_06_white.png) no-repeat center left -moz-calc((8 * 100vw) / 768)/calc((42 * 100vw) / 768) auto;
    background: url(../images/nav_logo_06_white.png) no-repeat center left calc((8 * 100vw) / 768)/calc((42 * 100vw) / 768) auto;
  }
  header .menu_box .menu .instagram {
    margin: -webkit-calc((80 * 100vw) / 768) auto 0;
    margin: -moz-calc((80 * 100vw) / 768) auto 0;
    margin: calc((80 * 100vw) / 768) auto 0;
    width: -webkit-calc((270 * 100vw) / 768);
    width: -moz-calc((270 * 100vw) / 768);
    width: calc((270 * 100vw) / 768);
  }
  header .menu_box .support {
    width: -webkit-calc((223 * 100vw) / 768);
    width: -moz-calc((223 * 100vw) / 768);
    width: calc((223 * 100vw) / 768);
    height: -webkit-calc((70 * 100vw) / 768);
    height: -moz-calc((70 * 100vw) / 768);
    height: calc((70 * 100vw) / 768);
    -moz-border-radius: -moz-calc((35 * 100vw) / 768);
         border-radius: -webkit-calc((35 * 100vw) / 768);
         border-radius: calc((35 * 100vw) / 768);
    font-size: -webkit-calc((20 * 100vw) / 768);
    font-size: -moz-calc((20 * 100vw) / 768);
    font-size: calc((20 * 100vw) / 768);
    font-weight: bold;
    color: #fff;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: -webkit-calc((38 * 100vw) / 768);
    margin-left: -moz-calc((38 * 100vw) / 768);
    margin-left: calc((38 * 100vw) / 768);
    padding-left: -webkit-calc((58 * 100vw) / 768);
    padding-left: -moz-calc((58 * 100vw) / 768);
    padding-left: calc((58 * 100vw) / 768);
    line-height: 1;
    background: #e60012 url(../images/header_supporter.png) no-repeat center left -webkit-calc((18 * 100vw) / 768)/calc((30 * 100vw) / 768) auto;
    background: #e60012 url(../images/header_supporter.png) no-repeat center left -moz-calc((18 * 100vw) / 768)/calc((30 * 100vw) / 768) auto;
    background: #e60012 url(../images/header_supporter.png) no-repeat center left calc((18 * 100vw) / 768)/calc((30 * 100vw) / 768) auto;
  }

  /* ------------------------------------------------ */
  .page_top_box {
    bottom: 20px;
    position: fixed;
    right: 5%;
    width: 28px;
    z-index: 10;
  }
  .fix_bnr {
    position: fixed;
    right: 0;
    width: 43.6%;
    bottom: 30px;
    z-index: 10;
    display: none;
  }
  .fix_bnr.show {
    display: block;
  }
  .fix_bnr img {
    width: 100%;
  }
  .fix_bnr_cls {
    display: block;
    position: absolute;
    width: 30px;
    height: 30px;
    background-color: #000;
    border-radius: 50%;
    right: 10px;
    top: -36px;
  }
  .fix_bnr_cls:before,
  .fix_bnr_cls:after {
    content: "";
    display: block;
    width: 2px;
    height: 14px;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
  }
  .fix_bnr_cls:before {
    transform: rotate(-45deg);
  }
  .fix_bnr_cls:after {
    transform: rotate(45deg);
  }
  footer {
    border-top: 1px solid #447d03;
    padding: 8px 0 20px;
    text-align: center;
    width: 100%;
  }
  footer .company {
    margin: 0 auto;
    width: 192px;
  }
  footer .copy {
    font-family: Lora;
    font-size: 1.0rem;
    margin-top: 15px;
  }
  footer .registration_info {
    margin: 30px auto 20px;
    text-align: center;
    max-width: 240px;
    width: 90%;
  }
  footer .registration_info_ttl {
    font-size: 14px;
  }
  footer .registration_info .table {
    margin: 10px auto;
  }
  footer .registration_info .table_r p {
    text-align: left;
    padding: 2px;
    font-size: 10px;
  }
  footer .bnr_list {
    font-size: 0;
    margin-top: 20px;
  }
  footer .bnr_list li {
    display: block;
    margin: 0 auto;
    width: 232px;
  }
  footer .bnr_list li + li {
    margin: 6px auto 0;
  }
}
