@charset "UTF-8";
@-ms-viewport {
  width: device-width; }

/*--------------------------------------------------------------------------
CSS　カスタム設定(style.css)ver.1 2022.10.05
--------------------------------------------------------------------------*/
/*========= ナビゲーションドロップダウンのためのCSS ===============*/
/*==ナビゲーション全体の設定*/
nav {
  color: #fff;
  text-align: center; }

/*ナビゲーションを横並びに*/
nav ul {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

/*2階層目以降は横並びにしない*/
nav ul ul {
  display: block; }

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav ul li {
  position: relative; }

/*ナビゲーションのリンク設定*/
nav ul li a {
  display: block;
  text-decoration: none;
  font-size: 1.7rem;
  font-weight: 500;
  color: #222;
  padding: 20px 30px;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s; }

nav ul li ul {
  border-bottom: solid 1px rgba(0, 0, 0, 0.2); }
  nav ul li ul li span {
    font-size: 1.6rem;
    padding: 10px 0 10px 30px;
    display: block;
    border-bottom: solid 1px rgba(0, 0, 0, 0.2);
    text-align: left; }
  nav ul li ul li:last-child span {
    border-bottom: solid 0 rgba(0, 0, 0, 0); }
  nav ul li ul li a {
    font-size: 1.6rem;
    padding: 10px 30px; }
  nav ul li ul li a.sns-ico {
    font-size: 1.6rem;
    padding: 0 0 0 5px;
    display: inline;
    border: 0; }
  nav ul li ul li img {
    margin-bottom: 2px;
    width: 20px; }

nav ul li a:link, nav ul li a:visited {
  color: #222; }

nav ul li a:hover, nav ul li a:active {
  color: #cf102d; }

/*==矢印の設定*/
/*2階層目を持つliの矢印の設定*/
nav ul li.has-child::before {
  content: '';
  position: absolute;
  right: 15px;
  top: 30px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #999;
  border-right: 2px solid #999;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg); }

nav ul li:hover.has-child::before {
  content: '';
  position: absolute;
  right: 15px;
  top: 30px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #cf102d;
  border-right: 2px solid #cf102d;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg); }

/*3階層目を持つliの矢印の設定*/
nav ul ul li.has-child::before {
  content: '';
  position: absolute;
  left: 6px;
  top: 17px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

nav ul ul li:hover.has-child::before {
  content: '';
  position: absolute;
  left: 6px;
  top: 17px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #cf102d;
  border-right: 2px solid #cf102d;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

/*== 2・3階層目の共通設定 */
/*下の階層を持っているulの指定*/
nav li.has-child ul {
  /*絶対配置で位置を指定*/
  position: absolute;
  left: 0;
  top: 62px;
  z-index: 4;
  /*形状を指定*/
  background: #000;
  width: 200px;
  /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
  /*アニメーション設定*/
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s; }

/*hoverしたら表示*/
nav ul.nav_list li.has-child:hover > ul,
nav ul.nav_list li.has-child ul li:hover > ul,
nav ul.nav_list li.has-child:active > ul,
nav ul.nav_list li.has-child ul li:active > ul {
  visibility: visible;
  opacity: 1; }

/*ナビゲーションaタグの形状*/
nav li.has-child ul li a {
  color: #222;
  text-align: left;
  border-bottom: solid 1px rgba(0, 0, 0, 0.2); }

nav li.has-child ul li:last-child a {
  border-bottom: none; }

nav li.has-child ul li a:hover,
nav li.has-child ul li a:active {
  background: #000; }

/*==3階層目*/
/*3階層目の位置*/
nav li.has-child ul ul {
  top: 0;
  left: 182px;
  background: #000; }

nav li.has-child ul ul li a:hover,
nav li.has-child ul ul li a:active {
  background: #448ED3; }

/*==1024px以下の形状*/
@media screen and (max-width: 1023px) {
  nav {
    padding: 0; }
  nav ul {
    display: block; }
  nav li.has-child ul,
  nav li.has-child ul ul {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    visibility: visible;
    /*JSで制御するため一旦表示*/
    opacity: 1;
    /*JSで制御するため一旦表示*/
    display: none;
    /*JSのslidetoggleで表示させるため非表示に*/
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    /*JSで制御するためCSSのアニメーションを切る*/ }
  nav ul li a {
    border-bottom: 1px solid #ccc; }
  /*矢印の位置と向き*/
  nav ul li.has-child::before {
    left: 20px; }
  nav ul ul li.has-child::before {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    left: 20px; }
  nav ul li.has-child.active::before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-top: 2px solid #cf102d;
    border-right: 2px solid #cf102d; } }

/*===============================
■■　スマホ用　■■
===============================*/
/*------------(XS)------------*/
/*------------(SM)------------*/
/*------------(MD)------------*/
/*------------(LG)------------*/
/*------------(XL)------------*/
