@charset "utf-8";

/* ----------------------------------------- */
/* CSS Version 20161208
/* ----------------------------------------- */

/* ----------------------------------------- */
/* 共通設定
/* ----------------------------------------- */

html {
  height: 100%;
  font-size: 62.5%;
}
body {
  height: 100%;
  
  font-size: 1.55rem;
  font-family: 'Arial',YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;  line-height: 160%;
  letter-spacing: 0.05rem;
  color: #333;
  background-color: #FFF;
}
.clear:after {
  height: 0;
  display: block;
  clear: both;
  content: "";
}

img {
  vertical-align: bottom;
}

/* 印刷設定 */
@media print {
  body {
    width: 1024px;
    /* Print Background */
    -webkit-print-color-adjust: exact; /* chrome */
  }
}

/* ----------------------------------------- */
/* ヘッダ */
/* ----------------------------------------- */

/* Smart Phone View */
@media only screen and (max-width: 649px) {
  #tag_header{
    min-width: 100%;
    display: block;
  }
  .header_left{
    display: none;
  }
  .header_right{
    display: none;
  }
  #header_dmy {
    height: 0;
    display: none;
  }
}

/* PC View */
@media print, screen and (min-width:650px) {
  #tag_header{
    min-width: 1000px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    transition: background-color 0.5s ease-in-out;
    position: absolute;
    top: 0;
    z-index: 500;
  }
  #tag_header.fixed{
    border-bottom: 1px solid #FCB3CC;
  }
  #header_cover{
    width: 100%;
    height: 210px;
    background-image: linear-gradient(
      0deg,
      rgba(0, 0, 0, 0),
      rgba(0, 0, 0, 0.5)
    );
    top: 0;
    z-index: 20;
    position: absolute;
    background-color: transparent;
    mix-blend-mode: multiply;
  }
  .fixed{
    position: fixed;
    top: 0;
    left: 0;
  }
  #header_dmy {
    display: none;
    position: relative;
    height: 84px;
    min-width: 1000px;
    width: 100%;
  }
  #header {
    width: 950px;
    margin: 0 auto;
  }
  #header .header_left {
    width: 500px;
    height: 93px;
    overflow: hidden;
    float: left;
    padding-top: 20px;
  }
  #header .header_right {
    width: 450px;
    height: 93px;
    overflow: hidden;
    float: left;
    text-align: right;
    padding-top: 20px;
  }
  #header .header_right img{
    padding-left: 8px;
  } 
}

/* ----------------------------------------- */
/* グローバルナビ */
/* ----------------------------------------- */
/* Smart Phone View */
@media only screen and (max-width: 649px) {
  /* ナビゲーションメニュー（アイコン） */
  #tag_header nav{
    display: none;
  }
}

/* PC View */
@media print, screen and (min-width:650px) {
  .globalnavi .gnavi a{
    color: #FFFFFF;
    font-weight: bold;
    padding-left: 4px;
    padding-right: 4px;
  }
  #tag_header.fixed .globalnavi .gnavi a{
    color: #333333;
  }
  #tag_header nav {
    position: absolute;
    top: 65px;
    left: 0;
    width: 100%;
    min-width: 1000px;
    height: auto;
    z-index: 520;
  }
  .globalnavi {
    position: relative; /*megamenu*/
    overflow: visible; /*megamenu*/
    margin: 0 auto;
    max-width: 950px;
    width: 950px;
    box-sizing: border-box;
    padding-left: 340px;
    padding-right: 0;
  }
  .globalnavi ul {
    list-style-type: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 25px;
    padding: 0;
    margin: 0;
    padding-top: 10px;
  }
  .globalnavi li,
  .globalnavi li a{
    box-sizing: border-box;
  }
  .globalnavi li {
    vertical-align: middle;
    text-align: center;
    font-size: 1.6rem;
    display: block;
    width: auto;
    height: auto;
    border-bottom: none;
    padding: 0;
    font-size: 1.6rem;
    position: relative; /*megamenu*/
  }
  .globalnavi li a{
    display: inline-block;
    width: auto;
    height: auto;
    line-height: 1.2;
    padding: 6px 0;
  }

  .globalnavi li a p{
    display: inline;
    margin: 0;
    padding: 0;
    font-family: "Helvetica","Arial","Noto Sans JP", sans-serif;
    font-weight: bold;
    font-style: normal;
  }
  .globalnavi li a::after{
    content: "";
    display: block;
    height: 2px;
    margin-top: 6px;
    background: transparent;
  }
  .globalnavi li:hover a::after{
    background: #F50156;
  }
  .globalnavi .gnavi{
    overflow: hidden;
    text-decoration: none;
  }
  .globalnavi .gnavi a:hover,
  #tag_header.fixed .globalnavi .gnavi a:hover{
    color: #F50156;
  }
  #tag_header.fixed #header{
    height: 113px;
  }
  body.gnavi00 .nav_switch{
    padding-left: 4px;
    padding-right: 4px;
  }
  body:not(.gnavi00) #header_cover{
    display: none !important;
  }
  body:not(.gnavi00) .globalnavi .gnavi a{
    color: #333333;
  }
  body.gnavi00 #tag_header:not(.fixed){
    background-color: transparent !important;
  }
  body.gnavi01 .globalnavi li.gnavi01 a,
  body.gnavi02 .globalnavi li.gnavi02 a,
  body.gnavi03 .globalnavi li.gnavi03 a,
  body.gnavi04 .globalnavi li.gnavi04 a,
  body.gnavi05 .globalnavi li.gnavi05 a {
    color: #F50156 !important;
  }
  body.gnavi01 .globalnavi li.gnavi01 a::after,
  body.gnavi02 .globalnavi li.gnavi02 a::after,
  body.gnavi03 .globalnavi li.gnavi03 a::after,
  body.gnavi04 .globalnavi li.gnavi04 a::after,
  body.gnavi05 .globalnavi li.gnavi05 a::after {
    background: #F50156 !important;
  }
}

/* ----------------------------------------- */
/* メガメニュー */
/* ----------------------------------------- */
/* PC View */
@media print, screen and (min-width:650px) {
  .mega_menu {
    position: absolute;
    width: 200px;
    top: 49px;
    background: rgba(0, 0, 0, 0.6);
    display: none;
    z-index: 510;
    margin-left: 0;
  }
  .mega_menu.mega_menu03{
    margin-left: 0;
    right: 100px;
  }
  .mega_menu_inner {
    width: 200px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .mega_menu ol {
    width: 200px;
    display: block;
    margin: 0;
    list-style: none;
  }
  .mega_menu ol li {
    width: 200px;
    height: auto;
    display: block;
    text-align: left;
    font-size: 1.4rem;
    line-height: 140%;
    border: none;
  }
  .mega_menu ol li a {
    width: 200px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: left;
    color: #FFFFFF;
    transition: background 0.3s;
    border-bottom: 1px solid #b3b3b3;
    padding-left: 25px;
    line-height: 160%;
  }
  .mega_menu ol li a::before {
    content: "";
    width: 5px;
    height: 9px;
    background-color: #FFFFFF;
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    position: absolute;
    left: 12px;
    top: 45%;
    transform: translateY(-50%);
  }
  .mega_menu ol li a:hover {
    background: #F50156;
  }

  .mega_btn03:hover + .mega_menu03,
  .mega_menu03:hover {
    display: block;
  }

  .mega_menu03.open{
    display: block;
  }
}

/* ----------------------------------------- */
/* パンくずリスト */
/* ----------------------------------------- */
.topics-path {
  overflow: hidden;
  clear: both;
  width: 100%;
  max-width: 950px;
  margin-bottom: 10px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
}
.topics-path_non {
  overflow: hidden;
  margin-bottom: 15px;
}

.topics-path ul {
  overflow: hidden;
  clear: both;
  width: 100%;
  margin: 15px 0 10px;
  padding-top: 3px;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}
.topics-path li {
  list-style-type: none;
  float: left;
  min-height: 20px;
  padding-right: 8px;
  color: #000000;
  line-height: 110%;
}
.topics-path li:before {
  font-family: 'gud_basic';
  content: "\e874";
  padding-right: 3px;
}
.topics-path li:first-child:before {
  font-family: 'gud_basic';
  content: "\e801";
  padding-right: 3px;
}

.topics-path li a {
  padding-right: 0;
  padding-left: 0;
  color: #000000;
  text-decoration: none;
}

.topics-path li a:last-child {
  padding-right: 12px;
  padding-left: 0;
  color: #000000;
  text-decoration: none;
}

.topics-path li a:hover {
  color: #FDD9E6;
}
/* Smart Phone View */
@media only screen and (max-width: 649px) {
  .topics-path {
    width: 90%;
    margin: 0 auto;
  }
}

/* ----------------------------------------- */
/* ローカルナビ */
/* ----------------------------------------- */
.localnavi{
  font-style: normal;
  font-weight: 400;
  color: #F50156;
  font-size: 1.8rem;
  line-height: 120%;
  text-shadow: none;
  width: 100%;
  background: none;
  position: relative;
}
/* PC View */
@media print, screen and (min-width:650px) {
  .localnavi{
    width: 950px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 25px;
    background: none;
  }
  .localnavi .toggle{
    display: none;
  }
  .localnavi ul{
    width: 950px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    text-align: center;
    display: table;
    table-layout: fixed;
  }
  .localnavi li{
    display: table-cell;
    vertical-align: middle;
    padding-left: 5px;
    padding-right: 5px;
  }
  nav .localnavi li a:visited{
    color: #F50156;
  }
  nav .localnavi li a{
    color: #F50156;
    text-decoration: none;
    display: block;
    width: 100%;
    border: solid 1px #F50156;
    border-radius: 4px;
    padding-top: 14px;
    padding-bottom: 14px;
    position: relative;
  }
  nav .localnavi li a::after{
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid #F50156;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  }
  .snavi00 .localnavi li.snavi00 a,
  .snavi01 .localnavi li.snavi01 a,
  .snavi02 .localnavi li.snavi02 a,
  .snavi03 .localnavi li.snavi03 a,
  .snavi04 .localnavi li.snavi04 a,
  .snavi05 .localnavi li.snavi05 a,
  .snavi06 .localnavi li.snavi06 a,
  .snavi07 .localnavi li.snavi07 a,
  .snavi08 .localnavi li.snavi08 a,
  .snavi09 .localnavi li.snavi09 a,
  .snavi00 .localnavi li.snavi10 a,
  .snavi11 .localnavi li.snavi11 a,
  .snavi12 .localnavi li.snavi12 a,
  .snavi13 .localnavi li.snavi13 a,
  .snavi14 .localnavi li.snavi14 a,
  .snavi15 .localnavi li.snavi15 a,
  .snavi16 .localnavi li.snavi16 a,
  .snavi17 .localnavi li.snavi17 a,
  .snavi18 .localnavi li.snavi18 a,
  .snavi19 .localnavi li.snavi19 a,
  .snavi20 .localnavi li.snavi20 a{
    color: #F50156!important;
    background-color: #FDD9E6;
    text-decoration: none;
  }
  .localnavi li a:hover{
    color: #FFFFFF!important;
    background-color: #F50156;
    text-decoration: none;
  }
  .localnavi li a:hover::after{
  border-left-color: #FFFFFF;
  }
  .localnavi .row_hr{
    display: none;
    height: 0;
  }
}

/* Smart Phone View */
@media only screen and (max-width: 649px) {
  .localnavi{
    width: 100%;
    height:40px;
    margin-bottom: 25px;
  }
  .localnavi a {
    display: block;
  }
  .localnavi .toggle{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 14px 7%;
    position: relative;
    border-top: solid 1px #EEEEEE;
    border-bottom: solid 1px #EEEEEE;
    text-align: center;
  }
  .localnavi .toggle::after {
    font-size: 1.5rem;
    font-family: 'gud_basic';
    font-weight: normal;
    content: "\e877";
    color: #666666;
    position: absolute;
    right: 5%;
    top: 0;
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .localnavi .toggle.active::after {
    font-family: 'gud_basic';
    font-weight: normal;
    content: "\e873";
  }
  .toggle .snavi00,
  .toggle .snavi01,
  .toggle .snavi02,
  .toggle .snavi03,
  .toggle .snavi04,
  .toggle .snavi05,
  .toggle .snavi06,
  .toggle .snavi07,
  .toggle .snavi08,
  .toggle .snavi09,
  .toggle .snavi00,
  .toggle .snavi11,
  .toggle .snavi12,
  .toggle .snavi13,
  .toggle .snavi14,
  .toggle .snavi15,
  .toggle .snavi16,
  .toggle .snavi17,
  .toggle .snavi18,
  .toggle .snavi19,
  .toggle .snavi20{
    display: none;
  }
  .snavi00 .toggle .snavi00,
  .snavi01 .toggle .snavi01,
  .snavi02 .toggle .snavi02,
  .snavi03 .toggle .snavi03,
  .snavi04 .toggle .snavi04,
  .snavi05 .toggle .snavi05,
  .snavi06 .toggle .snavi06,
  .snavi07 .toggle .snavi07,
  .snavi08 .toggle .snavi08,
  .snavi09 .toggle .snavi09,
  .snavi00 .toggle .snavi00,
  .snavi11 .toggle .snavi11,
  .snavi12 .toggle .snavi12,
  .snavi13 .toggle .snavi13,
  .snavi14 .toggle .snavi14,
  .snavi15 .toggle .snavi15,
  .snavi16 .toggle .snavi16,
  .snavi17 .toggle .snavi17,
  .snavi18 .toggle .snavi18,
  .snavi19 .toggle .snavi19,
  .snavi20 .toggle .snavi20{
    display: block;
  }
  
  .localnavi li{
    width: 86%;
    margin-left: auto;
    margin-right: auto;
    padding: 14px 0;

    font-size: 1.2rem;
    text-align: center;
    background-color: #FFFFFF;
    position: relative;
    z-index: 2;
    border-bottom: dashed 1px #cccccc;
  }
  .localnavi li:last-child {
    margin-bottom: 25px;
  }
  nav .localnavi li a,
  nav .localnavi li a:visited{
    color: #333333;
    text-decoration: none;
  }
  .snavi00 .localnavi li.snavi00 a,
  .snavi01 .localnavi li.snavi01 a,
  .snavi02 .localnavi li.snavi02 a,
  .snavi03 .localnavi li.snavi03 a,
  .snavi04 .localnavi li.snavi04 a,
  .snavi05 .localnavi li.snavi05 a,
  .snavi06 .localnavi li.snavi06 a,
  .snavi07 .localnavi li.snavi07 a,
  .snavi08 .localnavi li.snavi08 a,
  .snavi09 .localnavi li.snavi09 a,
  .snavi00 .localnavi li.snavi00 a,
  .snavi11 .localnavi li.snavi11 a,
  .snavi12 .localnavi li.snavi12 a,
  .snavi13 .localnavi li.snavi13 a,
  .snavi14 .localnavi li.snavi14 a,
  .snavi15 .localnavi li.snavi15 a,
  .snavi16 .localnavi li.snavi16 a,
  .snavi17 .localnavi li.snavi17 a,
  .snavi18 .localnavi li.snavi18 a,
  .snavi19 .localnavi li.snavi19 a,
  .snavi20 .localnavi li.snavi20 a{
    color: #F50156;
  }
  .localnavi ul.inner{
    width: 100%;
    display: none;
    position: relative;
    margin-bottom: 0px;
  }
  .localnavi ul.inner::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 50px;
    bottom: -0;
    background: rgba(0,0,0,0.1);
    background: -moz-radial-gradient(center, ellipse cover, rgba(0,0,0,0.15) 0%, rgba(255,255,255,0) 70%);
    background: -webkit-gradient(radial, center center, 0px, center center, 70%, color-stop(0%, rgba(0,0,0,0.1)), color-stop(70%, rgba(255,255,255,0)));
    background: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0) 70%);
    background: -o-radial-gradient(center, ellipse cover, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0) 70%);
    background: -ms-radial-gradient(center, ellipse cover, rgba(0,0,0,0.15) 0%, rgba(255,255,255,0) 70%);
    background: radial-gradient(ellipse at center, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0) 70%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#ffffff', GradientType=1 );
    z-index: 1;
  }
}

/* ----------------------------------------- */
/* main_Img */
/* ----------------------------------------- */

/* PC View */
@media print, screen and (min-width:650px) {
  .mainImg {
    width: 100%;
    min-width: 1000px;
    height: 700px;
    overflow: hidden;
    position: relative;
    line-height: 80%;;
    z-index: 1;
  }
  ul.slider_pc {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;  
    width: 100%;
    min-width: 1000px;
    max-width: 2000px;
    margin: 0 auto;
  }
  .mainImg_Cover_msg{
    position: absolute;
    overflow: hidden;
    width: 950px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    text-align: left;
    z-index: 5;
  }
  .mainImg_Cover_msg img{
    display: block;
    margin: 0;
    max-width: 100%;
    height: auto;
  }
  .mainImg_sp { 
   display: none;
  }
  .mainImg .slider_pc,
  .mainImg .slider_pc .slick-list,
  .mainImg .slider_pc .slick-track,
  .mainImg .slider_pc .slick-slide {
    height: 700px;
  }
  .mainImg .slider_pc .slick-slide {
    position: relative;
  }
  .mainImg .slider_pc .slick-slide img{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2000px;
    height: 700px;
    max-width: none;
    display: block;
  }
}

/* Smart Phone View */
@media only screen and (max-width: 649px) {
  .mainImg {
    display: none;
  }
  .mainImg_sp {
    width: 100vw;
    height: 93.33vw;
    margin-bottom: 0;
    overflow: hidden;
    position: relative;
    top: 0;
  }
  .mainImg_Cover_msg{
    width: 86vw;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    bottom: 0;
    border: 0;
    left: 5vw;
    z-index: 5;
  }
  .mainImg_Cover_msg .title img{
    max-width: 100%;
    height: auto;
  }

}

/* ----------------------------------------- */
/* メイン */
/* ----------------------------------------- */

/* PC View */
@media print, screen and (min-width:650px) {
  /* ----------------------------------------- */
  /* メイン-PC
  /* ----------------------------------------- */

  .main_wrapper{
    min-width: 1000px;
    background-color: #FFF;
    padding-bottom: 50px;
  }
  #main {
    width: 950px;
    margin: 0 auto;
  }
  .mainImg {
    overflow: hidden;
  }
  #main-content {
    width: 690px;
    float: left;
    overflow: hidden;
  }
  #main-column1w {
    /*
    width: 950px;
    margin-left: auto;
    margin-right: auto;
    */
    float: none;
    overflow: hidden;
  }
  #main-column1s {
    /*
    width: 820px;
    margin-left: auto;
    margin-right: auto;
    */
    float: none;
    overflow: hidden;
  }
}
@media print, screen and (min-width:650px) {
  body.gnavi00 .main_wrapper{
    padding-top: 0;
  }
}

/* Smart Phone View */
@media only screen and (max-width: 649px) {
  .main_wrapper{
    width: 100%;
    background-color: #FFF;
  }
  #main {
    width: 100%;
  }

  /* ----------------------------------------- */
  /* コンテンツ-SP
    /* ----------------------------------------- */
  #main-content,
  #main-column1w,
  #main-column1s{
    width: 100%;
    margin: 0 auto;
    float: none;
  }
  .mainImg {
    margin-bottom: 0px;
    overflow: hidden;
  }
}
/* ----------------------------------------- */
/* link_banner */
/* ----------------------------------------- */

/* PC View */
@media print, screen and (min-width:650px) {

  #clinging_insect .banner00{
    width: 147px;
    border: none;
    overflow: hidden;
    position: -webkit-sticky;
    position: fixed;
    bottom: 320px;
    right: 0px;
    z-index: 100;
  }
  #clinging_insect .banner01{
    width: 147px;
    border: none;
    overflow: hidden;
    position: -webkit-sticky;
    position: fixed;
    bottom: 260px;
    right: 0px;
    z-index: 100;
  }
  #clinging_insect .banner01{
    transition: transform 0.5s ease;
  }

  #clinging_insect .banner02{
    width: 147px;
    border: none;
    overflow: hidden;
    position: -webkit-sticky;
    position: fixed;
    bottom: 200px;
    right: 0px;
    z-index: 100;
  }
  #clinging_insect .banner02{
    transition: transform 0.5s ease;
  }

  #clinging_insect .banner03{
    width: 145px;
    border: none;
    overflow: hidden;
    position: -webkit-sticky;
    position: fixed;
    bottom: -14px;
    right: 0px;
    z-index: 100;
    transition: bottom 0.2s ease;
  }
  #clinging_insect .banner03:hover{
    transition: bottom 0.5s ease;
    bottom: 0px;
  }  
}

/* Smart Phone View */
@media only screen and (max-width: 649px) {

  #clinging_insect {
    display:none;
  }
  
}

/* ----------------------------------------- */
/* フッタ */
/* ----------------------------------------- */
#footer {
  background-color: #FFF;
}
#footer a {
  color: #333;
}
#footer a:hover {
  color: #FB4A4C;
  }
.footer_copy{
  width: 100%;
  padding-top: 8px;
  padding-bottom: 8px;
  color: #333;
  font-size: 1.2rem;
  text-align: center;
}
.footer_copy a{
  text-decoration: none;
  color: #333;
}

/* Smart Phone View */
@media only screen and (max-width: 649px) {
  footer {
    width: 100%;
  }
}

/* PC View */
@media print, screen and (min-width:650px) {
  footer {
    width: 100%;
    min-width: 1000px;
  }

  .footer_copy{
    overflow: hidden;
    min-width: 1000px;
    padding-bottom: 30px;
    color: #333333;
  }
  .footer_copy a{
    color: #333333;
  }

}
/* ----------------------------------------- */
/* ページ上部へ移動 */
/* ----------------------------------------- */
/* PC View */
@media print, screen and (min-width:650px) {
  #page-top {
    position: fixed;
    bottom: 80px;
    right: 20px;
  }
  #page-top a {
    text-decoration: none;
    width: 64px;
    height: 65px;
    display: block;
  }
  #page-top a:hover {
    opacity: 0.5;
    transition: opacity 0.3s ease;
  }  
}
/* Smart Phone View */
@media only screen and (max-width: 649px) {
  #page-top{
    display: none;
    width: 0;
    height: 0;
  }
}
.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}