@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@300;400;500;700;800;900&display=swap");
@font-face {
  font-family: Yugo;
  /* フォント集合名 */
  src: url(../font/yugothib.ttf);
  /* フォントのURL */ }
.show-sp {
  display: none; }
  @media (max-width: 559px) {
    .show-sp {
      display: block; } }

@media (max-width: 559px) {
  .show-pc {
    display: none; } }
@media (max-width: 559px) {
  .not-display-sp {
    display: none; } }

@media (max-width: 559px) {
  .sp-center {
    justify-content: center;
    display: block;
    text-align: center; } }

.mb {
  margin-bottom: clamp(30px, 4%, 60px); }

.mb-1 {
  margin-bottom: 0.5em; }

.mb-2 {
  margin-bottom: 1em; }

.mb-3 {
  margin-bottom: 1.5em; }

.mb-4 {
  margin-bottom: 2em; }

.mb-5 {
  margin-bottom: 2.5em; }

.mb-6 {
  margin-bottom: 3em; }

.bnr-box01 {
  display: block; }
  @media (max-width: 559px) {
    .bnr-box01 {
      margin-left: 10px;
      margin-right: 10px; } }
  .bnr-box01 img {
    width: 100%;
    height: auto; }

/*--------------------------------------------------------------------
common
--------------------------------------------------------------------*/
* {
  font-family: Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box; }

body {
  width: 100%;
  overflow-x: hidden; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
  box-sizing: border-box; }

html {
  overflow-y: scroll; }

blockquote, q {
  quotes: none; }

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

input, textarea {
  padding: 0;
  margin: 0; }

ol, ul {
  list-style: none;
  box-sizing: border-box; }

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  box-sizing: border-box; }

/*tbl01*/
table.tbl01 {
  width: 100%;
  margin-left: auto;
  margin-right: auto; }

table.tbl01 th {
  background: #EEE;
  padding: 2%;
  vertical-align: top;
  font-weight: bold;
  border: #999 1px solid;
  word-break: keep-all;
  text-align: center; }

table.tbl01 td {
  padding: 2%;
  border: #999 1px solid;
  background: #FFF;
  word-break: break-all; }

table.tbl01 .nowrap {
  white-space: nowrap; }

@media (max-width: 680px) {
  table.tbl01 {
    border-bottom: #999 1px solid; }

  table.tbl01 th {
    width: 100%;
    display: block;
    border-bottom: none; }

  table.tbl01 td {
    width: 100%;
    display: block;
    border-bottom: none; }

  table.tbl01 td input,
  table.tbl01 td textarea {
    font-size: 1.3em; }

  table.tbl01 td input[type="text"] {
    width: 100%; } }
/*tbl02*/
table.tbl02 {
  width: 100%;
  table-layout: fixed;
  margin-left: auto;
  margin-right: auto; }

table.tbl02 th {
  background: #EEE;
  padding: 1%;
  vertical-align: middle;
  font-weight: bold;
  border: #999 1px solid;
  word-break: break-all;
  word-wrap: break-word;
  text-align: center; }

table.tbl02 td {
  padding: 1%;
  border: #999 1px solid;
  background: #FFF;
  word-break: break-all; }

table.tbl02 .nowrap {
  white-space: nowrap; }

caption, th {
  text-align: left; }

a:focus {
  outline: none; }

header:after, footer:after, section:after, article:after, aside:after, div:after, dl:after, ul:after {
  content: "";
  display: block;
  height: 0;
  clear: both; }

br {
  letter-spacing: 0; }

img {
  border: 0;
  vertical-align: bottom; }

#spLinkBlockInPc {
  display: none; }

body {
  letter-spacing: 0.1em;
  background: #fff;
  font-size: 0.9em;
  /*文字サイズの自動調整を無効*/
  -webkit-text-size-adjust: 100%; }

.notFound {
  display: none; }

.clear {
  clear: both; }

.clearfix {
  overflow: hidden; }

.left {
  float: left; }

.right {
  float: right; }

.center {
  text-align: center; }

.textleft {
  text-align: left; }

.textright {
  text-align: right; }

.w100 {
  width: 100%;
  height: auto; }

.w100 img {
  width: 100%;
  height: auto; }

.m10 {
  margin: 10px; }

.p10 {
  padding: 10px; }

.bottom5 {
  margin-bottom: 5px; }

.bottom10 {
  margin-bottom: 10px; }

.bottom15 {
  margin-bottom: 15px; }

.bottom20 {
  margin-bottom: 20px; }

.bottom25 {
  margin-bottom: 25px; }

.bottom30 {
  margin-bottom: 30px; }

.bottom40 {
  margin-bottom: 40px; }

.bottom50 {
  margin-bottom: 50px; }

.bottom60 {
  margin-bottom: 60px; }

.btm3p {
  margin-bottom: 3%; }

.btm5p {
  margin-bottom: 5%; }

.pad-btm5p {
  padding-bottom: 5%; }

.must {
  color: #E00003; }

a:link, a:visited {
  text-decoration: underline;
  overflow: hidden;
  color: #940810;
  cursor: pointer; }

a:hover {
  text-decoration: none;
  color: #FF1014; }

ul {
  list-style-type: none; }

.small {
  font-size: 0.8em; }

.font-bold {
  font-weight: bold; }

.font-bigger {
  font-size: 120%; }

.font-red {
  color: #E10003; }

div#accesslog {
  display: none; }

/*フォントサイズ*/
@media (max-width: 860px) {
  body {
    /*font-size: 90%;*/ } }
/*　表示/非表示用
***************************************/
.showBox {
  display: none; }

/*p br
***************************************/
.br-sp {
  display: none; }

@media (max-width: 680px) {
  p {
    font-size: 0.9em; }

  .br-sp {
    display: block; }

  .sp-br {
    display: none; } }
/*img切り替えのスタイル
***************************************/
@media (min-width: 760px) {
  .smallimg {
    display: none; } }
@media (max-width: 760px) {
  .bigimg {
    display: none; }

  .smallimg {
    width: 100%; } }
@media (min-width: 480px) {
  .bigimg_sp {
    display: block; }

  .smallimg_sp {
    display: none; } }
@media (max-width: 480px) {
  .bigimg_sp {
    display: none; }

  .smallimg_sp {
    display: block; } }
/*box
***************************************/
.box1200 {
  clear: both;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  position: relative; }

@media (max-width: 1200px) {
  .box1200 {
    padding-left: 10px;
    padding-right: 10px; } }
.box1000 {
  clear: both;
  width: 100%;
  max-width: 1000px;
  margin: auto;
  position: relative; }

.box800 {
  clear: both;
  width: 100%;
  max-width: 800px;
  margin: auto;
  position: relative; }

.box-flex {
  display: flex;
  flex-wrap: wrap; }

.box-flex-2col {
  width: 46%;
  margin: 0 auto; }

.box-flex-3col {
  width: 31.3%;
  margin: 0 auto; }

@media (max-width: 640px) {
  .box-flex-2col {
    width: 96%;
    margin: 0 auto 15px auto; }

  .box-flex-3col {
    width: 96%;
    margin: 0 auto 15px auto; } }
/*base
***************************************/
.base {
  padding: 3% 0; }

@media (max-width: 680px) {
  .base {
    padding: 5% 2%; }
    .base.pt-0 {
      padding-top: 0; }
    .base.py-0 {
      padding-top: 0;
      padding-bottom: 0; } }
/*fadein
***************************************/
.fadein {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -ms-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }

.fadein:hover {
  opacity: 0.5;
  filter: alpha(opacity=50); }

/*scale
***************************************/
.scale {
  overflow: hidden; }

.scale img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  -ms-transition: 0s ease-in-out; }

.scale img:hover {
  webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -o-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05); }

br.sp {
  display: block; }

@media (min-width: 680px) {
  br.sp {
    display: none; } }
/*title
***************************************/
.title-bg01 {
  background: url(../../images-new/common/line01.png) no-repeat center center; }

/*黒センター寄せ*/
.title01 {
  font-weight: bold;
  font-size: clamp(20px, 4vw, 32px);
  text-align: center;
  margin-bottom: 3%; }
  .title01.small {
    font-size: clamp(16px, 3vw, 25px); }
  .title01 span {
    display: block;
    font-size: 0.7em;
    line-height: 1.7; }

/*赤背景白文字*/
.title02 {
  display: block;
  border: #000 1px solid;
  color: #FFF;
  padding: 5px 10px;
  font-size: 1.5em;
  line-height: 1.2;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.47, #8d0e07), color-stop(0.4, #b80a1c));
  background: -webkit-linear-gradient(top, #b80a1c 40%, #8d0e07 47%);
  background: -moz-linear-gradient(top, #b80a1c 40%, #8d0e07 47%);
  background: -o-linear-gradient(top, #b80a1c 40%, #8d0e07 47%);
  background: -ms-linear-gradient(top, #b80a1c 40%, #8d0e07 47%);
  background: linear-gradient(to bottom, #b80a1c 40%, #8d0e07 47%); }
  .title02 span {
    font-size: 60%;
    padding-left: 10px; }
  @media (max-width: 559px) {
    .title02 {
      font-size: clamp(1.1em, 3vw, 1.5em); } }

/*グレー背景白文字*/
.title03 {
  display: block;
  border: #000 1px solid;
  color: #FFF;
  padding: 5px 10px;
  font-size: clamp(1.3em, 3.5vw, 1.5em);
  line-height: 1.2;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.47, #4d4d4d), color-stop(0.4, #737373));
  background: -webkit-linear-gradient(top, #737373 40%, #4d4d4d 47%);
  background: -moz-linear-gradient(top, #737373 40%, #4d4d4d 47%);
  background: -o-linear-gradient(top, #737373 40%, #4d4d4d 47%);
  background: -ms-linear-gradient(top, #737373 40%, #4d4d4d 47%);
  background: linear-gradient(to bottom, #737373 40%, #4d4d4d 47%); }
  .title03 span {
    font-size: 50%;
    padding-left: 10px; }
  @media (max-width: 559px) {
    .title03 {
      font-size: clamp(1.1em, 3vw, 1.5em); }
      .title03 span {
        display: block;
        padding-left: 0; }
        .title03 span.inline {
          display: inline; } }

/*ピンク背景白文字*/
.title04 {
  display: block;
  border: #999 1px solid;
  color: #FFF;
  padding: 5px 10px;
  font-size: 1.5em;
  line-height: 1.2;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.52, #d35f66), color-stop(0.45, #ed7f7e));
  background: -webkit-linear-gradient(top, #ed7f7e 45%, #d35f66 52%);
  background: -moz-linear-gradient(top, #ed7f7e 45%, #d35f66 52%);
  background: -o-linear-gradient(top, #ed7f7e 45%, #d35f66 52%);
  background: -ms-linear-gradient(top, #ed7f7e 45%, #d35f66 52%);
  background: linear-gradient(to bottom, #ed7f7e 45%, #d35f66 52%); }
  .title04 span {
    font-size: 60%;
    padding-left: 10px; }

/*背景あり・黒センター寄せ*/
.title05 {
  font-weight: bold;
  font-size: 1.5em;
  background: #999;
  color: #FFF;
  padding: 5px;
  text-align: center;
  border-radius: 5px;
  margin-bottom: 3%; }
  @media (max-width: 559px) {
    .title05 {
      font-size: 1.3em;
      margin-bottom: 3%; } }
  @media (max-width: 419px) {
    .title05 {
      font-size: 1.1em; } }

/*黒背景白文字*/
.title06 {
  font-weight: bold;
  font-size: 1.2em;
  background: #666;
  color: #FFF;
  padding: 3px 7px;
  border-radius: 5px;
  margin-bottom: 3%; }

/*button
***************************************/
.btn01 {
  display: block;
  text-align: center; }
  .btn01 a {
    display: block;
    background: url(../../images-new/common/bg_arrow01.png) no-repeat right center;
    border-radius: 10px;
    padding: 10px;
    font-weight: bold;
    text-decoration: none;
    color: #FFF;
    box-sizing: border-box;
    width: 35%;
    margin: 0 auto;
    transition: 0.3s all linear; }
    .btn01 a:hover {
      opacity: 0.8; }
    @media (max-width: 559px) {
      .btn01 a {
        width: 60%; } }
    @media (max-width: 419px) {
      .btn01 a {
        width: 80%; } }

/*横2列並びボタン*/
.btn01_col2 {
  display: block;
  text-align: center;
  margin: 0 auto; }

.btn01_col2 a {
  display: block;
  background: url(../../images-new/common/bg_arrow01.png) no-repeat right center;
  border-radius: 10px;
  padding: 10px;
  font-weight: bold;
  text-decoration: none;
  color: #FFF;
  box-sizing: border-box;
  width: 90%;
  margin: 0 auto;
  transition: 0.3s all linear; }

.btn01_col2 a:hover {
  opacity: 0.8; }

.index-btn {
  display: flex;
  border-top: none;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto clamp(15px, 3%, 30px) auto;
  box-sizing: border-box; }
  .index-btn .btn {
    width: 100%;
    max-width: 400px;
    padding: 0 5px; }
    .index-btn .btn a img {
      width: 100%;
      height: auto;
      transition: all linear 0.3s; }
    .index-btn .btn:hover img {
      opacity: 0.7; }
  @media (max-width: 419px) {
    .index-btn {
      flex-wrap: wrap;
      justify-content: center;
      padding-left: 10px;
      padding-right: 10px; }
      .index-btn .btn {
        margin: 0 20px; } }
