/* ----------------------------

  共通設定

  1. PCサイズ（769px以上）
    1.1 Base
    1.2 Header
    1.3 Pankuzu
    1.4 Page Top
    1.5 Footer
    1.6 tag
    1.7 Footer nav
  
  2. SPサイズ（768px以下）
    2.1 Base
    2.2 Header
    2.3 fv
    2.4 Page Top
    2.6 Footer

---------------------------- */

/* ---------------------------- */
/* 1. PCサイズ（769px以上）
/* ---------------------------- */

/* 1.1 Base */
html {
  font-size: 62.5%;
}

body {
  font-size: 1.8rem;
  letter-spacing: .06em;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: #000000;
}

img {
  vertical-align: bottom;
  width: 100%;
}

section {
  padding: 60px 0;
}

.wrapper, .footer-inner {
  max-width: 1200px;
  width: 100%;
  margin:0 auto;
}
.content,.inner-breadcrumb{
    max-width: 1020px;
    width: 100%;
    margin:0 auto;
}
.sp-br, .img-sp {
  display: none;
}
.subtitle {
  max-width: 1200px;
  color: #000000;
  font-size: 24px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  background: #F1F1F1;/*背景色*/
  border-left: solid 6px #6FBB18;/*左線（実線 太さ 色）*/
  margin-top: 60px;
  font-weight: 500;
  padding: 8px 26px;
}

/* 1.2 Header */
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  padding: 20px 0px;
  box-sizing: border-box;
  background-color: #fff;
  transition: .3s;
}

header a {
  display: block;
  color: #000000;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  transition: .3s;
  text-decoration: none;
}

header a:hover {
  opacity: .7;
  transition: .3s;
  color: #CF2620;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width:1200px;
  margin: 0 auto;
}

.site-logo {
  width: 170px;
}

.nav-list {
  display: flex;
}

.nav-list li {
  padding: 0 20px;
}

/* 1.3 Pankuzu */
.breadcrumb {
  color: #000000;
  margin-top: 100px;
  padding: 16px 0;
  background-color: #f1f1f1;
}
.home{
  width: 14px;
  height: 20px;
}

.inner-breadcrumb{
  text-align: left;
  font-size: 14px;
}
.breadcrumb a {
  text-decoration: none;
  color: #2020CF;
}
.breadcrumb li{
  display: inline-block;
  position: relative;
  padding-right: calc(16px + 8px);
  margin-right: 8px;
}
.breadcrumb li::before {
  content: '＞';
  width: 1em;
  height: 1em;
  line-height: 1;
  text-align: center;
  font-size: 1em;
  color: inherit;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.breadcrumb li:last-child {
  margin-right: 0;
  padding-right: 0;
  color: #000000;
}
.breadcrumb li:last-child::before {
content: normal;
}

/* 1.4 Page Top */
#page_top {
  position: fixed;
  right: 50px;
  bottom: 50px;
  width: 50px;
  height: 50px;
  background: #FFFFFF 0% 0% no-repeat padding-box;
  border: 3px solid #CF2620;
  opacity: 1;
  border-radius: 50px;
}

#page_top a {
  position: relative;
  width: 50px;
  height: 50px;
  display: block;
  text-decoration: none;
}

.fa-chevron-up::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 40%;
  height: 40%;
  margin: auto;
  color: #CF2620; /*アイコンの色*/
  font-size: 22px;
  text-align: center;
}

/* 1.5 Footer */
footer {
  transition: .8s ease-in-out;
  background-color: #fff;
}

.footer-inner {
  max-width: 1020px;
  width: 100%;
  padding-top: 20px;
  margin: 20px auto;
  display: flex;
  justify-content: space-between
}

.footer-logo {
  width: 180px;
}

.copy {
  margin-top: 20px;
  position: relative;
  font-size: 18px;
  color:#CF2620;
  letter-spacing: 1px;

}

/* 1.6 tag */
.tag-all{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  font-size: 16px;
}
.tag{
  padding: 4px 14px;
  margin-right: 20px;
  border-radius: 2em;
  opacity: 1;
}
.tag-intaview{
border: 2px solid #FF6D8F;
}
.tag-blog{
  border: 2px solid #6FBB18;
}
.tag-emigration{
  border: 2px solid #B77B03;
}
.tag-service{
  border: 2px solid #CF2620;
}
.tag-gourmand{
  border: 2px solid #EEDE00;
}
.tag-shop{
  border: 2px solid #8A47C4;
}
.tag-company{
  border: 2px solid #989898;
}
.tag-event{
  border: 2px solid #18AABB;
}
.tag-hotel{
  border: 2px solid #0068FF;
}
.tag-area{
  border: 2px solid #666666;
}
.tag-goods{
  border: 2px solid #FF9100;
}

/* 1.7 Footer-nav
/* ---------------------------- */
.footer-nav{
  background: #ECECEC;
}
.footer-nav-item a{
  text-decoration: none;
  color: #000;
}
.footer-nav-wrapper{
  display: flex;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 0;
}
.footer-nav-inner{
  max-width: 1020px;
  display: flex;
  margin: 0 auto;
}
.footer-nav-item{
  margin-right: 60px;
}
.footer-nav-item dt{
  font-weight: bold;
}
.footer-dd{
  padding: 0 0 0 10px;
  border-left: 1px solid #989898;
}
dd{
  margin-top: 12px;
}
dd:hover a{
  color: #CF2620;
}

/* ---------------------------- */
/* 2. SPサイズ（768px以下）
/* ---------------------------- */
@media screen and (max-width: 768px) {

  /* 2.1 Base */
  body {
    font-size: 1.6rem;
  }
  section{
    padding: 40px 0;
  }
  .wrapper {
    width: 100%;
    max-width: 355px;
  }
  .title{
    font-size:24px;
  }
  .subtitle {
    font-size: 16px;
    margin-top: 20px;
    line-height: 24px;
    padding: 8px 20px;
  }
  .copy{
    font-size: 12px;
    margin-top: 0;
  }
  /* 2.2 Header */
  header {
    padding:0px;
  }
  header a {
    font-size: 18px;
  }
  .header-inner{
    height: 48px;
  }
  .site-logo {
    width: 80px;
    margin-left: 20px;
  }
  .nav-list {
    flex-direction: column;
  }
  .nav-list li + li {
    border-left:none;
  }
  .nav-item::after {
    border-bottom: none;
  }

  /* ハンバーガーボタン */
  .hamburger {
    display: flex;
    text-align: left;
    position: fixed;
    right : 20px;
    top   : 10px;
    width : 50px;
    height: 40px;
    z-index : 3;
    cursor: pointer;
    background: #CF2620;
    padding: 4px 4px;
    margin: -10px -20px -10px 0px;
    justify-content: center;
  }
  .nav-list li a {
    text-align-last: left;
  }
  .hamburger span {
    display : block;
    position: absolute;
    width   : 24px;
    height  : 2px ;
    left    : 18px;
    background : #fff;
    -webkit-transition: 0.5s all;
    -moz-transition   : 0.5s all;
    transition        : 0.5s all;
  }

  .hamburger span:nth-child(1) {
    top: 8px;
  }

  .hamburger span:nth-child(2) {
    top: 15px;
  }

  .hamburger span:nth-child(3) {
    top: 22px;
  }
  .hamburger-text{
    margin-top: 26px;
    font-size:4px;
    color: #fff;
  }
  .btn-line{
    color: #fff;
    margin-top: 24px;
    margin-left: 2px;
    font-size: 8px;
  }
  .btn-line::after {
    content: "メニュー";
  }
  /* ナビ開いてる時のボタン */
  .hamburger.active span:nth-child(1) {
    top : 16px;
    left: 17px;
    -webkit-transform: rotate(-45deg);
    -moz-transform   : rotate(-45deg);
    transform        : rotate(-45deg);
  }

  .hamburger.active span:nth-child(2) {
    left: 60%;
    opacity: 0;
    -webkit-animation: active-btn17-bar02 .8s forwards;
    animation: active-hamburger-bar02 .8s forwards;
  }

  .hamburger.active span:nth-child(3) {
    top: 16px;
    -webkit-transform: rotate(45deg);
    -moz-transform   : rotate(45deg);
    transform        : rotate(45deg);
  }
  .btn-line.open::after {
    content: "閉じる";
    margin-left: 3px;
  }

  @-webkit-keyframes active-hamburger-bar02 {
    100% {
      height: 0;
    }
  }

  @keyframes active-hamburger-bar02 {
    100% {
      height: 0;
    }
  }

  .hamburger::after {
    display: block;
    position: absolute;
    border-radius: 50%;
    transition: all .75s;
    content: '';
  }

  header nav {
    position: fixed;
    z-index : 2;
    top  : 0;
    left : 0;
    text-align: center;
    transform: translateX(100%);
    transition: all 0.6s;
    background: #fff;
    width: 100%;
    padding: 60px 0;
    height: 100vh;
  }

  .nav-list {
    background: #fff;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    opacity: .7;
  }

  .nav-list li {
    list-style-type: none;
    padding: 0;
    width: 100%;
  }

  .nav-list li:last-child {
    padding-bottom: 0;
  }

  .nav-list li a:hover{
    color:#fff;
  }
  
  .nav-list li a {
    display: block;
    color: #000;
    padding: 16px 0;
    text-decoration :none;
    text-align-last: left;
    margin-left: 10%;
    border-bottom: 1px solid #000;
    width: 80%;
  }
  .nav-list li a:hover{
    color:#CF2620;
  }

  /* このクラスを、jQueryで付与・削除する */
  header nav.active {
    transform: translateX(0%);
  }

  /* 2.4 Page Top */
  #page_top {
    width: 40px;
    height: 40px;
    right: 20px;
    bottom: 20px;
  } 

  .fa-chevron-up::before{
    position: absolute;
    top: -6px;
    right: 10px;
    bottom: 0;
    left: 0;
    margin: auto;
    font-size: 20px;
    text-align: center;
  }

  /* 2.5 breadcrumb */
  .breadcrumb{
      margin-top: 50px;
      padding: 4px 20px;
  }
  .inner-breadcrumb{
      padding-left: 0;
      font-size: 10px;
  }
  .home{
    width: 10px;
    height: 15px;
  }
  /* 2.6 Footer */
  .sp-none{
    display: none;
  }
  .footer-inner{
    justify-content: center;
  }

  .footer-inner {
    width: 335px;
    margin-top: -16px;
    margin-bottom: 8px;
  } 
  /* 2.7 tag */
  .tag{
    margin-right: 10px;
    padding: 6px 12px;
    font-size: 14px;
  }
  .tag-wrapper{
    font-size: 14px;
  }
  .tag .tag-interview{
    padding: 3px 8px;
  }
  /* 2.8 footer-nav */
  .footer-nav-wrapper{
    flex-direction: column;
    margin: -8px 10%;
  }
  .footer-nav-item{
    margin-bottom: 10px;
    padding-bottom: 10px;
    margin-right: 0px;
    border-bottom: 0.5px solid #989898;
  }
  dt{
    margin-bottom: 10px;
  }
  dd{
    margin-top: 6px;
  }

  .footer-dd{
    border-left: none;
    margin-left: -10px;
  }

  /* アコーディオン */
  .toggle_title {
    position: relative;
    cursor: pointer;
    line-height: 1.4;
  }
  .toggle_btn {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    display: block;
    width: 24px;
    height: 24px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    border-radius: 50%;
  }
  .toggle_btn:before, .toggle_btn:after {
    display: block;
    content: '';
    background-color: #000;
    position: absolute;
    width: 15px;
    height: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .toggle_btn:before {
    width: 2px;
    height: 15px;
  }
  .toggle_title.selected .toggle_btn:before {
    content: normal;
  }
  .toggle_contents .footer-dd {
    display: none;
  }
}