@charset "UTF-8";
#guide_con:after, .masonry .author_info:after, .masonry .title:after, #update_info ul li, #moon_con:after, footer ul:after, header:after {
  content: "";
  clear: both;
  display: block;
}

@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon/icomoon.a234de7ccc98.eot?srf3rx");
  src: url("../fonts/icomoon/icomoon.a234de7ccc98.eot?srf3rx#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.372e53aafdb8.ttf?srf3rx") format("truetype"), url("../fonts/icomoon/icomoon.375b780b2859.woff?srf3rx") format("woff"), url("../fonts/icomoon/icomoon.e84b7863e428.svg?srf3rx#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}

html {
  background: #FFFFFF;
}

body {
  font-family: "Montserrat", "Noto Sans", "Source Sans Pro", Arial, sans-serif !important;
  font-size: 14px;
  line-height: 1.5;
  color: #454545;
  background: #fff;
}

body.fh5co-overflow {
  overflow-x: auto;
}

::-webkit-selection {
  color: #F2F3F6;
  background: #337ab7;
}

::-moz-selection {
  color: #F2F3F6;
  background: #337ab7;
}

::selection {
  color: #fff;
  background: #33A8EB;
}

a {
  color: #33A8EB;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

a:hover, a:focus, a:active {
  color: #007cc3;
  outline: none;
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", "Noto Sans", "Source Sans Pro", Arial, sans-serif !important;
  position: relative;
  z-index: 10;
}

p {
  margin-bottom: 30px;
}

h2 {
  font-size: 22px;
}

h3 {
  font-size: 18px;
}

.pc_none {
  display: none !important;
}

@media screen and (max-width: 576px) {
  .sp_none {
    display: none !important;
  }

  .pc_none {
    display: block !important;
  }
}

.breadcrumb-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  list-style: none;
  padding-left: 1rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 0 2rem;
}

@media screen and (max-width: 576px) {
  .breadcrumb-list {
    margin-bottom: 1rem;
    padding: 0;
  }
}

.breadcrumb-list li {
  font-size: 0.85rem;
  letter-spacing: 0.125rem;
  text-transform: uppercase;
}

.breadcrumb-item.active {
  color: #454545;
}

.breadcrumb-item+.breadcrumb-item::before {
  content: '▸';
  display: inline-block;
  padding: 0 0.5rem;
  color: #8c8c8c;
}

.fh5co-nav-toggle {
  width: 25px;
  height: 25px;
  cursor: pointer;
  text-decoration: none;
}

.fh5co-nav-toggle.active i::before, .fh5co-nav-toggle.active i::after {
  background: #535659;
}

.fh5co-nav-toggle:hover, .fh5co-nav-toggle:focus, .fh5co-nav-toggle:active {
  outline: none;
  border-bottom: none !important;
}

.fh5co-nav-toggle i {
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  width: 25px;
  height: 3px;
  color: #535659;
  font: bold 14px/.4 Helvetica;
  text-transform: uppercase;
  text-indent: -55px;
  background: #535659;
  -webkit-transition: all .2s ease-out;
  -o-transition: all .2s ease-out;
  transition: all .2s ease-out;
}

.fh5co-nav-toggle i::before, .fh5co-nav-toggle i::after {
  content: '';
  width: 25px;
  height: 3px;
  background: #535659;
  position: absolute;
  left: 0;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.fh5co-nav-toggle i::before {
  top: -7px;
}

.fh5co-nav-toggle i::after {
  bottom: -7px;
}

.fh5co-nav-toggle:hover i::before {
  top: -10px;
}

.fh5co-nav-toggle:hover i::after {
  bottom: -10px;
}

.fh5co-nav-toggle.active i {
  background: transparent;
}

.fh5co-nav-toggle.active i::before {
  top: 0;
  -webkit-transform: rotateZ(45deg);
  -moz-transform: rotateZ(45deg);
  -ms-transform: rotateZ(45deg);
  -o-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}

.fh5co-nav-toggle.active i::after {
  bottom: 0;
  -webkit-transform: rotateZ(-45deg);
  -moz-transform: rotateZ(-45deg);
  -ms-transform: rotateZ(-45deg);
  -o-transform: rotateZ(-45deg);
  transform: rotateZ(-45deg);
}

.fh5co-nav-toggle {
  position: absolute;
  top: 3px;
  right: 9px;
  z-index: 21;
  padding: 6px 0 0 0;
  display: block;
  margin: 0 auto;
  display: none;
  height: 44px;
  width: 25px;
  border-bottom: none !important;
}

@media screen and (max-width: 992px) {
  .fh5co-nav-toggle {
    display: block;
  }

  .offcanvas-visible .fh5co-nav-toggle {
    z-index: 999999 !important;
  }
}

.fh5co-animated {
  -webkit-animation-duration: .3s;
  animation-duration: .3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@media screen and (max-width: 992px) {
  #fh5co-header {
    position: fixed;
    top: 14px;
    right: 17px;
    padding: 22px 0;
    width: 44px;
    -webkit-transition: top .4s ease-in-out;
    -o-transition: top .4s ease-in-out;
    transition: top .4s ease-in-out;
    z-index: 99999;
    background-color: #F2F2F2;
    border-radius: 50px;
  }
}

.hideUp #fh5co-header {
  top: -150px;
}

#fh5co-header #fh5co-main-nav {
  display: none;
}

#fh5co-header #fh5co-main-nav ul {
  padding: 0;
  margin: 4px 0 0 0;
}

#fh5co-header #fh5co-main-nav ul li {
  padding: 0;
  margin: 0;
  display: inline;
}

#fh5co-header #fh5co-main-nav ul li a {
  font-family: "Montserrat", "Noto Sans", "Source Sans Pro", Arial, sans-serif !important;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  margin-left: 15px;
  border-bottom: 2px solid transparent;
}

#fh5co-header #fh5co-main-nav ul li a:hover {
  text-decoration: none;
  color: #337ab7;
}

@media screen and (max-width: 992px) {
  #fh5co-header.navbar-fixed-top {
    display: block !important;
  }
}

#fh5co-header.navbar-fixed-top #fh5co-logo {
  float: left;
  line-height: 1.2;
}

#fh5co-header.navbar-fixed-top #fh5co-logo a {
  font-family: "Montserrat", "Noto Sans", "Source Sans Pro", Arial, sans-serif !important;
  font-size: 30px;
  color: #454545;
}

#fh5co-header.navbar-fixed-top #fh5co-main-nav ul li a {
  font-family: "Montserrat", "Noto Sans", "Source Sans Pro", Arial, sans-serif !important;
  color: rgba(0, 0, 0, 0.8);
  text-decoration: none;
  margin-left: 15px;
  border-bottom: 2px solid transparent;
}

#fh5co-header.navbar-fixed-top #fh5co-main-nav ul li a:hover {
  text-decoration: none;
  color: #337ab7;
}

#fh5co-header.navbar-fixed-top #fh5co-main-nav ul li.active a {
  color: #337ab7;
  border-bottom: 2px solid transparent;
}

.lang_change {
  position: absolute;
  bottom: 40px;
  width: calc(100% - 60px);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #949494;
}

#lang_change a {
  float: initial !important;
}

#fh5co-offcanvas {
  -moz-transition: all 0.8s ease;
  -o-transition: all 0.8s ease;
  -webkit-transition: all 0.8s ease;
  -ms-transition: all 0.8s ease;
  transition: all 0.8s ease;
}

#fh5co-offcanvas {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  width: 275px;
  background: #5f5f5f;
  overflow-y: auto;
  padding: 78px 30px 30px 30px;
  -moz-transform: translateX(275px);
  -webkit-transform: translateX(275px);
  -ms-transform: translateX(275px);
  -o-transform: translateX(275px);
  transform: translateX(275px);
}

#fh5co-offcanvas .fh5co-offcanvas-close {
  position: absolute;
  top: 20px;
  right: 30px;
}

#fh5co-offcanvas .fh5co-offcanvas-close:before {
  font-size: 30px;
  color: rgba(255, 255, 255, 0.5);
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

#fh5co-offcanvas .fh5co-offcanvas-close:hover:before {
  color: white;
}

#fh5co-offcanvas nav ul {
  padding: 0;
  margin: 0;
}

#fh5co-offcanvas nav ul li {
  padding: 0;
  margin: 0;
  list-style: none;
}

#fh5co-offcanvas nav ul li a {
  display: inline-block;
  color: #fff;
  padding: 7px 0;
  font-size: 16px;
}

.offcanvas-visible #fh5co-offcanvas {
  -moz-transform: translateX(0px);
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
  -o-transform: translateX(0px);
  transform: translateX(0px);
}

header {
  background-color: #fff;
  padding: 10px 0 0;
  width: 100%;
}

@media (max-width: 992px) {
  header {
    padding-bottom: 1rem;
    position: fixed;
    top: 0;
    z-index: 15;
    -webkit-transition: top 0.4s ease-in-out;
    -o-transition: top 0.4s ease-in-out;
    transition: top 0.4s ease-in-out;
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
  }

  .hideUp header {
    top: -150px;
  }
}

header img {
  height: 50px;
  float: left;
  display: inline-block;
  margin-right: 85px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 1rem;
}

@media screen and (max-width: 768px) {
  header img {
    margin-right: 0;
    padding-left: initial;
  }
}

header #header_btn {
  margin-left: 30px;
  padding-top: 18px;
}

header #header_btn a {
  float: left;
  display: inline-block;
  margin-right: 2rem;
}

header #header_btn .high_light {
  border-bottom: #FF1F55 2px solid;
  padding-bottom: 15px;
}

@media (max-width: 992px) {
  header #header_btn {
    display: none;
  }
}

header .about_kite {
  float: right;
  font-weight: bold;
  color: #454545;
}

@media (max-width: 992px) {
  header .about_kite {
    display: none;
  }
}

header form {
  position: relative;
  float: left;
  border-radius: 8px;
  background-color: #F2F2F2;
  padding: 8px 10px;
}

@media screen and (max-width: 575px) {
  header form {
    width: 100%;
    margin-top: 10px;
  }
}

@media screen and (min-width: 576px) {
  header form {
    margin-left: 1rem;
    margin-top: 8px;
    width: 45%;
  }
}

@media screen and (min-width: 768px) {
  header form {
    float: left;
    width: 50%;
  }
}

@media screen and (min-width: 992px) {
  header form {
    width: 250px;
    margin-top: -10px;
  }
}

header form input {
  background-color: #F2F2F2;
  border: none;
  width: 100%;
}

header form input:focus {
  outline: none;
}

header form button {
  position: absolute;
  right: 10px;
  bottom: 5px;
  border: none;
  border-left: #fff 1px solid;
  width: 35px;
  padding: 0 0px 2px 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

header form button img {
  width: 100%;
  height: auto;
}

footer {
  background: #454545;
  color: #F2F3F6;
  padding: 4rem 0 5rem;
  font-size: 14px;
  position: relative;
}

footer .ft_copy {
  width: 100%;
  text-align: center;
  bottom: 0;
  background-color: #222;
  padding: 1rem;
  color: #555;
  position: absolute;
  left: 0;
}

footer ul {
  padding: 0;
}

footer ul li {
  list-style: none;
}

footer ul li img {
  display: block;
  height: 31px;
}

footer ul li img:nth-of-type(2) {
  height: 20px;
}

footer ul a {
  display: block;
  margin-bottom: 5px;
}

@media screen and (max-width: 575px) {
  footer ul {
    margin-bottom: 2rem;
  }

  footer ul li {
    float: left;
    padding: 0 1rem 0 2rem;
    width: 100%;
  }

  footer ul li:nth-of-type(1) {
    width: 100%;
    margin-bottom: 10px;
    padding-left: 1rem;
  }
}

footer h3 {
  color: #F2F3F6;
  font-size: 16px;
  margin-bottom: 30px;
}

@media screen and (max-width: 575px) {
  footer h3 {
    margin-bottom: 0rem;
  }
}

footer a {
  color: #fff;
}

footer p {
  margin-bottom: 10px;
}

@media screen and (max-width: 576px) {
  footer p {
    text-align: center;
  }
}

footer .fh5co-footer-widget {
  margin-bottom: 30px;
  float: left;
  width: 100%;
}

#big_banner {
  background-color: #F5FBFF;
  padding: 3rem 0;
}

@media screen and (max-width: 992px) {
  #big_banner {
    padding: 20px 0 3rem !important;
  }
}

#big_banner h1 {
  font-size: 42px;
  font-style: italic;
  font-weight: bold;
  margin-bottom: 1rem;
}

@media screen and (max-width: 1200px) {
  #big_banner h1 {
    font-size: 35px;
  }
}

@media screen and (max-width: 992px) {
  #big_banner h1 {
    font-size: 42px;
  }
}

#big_banner p {
  margin-bottom: 3px;
}

#big_banner h2 {
  line-height: 2rem;
  margin-bottom: 1rem;
}

#big_banner h3 {
  font-size: 14px;
}

#big_banner_proflie {
  background-color: #F5FBFF;
  padding: 1rem 0;
}

@media screen and (max-width: 992px) {
  #big_banner_proflie {
    padding: 100px 0 2rem;
  }
}

#big_banner_proflie h1 {
  font-size: 18px;
  font-weight: bold;
  margin: 1rem 0rem 2rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 1rem;
}

@media screen and (max-width: 575px) {
  #big_banner_proflie h1 {
    margin: 1rem 0 10px;
    padding: 0;
  }
}

#big_banner_proflie h2 {
  font-size: 43px;
  font-weight: bold;
  margin-bottom: 1rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 1rem;
}

@media screen and (max-width: 992px) {
  #big_banner_proflie h2 {
    font-size: 2rem;
    margin-bottom: 10px;
    padding: 0 1.5rem 0 0;
  }
}

#big_banner_proflie h3 {
  font-size: 18px;
  font-weight: bold;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 1rem;
}

@media screen and (max-width: 575px) {
  #big_banner_proflie h3 {
    padding: 0;
  }
}

#big_banner_proflie #menber_con {
  margin-top: -115px;
  font-weight: normal;
}

#big_banner_proflie #menber_con p {
  margin-bottom: 3px;
}

#big_banner_proflie #menber_con p a {
  color: #33A8EB;
  /* CSS追加 今度反映させます
				margin-left: 2rem;*/
  font-weight: normal;
}

#big_banner_proflie #menber_con p a:hover {
  color: #007cc3;
}

@media screen and (max-width: 992px) {
  #big_banner_proflie #menber_con {
    margin-top: 2rem;
  }
}

@media screen and (max-width: 575px) {
  #big_banner_proflie #menber_con {
    margin-top: 1rem;
    padding: 1rem;
  }
}

#big_banner_proflie .company_name {
  padding-left: 1rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#big_banner_proflie .company_name span img {
  width: 12px;
  height: auto;
  margin: -3px 0 0 5px;
}

@media screen and (max-width: 575px) {
  #big_banner_proflie .company_name {
    padding: 0;
  }
}

.area_banner {
  padding: 1rem 0 2rem !important;
}

@media screen and (max-width: 768px) {
  .area_banner {
    padding: 100px 0 2rem !important;
  }
}

.area_banner .breadcrumb-list {
  margin-bottom: 0;
}

.area_banner h1 {
  font-style: initial !important;
  margin: 3rem 0 0 1rem;
}

@media screen and (max-width: 992px) {
  .area_banner h1 {
    margin: 1rem 0 0 0;
  }
}

.area_banner h2 {
  margin: 0 0 3rem 1rem;
}

@media screen and (max-width: 992px) {
  .area_banner h2 {
    margin: 0 0 1rem 0rem;
  }
}

.area_banner .overview {
  margin: 0 0 1rem 1rem;
}

@media screen and (max-width: 992px) {
  .area_banner .overview {
    margin: 0 0 1rem 0rem;
  }
}

.jp_area {
  background-color: #FEE9EE !important;
}

#search_con {
  background-color: #F5FBFF;
  padding: 3rem 0;
}

@media screen and (max-width: 992px) {
  #search_con {
    padding: 100px 0 2rem;
  }
}

#search_con h1 {
  font-style: initial;
  font-weight: bold;
  margin: 3rem 0 1rem 1rem;
}

@media screen and (max-width: 992px) {
  #search_con h1 {
    margin: 1rem 0;
    font-size: 2rem;
  }
}

#search_con h2 {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 3rem 1rem;
}

@media screen and (max-width: 992px) {
  #search_con h2 {
    margin: 0 0 1rem 0rem;
  }
}

#search_con h3 {
  font-size: 18px;
  float: left;
  font-weight: bold;
  margin: 0 1rem;
}

@media screen and (max-width: 992px) {
  #search_con h3 {
    margin: 0 1rem 1rem 0;
  }
}

@media screen and (max-width: 575px) {
  #search_con h3 {
    float: initial;
  }
}

#search_con #area_btn {
  margin: -15px 0 0 0;
  font-weight: bold;
}

@media screen and (max-width: 575px) {
  #search_con #area_btn {
    margin: 0;
  }
}

.search_textbg {
  background-color: #FFCFDB;
  font-weight: bold;
}

.colorier_author {
  position: relative;
}

.colorier_author:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 4px;
  right: -2rem;
  background-image: url("../img/author/colorier_author.1cb27983b66d.svg");
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (max-width: 576px) {
  .colorier_author:before {
    width: 15px;
    height: 15px;
  }
}

#con_404_500 {
  padding: 3rem 0 0;
  text-align: center;
  height: calc(100vh - 394px);
  min-height: 400px;
}

@media screen and (max-width: 992px) {
  #con_404_500 {
    padding: 130px 0 3rem;
    height: auto;
  }

  #con_404_500 img {
    max-width: 250px;
  }
}

@media screen and (max-width: 575px) {
  #con_404_500 img {
    width: 70%;
  }
}

#guide_img {
  float: right;
  min-height: 300px;
  width: 100%;
  background-image: url("../img/author/guide_img.f1d2dd0bb5d1.svg");
  background-size: auto calc(100% - 2rem);
  background-position: center;
  background-color: #fff;
  background-repeat: no-repeat;
  margin-top: 20px;
  text-align: right;
}

#guide_img img {
  max-width: 350px;
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
  object-fit: cover;
  overflow: hidden;
  border-radius: 8px;
}

@media screen and (max-width: 992px) {
  #guide_img {
    float: initial;
    text-align: center;
  }

  #guide_img img {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  #guide_img {
    min-height: 50vw;
    background-position: center;
  }
}

@media screen and (max-width: 575px) {
  #guide_img {
    max-width: initial;
  }

  #guide_img img {
    max-width: initial;
    height: calc(100vw - 2rem);
  }
}

#menber_con {
  background-color: #fff;
  border-radius: 8px;
  font-weight: bold;
  padding: 2rem 1rem;
}

#menber_con b {
  float: right;
  font-style: italic;
}

@media screen and (min-width: 992px) and (max-width: 1200px) {
  #menber_con b {
    float: initial;
  }
}

#map_con {
  background-color: #fff;
  border-radius: 8px;
  background-image: url("../img/map.706a949d94b2.png");
  background-size: calc(100% - 2rem) auto;
  background-position: center 70px;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  position: relative;
}

#map_con h3 {
  padding: 1.5rem 0rem 0 1rem;
}

@media screen and (max-width: 992px) {
  #map_con {
    margin-top: 1rem;
    padding-bottom: 55%;
  }
}

#map_con img {
  width: 25px;
  position: absolute;
}

#map_con .region_1 {
  top: 36%;
  left: 15%;
}

#map_con .region_2 {
  top: 55%;
  left: 5%;
}

#map_con .region_3 {
  top: 70%;
  left: 25%;
}

#map_con .region_4 {
  top: 40%;
  left: 45%;
}

#map_con .region_5 {
  top: 63%;
  left: 50%;
}

#map_con .region_6 {
  top: 48%;
  left: 71%;
}

#map_con .region_7 {
  top: 44%;
  left: 88%;
}

#map_con .region_8 {
  top: 78%;
  left: 80%;
}

#map_con .region_9 {
  top: 59%;
  left: 82%;
}

@media screen and (max-width: 1200px) {
  #map_con .region_1 {
    top: 35%;
    left: 15%;
  }

  #map_con .region_2 {
    top: 53%;
    left: 5%;
  }

  #map_con .region_3 {
    top: 63%;
    left: 25%;
  }

  #map_con .region_4 {
    top: 33%;
    left: 45%;
  }

  #map_con .region_5 {
    top: 55%;
    left: 50%;
  }

  #map_con .region_6 {
    top: 44%;
    left: 71%;
  }

  #map_con .region_7 {
    top: 38%;
    left: 88%;
  }

  #map_con .region_8 {
    top: 66%;
    left: 80%;
  }

  #map_con .region_9 {
    top: 50%;
    left: 82%;
  }
}

@media screen and (max-width: 992px) {
  #map_con .region_1 {
    top: 26%;
    left: 15%;
  }

  #map_con .region_2 {
    top: 50%;
    left: 5%;
  }

  #map_con .region_3 {
    top: 63%;
    left: 25%;
  }

  #map_con .region_4 {
    top: 33%;
    left: 45%;
  }

  #map_con .region_5 {
    top: 57%;
    left: 50%;
  }

  #map_con .region_6 {
    top: 45%;
    left: 71%;
  }

  #map_con .region_7 {
    top: 38%;
    left: 88%;
  }

  #map_con .region_8 {
    top: 73%;
    left: 80%;
  }

  #map_con .region_9 {
    top: 51%;
    left: 82%;
  }
}

@media screen and (max-width: 768px) {
  #map_con .region_1 {
    top: 36%;
    left: 15%;
  }

  #map_con .region_2 {
    top: 55%;
    left: 5%;
  }

  #map_con .region_3 {
    top: 70%;
    left: 25%;
  }

  #map_con .region_4 {
    top: 40%;
    left: 45%;
  }

  #map_con .region_5 {
    top: 63%;
    left: 50%;
  }

  #map_con .region_6 {
    top: 45%;
    left: 71%;
  }

  #map_con .region_7 {
    top: 44%;
    left: 88%;
  }

  #map_con .region_8 {
    top: 78%;
    left: 80%;
  }

  #map_con .region_9 {
    top: 59%;
    left: 82%;
  }
}

#map_jp_con {
  background-color: #fff;
  border-radius: 8px;
  background-image: url("../img/map_jp.5b281c278783.jpg");
  background-size: 420px auto;
  background-position: center 16px;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  position: relative;
}

#map_jp_con h3 {
  padding: 1.5rem 0rem 0 1rem;
}

@media screen and (max-width: 1200px) {
  #map_jp_con {
    background-size: 460px auto;
  }
}

@media screen and (max-width: 992px) {
  #map_jp_con {
    background-size: 650px auto;
    margin-top: 1rem;
    padding-bottom: 55%;
    background-position: center 40px;
  }
}

@media screen and (max-width: 768px) {
  #map_jp_con {
    background-size: 100% auto;
  }
}

@media screen and (max-width: 576px) {
  #map_jp_con {
    background-size: 110% auto;
    background-position: center 20px;
  }
}

#map_jp_con img {
  width: 20px;
  position: absolute;
}

#map_jp_con .region_1 {
  top: 15%;
  left: 59%;
}

#map_jp_con .region_2 {
  top: 33%;
  left: 59%;
}

#map_jp_con .region_3 {
  top: 50%;
  left: 56%;
}

#map_jp_con .region_4 {
  top: 40%;
  left: 52%;
}

#map_jp_con .region_5 {
  top: 53%;
  left: 48%;
}

#map_jp_con .region_6 {
  top: 51%;
  left: 41%;
}

#map_jp_con .region_7 {
  top: 60%;
  left: 43%;
}

#map_jp_con .region_8 {
  top: 63%;
  left: 36%;
}

#map_jp_con .region_9 {
  top: 80%;
  left: 31%;
}

@media screen and (max-width: 1200px) {
  #map_jp_con .region_1 {
    top: 18%;
    left: 62%;
  }

  #map_jp_con .region_2 {
    top: 35%;
    left: 61%;
  }

  #map_jp_con .region_3 {
    top: 51%;
    left: 58%;
  }

  #map_jp_con .region_4 {
    top: 42%;
    left: 51%;
  }

  #map_jp_con .region_5 {
    top: 55%;
    left: 46%;
  }

  #map_jp_con .region_6 {
    top: 52%;
    left: 39%;
  }

  #map_jp_con .region_7 {
    top: 62%;
    left: 41%;
  }

  #map_jp_con .region_8 {
    top: 66%;
    left: 30%;
  }

  #map_jp_con .region_9 {
    top: 83%;
    left: 26%;
  }
}

@media screen and (max-width: 992px) {
  #map_jp_con .region_1 {
    top: 18%;
    left: 62%;
  }

  #map_jp_con .region_2 {
    top: 35%;
    left: 61%;
  }

  #map_jp_con .region_3 {
    top: 51%;
    left: 58%;
  }

  #map_jp_con .region_4 {
    top: 44%;
    left: 53%;
  }

  #map_jp_con .region_5 {
    top: 54%;
    left: 48%;
  }

  #map_jp_con .region_6 {
    top: 51%;
    left: 41%;
  }

  #map_jp_con .region_7 {
    top: 62%;
    left: 43%;
  }

  #map_jp_con .region_8 {
    top: 64%;
    left: 32%;
  }

  #map_jp_con .region_9 {
    top: 80%;
    left: 28%;
  }

  #map_jp_con img {
    width: 25px;
  }
}

@media screen and (max-width: 768px) {
  #map_jp_con .region_1 {
    top: 18%;
    left: 62%;
  }

  #map_jp_con .region_2 {
    top: 35%;
    left: 61%;
  }

  #map_jp_con .region_3 {
    top: 51%;
    left: 58%;
  }

  #map_jp_con .region_4 {
    top: 46%;
    left: 51%;
  }

  #map_jp_con .region_5 {
    top: 57%;
    left: 47%;
  }

  #map_jp_con .region_6 {
    top: 51%;
    left: 39%;
  }

  #map_jp_con .region_7 {
    top: 62%;
    left: 40%;
  }

  #map_jp_con .region_8 {
    top: 64%;
    left: 32%;
  }

  #map_jp_con .region_9 {
    top: 81%;
    left: 26%;
  }
}

@media screen and (max-width: 576px) {
  #map_jp_con .region_1 {
    top: 16%;
    left: 64%;
  }

  #map_jp_con .region_2 {
    top: 35%;
    left: 61%;
  }

  #map_jp_con .region_3 {
    top: 51%;
    left: 58%;
  }

  #map_jp_con .region_4 {
    top: 44%;
    left: 51%;
  }

  #map_jp_con .region_5 {
    top: 54%;
    left: 47%;
  }

  #map_jp_con .region_6 {
    top: 51%;
    left: 39%;
  }

  #map_jp_con .region_7 {
    top: 62%;
    left: 40%;
  }

  #map_jp_con .region_8 {
    top: 64%;
    left: 29%;
  }

  #map_jp_con .region_9 {
    top: 81%;
    left: 24%;
  }

  #map_jp_con img {
    width: 15px;
  }
}

#moon_con {
  background-color: #fff;
  border-radius: 8px;
  width: 100%;
  /*height: 100%;*/
  position: relative;
  padding: 1.5rem 1.5rem 1rem;
}

#moon_con h3 {
  margin-bottom: 1.5rem;
  font-weight: bold;
}

#moon_con img {
  display: inline-block;
  width: 25px;
  margin-right: 10px;
}

#moon_con p {
  margin-bottom: 10px;
  width: 50%;
  float: left;
}

@media screen and (max-width: 576px) {
  #moon_con p {
    width: 100%;
  }
}

@media screen and (max-width: 992px) {
  #moon_con {
    margin-top: 2rem;
    height: initial;
  }
}

#update_info {
  background-color: #F2F2F2;
  padding: 3rem 0;
}

#update_info p {
  display: block;
  font-size: 12px;
  width: 80px;
  float: left;
  margin: 0;
}

#update_info ul {
  list-style: none;
  padding: 0;
}

#update_info ul li {
  margin-bottom: 5px;
}

#update_info ul span {
  color: #33A8EB;
}

#update_info h2 {
  font-style: italic;
  font-weight: bold;
}

@media screen and (max-width: 992px) {
  #update_info p {
    height: 2rem;
  }

  #update_info ul li {
    margin-bottom: 1rem;
  }
}

@media screen and (max-width: 768px) {
  #update_info p {
    height: 3rem;
  }
}

@media screen and (max-width: 576px) {
  #update_info p {
    height: 1rem;
  }
}

@media screen and (max-width: 575px) {
  #update_info p {
    height: 3rem;
  }
}

.pa_1 {
  padding: 0 1rem;
}

#content_con {
  padding: 3rem 0;
}

@media screen and (max-width: 992px) {
  #content_con {
    padding: 2rem 0;
  }
}

#content_con h2 {
  float: left;
  margin-right: 2rem;
  margin-bottom: 1rem;
  width: 100%;
}

#area_btn {
  padding: 0;
  margin-top: -8px;
  margin-bottom: 1rem;
}

#area_btn li {
  display: inline-block;
  border: #33A8EB 1px solid;
  background-color: #fff;
  padding: 10px 15px;
  border-radius: 50px;
  margin-right: 5px;
  margin-bottom: 1rem;
  cursor: pointer;
}

@media screen and (max-width: 575px) {
  #area_btn li {
    padding: 5px 8px;
    margin-bottom: 10px;
    font-size: 12px;
  }
}

#area_btn li:hover {
  background-color: #33A8EB;
  color: #F2F3F6;
}

#area_btn li:hover a {
  color: #F2F3F6;
}

.masonry .item {
  position: relative;
  margin-bottom: 2rem;
  padding: 0rem 1rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.masonry .item h4 {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 8px;
}

.masonry .item p {
  margin-bottom: 1rem;
}

.masonry .item img {
  width: 100%;
  height: 240px;
  -o-object-fit: contain;
  object-fit: contain;
}

@media screen and (max-width: 992px) {
  .masonry .item img {
    height: 310px;
  }
}

@media screen and (max-width: 768px) {
  .masonry .item img {
    height: 410px;
  }
}

@media screen and (max-width: 575px) {
  .masonry .item img {
    height: calc(100vw - 5rem);
  }
}

.masonry .item .con {
  border: #E0E0E0 1px solid;
  border-radius: 8px;
  padding: 1rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.masonry .title h3 {
  float: left;
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 1rem;
}

.masonry .title .date {
  position: absolute;
  top: 14px;
  right: 2rem;
  font-size: 16px;
  font-weight: bold;
}

.masonry .author_info {
  background-color: #F5FBFF;
  border-radius: 8px;
  padding: 1rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #33A8EB;
  font-size: 12px;
  margin-bottom: 1rem;
}

.masonry .author_info h3 {
  color: #33A8EB;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 0px;
}

.masonry .author_info span {
  margin-top: 10px;
  display: block;
}

.masonry .author_info span img {
  width: 12px;
  height: auto;
  margin: -3px 0 0 5px;
}

.masonry .author_info p {
  margin-bottom: 0px;
  color: #454545;
  font-size: 14px;
}

.masonry .author_info .author_img {
  width: 80px;
  height: 80px;
  border-radius: 50px;
  float: right;
  position: relative;
}

.masonry .author_info .author_img img {
  display: block;
  overflow: hidden;
  border-radius: 40px;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.masonry .author_info .author_img:before {
  display: block;
  content: "";
  width: 23px;
  height: 23px;
  border-radius: 30px;
  position: absolute;
  top: 1px;
  left: -5px;
}

.author_status_1:before {
  background-image: url("../img/status1.8cdff6ea0018.png");
  background-size: cover;
}

.author_status_2:before {
  background-image: url("../img/status2.27f74b6dd8d6.png");
  background-size: cover;
}

.author_status_3:before {
  background-image: url("../img/status3.47fe02ec78f8.png");
  background-size: cover;
}

.author_status_4:before {
  background-image: url("../img/status4.4f1a179fdc9e.png");
  background-size: cover;
}

.author_status_5:before {
  background-image: url("../img/status5.06dba46c7d4c.png");
  background-size: cover;
}

.author_status_6:before {
  background-image: url("../img/status6.3193f5497873.png");
  background-size: cover;
}

.author_status_7:before {
  background-image: url("../img/status7.a0777dfad9d2.png");
  background-size: cover;
}

#about_con {
  background-image: url("../img/about_map.2bad7ec6ef81.jpg");
  background-size: cover;
  margin: 80px 0 0px;
  padding-bottom: 100px;
}

#about_con h1 {
  font-style: italic;
  font-weight: bold;
  font-size: 43px;
}

#about_con h2 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 2rem;
}

#about_con span {
  display: block;
  margin-top: 2rem;
  margin-bottom: 5px;
}

#about_con #remarks {
  background: #F2F2F2;
  padding: 2rem;
  margin-top: 2rem;
}

#about_con #remarks p {
  margin-bottom: 0;
}

@media screen and (max-width: 992px) {
  #about_con {
    margin: 140px 0 0px;
  }
}

@media screen and (max-width: 575px) {
  #about_con {
    margin: 140px 0 2rem;
  }

  #about_con h1 {
    font-size: 2rem;
  }
}

#agreement_con {
  margin: 100px 0 100px;
}

#agreement_con h1 {
  font-weight: bold;
  font-size: 43px;
}

#agreement_con h2 {
  font-size: 16px;
  font-weight: bold;
}

#agreement_con span {
  display: block;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

@media screen and (max-width: 992px) {
  #agreement_con {
    margin: 160px 0 100px;
  }
}

@media screen and (max-width: 575px) {
  #agreement_con {
    margin: 100px 0 2rem;
  }

  #agreement_con h1 {
    font-size: 2rem;
  }
}

#big_banner_detail {
  padding: 1rem 0;
}

@media screen and (max-width: 992px) {
  #big_banner_detail {
    padding: 100px 0 2rem;
  }
}

@media screen and (max-width: 767px) {
  #big_banner_detail {
    padding: 100px 0 0rem;
  }
}

#big_banner_detail .breadcrumb-list img {
  border: 1px solid #d6d6d6;
  border-radius: 40px;
  margin-top: -2px;
}

#big_banner_detail h1 {
  font-size: 42px;
  font-weight: bold;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 1rem;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
}

@media screen and (max-width: 992px) {
  #big_banner_detail h1 {
    font-size: 2rem;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 576px) {
  #big_banner_detail h1 {
    padding: 0;
  }
}

#big_banner_detail h2 {
  font-size: 18px;
  font-weight: bold;
  margin: 1.5rem 0rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 1rem;
  line-height: 1.6rem;
}

#big_banner_detail h2 span img {
  width: 20px;
  height: auto;
  display: inline-block;
  margin: -4px 0 0 10px;
}

@media screen and (max-width: 576px) {
  #big_banner_detail h2 {
    padding: 0;
    margin: 1rem 0 10px;
  }
}

#big_banner_detail .detail_text {
  padding-left: 1rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.6rem;
}

@media screen and (max-width: 576px) {
  #big_banner_detail .detail_text {
    padding: 0;
  }
}

#big_banner_detail .detail_text span {
  font-size: 18px;
  font-weight: bold;
}

#big_banner_detail .detail_text p {
  margin: 0;
}

#big_banner_detail .detail_text a {
  word-wrap: break-word;
}

.text_translate {
  margin: 1rem 0 0;
  padding: 0 0 0 1rem;
  border-left: #F5FBFF solid 5px;
  font-size: 12px;
  line-height: 1.4rem;
}

.masonry .text_translate {
  margin: 1rem 1rem 0 0;
}

.show_text {
  width: 190px;
  margin: 5px 0 2rem;
  cursor: pointer;
}

.show_text:hover {
  color: #33A8EB;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.show_text img {
  margin-right: 10px;
  width: 16px !important;
  height: auto !important;
}

.show_text:after {
  content: "Display original language";
  display: block;
  width: 160px;
  height: 20px;
  font-size: 12px;
  float: right;
  line-height: 1.5rem;
}

.off_text:after {
  content: "Hide original language";
}

.con_line {
  margin-top: 2rem;
  border-top: 1px #F2F2F2 solid;
  border-bottom: 1px #F2F2F2 solid;
  padding-top: 3rem;
  padding-bottom: 1rem;
}

@media screen and (max-width: 576px) {
  .con_line {
    padding-top: 2rem;
    padding-bottom: 0rem;
  }
}

#guide_con {
  background-color: #F5FBFF;
  overflow: hidden;
  border-radius: 8px;
  max-height: 200px;
}

@media screen and (max-width: 575px) {
  #guide_con {
    max-height: 50vw;
  }
}

#guide_con .guide_con_img {
  max-width: 50%;
}

#guide_con .guide_con_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#guide_con .guide_con_img img:hover {
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  opacity: 0.7;
}

#guide_con .guide_con_name {
  padding: 1.5rem 1rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 50%;
}

#guide_con .guide_con_name img {
  width: 12px;
  height: auto;
  margin: -3px 0 0 5px;
}

@media screen and (max-width: 1199px) {
  #guide_con .guide_con_name {
    padding: 1rem;
  }
}

#guide_con .guide_con_name .title {
  font-size: 24px;
  font-weight: bold;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-right: 1rem;
}

@media screen and (max-width: 575px) {
  #guide_con .guide_con_name .title {
    font-size: 16px;
  }
}

#guide_con .guide_con_name .colorier_author {
  padding: 0;
  width: 100%;
  display: initial;
}

#guide_con .guide_con_name .colorier_author:before {
  top: -4px;
}

@media screen and (max-width: 575px) {
  #guide_con .guide_con_name .colorier_author:before {
    top: 0px;
  }
}

#guide_con .guide_con_name span {
  display: block;
  font-weight: normal;
  font-size: 14px;
  margin-bottom: 1.5rem;
}

@media screen and (max-width: 575px) {
  #guide_con .guide_con_name span {
    margin-bottom: 1rem;
  }
}

#guide_con .guide_con_name p {
  font-size: 12px;
  font-weight: normal;
  margin-bottom: 0;
}

#guide_con .guide_con_name a {
  color: #454545;
}

#guide_con .guide_con_name a:hover {
  color: #33A8EB;
}

.guide_con_linkcard {
  margin-top: 2rem;
}

.guide_con_linkcard:hover {
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  opacity: 0.7;
}

.guide_con_linkcard dl {
  border: 1px #E0E0E0 solid;
  overflow: hidden;
  border-radius: 8px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .guide_con_linkcard dl {
    margin-bottom: 0;
  }
}

.guide_con_linkcard dd {
  padding: 1rem;
}

.guide_con_linkcard dd span {
  color: #454545;
}

.guide_con_linkcard img {
  height: 130px;
  -o-object-fit: cover;
  object-fit: cover;
  margin-left: -1rem;
  width: calc(100% + 2rem);
}

@media screen and (max-width: 767px) {
  .guide_con_linkcard img {
    height: 60vw;
  }
}

.guide_con_linkcard a {
  overflow: hidden;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  display: block;
}

.video_con {
  margin-bottom: 2rem;
}

.photo-swiper-container {
  width: 100%;
  overflow: hidden;
  padding-bottom: 2rem;
}

.photo-swiper-container img {
  width: 340px;
  height: 200px;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: top;
  object-position: top;
}

@media screen and (max-width: 1200px) {
  .photo-swiper-container img {
    width: 300px;
    height: 200px;
  }
}

@media screen and (max-width: 992px) {
  .photo-swiper-container img {
    width: 210px;
    height: 140px;
  }
}

@media screen and (max-width: 767px) {
  .photo-swiper-container img {
    width: 100%;
    height: 40vw;
  }
}

@media screen and (max-width: 576px) {
  .photo-swiper-container img {
    height: 60vw;
  }
}

.photo-swiper-container .swiper-pagination-bullets {
  width: 60px !important;
  left: 50% !important;
  bottom: -10px !important;
  position: relative;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (min-width: 768px) {

  .photo-swiper-container .swiper-pagination-bullets,
  .photo-swiper-container .swiper-button-next,
  .photo-swiper-container .swiper-button-prev {
    display: none;
  }
}

.bg__blue {
  background-color: #F5FBFF;
}

.bg__blue .con {
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .bg__blue {
    margin-top: 3rem;
  }
}

.sns_con {
  background-color: #F5FBFF;
  border-radius: 8px;
  margin: 2rem 0 1rem;
  padding: 10px 0 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .sns_con {
    margin: 2rem 0 2rem;
  }
}

.sns_con ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  margin: 0;
}

.sns_con ul li {
  float: left;
}

.sns_con ul a {
  width: 75px;
  height: 20px;
  display: inline-block;
  padding-left: 25px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 12px;
  font-weight: bold;
  color: #33A8EB;
  -o-object-fit: cover;
  object-fit: cover;
  background-image: url("../img/sns_icon.8cf957f7c8f3.svg");
  background-repeat: no-repeat;
  background-size: 20px auto;
  cursor: pointer;
}

.sns_con ul a span {
  display: inline-block;
  color: #33A8EB;
  line-height: 1.4rem;
}

.sns_con ul a:hover {
  opacity: 0.6;
}

.sns_con ul .sns_icon_h {
  background-position: left 2px;
}

.sns_con ul .sns_icon_h_click {
  background-image: url("../img/sns_icon_click.2a7800508c89.svg");
}

.sns_con ul .sns_icon_t {
  background-position: left center;
}

.sns_con ul .sns_icon_f {
  background-position: left bottom;
}

#sns_con_card {
  background-color: initial;
  margin: 1rem 0 0;
}

#sns_con_card ul {
  -ms-flex-pack: distribute;
  justify-content: space-around;
  background-color: #F5FBFF;
  padding-top: 6px;
  border-radius: 4px;
}

#sns_con_card span {
  color: #FF1F55;
  line-height: 25px;
}

#sns_con_card a {
  width: 30px;
  height: 18px;
  padding-left: 30px;
  background-size: 18px auto;
  padding-right: 30px;
}

#sns_con_card .sns_icon_g {
  background-image: url("../img/sns_icon2.e9ffd2cae53c.svg");
  background-position: center;
}

#sns_con_card .sns_icon_t {
  background-position: center center;
}

#sns_con_card .sns_icon_f {
  background-position: center bottom;
}

#lang_change {
  float: right;
}

#lang_change a {
  margin: 0 !important;
}

#level_con h3 {
  font-weight: bold;
  margin-bottom: 1rem;
}

#level_con h4 {
  font-size: 16px;
}

#level_con .level_num {
  font-size: 14px;
  margin-bottom: 2rem;
}

#level_con .level_num span {
  display: inline-block;
  font-style: italic;
  font-weight: bold;
  font-size: 32px;
  margin-right: 1rem;
  padding-left: 2rem;
  position: relative;
  line-height: 2.4rem;
}

#level_con .level_num span:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 30px 0 0;
}

#level_con .level_num p {
  font-weight: normal;
  display: inline-block;
}

#level_con .level_0 span:before {
  border-color: #454545 transparent transparent transparent;
}

#level_con .level_1 span:before {
  border-color: #34A02C transparent transparent transparent;
}

#level_con .level_2 span:before {
  border-color: #FFD15E transparent transparent transparent;
}

#level_con .level_3 span:before {
  border-color: #FA9600 transparent transparent transparent;
}

#level_con .level_4 span:before {
  border-color: #FF1F55 transparent transparent transparent;
}

#level_con p {
  font-weight: bold;
  margin-bottom: 0;
}
/*
#level_con ul {
  list-style: circle;
  margin-left: 1rem;
}

#level_con ul p {
  margin-bottom: 0px;
}

#level_con blockquote {
  position: relative;
  padding: 10px 15px 10px 50px;
  box-sizing: border-box;
  margin-top: 30px;
  font-style: italic;
  background: #efefef;
  color: #555;
}

#level_con blockquote:before {
  display: inline-block;
  position: absolute;
  top: 10px;
  left: -3px;
  content: "“";
  font-family: sans-serif;
  color: #cfcfcf;
  font-size: 90px;
  line-height: 1;
}

#level_con blockquote p {
  padding: 0;
  margin: 10px 0;
  line-height: 1.7;
}

#level_con blockquote cite {
  display: block;
  text-align: right;
  color: #888888;
  font-size: 0.9em;
}
*/
.condition_con {
  font-size: 12px;
}

.condition_con h3 {
  font-weight: bold;
  margin-bottom: 1rem;
}

.condition_con .text_align_r {
  text-align: right;
  margin-bottom: 1rem;
}

.condition_con .text_b {
  font-weight: bold;
  display: inline-block;
  margin-right: 10px;
}

.cc-message {
  text-align: center;
}

@media screen and (max-width: 576px) {
  .cc-message {
    text-align: initial;
    width: 88%;
    margin-bottom: 0rem !important;
    margin-right: 0;
  }
}

@media screen and (max-width: 576px) {
  .cc-compliance {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background-color: initial;
  }
}

@media screen and (max-width: 576px) {
  .cc-floating.cc-theme-edgeless .cc-message {
    margin: initial !important;
  }
}

#googlemap_con iframe {
  width: 100%;
  height: 270px;
  border-radius: 8px;
}

@media screen and (max-width: 1200px) {
  #googlemap_con iframe {
    height: 282px;
  }
}

@media screen and (max-width: 992px) {
  #googlemap_con iframe {
    margin-top: 2rem;
    height: 40vw;
  }
}

@media screen and (max-width: 576px) {
  #googlemap_con iframe {
    margin-top: 2rem;
    height: 70vw;
  }
}

.auto_translate {
  font-size: 12px;
  color: #8c8c8c;
  margin-bottom: 1rem;
  margin-top: -6px;
}

.fs-12 {
  font-size: 12px;
}

.safety_info_box {
  background: white;
  padding: 1.5rem 1.25rem;
  border-radius: 8px;
}

.safety_info_box.compact_view {
  margin-top: 20px;
}

.safety_info_box.compact_view b {
  font-size: 18px;
  color: #33A8EB;
}

.safety_info_box.full_view {
  margin-top: 40px;
}

.safety_info_box.full_view .text-date {
  font-weight: 300;
  font-style: italic;
}

.safety_info_box.full_view .title {
  margin-top: 0;
}

.safety_info_box.full_view .label-1 {
  background: #F5FBFF;
  border: 2px solid #B3E0FA;
  border-radius: 4px;
  padding: 6px 14px;
  min-width: max-content;
}

.safety_info_box.full_view .label-2 {
  background: #F2F2F2;
  color: #BDBDBD;
  border: 2px solid #E0E0E0;
  border-radius: 4px;
  padding: 6px 14px;
  min-width: max-content;
}

@media screen and (max-width: 992px) and (-ms-high-contrast: none), screen and (max-width: 992px) and (-ms-high-contrast: active) {
  .safety_info_box.full_view .label-1, .safety_info_box.full_view .label-2 {
    min-width: 130px !important;
  }
}

.safety_info_box.full_view .safety_info_footer button:focus {
  outline: none;
}

.safety_info_box #level_con .level_num {
  margin-bottom: 1rem;
}

@media screen and (max-width: 576px) {
  .safety_info_box #level_con .level_num {
    width: 22%;
  }
}

.safety_info_box .info_box_footer {
  font-size: 12px;
  margin-top: 10px;
}

.safety_info_box .title {
  font-size: 14px;
  margin-top: 5px;
}

@media screen and (max-width: 576px) {
  .safety_info_box .title {
    width: 78%;
  }
}

@media screen and (min-width: 1200px) {
  .safety_info_box .title {
    width: 160px;
  }
}

@media screen and (max-width: 576px) {
  .safety_info_box .button_section {
    margin-top: 0.5rem;
  }
}

.safety_info_box .btn {
  border-radius: 4px;
  border: none;
  font-weight: bold;
  font-size: 14px;
  margin-top: 3px;
  color: white;
}

.safety_info_box .btn.btn-yellow {
  background: #F2C94C;
}

.safety_info_box .btn.btn-lightred {
  background: #EB5757;
}

.safety_info_box .btn.btn-lightgreen {
  background: #6FCF97;
}

.area_section {
  background: #F5F5F5;
  padding: 45px;
}

@media screen and (max-width: 576px) {
  .area_section {
    padding: 45px 0;
  }

  .area_section .container {
    padding-right: 0;
  }
}

.area_section .area_title {
  margin: 0 20px;
}

.area_section .area_title img {
  margin-top: -4px;
}

.area_section .area_slick_box .slick-list .slick-track {
  height: 150px;
  display: table;
}

.area_section .area_slick_box .slick-prev, .area_section .area_slick_box .slick-next {
  background-image: none !important;
}

.area_section .area_slick_box .slick-prev {
  left: -40px !important;
}

.area_section .area_slick_box .slick-next {
  right: -40px !important;
}

@media screen and (max-width: 576px) {
  .area_section .area_slick_box .slick-next {
    right: unset !important;
  }
}

.area_section .area_slick_box svg.slick-prev g, .area_section .area_slick_box svg.slick-next g {
  fill: #33A8EB;
}

@media screen and (max-width: 576px) {
  .area_section .area_slick_box svg.slick-prev g, .area_section .area_slick_box svg.slick-next g {
    display: none;
  }
}

.area_section .area_box {
  background: #ffffff;
  border-radius: 8px;
  padding: 15px 20px;
  margin: 0 15px;
  line-height: 25px;
  height: 100%;
  display: inherit !important;
}

@media screen and (max-width: 576px) {
  .area_section .area_box {
    width: 300px;
  }
}

@media (min-width: 576px) {
  .area_section .area_box {
    width: 350px;
  }
}

.area_section .area_box p {
  color: #33A8EB;
  margin-bottom: 0;
}

.area_section .area_box span {
  font-style: italic;
  font-weight: 300;
}

.area_section .area_box:focus {
  outline: none;
}

.travel_info_section {
  background: #ffffff;
  padding: 60px 0;
}

.travel_info_section b.text-title {
  font-size: 18px;
}

.travel_info_section .info_content {
  word-break: break-word;
}

.travel_info_section .info_content ol, .travel_info_section .info_content ul {
  line-height: 21px;
}

.travel_info_section .info_content ol.list-disc, .travel_info_section .info_content ul.list-disc {
  list-style: disc;
}

.travel_info_section .info_content .bullet-size {
  font-size: 20px;
}

.travel_info_section .info_content p {
  margin-bottom: 0;
}

.mb-6 {
  margin-bottom: 4rem !important;
}

.search_component_box {
  background: white;
  height: 50px;
  border-radius: 8px;
}

.search_component_box .search_component {
  height: 50px;
  border: none;
  padding: 0 20px;
  border-radius: 8px;
  width: 100%;
}

.search_component_box .search_icon_img {
  position: absolute;
  margin-left: -45px;
  margin-top: 13px;
}

.btn-more:hover {
  color: #FFF !important;
  background: #33A8EB;
  outline: none;
  text-decoration: none;
}

.btn-more {
  color: #33A8EB !important;
  transition: all 0.2s ease;
  border: #33A8EB 1px solid;
  background-color: transparent;
  padding: 10px 15px;
  border-radius: 50px;
  cursor: pointer;
  text-align: center;
  width: 60%;
  display: block;
  clear: both;
  margin: 0 auto;
}

.travel_info_list_tab_section {
  background: #ffffff;
  border-bottom: 1px solid #B3E0FA;
}

.travel_info_list_tab_section .nav.nav-tabs {
  border-bottom: none !important;
  overflow-y: hidden;
  overflow-x: auto;
}

.travel_info_list_tab_section .nav.nav-tabs .nav-item {
  padding: 0 30px 0 20px;
  min-width: max-content;
}

.travel_info_list_tab_section .nav.nav-tabs .nav-item .nav-link {
  padding: 0.5em 0;
  padding-top: 20px;
  padding-bottom: 20px;
}

@media screen and (max-width: 768px) and (-ms-high-contrast: none), screen and (max-width: 768px) and (-ms-high-contrast: active) {
  .travel_info_list_tab_section .nav.nav-tabs .nav-item {
    min-width: 130px !important;
  }
}

.travel_info_list_tab_section .nav.nav-tabs .nav-item.show .nav-link, .travel_info_list_tab_section .nav.nav-tabs .nav-link.active {
  border: none !important;
  border-bottom: 3px solid #76CEFF !important;
  color: #000000;
  font-weight: bold;
}

.travel_info_list_tab_section .nav.nav-tabs .nav-link:focus, .travel_info_list_tab_section .nav.nav-tabs .nav-link:hover {
  border-color: transparent transparent #76CEFF transparent !important;
}

.travel_info_list_table_section .tab-content {
  overflow-x: auto;
}

.travel_info_list_table_section table.travel_info_table {
  width: 100%;
}

.travel_info_list_table_section table.travel_info_table thead .sorting {
  background-image: url("../img/sort_down.f137e7ee6e5b.png");
}

.travel_info_list_table_section table.travel_info_table thead .sorting_asc {
  background-image: url("../img/sort_up.ffc5ba720918.png");
}

.travel_info_list_table_section table.travel_info_table thead .sorting_desc {
  background-image: url("../img/sort_down.f137e7ee6e5b.png");
}

.travel_info_list_table_section table.travel_info_table thead .sorting:before,
.travel_info_list_table_section table.travel_info_table thead .sorting_asc:before,
.travel_info_list_table_section table.travel_info_table thead .sorting_desc:before,
.travel_info_list_table_section table.travel_info_table thead .sorting_asc_disabled:before,
.travel_info_list_table_section table.travel_info_table thead .sorting_desc_disabled:before,
.travel_info_list_table_section table.travel_info_table thead .sorting:after,
.travel_info_list_table_section table.travel_info_table thead .sorting_asc:after,
.travel_info_list_table_section table.travel_info_table thead .sorting_desc:after,
.travel_info_list_table_section table.travel_info_table thead .sorting_asc_disabled:after,
.travel_info_list_table_section table.travel_info_table thead .sorting_desc_disabled:after {
  display: none;
}

.travel_info_list_table_section table.travel_info_table thead .sorting,
.travel_info_list_table_section table.travel_info_table thead .sorting_asc,
.travel_info_list_table_section table.travel_info_table thead .sorting_desc,
.travel_info_list_table_section table.travel_info_table thead .sorting_asc_disabled,
.travel_info_list_table_section table.travel_info_table thead .sorting_desc_disabled {
  cursor: pointer;
  background-repeat: no-repeat;
}

.travel_info_list_table_section table.travel_info_table thead tr th:nth-child(1).sorting,
.travel_info_list_table_section table.travel_info_table thead tr th:nth-child(1).sorting_asc,
.travel_info_list_table_section table.travel_info_table thead tr th:nth-child(1).sorting_desc,
.travel_info_list_table_section table.travel_info_table thead tr th:nth-child(1).sorting_asc_disabled,
.travel_info_list_table_section table.travel_info_table thead tr th:nth-child(1).sorting_desc_disabled {
  background-position: 53% 50%;
}

.travel_info_list_table_section table.travel_info_table thead tr th:nth-child(2).sorting,
.travel_info_list_table_section table.travel_info_table thead tr th:nth-child(2).sorting_asc,
.travel_info_list_table_section table.travel_info_table thead tr th:nth-child(2).sorting_desc,
.travel_info_list_table_section table.travel_info_table thead tr th:nth-child(2).sorting_asc_disabled,
.travel_info_list_table_section table.travel_info_table thead tr th:nth-child(2).sorting_desc_disabled {
  background-position: 70% 50%;
}

.travel_info_list_table_section table.travel_info_table thead tr th {
  min-width: 120px;
  font-weight: bold;
  border-top: none !important;
  border-bottom: none;
}

.travel_info_list_table_section table.travel_info_table tbody tr:first-child td {
  border-top: 1px solid #B3E0FA;
}

.travel_info_list_table_section table.travel_info_table tbody tr td:nth-child(2) {
  min-width: 160px;
}

.travel_info_list_table_section table.travel_info_table tbody tr td #level_con .level_num span:before {
  border-width: 15px 15px 0 0;
}

.travel_info_list_table_section table.travel_info_table tbody tr td #level_con .level_num span {
  line-height: 21px;
  font-size: 14px;
  padding-left: 1.5rem;
}

.travel_info_list_table_section table.travel_info_table tbody tr td.text-title {
  color: #33A8EB;
  font-weight: bold;
}

.travel_info_list_table_section table.travel_info_table tbody tr td.level_text_0 {
  color: #454545;
  text-align: center;
  font-weight: bold;
}

.travel_info_list_table_section table.travel_info_table tbody tr td.level_text_1 {
  color: #6FCF97;
  text-align: center;
  font-weight: bold;
}

.travel_info_list_table_section table.travel_info_table tbody tr td.level_text_2, .travel_info_list_table_section table.travel_info_table tbody tr td.level_text_3 {
  color: #F2C94C;
  text-align: center;
  font-weight: bold;
}

.travel_info_list_table_section table.travel_info_table tbody tr td.level_text_4 {
  color: #EB5757;
  text-align: center;
  font-weight: bold;
}

.travel_info_list_table_section table.travel_info_table tbody tr td.line_clamp {
  width: 100%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding: 12px 12px 0 12px;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .travel_info_list_table_section table.travel_info_table tbody tr td.line_clamp {
    white-space: nowrap;
  }

  .travel_info_list_table_section table.travel_info_table tbody tr td.line_clamp:before {
    content: "...";
    position: absolute;
    right: 0;
    z-index: 1;
  }

  .travel_info_list_table_section table.travel_info_table tbody tr td.line_clamp:after {
    content: "";
    position: absolute;
    right: 0;
    width: 1em;
    height: 1em;
    margin-top: 0.2em;
    background: #fff;
  }
}

.travel_info_list_table_section table.travel_info_table tbody tr td.line_clamp.clamp_1 {
  -webkit-line-clamp: 1;
}

.travel_info_list_table_section table.travel_info_table tbody tr td.line_clamp.clamp_2 {
  -webkit-line-clamp: 2;
}

.travel_info_list_table_section table.travel_info_table tbody tr td.line_clamp.clamp_3 {
  -webkit-line-clamp: 3;
}

.travel_info_list_table_section table.travel_info_table tbody tr td.line_clamp.clamp_4 {
  -webkit-line-clamp: 4;
}

.collapse_text a.collapsed::after {
  content: "続きを読む";
}

.collapse_text a:not(.collapsed)::after {
  content: "閉じる";
}

/* Notice Banner */
.notice-banner {
  background-color: #FEFCF3;
  padding: 20px 24px;
  text-align: center;
}

.notice-banner .notice-content {
  font-size: 14px;
  line-height: 1.6;
  color: #484848;
  max-width: 1200px;
  margin: 0 auto;
}

.notice-banner .notice-text {
  display: inline;
}

.notice-banner .notice-link {
  color: #00a0e9;
  text-decoration: none;
  white-space: nowrap;
}

.notice-banner .notice-link:hover {
  text-decoration: underline;
}

@media (max-width: 991px) {
  .notice-banner {
    top: 0;
    z-index: 100;
    transition: top 0.4s ease-in-out;
    padding-top: 100px;
  }

  .notice-banner .notice-text {
    display: block;
    margin-bottom: 4px;
  }

  .notice-banner--hidden {
    top: -150px;
  }
}

@media (min-width: 992px) {
  .notice-banner .notice-text {
    display: block;
  }
}
