@charset "UTF-8";
body {
  -webkit-print-color-adjust: exact;
  -webkit-text-size-adjust: 100%;
  background: #C1C1C1;
  /*background: linear-gradient(90deg,rgba(193, 193, 193, 1) 0%, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 1) 60%, rgba(193, 193, 193, 1) 100%);*/
  /*background: linear-gradient(90deg,rgba(225, 225, 225, 1) 0%, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 1) 60%, rgba(225, 225, 225, 1) 100%);*/
  background: linear-gradient(90deg, #d4d4d4 0%, white 40%, white 60%, #d4d4d4 100%); }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, figure {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

p, h1, h2, h3, h4, h5, h6, ul, li, span, div, img, dl, dt, dd {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif;
  list-style-type: none; }

html {
  scroll-behavior: smooth; }

ul li {
  list-style: none; }

strong {
  font-weight: 500; }

.ct {
  text-align: center; }

.lt {
  text-align: left !important; }

.rt {
  text-align: right !important; }

.clearfix:after {
  display: block;
  clear: both;
  height: 0px;
  visibility: hidden;
  content: ""; }

.clearfix {
  min-height: 1px; }

* html .clearfix {
  height: 1px;
  height: auto;
  overflow: hidden; }

article, main, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

a:hover img {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
  transition: all 0.5s ease; }

.fr {
  float: right; }

.fl {
  float: left; }

.indent {
  text-indent: 1em; }

.flex_center {
  display: flex;
  justify-content: center; }

.flex_right {
  display: flex;
  justify-content: flex-end; }

img {
  max-width: 100%; }

img {
  border: 0px;
  vertical-align: bottom;
  box-sizing: content-box; }

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0; }

.cmt {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.05rem;
  font-family: "Noto Sans JP", sans-serif;
  color: #404040;
  line-height: 2; }
  .cmt:before {
    content: "※"; }

.cmt02 {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  color: #6B6B6C;
  line-height: 2; }
  .cmt02:before {
    content: "※"; }

.ml0 {
  margin-left: 0 !important; }

.mb0 {
  margin-bottom: 0 !important; }

.mb5 {
  margin-bottom: 5px !important; }

.mt0 {
  margin-top: 0 !important; }

.mt10 {
  margin-top: 10px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt50 {
  margin-top: 50px !important; }

.mt60 {
  margin-top: 60px !important; }

.mt70 {
  margin-top: 70px !important; }

.mt80 {
  margin-top: 80px !important; }

.mt90 {
  margin-top: 90px !important; }

.mt100 {
  margin-top: 100px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.w120 {
  width: 120px;
  height: auto; }

.w160 {
  width: 160px;
  height: auto; }

.flex_center {
  display: flex;
  justify-content: center; }

.flex_right {
  display: flex;
  justify-content: flex-end; }

.disp_pc {
  display: block;
  visibility: visible; }

.disp_sp {
  display: none;
  visibility: hidden; }

.bold {
  font-weight: bold; }

.red_color {
  color: #BA1316 !important; }

@media screen and (max-width: 1024px) {
  .disp_pc {
    display: none;
    visibility: hidden; }

  .disp_sp {
    display: block;
    visibility: visible; } }
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal; }

.orbitron {
  font-family: "Orbitron", sans-serif;
  font-optical-sizing: auto;
  font-style: normal; }

a.link {
  transition: 0.5s; }
  a.link:link {
    color: #404040;
    text-decoration: underline; }
  a.link:visited {
    color: #404040;
    text-decoration: underline; }
  a.link:hover {
    color: #0a519b;
    text-decoration: none; }
  a.link:active {
    color: #0a519b;
    text-decoration: none; }

header#header_area {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
  width: 100%;
  background-color: #181818;
  /*padding: 20px 30px;*/
  padding: 15px 30px 17px;
  box-sizing: border-box; }

#header_contents {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center; }
  #header_contents .header_left {
    width: 77px;
    height: auto; }
    #header_contents .header_left .header_logo a img {
      width: 100%;
      height: auto; }
  #header_contents .header_right .globalmenu_sns {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px; }
    #header_contents .header_right .globalmenu_sns ul li a img {
      width: 30px;
      height: auto; }
  #header_contents .header_right #Navigation .menu {
    display: flex; }
    #header_contents .header_right #Navigation .menu li {
      margin-right: 25px;
      font-family: "Noto Sans JP", sans-serif; }
      #header_contents .header_right #Navigation .menu li:last-child {
        margin-right: 0; }
      #header_contents .header_right #Navigation .menu li.single {
        position: relative; }
        #header_contents .header_right #Navigation .menu li.single .menu-second {
          width: 340px;
          background-color: #181818;
          border: 2px solid #cbcbcb;
          border-radius: 5px;
          position: absolute;
          top: 40px;
          left: 0;
          display: initial !important;
          z-index: 10; }
          #header_contents .header_right #Navigation .menu li.single .menu-second li {
            margin-right: 0;
            border-bottom: 1px solid #cbcbcb; }
            #header_contents .header_right #Navigation .menu li.single .menu-second li:last-child {
              border-bottom: initial; }
            #header_contents .header_right #Navigation .menu li.single .menu-second li a {
              transition: initial !important;
              /*transition: all .3s;*/
              display: block;
              padding: 15px;
              box-sizing: border-box; }
      #header_contents .header_right #Navigation .menu li a {
        font-size: 1.1rem;
        font-weight: 900;
        transition: 0.5s; }
        #header_contents .header_right #Navigation .menu li a small {
          font-size: 80%; }
        #header_contents .header_right #Navigation .menu li a:link {
          color: #fff;
          text-decoration: none; }
        #header_contents .header_right #Navigation .menu li a:visited {
          color: #fff;
          text-decoration: none; }
        #header_contents .header_right #Navigation .menu li a:hover {
          color: #0a519b;
          text-decoration: none; }
        #header_contents .header_right #Navigation .menu li a:active {
          color: #0a519b;
          text-decoration: none; }

.single:hover .menu-second {
  visibility: visible; }

.single02:hover .menu-third {
  visibility: visible; }

.menu-third, .menu-second {
  visibility: hidden;
  transition: all .3s;
  /*transition: all .3s; */ }

@media screen and (max-width: 1080px) {
  header#header_area {
    padding: 15px 10px; }

  #header_contents .header_left {
    width: 60px; }
  #header_contents .header_right .globalmenu_sns {
    display: initial;
    margin-bottom: 0;
    position: absolute;
    right: 60px;
    top: 15px; }
    #header_contents .header_right .globalmenu_sns ul {
      width: 25px; }
      #header_contents .header_right .globalmenu_sns ul li a img {
        width: 100%;
        height: auto; }
  #header_contents .header_right #Navigation {
    display: none !important; }
    #header_contents .header_right #Navigation .menu li {
      margin-right: 0; }
      #header_contents .header_right #Navigation .menu li a {
        font-size: 1rem; } }
/*スマホメニュー*/
@media screen and (max-width: 1080px) {
  .hamburger {
    position: absolute;
    display: block;
    width: 30px;
    height: 20px;
    top: 13px;
    right: 0;
    margin-top: 4px;
    z-index: 99999;
    transition: all .4s;
    box-sizing: border-box;
    cursor: pointer;
    cursor: hand; }

  .MenuWH {
    		/*position: absolute;
    		top: 0;
        	right: 0;
    		background-color: #1086ad;
    		width: 60px;
    		height: 60px;
    		z-index: 100; */ }

  .hamburger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    position: absolute;
    left: -9px;
    width: 100%;
    height: 2px;
    /*height: 2px;*/
    background-color: #fff;
    margin: 0 auto;
    text-align: center; }

  .hamburger em {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    position: absolute;
    left: -7px;
    width: 100%;
    margin: 0 auto;
    color: #fff;
    bottom: -21px;
    font-size: 12px;
    font-weight: 500; }

  .hamburger span:nth-of-type(1) {
    top: 0; }

  .hamburger span:nth-of-type(2) {
    top: 9px; }

  .hamburger span:nth-of-type(3) {
    bottom: 0; }

  .hamburger span:nth-of-type(1) {
    -webkit-animation: menu-ber01 .75s forwards;
    animation: menu-ber01 .75s forwards; }

  .hamburger span:nth-of-type(2) {
    transition: all .25s .25s;
    opacity: 1; }

  .hamburger span:nth-of-type(3) {
    -webkit-animation: menu-ber02 .75s forwards;
    animation: menu-ber02 .75s forwards; }

  .hamburger span:nth-of-type(1) {
    top: 0; }

  .hamburger span:nth-of-type(2) {
    top: 9px; }

  .hamburger span:nth-of-type(3) {
    bottom: 0; }

  .hamburger span:nth-of-type(1) {
    -webkit-animation: menu-ber01 .75s forwards;
    animation: menu-ber01 .75s forwards; }

  .hamburger span:nth-of-type(2) {
    transition: all .25s .25s;
    opacity: 1; }

  .hamburger span:nth-of-type(3) {
    -webkit-animation: menu-ber02 .75s forwards;
    animation: menu-ber02 .75s forwards; }

  .active span:nth-of-type(1) {
    -webkit-animation: active-menu-ber01 .75s forwards;
    animation: active-menu-ber01 .75s forwards;
    background-color: #fff; }

  .active span:nth-of-type(2) {
    opacity: 0; }

  .active span:nth-of-type(3) {
    -webkit-animation: active-menu-ber03 .75s forwards;
    animation: active-menu-ber03 .75s forwards;
    background-color: #fff; }

  @-webkit-keyframes menu-ber01 {
    0% {
      -webkit-transform: translateY(8px) rotate(45deg); }
    50% {
      -webkit-transform: translateY(8px) rotate(0); }
    100% {
      -webkit-transform: translateY(0) rotate(0); } }
  @keyframes menu-ber01 {
    0% {
      transform: translateY(8px) rotate(45deg); }
    50% {
      transform: translateY(8px) rotate(0); }
    100% {
      transform: translateY(0) rotate(0); } }
  @-webkit-keyframes menu-ber02 {
    0% {
      -webkit-transform: translateY(-8px) rotate(-45deg); }
    50% {
      -webkit-transform: translateY(-8px) rotate(0); }
    100% {
      -webkit-transform: translateY(0) rotate(0); } }
  @keyframes menu-ber02 {
    0% {
      transform: translateY(-8px) rotate(-45deg); }
    50% {
      transform: translateY(-8px) rotate(0); }
    100% {
      transform: translateY(0) rotate(0); } }
  @-webkit-keyframes active-menu-ber01 {
    0% {
      -webkit-transform: translateY(0) rotate(0); }
    50% {
      -webkit-transform: translateY(10px) rotate(0); }
    100% {
      -webkit-transform: translateY(10px) rotate(45deg); } }
  @keyframes active-menu-ber01 {
    0% {
      transform: translateY(0) rotate(0); }
    50% {
      transform: translateY(10px) rotate(0); }
    100% {
      transform: translateY(10px) rotate(45deg); } }
  @-webkit-keyframes active-menu-ber03 {
    0% {
      -webkit-transform: translateY(0) rotate(0); }
    50% {
      -webkit-transform: translateY(-8px) rotate(0); }
    100% {
      -webkit-transform: translateY(-8px) rotate(-45deg); } }
  @keyframes active-menu-ber03 {
    0% {
      transform: translateY(0) rotate(0); }
    50% {
      transform: translateY(-8px) rotate(0); }
    100% {
      transform: translateY(-8px) rotate(-45deg); } }
  #Navigation {
    display: block;
    background-color: #181818;
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    z-index: -1;
    padding: 52px 25px 50px;
    box-sizing: border-box; }
    #Navigation ul#menu {
      display: block !important;
      overflow-Y: scroll; }
      #Navigation ul#menu li {
        margin-left: 0;
        border-bottom: 1px solid #ccc; }
        #Navigation ul#menu li a {
          font-size: 1rem;
          padding: 15px 0;
          display: block;
          /*訪問済みのリンクの色*/
          /*カーソルが乗っているリンクの色*/
          /*クリック中のリンクの色*/ }
          #Navigation ul#menu li a:before {
            content: none; }
          #Navigation ul#menu li a:link {
            color: #484848;
            text-decoration: none; }
          #Navigation ul#menu li a:visited {
            color: #484848;
            text-decoration: none; }
          #Navigation ul#menu li a:hover {
            color: #0f9dcd;
            text-decoration: none; }
          #Navigation ul#menu li a:active {
            color: #0f9dcd;
            text-decoration: none; }
        #Navigation ul#menu li.contact_btn a {
          position: relative;
          padding: 15px 0;
          font-size: 1.1rem;
          display: block;
          /*訪問済みのリンクの色*/
          /*カーソルが乗っているリンクの色*/
          /*クリック中のリンクの色*/ }
          #Navigation ul#menu li.contact_btn a:before {
            content: none; }
          #Navigation ul#menu li.contact_btn a:after {
            content: none; }
          #Navigation ul#menu li.contact_btn a:link {
            background-color: #fff;
            color: #484848;
            text-decoration: none; }
          #Navigation ul#menu li.contact_btn a:visited {
            background-color: #fff;
            color: #484848;
            text-decoration: none; }
          #Navigation ul#menu li.contact_btn a:hover {
            background-color: #fff;
            color: #0f9dcd;
            text-decoration: none; }
          #Navigation ul#menu li.contact_btn a:active {
            background-color: #fff;
            color: #0f9dcd;
            text-decoration: none; }

  #Navigation {
    display: none; } }
#sp_Navigation {
  display: none; }

/*スマホメニュー*/
@media screen and (max-width: 1080px) {
  #Navigation {
    display: none; }

  #sp_Navigation {
    background-color: #181818;
    padding-bottom: 20px;
    position: absolute;
    z-index: 100;
    width: 100%;
    left: 0;
    top: 57px; }
    #sp_Navigation #sp_menu {
      display: block;
      overflow-Y: scroll;
      height: 80vh; }
      #sp_Navigation #sp_menu li {
        padding: 15px 10px;
        border-bottom: 1px solid #cbcbcb;
        font-family: "Noto Sans JP", sans-serif; }
        #sp_Navigation #sp_menu li .accordion_one .accordion_header {
          color: #fff;
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 800; }
        #sp_Navigation #sp_menu li a {
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 800;
          /*訪問済みのリンクの色*/
          /*カーソルが乗っているリンクの色*/
          /*クリック中のリンクの色*/ }
          #sp_Navigation #sp_menu li a small {
            font-size: 80%; }
          #sp_Navigation #sp_menu li a:link {
            color: #fff;
            text-decoration: none; }
          #sp_Navigation #sp_menu li a:visited {
            color: #fff;
            text-decoration: none; }
          #sp_Navigation #sp_menu li a:hover {
            color: #fff;
            text-decoration: none; }
          #sp_Navigation #sp_menu li a:active {
            color: #fff;
            text-decoration: none; }

  .menu .menu_list > a {
    text-align: initial; }

  .menu_single::before,
  .menu_single::after {
    background-color: #fff; }

  .menu a.menu_single {
    /*訪問済みのリンクの色*/
    /*カーソルが乗っているリンクの色*/
    /*クリック中のリンクの色*/ }
    .menu a.menu_single:link {
      color: #303030;
      text-decoration: none; }
    .menu a.menu_single:visited {
      color: #303030;
      text-decoration: none; }
    .menu a.menu_single:hover {
      color: #fff;
      text-decoration: none; }
    .menu a.menu_single:active {
      color: #fff;
      text-decoration: none; } }
#main_visual {
  background-image: url("../images/img_index/main_visual.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  /*height: 100vh;*/
  height: 88vh;
  display: flex;
  justify-content: center;
  align-items: center; }
  #main_visual .contents .mv_title {
    /*padding-top: 200px;
    padding-top: 4vh;*/
    padding-top: 6vw; }
    #main_visual .contents .mv_title h1.site_title {
      display: flex;
      flex-direction: column;
      align-items: center;
      /*margin-bottom: 50px;*/
      margin-bottom: 30px; }
      #main_visual .contents .mv_title h1.site_title picture {
        text-align: center; }
        #main_visual .contents .mv_title h1.site_title picture img {
          max-width: 880px;
          /*width: 80%;*/
          width: 100%;
          height: auto; }
      #main_visual .contents .mv_title h1.site_title p {
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 900;
        font-size: 1.9rem;
        margin-bottom: 30px; }
      #main_visual .contents .mv_title h1.site_title span {
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
        font-size: 1.3rem;
        font-weight: 700;
        text-align: center; }
    #main_visual .contents .mv_title .year {
      color: #0a519b;
      font-size: 1.3rem;
      font-weight: 700;
      font-family: "Noto Sans JP", sans-serif;
      border: 1px solid #5b6cb9;
      padding: 7px 15px;
      background: rgba(209, 209, 209, 0.8);
      width: 280px;
      box-sizing: border-box;
      text-align: center;
      margin: 0 auto; }
      #main_visual .contents .mv_title .year small {
        font-size: 70%; }
    #main_visual .contents .mv_title .year_02 {
      color: #0a519b;
      font-size: 1.3rem;
      font-weight: 700;
      font-family: "Noto Sans JP", sans-serif;
      border: 1px solid #5b6cb9;
      padding: 7px 15px;
      background: rgba(209, 209, 209, 0.8);
      width: 100%;
      box-sizing: border-box;
      text-align: center;
      margin: 0 auto; }
      #main_visual .contents .mv_title .year_02 small {
        font-size: 70%; }

/*スマホメニュー*/
@media screen and (max-width: 1080px) {
  #main_visual {
    background-image: url("../images/img_index/main_visual_sp.webp");
    /*height: 80vw;*/
    height: 120vw; }
    #main_visual .contents .mv_title {
      /*padding-top: 200px;*/
      padding-top: 6vw; }
      #main_visual .contents .mv_title h1.site_title {
        display: flex;
        flex-direction: column;
        align-items: center;
        /*margin-bottom: 50px;*/
        margin-bottom: 25px; }
        #main_visual .contents .mv_title h1.site_title picture img {
          width: 90%; }
        #main_visual .contents .mv_title h1.site_title p {
          font-size: 1.4rem; }
        #main_visual .contents .mv_title h1.site_title span {
          font-size: 1.1rem;
          text-align: center;
          padding: 0 10px; }
      #main_visual .contents .mv_title .year {
        color: #0a519b;
        font-size: 1rem;
        font-weight: 700;
        font-family: "Noto Sans JP", sans-serif;
        border: 1px solid #5b6cb9;
        padding: 7px 15px;
        background: rgba(209, 209, 209, 0.8);
        width: 240px;
        box-sizing: border-box;
        text-align: center;
        margin: 0 auto; }
        #main_visual .contents .mv_title .year small {
          font-size: 70%; }
      #main_visual .contents .mv_title .year_02 {
        font-size: 1.1rem;
        width: 90%; }
        #main_visual .contents .mv_title .year_02 small {
          font-size: 70%; } }
.contents_wrapper {
  width: 90%;
  margin: 0 auto;
  max-width: 1200px; }

#news {
  padding: 60px 0 100px; }

.news_ttl {
  color: #404040;
  text-align: center;
  margin-bottom: 40px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 800; }
  .news_ttl span {
    display: block;
    color: #0a519b;
    font-family: "Orbitron", sans-serif;
    font-size: 60%;
    font-weight: 300; }

.news_list ul {
  border-top: 1px solid #4f5a71; }
  .news_list ul li {
    display: flex;
    padding: 20px 0;
    border-bottom: 1px solid #4f5a71; }
    .news_list ul li span {
      font-size: 1rem;
      color: #404040;
      width: 150px;
      line-height: 1.8; }
    .news_list ul li p {
      font-size: 1rem;
      color: #404040;
      flex: 1;
      line-height: 1.8; }
      .news_list ul li p a {
        transition: 0.5s; }
        .news_list ul li p a:link {
          color: #0a519b; }
        .news_list ul li p a:visited {
          color: #0a519b; }
        .news_list ul li p a:hover {
          color: #5a9fe7;
          text-decoration: none; }
        .news_list ul li p a:active {
          color: #5a9fe7;
          text-decoration: none; }

/*スマホメニュー*/
@media screen and (max-width: 1080px) {
  #news {
    padding: 40px 0 50px; }

  .news_ttl {
    font-size: 1.4rem; }
    .news_ttl span {
      font-size: 80%; }

  .news_list ul li {
    display: block; }
    .news_list ul li span {
      width: 100%;
      margin-bottom: 10px;
      display: block; } }
#overview {
  padding: 0 0 100px; }

.overview_contents {
  display: flex;
  flex-direction: row-reverse;
  gap: 0 3vw; }
  .overview_contents .img_contents {
    position: relative;
    width: 360px;
    /*&:after {
    	content: "";
    	position: absolute;
    	width: 360px;
    	height: 420px;
    	background-color: #0a519b;
    	top: 20px;
    	right: 20px;
    }*/ }
    .overview_contents .img_contents figure {
      position: relative;
      z-index: 1; }
      .overview_contents .img_contents figure img {
        width: 100%;
        height: auto; }
  .overview_contents .text_contets {
    flex: 1; }

/*スマホメニュー*/
@media screen and (max-width: 1080px) {
  #overview {
    padding: 0 0 50px; }

  .overview_contents {
    flex-direction: column-reverse; }
    .overview_contents .img_contents {
      position: relative;
      max-width: 270px;
      width: 70%;
      margin: 20px auto 0; }
      .overview_contents .img_contents figure img {
        width: 100%;
        height: auto; }
    .overview_contents .text_contets {
      flex: 1; } }
.ttl_style_01 {
  color: #404040;
  text-align: left;
  margin-bottom: 40px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 800; }
  .ttl_style_01 span {
    position: relative;
    display: block;
    color: #0a519b;
    font-family: "Orbitron", sans-serif;
    font-size: 150%;
    font-weight: 300; }
    .ttl_style_01 span:before {
      content: "";
      position: absolute;
      background-color: #0a519b;
      width: 20px;
      height: 2px;
      top: 30px;
      left: -25px; }

.ttl_style_02 {
  color: #0a519b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 30px; }

.ttl_style_03 {
  /*background-color: #e8e8e8;*/
  /*background-color: #dadada;*/
  background-color: #d4d4d4;
  padding: 10px 20px;
  margin-bottom: 20px; }
  .ttl_style_03 span {
    border-left: 3px solid #0a519b;
    padding-left: 10px;
    color: #404040;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.3rem;
    font-weight: 600;
    display: block; }

.ttl_style_04 {
  margin-bottom: 20px;
  border-left: 2px solid #0a519b;
  padding-left: 10px;
  color: #0a519b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 700; }

.ttl_style_05 {
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #0a519b;
  color: #404040;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700; }

.ttl_style_06 {
  margin-bottom: 10px;
  color: #404040;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 800;
  text-align: center; }

.ttl_style_07 {
  margin-bottom: 20px;
  padding-bottom: 10px;
  color: #0a519b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  text-align: center; }

.ttl_style_08 {
  margin-bottom: 20px;
  padding: 5px 15px;
  color: #0a519b;
  border: 1px solid #0a519b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  display: inline-block; }

.ttl_style_09 {
  margin-bottom: 20px;
  padding: 5px 15px;
  color: #fff;
  background-color: #0a519b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  display: inline-block; }

.ttl_style_10 {
  margin-bottom: 10px;
  padding: 3px 10px;
  border: 1px solid #404040;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  display: inline-block; }

.text_style_01 {
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 10px;
  color: #404040;
  font-family: "Noto Sans JP", sans-serif; }

.text_style_02 {
  font-size: 1rem;
  line-height: 1.8;
  color: #404040;
  font-family: "Noto Sans JP", sans-serif; }

.text_style_03 {
  font-size: 1.3rem;
  line-height: 1.8;
  margin-bottom: 10px;
  color: #404040;
  font-family: "Noto Sans JP", sans-serif; }

.bold_text {
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1.8;
  color: #404040;
  font-family: "Noto Sans JP", sans-serif; }

.box_01 {
  background-color: #fff;
  padding: 40px;
  margin-bottom: 30px;
  width: 100%;
  box-sizing: border-box; }

.box_02 {
  background-color: #fff;
  border: 1px solid #D5DBE6;
  padding: 30px;
  margin-bottom: 30px;
  width: 100%;
  box-sizing: border-box; }

.box_03 {
  background-color: #fff;
  border: 1px solid #D5DBE6;
  padding: 15px;
  width: 100%;
  box-sizing: border-box; }

.box_04 {
  background-color: #fff;
  border: 1px solid #0a519b;
  padding: 30px;
  width: 100%;
  box-sizing: border-box; }

.text_box {
  background-color: #e1e1e1;
  border: 1px solid #7c7c7c;
  padding: 30px;
  margin-bottom: 20px; }
  .text_box .bold_text {
    font-size: 140%; }
  .text_box .text_style_02 {
    font-size: 130%; }

ul.list_style_01 li {
  position: relative;
  color: #404040;
  font-size: 1.1rem;
  margin-bottom: 10px;
  padding-left: 17px;
  line-height: 1.7; }
  ul.list_style_01 li:before {
    content: "";
    position: absolute;
    background-color: #0a519b;
    width: 10px;
    height: 10px;
    top: 10px;
    left: 0;
    border-radius: 100px; }
ul.list_style_02 li {
  position: relative;
  color: #404040;
  font-size: 1.1rem;
  margin-bottom: 10px;
  padding-left: 17px;
  line-height: 1.7; }
  ul.list_style_02 li:before {
    content: '';
    display: block;
    position: absolute;
    top: .5em;
    left: 0;
    width: 10px;
    height: 5px;
    border-left: 2px solid #0a519b;
    border-bottom: 2px solid #0a519b;
    transform: rotate(-45deg); }
ul.list_style_03 li {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  color: #404040;
  font-size: 1rem; }
  ul.list_style_03 li:after {
    content: "、";
    margin-left: 5px; }
  ul.list_style_03 li:last-child:after {
    content: none; }

@media screen and (max-width: 1080px) {
  .ttl_style_01 {
    margin-bottom: 30px;
    font-size: 1.3rem; }
    .ttl_style_01 span {
      font-size: 120%; }
      .ttl_style_01 span:before {
        width: 10px;
        height: 1px;
        top: 16px;
        left: -15px; }

  .ttl_style_02 {
    font-size: 1.2rem; }

  .ttl_style_03 span {
    font-size: 1.1rem; }

  .ttl_style_05 {
    font-size: 1.3rem; }

  .ttl_style_06 {
    font-size: 1.3rem; }

  .ttl_style_07 {
    font-size: 1.1rem; }

  .box_01 {
    padding: 20px; }

  .box_04 {
    padding: 20px; }

  .text_box {
    padding: 20px; } }
#prize_money {
  position: relative;
  padding: 0 0 100px; }
  #prize_money .prize_money_bg {
    position: relative;
    /*clip-path: polygon(0 0, 100% 0, 100% 39%, 87% 39%, 87% 22%, 0 22%);*/
    clip-path: polygon(0 0, 100% 0, 100% 100%, 89% 100%, 89% 65%, 0 64%);
    height: 430px; }
    #prize_money .prize_money_bg:after {
      background: url("../images/img_index/bg_prize_money.jpg") no-repeat center/cover;
      height: 40vw;
      width: 100%;
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      z-index: -1; }
  #prize_money .contents_wrapper {
    margin-top: -100px; }

.contents_table {
  display: flex;
  align-items: flex-start;
  gap: 0 2vw;
  margin-bottom: 30px; }
  .contents_table dt {
    background-color: #0a519b;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-size: 1rem;
    text-align: center;
    padding: 5px 15px; }
  .contents_table dd {
    flex: 1;
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 10px;
    font-family: "Noto Sans JP", sans-serif;
    color: #404040; }

.contents_table_02 {
  /*display: flex;
  gap: 0 2vw;*/
  margin-bottom: 30px;
  border-bottom: 1px solid #0a519b; }
  .contents_table_02 dt {
    color: #404040;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-size: 1rem; }
  .contents_table_02 dd {
    flex: 1;
    color: #404040;
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 10px;
    font-family: "Noto Sans JP", sans-serif; }

.contents_table_03 {
  display: flex;
  gap: 0 2vw;
  background-color: #ffd9d9;
  margin-bottom: 30px;
  border: 1px solid #0a519b;
  padding: 15px; }
  .contents_table_03 dt {
    color: #0a519b;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1rem;
    line-height: 1.8; }
  .contents_table_03 dd {
    flex: 1;
    color: #0a519b;
    font-size: 1rem;
    line-height: 1.8;
    font-family: "Noto Sans JP", sans-serif; }

.contents_table_04 {
  display: flex;
  align-items: flex-start;
  gap: 0 1vw; }
  .contents_table_04 dt {
    width: 80px;
    /*color: #0a519b;*/
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.8; }
  .contents_table_04 dd {
    flex: 1;
    font-size: 1rem;
    line-height: 1.8;
    font-family: "Noto Sans JP", sans-serif; }

.contents_table_05 {
  display: flex;
  align-items: flex-start;
  gap: 0 1vw; }
  .contents_table_05 dt {
    width: 100px;
    /*color: #0a519b;*/
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.8; }
  .contents_table_05 dd {
    flex: 1;
    font-size: 1rem;
    line-height: 1.8;
    font-family: "Noto Sans JP", sans-serif; }

@media screen and (max-width: 770px) {
  .contents_table_04 {
    display: block; }
    .contents_table_04 dt {
      width: 100%;
      margin-bottom: 10px; }

  .contents_table_05 {
    display: block; }
    .contents_table_05 dt {
      width: 100%;
      margin-bottom: 10px; } }
.prize_money_list ul {
  display: flex;
  gap: 0 3vw; }
  .prize_money_list ul li {
    width: calc((100% / 3) - 20px);
    text-align: center; }
    .prize_money_list ul li .prize_money_img {
      margin-bottom: 10px; }
    .prize_money_list ul li p.prize_money_list_text {
      color: #404040;
      font-family: "Noto Sans JP", sans-serif;
      font-size: 1.3rem;
      font-weight: 500; }

@media screen and (max-width: 1080px) {
  #prize_money {
    padding: 0 0 50px; }
    #prize_money .prize_money_bg {
      clip-path: initial;
      background: url("../images/img_index/bg_prize_money.jpg") no-repeat center/cover;
      height: 150px; }
      #prize_money .prize_money_bg:after {
        content: none; }
    #prize_money .contents_wrapper {
      margin-top: 25px; }

  .contents_table {
    display: block; }
    .contents_table dt {
      margin-bottom: 10px; }

  .contents_table_03 {
    display: block; }
    .contents_table_03 dt {
      margin-bottom: 10px; }
    .contents_table_03 dd {
      flex: 1;
      color: #0a519b;
      font-size: 1rem;
      line-height: 1.8;
      margin-bottom: 10px;
      font-family: "Noto Sans JP", sans-serif; }

  .prize_money_list ul {
    display: block; }
    .prize_money_list ul li {
      width: 80%;
      margin: 0 auto 20px;
      text-align: center; }
      .prize_money_list ul li:last-child {
        margin-bottom: 0; }
      .prize_money_list ul li .prize_money_img {
        margin-bottom: 10px; }
      .prize_money_list ul li p.prize_money_list_text {
        font-size: 1.1rem; } }
#judge {
  position: relative;
  padding: 80px 0 100px; }
  #judge:before {
    content: "";
    background: url("../images/img_index/img_judge.jpg") no-repeat top center;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
    width: 47%;
    height: 750px;
    background-size: contain; }
  #judge .contents_wrapper .text_box {
    position: relative;
    z-index: 2; }

/*スマホメニュー*/
@media screen and (max-width: 1080px) {
  #judge {
    position: relative;
    padding: 0 0 50px; }
    #judge:before {
      content: none; } }
#sponsored_by {
  position: relative;
  padding: 0 0 50px; }

#inquiry {
  position: relative;
  padding: 40px 0 50px; }
  #inquiry .sponsored_by_box {
    width: 45%; }

.sns_icon {
  margin: 30px 0 0; }
  .sns_icon figure img {
    width: 40px;
    height: auto; }

footer {
  /*background: linear-gradient(90deg, #c1c1c1 0%, white 40%, white 60%, #c1c1c1 100%);*/
  /*background: linear-gradient(90deg,rgba(225, 225, 225, 1) 0%, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 1) 60%, rgba(225, 225, 225, 1) 100%);*/
  background: linear-gradient(90deg, #d4d4d4 0%, white 40%, white 60%, #d4d4d4 100%);
  padding: 20px 0 30px; }

.copyright p {
  text-align: center;
  color: #404040;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.85rem; }

/*スマホメニュー*/
@media screen and (max-width: 1080px) {
  .copyright p {
    font-size: 0.65rem; } }
table.table_style_01 {
  border-collapse: inherit;
  margin: 1rem 0;
  border-spacing: 0px;
  border: 1px solid #bcbcbc;
  border-width: 0 1px 1px 0;
  font-size: 0.9rem;
  width: 100%; }
  table.table_style_01 th, table.table_style_01 td {
    border: 1px solid #bcbcbc;
    border-width: 1px 0 0 1px;
    padding: 20px;
    vertical-align: middle;
    text-align: center; }
  table.table_style_01 th {
    font-size: 1.1rem;
    font-weight: bold;
    background: #303030;
    color: #fff; }
    table.table_style_01 th.w30 {
      width: 30%; }
  table.table_style_01 td {
    font-size: 1.1rem;
    font-weight: bold;
    background: #fff;
    color: #6B6B6C; }
    table.table_style_01 td big {
      font-size: 130%; }
table.table_style_02 {
  padding: 10px;
  font-size: 16px;
  border-collapse: collapse;
  border: 1px solid #ddd;
  width: 100%; }
  table.table_style_02 th, table.table_style_02 td {
    border: 1px solid #ddd;
    border-width: 1px 0 0 1px;
    padding: 20px;
    vertical-align: top; }
  table.table_style_02 th {
    color: #fff;
    background: #B4B4B4; }
  table.table_style_02 td {
    font-size: 16px;
    color: #444;
    border-collapse: collapse;
    border: 1px solid #ddd; }
    table.table_style_02 td.country {
      background: #c5e6ff; }
table.table_style_03 {
  border-collapse: collapse;
  margin-bottom: 30px;
  width: 100%; }
  table.table_style_03 th, table.table_style_03 td {
    color: #565656;
    padding: 1.3em 1.7em;
    box-sizing: border-box; }
  table.table_style_03 th {
    border-bottom: 1px solid #0a519b;
    text-align: left;
    width: 25%;
    font-weight: 600; }
  table.table_style_03 td {
    border-bottom: 1px solid #D5DBE6;
    width: 75%; }
table.table_style_04 {
  border-collapse: inherit;
  margin: 1rem 0;
  border-spacing: 0px;
  border: 1px solid #bcbcbc;
  border-width: 0 1px 1px 0;
  font-size: 0.9rem;
  width: 100%; }
  table.table_style_04 th, table.table_style_04 td {
    border: 1px solid #bcbcbc;
    border-width: 1px 0 0 1px;
    padding: 15px;
    vertical-align: middle; }
  table.table_style_04 th {
    font-size: 1rem;
    font-weight: bold;
    background: #e5e5e5;
    color: #6B6B6C;
    text-align: left; }
    table.table_style_04 th.w30 {
      width: 30%; }
  table.table_style_04 td {
    font-size: 1rem;
    background: #fff;
    color: #6B6B6C; }
    table.table_style_04 td big {
      font-size: 130%; }
table.table_style_05 {
  border-collapse: inherit;
  margin: 1rem 0;
  border-spacing: 0px;
  border: 1px solid #bcbcbc;
  border-width: 0 1px 1px 0;
  font-size: 0.9rem;
  width: 100%; }
  table.table_style_05 th, table.table_style_05 td {
    border: 1px solid #bcbcbc;
    border-width: 1px 0 0 1px;
    padding: 15px;
    vertical-align: middle; }
  table.table_style_05 th {
    font-size: 1rem;
    font-weight: bold;
    background: #e5e5e5;
    color: #6B6B6C;
    text-align: left; }
    table.table_style_05 th.w30 {
      width: 30%; }
  table.table_style_05 td {
    font-size: 1rem;
    background: #fff;
    color: #6B6B6C; }
    table.table_style_05 td big {
      font-size: 130%; }
table.table_style_06 {
  border-collapse: inherit;
  margin: 1rem 0;
  border-spacing: 0px;
  border: 1px solid #bcbcbc;
  border-width: 0 1px 1px 0;
  font-size: 0.9rem;
  width: 100%; }
  table.table_style_06 th, table.table_style_06 td {
    border: 1px solid #bcbcbc;
    border-width: 1px 0 0 1px;
    padding: 15px;
    vertical-align: middle; }
  table.table_style_06 th {
    font-size: 1rem;
    font-weight: bold;
    background: #e5e5e5;
    color: #6B6B6C;
    text-align: left; }
    table.table_style_06 th.w30 {
      width: 30%; }
  table.table_style_06 td {
    font-size: 1rem;
    background: #fff;
    color: #6B6B6C; }
    table.table_style_06 td big {
      font-size: 130%; }

table.table_style_06 {
  border-collapse: collapse;
  width: 100%; }
  table.table_style_06 th, table.table_style_06 td {
    padding: 15px;
    border: solid 1px #bcbcbc;
    text-align: left;
    box-sizing: border-box; }
  table.table_style_06 th {
    font-size: 1rem;
    font-weight: bold;
    background: #e5e5e5;
    color: #6B6B6C;
    text-align: left; }

@media screen and (max-width: 720px) {
  .table_style_06 .head {
    display: none; }

  .table_style_06 {
    width: 100%; }

  table.table_style_06 td {
    display: block;
    width: 100%;
    border-bottom: none; }

  table.table_style_06 td:first-child {
    background: #e5e5e5;
    color: #6B6B6C;
    font-weight: bold; }

  table.table_style_06 td:before {
    content: attr(data-label);
    font-size: .9rem;
    font-weight: bold;
    color: #0a519b;
    display: block; }

  .table_style_06 tr:last-child {
    border-bottom: solid 1px #bcbcbc; } }
@media screen and (max-width: 640px) {
  .table_style_04 {
    width: 100%; }

  table.table_style_04 th,
  table.table_style_04 td {
    display: block;
    width: 100%;
    border-bottom: none;
    box-sizing: border-box; } }
@media screen and (max-width: 1080px) {
  .table_wrap {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch; }

  table.table_style_03 tr {
    display: block; }
  table.table_style_03 th, table.table_style_03 td {
    display: block;
    padding: 1.2em 1em;
    width: 100%; } }
/*アコーディオン*/
.accordion_section {
  margin-bottom: 30px; }
  .accordion_section .accordion_one {
    background-color: #fff;
    border: 1px solid #0a519b;
    padding: 30px 40px 30px 30px; }
    .accordion_section .accordion_one p {
      color: #565656;
      font-size: 1rem;
      line-height: 2;
      font-family: "Noto Sans JP", sans-serif; }
    .accordion_section .accordion_one .accordion_header {
      color: #3c3c3c;
      font-size: 1.2rem;
      font-weight: 600;
      z-index: +1;
      cursor: pointer;
      transition-duration: 0.2s;
      position: relative; }
    .accordion_section .accordion_one .accordion_inner {
      display: none;
      padding: 0;
      box-sizing: border-box;
      margin-top: 15px; }
  .accordion_section.accordion_faq .accordion_one {
    background-color: #fff; }
    .accordion_section.accordion_faq .accordion_one .accordion_header {
      padding-left: 40px; }
      .accordion_section.accordion_faq .accordion_one .accordion_header:before {
        content: "Q";
        color: #404040;
        font-family: "Orbitron", sans-serif;
        font-size: 2rem;
        position: absolute;
        top: -7px;
        left: 0;
        width: 30px;
        height: 35px;
        font-weight: 400; }
    .accordion_section.accordion_faq .accordion_one .accordion_inner .box_one.answer {
      position: relative;
      padding-left: 40px; }
      .accordion_section.accordion_faq .accordion_one .accordion_inner .box_one.answer:before {
        content: "A";
        color: #0a519b;
        font-family: "Orbitron", sans-serif;
        font-size: 2rem;
        position: absolute;
        top: -3px;
        left: 0;
        width: 30px;
        height: 35px; }
    .accordion_section.accordion_faq .accordion_one .accordion_inner .box_one p {
      font-size: 1.1rem;
      line-height: 1.8; }

.accordion_section .accordion_one .accordion_header:hover {
  opacity: .8; }

.accordion_section .accordion_one .accordion_header .i_box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: -3%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s; }

.accordion_section .accordion_one .accordion_header .i_box .one_i {
  display: block;
  width: 18px;
  height: 18px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
  position: relative; }

.accordion_section .accordion_one .accordion_header.open .i_box {
  -webkit-transform: rotate(-360deg);
  transform: rotate(-360deg); }

.accordion_section .accordion_one .accordion_header .i_box .one_i:before, .accordion_section .accordion_one .accordion_header .i_box .one_i:after {
  display: flex;
  content: '';
  background-color: #0a519b;
  width: 18px;
  height: 4px;
  position: absolute;
  top: 7px;
  left: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transform-origin: center center; }

.accordion_section .accordion_one .accordion_header .i_box .one_i:before {
  width: 4px;
  height: 18px;
  top: 0;
  left: 7px; }

.accordion_section .accordion_one .accordion_header.open .i_box .one_i:before {
  content: none; }

.accordion_section .accordion_one .accordion_header.open .i_box .one_i:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.accordion_section .accordion_one .accordion_inner {
  display: none;
  padding: 0;
  box-sizing: border-box; }

@media screen and (max-width: 980px) {
  .accordion_section .accordion_one {
    padding: 15px 45px 15px 15px; }

  .accordion_section .accordion_one .accordion_header .i_box {
    top: 50%;
    right: -9%;
    width: 30px;
    height: 30px;
    margin-top: -15px; } }
.sub_Link_menu {
  list-style: none;
  margin: 0;
  padding: 0; }

.accordion_one .sub_Link_menu li {
  position: relative;
  border-bottom: initial !important;
  padding: 0px !important; }

.accordion_one .sub_Link_menu li:last-child {
  border-bottom: initial; }

.accordion_one .sub_Link_menu li:after {
  display: block;
  content: '';
  position: absolute;
  top: 43%;
  left: 15px;
  width: 6px;
  height: 6px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.accordion_one .sub_Link_menu li a {
  padding-bottom: 8px;
  font-size: 15px;
  position: relative;
  display: block;
  transition: 0.5s;
  padding: 10px 5px 10px 35px;
  font-weight: 600; }

.accordion_one .sub_Link_menu li a:after {
  content: none !important; }

.accordion_one .sub_Link_menu li {
  padding: 10px; }

.sub_Link_menu li a:link {
  color: #fff;
  text-decoration: none; }

.sub_Link_menu li a:visited {
  color: #fff;
  text-decoration: none; }

/*訪問済みのリンクの色*/
.sub_Link_menu li a:hover {
  color: #fff;
  text-decoration: none; }

/*カーソルが乗っているリンクの色*/
.sub_Link_menu li a:active {
  color: #fff;
  text-decoration: none; }

/*クリック中のリンクの色*/
#sp_menu .accordion_one .accordion_header {
  font-size: 18px;
  position: relative; }

#sp_menu .accordion_one .accordion_header .i_box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 1%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s; }

#sp_menu .accordion_one .accordion_header .i_box .one_i {
  display: block;
  width: 18px;
  height: 18px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
  position: relative; }

#sp_menu .accordion_one .accordion_header.open .i_box {
  -webkit-transform: rotate(-360deg);
  transform: rotate(-360deg); }

#sp_menu .accordion_one .accordion_header .i_box .one_i:before, #sp_menu .accordion_one .accordion_header .i_box .one_i:after {
  display: flex;
  content: '';
  background-color: #fff;
  border-radius: 10px;
  width: 18px;
  height: 4px;
  position: absolute;
  top: 7px;
  left: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transform-origin: center center; }

#sp_menu .accordion_one .accordion_header.open .i_box .one_i:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

#sp_menu .accordion_one .accordion_header .i_box .one_i::before {
  width: 4px;
  height: 18px;
  top: 0;
  left: 7px; }

#sp_menu .accordion_one .accordion_header.open .i_box .one_i:before {
  content: none; }

#sp_menu .accordion_one .accordion_header.open .i_box .one_i:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

#sp_menu .accordion_one .accordion_inner {
  display: none;
  padding: 0;
  box-sizing: border-box; }

.accordion_header {
  font-size: 1.1rem; }

.single_img {
  margin: 20px 0; }
  .single_img figure img {
    /*max-width: 800px;*/
    margin: 0 auto;
    width: 100%;
    height: auto; }

.twin_img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .twin_img figure {
    width: calc(100% / 2 - 20px);
    margin-bottom: 15px; }
    .twin_img figure img {
      width: 100%;
      height: auto; }

ul.twin_btn {
  display: flex;
  justify-content: center;
  gap: 0 1vw; }
  ul.twin_btn li {
    width: calc(100% / 2 - 20px); }

@media screen and (max-width: 980px) {
  ul.twin_btn {
    display: block; }
    ul.twin_btn li {
      margin-bottom: 20px;
      width: 100%; }
      ul.twin_btn li:last-child {
        margin-bottom: 0; } }
.triplets_img {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .triplets_img figure {
    width: calc((100% / 3) - 20px);
    margin-bottom: 15px; }
    .triplets_img figure:after {
      content: "";
      width: calc((100% / 3) - 20px); }
    .triplets_img figure img {
      width: 100%;
      height: auto; }

.quadruplets_img {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0 1.5vw; }
  .quadruplets_img figure {
    width: calc((100% / 4) - 20px);
    margin-bottom: 15px; }
    .quadruplets_img figure img {
      width: 100%;
      height: auto; }

@media screen and (max-width: 980px) {
  .twin_img figure {
    width: calc(100% / 2 - 1px); }

  .triplets_img {
    display: block; }
    .triplets_img figure {
      width: 100%; }

  .quadruplets_img {
    gap: 0 1.5vw; }
    .quadruplets_img figure {
      width: 48%;
      margin-bottom: 15px; }
      .quadruplets_img figure img {
        width: 100%;
        height: auto; } }
.pdf {
  position: relative;
  font-size: 1rem;
  padding: 17px 60px 17px 20px;
  font-weight: 800;
  min-width: 260px;
  transition: 0.5s;
  box-sizing: border-box;
  display: inline-block;
  /*訪問済みのリンクの色*/
  /*カーソルが乗っているリンクの色*/
  /*クリック中のリンクの色*/ }
  .pdf:link {
    color: #565656;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ccc; }
  .pdf:visited {
    color: #565656;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ccc; }
  .pdf:hover {
    color: #d86565;
    text-decoration: none;
    background-color: #ffefef;
    border: 1px solid #ed7373; }
  .pdf:active {
    color: #d86565;
    text-decoration: none;
    background-color: #ffefef;
    border: 1px solid #ed7373; }
  .pdf:before {
    content: "";
    background: url("../images/img_commons/ico_pdf.svg") no-repeat top center;
    background-size: contain;
    position: absolute;
    width: 20px;
    height: 24px;
    z-index: 1;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%); }

.docx {
  position: relative;
  font-size: 1rem;
  padding: 17px 60px 17px 20px;
  font-weight: 800;
  min-width: 260px;
  transition: 0.5s;
  box-sizing: border-box;
  display: inline-block;
  /*訪問済みのリンクの色*/
  /*カーソルが乗っているリンクの色*/
  /*クリック中のリンクの色*/ }
  .docx:link {
    color: #565656;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ccc; }
  .docx:visited {
    color: #565656;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ccc; }
  .docx:hover {
    color: #647ccb;
    text-decoration: none;
    background-color: #eef2ff;
    border: 1px solid #adbae3; }
  .docx:active {
    color: #647ccb;
    text-decoration: none;
    background-color: #eef2ff;
    border: 1px solid #adbae3; }
  .docx:before {
    content: "";
    background: url("../images/img_commons/ico_doc.svg") no-repeat top center;
    background-size: contain;
    position: absolute;
    width: 20px;
    height: 24px;
    z-index: 1;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%); }

.xls {
  position: relative;
  font-size: 1rem;
  padding: 17px 60px 17px 20px;
  font-weight: 800;
  min-width: 260px;
  transition: 0.5s;
  box-sizing: border-box;
  display: inline-block;
  /*訪問済みのリンクの色*/
  /*カーソルが乗っているリンクの色*/
  /*クリック中のリンクの色*/ }
  .xls:link {
    color: #565656;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ccc; }
  .xls:visited {
    color: #565656;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ccc; }
  .xls:hover {
    color: #61b455;
    text-decoration: none;
    background-color: #e9ffe5;
    border: 1px solid #6dbe61; }
  .xls:active {
    color: #61b455;
    text-decoration: none;
    background-color: #e9ffe5;
    border: 1px solid #6dbe61; }
  .xls:before {
    content: "";
    background: url("../images/img_commons/ico_xls.svg") no-repeat top center;
    background-size: contain;
    position: absolute;
    width: 20px;
    height: 24px;
    z-index: 1;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%); }

.btn_list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.3vw;
  margin: 15px 0 0; }
  .btn_list li {
    width: 48%; }
    .btn_list li a.pdf {
      width: 100%; }
    .btn_list li a.docx {
      width: 100%; }
    .btn_list li a.xls {
      width: 100%; }

.btn_list_02 {
  display: flex;
  flex-wrap: wrap;
  gap: 1.3vw;
  margin: 15px 0 0; }
  .btn_list_02 li {
    width: calc((100% / 3) - 2%); }
    .btn_list_02 li a.pdf {
      width: 100%; }
    .btn_list_02 li a.docx {
      width: 100%; }
    .btn_list_02 li a.xls {
      width: 100%; }

@media screen and (max-width: 768px) {
  .pdf {
    position: relative;
    font-size: 1rem;
    padding: 14px 40px 14px 14px;
    font-weight: 800;
    min-width: 260px;
    width: 100%; }
    .pdf:before {
      content: "";
      background: url("../images/img_commons/ico_pdf.svg") no-repeat top center;
      background-size: contain;
      position: absolute;
      width: 20px;
      height: 24px;
      z-index: 1;
      top: 50%;
      right: 10px; }

  .btn_list {
    display: block; }
    .btn_list li {
      width: 100%;
      margin-bottom: 15px; }
      .btn_list li:last-child {
        margin-bottom: 0; }
      .btn_list li a.pdf {
        width: 100%; }
      .btn_list li a.pdf {
        width: 100%; }
      .btn_list li a.xls {
        width: 100%; } }
@media screen and (max-width: 1080px) {
  .btn_list_02 {
    display: block; }
    .btn_list_02 li {
      width: 100%;
      margin-bottom: 15px; }
      .btn_list_02 li a.pdf {
        width: 100%; } }
a.btn_style_01 {
  width: 380px;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 25px 20px;
  border: 1px solid #0a519b;
  background: #0a519b;
  box-sizing: border-box;
  display: block;
  text-decoration: none;
  position: relative;
  color: #fff !important;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
  /*text-align: left;*/
  text-align: center;
  border-radius: 10px; }
  a.btn_style_01:hover {
    color: #0a519b !important;
    background: #fff;
    border: 1px solid #0a519b; }
    a.btn_style_01:hover:after {
      border-right: 1px solid #0a519b;
      border-bottom: 1px solid #0a519b; }
  a.btn_style_01:after {
    display: block;
    content: '';
    position: absolute;
    top: 45%;
    right: 10px;
    width: 8px;
    height: 8px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }

b.btn_style_01 {
  width: 380px;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 25px 20px;
  border: 1px solid #b4b4b4;
  background: #b4b4b4;
  box-sizing: border-box;
  display: block;
  position: relative;
  color: #fff !important;
  text-align: center;
  border-radius: 10px; }
  b.btn_style_01:after {
    display: block;
    content: '';
    position: absolute;
    top: 45%;
    right: 10px;
    width: 8px;
    height: 8px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }

a.btn_style_02 {
  min-width: 400px;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 20px;
  border: 1px solid #0a519b;
  background: #0a519b;
  box-sizing: border-box;
  display: block;
  text-decoration: none;
  position: relative;
  color: #fff !important;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
  text-align: left;
  border-radius: 10px; }
  a.btn_style_02.yellow_color {
    border: 1px solid #ca9d1c;
    background: #ca9d1c; }
    a.btn_style_02.yellow_color:hover {
      color: #ca9d1c !important;
      background: #fff;
      border: 1px solid #ca9d1c; }
      a.btn_style_02.yellow_color:hover:after {
        border-right: 1px solid #ca9d1c;
        border-bottom: 1px solid #ca9d1c; }
  a.btn_style_02:hover {
    color: #0a519b !important;
    background: #fff;
    border: 1px solid #0a519b; }
    a.btn_style_02:hover:after {
      border-right: 1px solid #0a519b;
      border-bottom: 1px solid #0a519b; }
  a.btn_style_02:after {
    display: block;
    content: '';
    position: absolute;
    top: 45%;
    right: 10px;
    width: 8px;
    height: 8px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }

b.btn_style_02 {
  min-width: 400px;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 20px;
  border: 1px solid #b4b4b4;
  background: #b4b4b4;
  box-sizing: border-box;
  display: block;
  text-decoration: none;
  position: relative;
  color: #fff !important;
  text-align: left;
  border-radius: 10px; }
  b.btn_style_02:after {
    display: block;
    content: '';
    position: absolute;
    top: 45%;
    right: 10px;
    width: 8px;
    height: 8px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }

@media screen and (max-width: 780px) {
  a.btn_style_01 {
    padding: 1em;
    width: 90%;
    color: #fff;
    font-size: 15px; }

  a.btn_style_02 {
    min-width: 260px;
    padding: 1em;
    width: 90%;
    color: #fff;
    font-size: 15px; }

  a.btn_style_03 {
    width: 100%;
    font-size: 15px; }

  b.btn_style_01 {
    padding: 1em;
    width: 90%;
    color: #fff;
    font-size: 15px; }

  b.btn_style_02 {
    min-width: 260px;
    padding: 1em;
    width: 90%;
    color: #fff;
    font-size: 15px; }

  b.btn_style_03 {
    width: 100%;
    font-size: 15px; } }
a.pagetop_btn {
  box-sizing: border-box;
  display: block;
  position: fixed;
  width: 40px;
  height: 40px;
  background-color: #181818;
  right: 20px;
  bottom: 20px;
  z-index: 100; }
  a.pagetop_btn:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    background-color: #0a519b;
    transform: translate(-50%, -50%) scale(0, 0);
    transition: transform ease 0.4s; }
  a.pagetop_btn:hover:after {
    transform: translate(-50%, -50%) scale(1.1, 1.1); }
  a.pagetop_btn:before {
    content: "";
    position: absolute;
    z-index: 10;
    top: 55%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-style: solid;
    border-color: #fff;
    border-width: 3px 0 0 3px;
    transform: translate(-50%, -50%) rotate(45deg);
    transition: border-color ease 0.1s; }
  a.pagetop_btn:hover:before {
    border-color: #fff; }

@media screen and (max-width: 1180px) {
  a.pagetop_btn {
    box-sizing: border-box;
    display: block;
    position: fixed;
    width: 30px;
    height: 30px;
    background-color: #181818;
    right: 20px;
    bottom: 40px; }
    a.pagetop_btn:after {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 40px;
      height: 40px;
      background-color: #0a519b;
      transform: translate(-50%, -50%) scale(0, 0);
      transition: transform ease 0.4s; }
    a.pagetop_btn:hover:after {
      transform: translate(-50%, -50%) scale(1.1, 1.1); }
    a.pagetop_btn:before {
      content: "";
      position: absolute;
      z-index: 10;
      top: 55%;
      left: 50%;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-color: #fff;
      border-width: 3px 0 0 3px;
      transform: translate(-50%, -50%) rotate(45deg);
      transition: border-color ease 0.1s; }
    a.pagetop_btn:hover:before {
      border-color: #fff; } }
.table_scroll {
  overflow-x: auto; }

.table_design_01 {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  /*min-width: 700px;*/
  font-weight: bold;
  text-align: center; }

.table_design_01 thead th {
  padding: 1em .8em;
  border-right: 2px solid #fff; }

.table_design_01 thead th:not(:first-child) {
  background: #181818;
  color: #fff;
  font-size: 1.4rem;
  border-radius: 15px 15px 0 0;
  padding: 0.5em; }

.table_design_01 thead th span {
  font-size: .8rem; }

/*.table_design_01 thead th:nth-child(3) {
  background-color: #f88400;
  position: relative;
}*/
.table_design_01 tbody {
  border: 2px solid #d2d2d2; }

.table_design_01 tbody tr {
  /*background-color: #e6f1f6;*/
  background-color: #fff;
  /*border-top: 1px solid #d2d2d2;*/ }

.table_design_01 tbody tr th {
  padding: 1em; }

.table_design_01 tbody tr:nth-child(odd) {
  /*background-color: #fff;*/
  background-color: #f1f1f1; }

.table_design_01 td {
  border-left: 2px solid #d2d2d2; }

.table_design_01 td {
  color: #404040;
  padding: 1em;
  vertical-align: middle;
  font-size: 1.3rem; }

.table_design_01 td big {
  font-size: 130%; }

/*.table_design_01 td:nth-child(3) {
  color: #f88400;
  border-right: 2px solid #f88400;
  border-left: 2px solid #f88400;
}
.table_design_01 tr:last-child td:nth-child(3) {
  border-bottom: 2px solid #f88400;
}*/
@media screen and (max-width: 820px) {
  .table_design_01 thead th:not(:first-child) {
    background: #181818;
    color: #fff;
    font-size: 1.1rem;
    border-radius: 15px 15px 0 0;
    padding: 0.5em; }

  .table_design_01 td {
    color: #404040;
    padding: 1em;
    vertical-align: middle;
    font-size: 1rem; }

  .horizontal_scroll {
    position: relative;
    margin-bottom: 15px; }
    .horizontal_scroll:before {
      content: '横スクロールでご確認ください';
      font-size: 1rem;
      color: #0a519b;
      border: 1px solid #0a519b;
      border-radius: 5px;
      padding: 3px 6px;
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      left: 0;
      display: inline-block; } }
.schedule_img_pc {
  display: block;
  visibility: visible; }

.schedule_img_sp {
  display: none;
  visibility: hidden; }

@media screen and (max-width: 680px) {
  .schedule_img_pc {
    display: none;
    visibility: hidden; }

  .schedule_img_sp {
    display: block;
    visibility: visible; } }
.panorama {
  overflow: auto;
  width: 1200px;
  height: auto;
  margin: 0 auto; }

img.pano {
  width: 100%;
  height: auto;
  max-width: initial; }

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .panorama {
    overflow: auto;
    max-width: 100%;
    max-height: 600px; }

  img.pano {
    width: 1200px;
    height: auto;
    max-width: initial; } }
@media screen and (min-width: 768px) and (max-width: 991px) {
  .panorama {
    overflow: auto;
    max-width: 100%;
    max-height: 526px; }

  img.pano {
    /*width: 1100px;*/
    width: 900px;
    height: auto;
    max-width: initial; } }
@media screen and (max-width: 767px) {
  .panorama {
    overflow: auto;
    max-width: 100%;
    max-height: 400px; }

  img.pano {
    width: 1000px;
    height: auto;
    max-width: initial; } }
.contents_box {
  margin-bottom: 30px; }

.number_text {
  display: flex;
  align-items: flex-start;
  color: #404040;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  line-height: 2;
  margin-bottom: 10px; }
  .number_text i {
    color: #404040;
    font-family: "Noto Sans JP", sans-serif;
    margin-right: 5px;
    text-align: center;
    width: 40px;
    box-sizing: border-box;
    font-size: 1rem; }
  .number_text span {
    flex: 1;
    color: #404040;
    font-family: "Noto Sans JP", sans-serif; }

.name_box {
  display: flex;
  gap: 0 1vw; }
  .name_box span {
    width: 90px;
    font-size: 1rem;
    color: #6B6B6C; }
  .name_box em {
    flex: 1;
    font-size: 1rem;
    color: #6B6B6C;
    font-style: normal; }

.content_box01 {
  display: flex;
  gap: 0 1vw; }
  .content_box01 span {
    width: 130px;
    font-size: 1rem;
    color: #6B6B6C; }
  .content_box01 em {
    flex: 1;
    font-size: 1rem;
    color: #6B6B6C;
    font-style: normal; }

.annotation01 {
  display: flex !important;
  align-items: flex-start;
  margin-bottom: 5px; }
  .annotation01 i {
    color: #6B6B6C;
    font-size: 1rem;
    font-style: normal;
    line-height: 1.8;
    margin-right: 8px; }
  .annotation01 span {
    flex: 1;
    color: #6B6B6C;
    font-size: 1rem;
    line-height: 1.8; }

a.link_btn {
  border: 1px solid #0a519b;
  background: #0a519b;
  text-decoration: none;
  color: #fff !important;
  font-size: 1rem;
  transition: all .3s;
  padding: 5px;
  margin: 5px 0;
  border-radius: 3px;
  display: inline-block; }
  a.link_btn:hover {
    color: #0a519b !important;
    background: #fff;
    border: 1px solid #0a519b; }
