@charset "UTF-8";

/* ------------------------------------------------------------------
intial set
------------------------------------------------------------------ */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, a,
blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
ul, ol {
  list-style: none;
}
h1, h2, h3, h4, h5, h6{
  font-weight: 700;
}
blockquote, q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}
input, select {
  vertical-align: middle;
}
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
 display: none;
}
input[type="submit"]::focus, input[type="button"]::focus {
 outline-offset: -2px;
}
/* img */
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
}
/* focus */
*:focus {
outline: none;
}

/* ------------------------------------------------------------------
body
------------------------------------------------------------------ */
html,body {
  -webkit-text-size-adjust: 100%;
}
body {
  line-height: 1;
  color: #222;
}

/* ------------------------------------------------------------------
fixed
------------------------------------------------------------------ */
html.is_fixed,
html.is_fixed body {
  height: 100%;
  overflow: hidden;
}
html.is_modal_fixed,
html.is_modal_fixed body {
  height: 100%;
  overflow: hidden;
}

/* ------------------------------------------------------------------
font
------------------------------------------------------------------ */
body{
  font-family: 'Noto Sans JP', "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0.03em;
}
.en{
  font-family: 'Lato', sans-serif;
  letter-spacing: 0.04em;
}

/* ------------------------------------------------------------------
font size
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  html {
    font-size: 62.5%;
  }
  body {
    font-size: 18px;
    font-size: 1.8rem;
  }
  p {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media print,screen and (max-width:1280px) {
  html {
    font-size: 62.5%;
  }
  body {
    font-size: 16px;
    font-size: 1.6rem;
  }
  p {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media only screen and (max-width:767.98px) {
  html {
    font-size: 62.5%;
  }
  body {
    font-size: 14px;
    font-size: 1.4rem;
  }
  p {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

/* ------------------------------------------------------------------
font awesome
------------------------------------------------------------------ */
.fas {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-style: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.fa-lg {
  font-size: 1.3333333333333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}

/* ------------------------------------------------------------------
color
------------------------------------------------------------------ */
.marker.red{
  background:linear-gradient(transparent 60%, #ff9999 60%);
}
.marker.blue{
  background:linear-gradient(transparent 60%, #9db6ff 60%);
}
.marker.yellow{
  background:linear-gradient(transparent 60%, #fff47c 60%);
}

/* ------------------------------------------------------------------
align
------------------------------------------------------------------ */
.tc{
  text-align: center;
}

/* ------------------------------------------------------------------
link
------------------------------------------------------------------ */
a {
  color: #222;
  text-decoration: none;
  transition: all 0.3s ease;
}

/* ------------------------------------------------------------------
display
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .sponly {
    display: none !important;
  }
  .pconly {
  }
}
@media only screen and (max-width:767.98px) {
  .sponly {
  }
  .pconly {
    display: none !important;
  }
}

/* ------------------------------------------------------------------
clearfix
------------------------------------------------------------------ */
.cf:before, .cf:after {
  content: " ";
  display: table;
}
.cf:after {
  clear: both;
}
.cf {
 *zoom: 1;
}

/* ------------------------------------------------------------------
header
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  header{
    position: relative;
    background: #fff;
    border-bottom: 1px solid #ddd;
    z-index: 9999;
  }
  .header_in{
    position: relative;
    width: 100%;
    max-width: 1240px;
    height: 130px;
    margin: auto;
  }
  .header_in .logo{
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    width: 195px;
    height: 70px;
  }
  .header_in .logo a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../images/common/logo_horizontal_black.png") 50% 50% no-repeat;
    background-size: 100% auto;
    text-indent: -10000em;
  }
  .header_in .logo a:hover{
    opacity: 0.5;
  }
  .header_in .search{
    position: absolute;
    top: 0;
    left: 0;
  }
  .header_in .search a{
    display: flex;
    width: 70px;
    height: 70px;
    justify-content: center;
    align-items: center;
    font-size: 3.0rem;
  }
  .header_in .search a:hover{
    opacity: 0.5;
  }
  .header_in .snsnav{
    position: absolute;
    top: 0;
    right: 0;
  }
  .header_in .snsnav ul{
    display: flex;
    align-items: center;
    height: 70px;
  }
  .header_in .trigger {
    display: none;
  }
  nav.nav .gnav{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }
  nav.nav .gnav>ul{
    width: 100%;
    max-width: 1240px;
    margin: auto;
    display: flex;
    justify-content: space-between;
  }
  nav.nav .gnav>ul>li>a{
    display: flex;
    align-items: center;
    height: 50px;
    padding: 0 16px;
    font-size: 1.6rem;
    font-weight: 700;
    border-bottom-style: solid;
    border-bottom-width: 2px;
    border-bottom-color: transparent;
    white-space: nowrap;
  }
  @media only screen and (max-width:1200px) {
    nav.nav .gnav>ul>li>a{
      font-size: 1.4rem;
      padding: 0 10px;
    }
  }
  nav.nav .gnav>ul>li>a:hover,
  nav.nav .gnav>ul>li.is_active>a,
  nav.nav .gnav>ul>li.is_hover>a{
    background: #f9f9f9;
  }
  nav.nav .hnav{
    display: none;
  }
  nav.nav .snsnav{
    display: none;
  }
}
@media only screen and (max-width:767.98px) {
  header{
    position: relative;
    height: 60px;
    background: #fff;
    border-bottom: 1px solid #ddd;
    z-index: 9999;
  }
  .header_in .logo{
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    width: 110px;
    height: 59px;
  }
  .header_in .logo a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../images/common/logo_horizontal_black.png") 50% 50% no-repeat;
    background-size: 100% auto;
    text-indent: -10000em;
  }
  .header_in .logo a:hover{
    opacity: 0.5;
  }
  .header_in .search{
    position: absolute;
    top: 0;
    left: 0;
    width: 59px;
    height: 59px;
  }
  .header_in .search a{
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    font-size: 1.8rem;
  }
  .header_in .search a:hover{
    opacity: 0.5;
  }
  .header_in .snsnav{
    display: none;
  }
  header .trigger {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 59px;
    height: 59px;
    cursor: pointer;
    transition: all 0.3s ease;
}
  header .trigger.is_active{
  }
  header .trigger .menu_btn {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 16px;
  }
  header .trigger .menu_btn span {
    position: absolute;
    right: 0;
    width: 20px;
    height: 2px;
    background-color: #222;
    transition: all 0.3s ease;
  }
  header .trigger .menu_btn span:nth-of-type(1) {
    top: 0;
  }
  header .trigger .menu_btn span:nth-of-type(2) {
    top: 7px;
  }
  header .trigger .menu_btn span:nth-of-type(3) {
    bottom: 0;
  }
  header .trigger .menu_btn.is_open span {
    background-color: #222;
  }
  header .trigger .menu_btn.is_open span:nth-of-type(1) {
    -webkit-transform: translateY(7px) rotate(-45deg);
    transform: translateY(7px) rotate(-45deg);
  }
  header .trigger .menu_btn.is_open span:nth-of-type(2) {
    opacity: 0;
  }
  header .trigger .menu_btn.is_open span:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(45deg);
    transform: translateY(-7px) rotate(45deg);
  }
  header nav.nav{
    display: none;
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    padding: 20px;
    height: calc(100vh - 60px);
    overflow: scroll;
    background: #f3f3f3;
  }
	nav.nav .gnav>ul{
	}
	nav.nav .gnav>ul>li{
    border-bottom: 1px solid #ddd;
	}
	nav.nav .gnav>ul>li>a{
		position: relative;
    display: block;
    padding: 15px 0;
    font-weight: 700;
	}
  nav.nav .gnav>ul>li>a:before{
    position: absolute;
    top: 50%;
    right: 13px;
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px #222;
    border-right: solid 2px #222;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
    margin: 0.1em 0 0 0.8em;
    transition: all 0.3s ease;
  }
  nav.nav .gnav>ul>li.in_lower>a:before,
  nav.nav .gnav>ul>li.in_lower>a:after{
    content: '';
    display: block;
    width: 12px;
    height: 2px;
    background: #222;
    position: absolute;
    right: 10px;
    top: 50%;
    border: none;
    transform-origin: 50% 50%;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    transition: all 0.3s ease;
  }
  nav.nav .gnav>ul>li.in_lower>.in_link:before{
    -webkit-transform: translate(0%, -100%) rotate(90deg);
    transform: translate(0%, -100%) rotate(90deg);
	}
  nav.nav .gnav>ul>li.in_lower>.in_link.is_active:before{
    transform: translate(0%, -100%) rotate(0);
	}
  nav.nav .snsnav{
    margin: 30px 0 0;
  }
  nav.nav .snsnav ul{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  nav.nav .hnav{
    margin: 30px 0 0;
  }
  nav.nav .hnav ul{
    border-top: 1px solid #ddd;
	}
  nav.nav .hnav ul li{
    border-bottom: 1px solid #ddd;
	}
  nav.nav .hnav ul li a{
		position: relative;
    display: block;
    font-size: 1.2rem;
    padding: 15px 0;
	}
  nav.nav .hnav ul li a:before{
    position: absolute;
    top: 50%;
    right: 13px;
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px #222;
    border-right: solid 2px #222;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
    margin: 0.1em 0 0 0.8em;
    transition: all 0.3s ease;
  }
  nav.nav .hnav ul li.external a:after{
	  font-family: "Font Awesome 5 Free";
    font-size: 1.0rem;
	  font-weight: 900;
	  content: "\f35d";
    vertical-align: super;
    margin: 0 0 0 0.5em;
  }
}

/* ------------------------------------------------------------------
gnav_lower
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .gnav_lower{
    display: none;
    position: absolute;
    top: 51px;
    left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.1);
  }
  .gnav_lower_in{
    display: flex;
    width: 100%;
    max-width: 1240px;
    margin: auto;
    padding: 40px 0;
  }
  .gnav_lower .image{
    order: 2;
    width: 25%;
    border-radius: 5px;
    overflow: hidden;
  }
  .gnav_lower .txt{
    order: 1;
    flex: 1;
    margin: 0 40px 0 0;
  }
  .gnav_lower .toplink{
    margin: 0 0 20px;
  }
  .gnav_lower .toplink a{
    display: flex;
    align-items: center;
    font-size: 2.0rem;
    font-weight: 700;
    padding: 0px 15px;
  }
  .gnav_lower .toplink a:after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border: 2px solid;
    border-color: #222 #222 transparent transparent;
    transform: rotate(45deg);
    margin: 0 0 0 0.5em;
  }
  .gnav_lower ul{
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -10px;
  }
  .gnav_lower li{
    width: 33.333%;
    white-space: nowrap;
  }
  .gnav_lower li a{
    position: relative;
		display: block;
    font-size: 1.4rem;
		line-height: 1.8;
		white-space: nowrap;
    padding: 8px 15px;
	}
  .gnav_lower ul li a:after{
    position: absolute;
    top: 50%;
    right: 13px;
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 1px #222;
    border-right: solid 1px #222;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
    margin: 0.1em 0 0 0.8em;
    transition: all 0.3s ease;
  }
  .gnav_lower li a:hover{
    background: #f3f3f3;
  }
}
@media only screen and (max-width:767.98px) {
  .gnav_lower{
    display: none;
    padding: 20px 0 20px 20px;
  }
  .gnav_lower .image{
    display: none;
  }
  .gnav_lower .toplink{
    margin: 0 0 20px;
  }
  .gnav_lower .toplink a{
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    font-weight: 700;
  }
  .gnav_lower .toplink a:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border: 2px solid;
    border-color: #222 #222 transparent transparent;
    transform: rotate(45deg);
    margin: 0.1em 0 0 0.5em;
  }
  .gnav_lower ul{
  }
  .gnav_lower ul li{
  }
  .gnav_lower ul li:first-of-type{
  }
  .gnav_lower ul li a{
    position: relative;
    display: block;
    padding: 10px 0;
  }
  .gnav_lower ul li a:after{
    position: absolute;
    top: 50%;
    right: 13px;
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 1px #222;
    border-right: solid 1px #222;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
    margin: 0.1em 0 0 0.8em;
    transition: all 0.3s ease;
  }
  .gnav_lower ul li .pic{
    display: none;
  }
  .gnav_lower a{
    font-size: 3.8vw;
  }
  .gnav_lower a.hover{
    opacity: 0.75;
  }
}

/* ------------------------------------------------------------------
carousel_nav
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  nav.carousel{
    display: none;
  }
}
@media only screen and (max-width:767.98px) {
  nav.carousel{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  nav.carousel::-webkit-scrollbar{
    display: none;
  }
  nav.carousel ul{
    display: flex;
  }
  nav.carousel ul li a{
    display: flex;
    align-items: center;
    height: 50px;
    padding: 0 10px;
    font-size: 1.2rem;
    font-weight: 700;
    border-bottom-style: solid;
    border-bottom-width: 2px;
    border-bottom-color: transparent;
    white-space: nowrap;
  }
  nav.carousel ul li a.hover,
  nav.carousel ul li.is_active a{
    background: #f9f9f9;
  }
}

/* ------------------------------------------------------------------
layer
------------------------------------------------------------------ */
.layer_black{
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99;
  width: 100%;
  height: 100vh;
  background: rgba(0,0,0,0.85);
}
.layer_white{
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99;
  width: 100%;
  height: 100vh;
	background: rgba(255,255,255,0.95);
}

/* ------------------------------------------------------------------
container
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .container{
    display: flex;
    width: 100%;
    max-width: 1240px;
    margin: auto;
    padding: 60px 0;
	}
  .container .primary{
    flex: 1;
		max-width: 940px;
  }
  .container .secondary{
    width: 300px;
    margin: 0 0 0 5%;
  }
}
@media only screen and (max-width:767.98px) {
  .container{
    width: 90%;
    margin: auto;
    padding: 40px 0;
	}
  .container .primary{
    margin: 0 0 60px;
  }
}

/* ------------------------------------------------------------------
pankuzu
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  div.pankuzu{
  }
  div.pankuzu ul{
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    height: 40px;
    margin: auto;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  div.pankuzu ul::-webkit-scrollbar{
    display: none;
  }
  div.pankuzu ul li{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
  }
  div.pankuzu ul li:after{
    display: inline-block;
    content: '';
    width: 4px;
    height: 4px;
    border: 0px;
    border-top: solid 1px #222;
    border-right: solid 1px #222;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin: 0 15px;
  }
  div.pankuzu ul li:last-of-type:after{
    display: none;
  }
  div.pankuzu ul li a{
		color: #222;
  }
  div.pankuzu ul li a:hover{
    opacity: 0.5;
  }
}
@media only screen and (max-width:767.98px) {
  div.pankuzu{
		border-top: 1px solid #ddd;
  }
  div.pankuzu ul{
    display: flex;
    align-items: center;
    padding: 10px;
    overflow-x: scroll;
    white-space: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  div.pankuzu ul::-webkit-scrollbar{
    display: none;
  }
  div.pankuzu ul li{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.0rem;
  }
  div.pankuzu ul li:after{
    display: inline-block;
    content: '';
    width: 4px;
    height: 4px;
    border: 0px;
    border-top: solid 1px #222;
    border-right: solid 1px #222;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin: 0 10px;
  }
  div.pankuzu ul li:last-of-type:after{
    display: none;
  }
  div.pankuzu ul li a{
		color: #222;
  }
  div.pankuzu ul li a.hover{
    opacity: 0.5;
  }
}

/* ------------------------------------------------------------------
ttl
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .ttl_en{
    margin: 0 0 60px;
  }
  .ttl_en .en{
    font-size: 4.0rem;
    letter-spacing: 0.1em;
    color: #777;
  }
  .ttl_en .ja{
    font-size: 2.0rem;
    letter-spacing: 0.1em;
    margin: 15px 0 0;
  }
  .ttl_center{
    text-align: center;
    margin: 0 0 50px;
  }
  .ttl_center .en{
    font-size: 3.0rem;
    letter-spacing: 0.1em;
    color: #777;
  }
  .ttl_center h2{
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    margin: 15px 0 0;
  }
  .ttl_large{
    font-size: 2.8rem;
    font-weight: 700;
		line-height: 1.4;
    margin: 0 0 30px;
	}
  .ttl_large.under_line{
    border-bottom: 2px solid #222;
    padding: 0 0 12px;
	}
  .ttl_large.left_line{
    border-left: 6px solid #222;
    padding: 0 0 0 20px;
	}
  .ttl_large.bgcolor{
		background: #f3f3f3;
    padding: 20px;
	}
  .ttl_medium{
    display: flex;
    font-size: 2.4rem;
    font-weight: 700;
		line-height: 1.4;
    margin: 0 0 30px;
	}
  .ttl_medium.under_line{
    border-bottom: 2px solid #222;
    padding: 0 0 12px;
	}
  .ttl_medium.left_line{
    border-left: 6px solid #222;
    padding: 0 0 0 20px;
	}
  .ttl_medium.bgcolor{
		background: #f3f3f3;
    padding: 20px;
	}
  .ttl_sub{
    display: flex;
    font-size: 2.0rem;
    font-weight: 700;
		line-height: 1.4;
    margin: 0 0 30px;
	}
  .ttl_sub.under_line{
    border-bottom: 2px solid #222;
    padding: 0 0 12px;
	}
  .ttl_sub.left_line{
    border-left: 6px solid #222;
    padding: 0 0 0 20px;
	}
  .ttl_sub.bgcolor{
		background: #f3f3f3;
    padding: 20px;
	}
  .ttl_fukidashi{
    margin: 0 0 80px;
    letter-spacing: -.4em;
    text-align: center;
  }
  .ttl_fukidashi_in{
    position: relative;
    display: inline-block;
    letter-spacing: normal;
  }
  .ttl_fukidashi_in:before{
    content: "";
    position: absolute;
    top: 50%;
    left: -40px;
    -webkit-transform: rotate(-30deg) translate(0, -50%);
    transform: rotate(-30deg) translate(0, -50%);
    width: 4px;
    height: 80px;
    background: #222;
  }
  .ttl_fukidashi_in:after{
    content: "";
    position: absolute;
    top: 50%;
    right: -40px;
    -webkit-transform: rotate(30deg) translate(0, -50%);
    transform: rotate(30deg) translate(0, -50%);
    width: 4px;
    height: 80px;
    background: #222;
  }
  .ttl_fukidashi .en{
    font-size: 5.2rem;
    font-weight: 900;
    letter-spacing: 0.08em !important;
  }
  .ttl_fukidashi h2{
    font-size: 2.0rem;
    font-weight: 700;
    margin: 15px 0 0;
  }
}
@media only screen and (max-width:767.98px) {
  .ttl_en{
    margin: 0 0 30px;
  }
  .ttl_en .en{
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    color: #777;
  }
  .ttl_en .ja{
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    margin: 10px 0 0;
  }
  .ttl_center{
    text-align: center;
    margin: 0 0 40px;
  }
  .ttl_center .en{
    font-size: 2.0rem;
    letter-spacing: 0.1em;
    color: #777;
  }
  .ttl_center h2{
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    margin: 10px 0 0;
  }
  .ttl_large{
    display: flex;
    font-size: 1.8rem;
    font-weight: 700;
		line-height: 1.4;
    margin: 0 0 20px;
	}
  .ttl_large.under_line{
    border-bottom: 2px solid #222;
    padding: 0 0 10px;
	}
  .ttl_large.left_line{
    border-left: 4px solid #222;
    padding: 0 0 0 12px;
	}
  .ttl_large.bgcolor{
		background: #f3f3f3;
    padding: 5%;
	}
  .ttl_medium{
    display: flex;
    font-size: 1.6rem;
    font-weight: 700;
		line-height: 1.4;
    margin: 0 0 20px;
	}
  .ttl_medium.under_line{
    border-bottom: 2px solid #222;
    padding: 0 0 10px;
	}
  .ttl_medium.left_line{
    border-left: 4px solid #222;
    padding: 0 0 0 12px;
	}
  .ttl_medium.bgcolor{
		background: #f3f3f3;
    padding: 5%;
	}
  .ttl_sub{
    display: flex;
    font-size: 1.4rem;
    font-weight: 700;
		line-height: 1.4;
    margin: 0 0 20px;
	}
  .ttl_sub.under_line{
    border-bottom: 2px solid #222;
    padding: 0 0 10px;
	}
  .ttl_sub.left_line{
    border-left: 4px solid #222;
    padding: 0 0 0 12px;
	}
  .ttl_sub.bgcolor{
		background: #f3f3f3;
    padding: 5%;
	}
  .ttl_fukidashi{
    margin: 0 0 40px;
    letter-spacing: -.4em;
    text-align: center;
  }
  .ttl_fukidashi_in{
    position: relative;
    display: inline-block;
    letter-spacing: normal;
  }
  .ttl_fukidashi_in:before{
    content: "";
    position: absolute;
    top: 50%;
    left: -20px;
    -webkit-transform: rotate(-30deg) translate(0, -50%);
    transform: rotate(-30deg) translate(0, -50%);
    width: 4px;
    height: 50px;
    background: #222;
  }
  .ttl_fukidashi_in:after{
    content: "";
    position: absolute;
    top: 50%;
    right: -20px;
    -webkit-transform: rotate(30deg) translate(0, -50%);
    transform: rotate(30deg) translate(0, -50%);
    width: 4px;
    height: 50px;
    background: #222;
  }
  .ttl_fukidashi .en{
    font-size: 3.0rem;
    font-weight: 900;
    letter-spacing: 0.06em !important;
  }
  .ttl_fukidashi h2{
    font-size: 1.4rem;
    font-weight: 700;
    margin: 10px 0 0;
  }
}

/* ------------------------------------------------------------------
more_btn
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .more_btn a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 500px;
    height: 70px;
    margin: auto;
    font-size: 2.0rem;
    font-weight: 700;
    background: #f3f3f3;
    border-radius: 5px;
  }
  .more_btn a:hover{
    opacity: 0.5;
  }
  .more_btn a:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border: 2px solid;
    border-color: #222 #222 transparent transparent;
    transform: rotate(45deg);
    margin: 0.1em 0 0 0.5em;
  }
}
@media only screen and (max-width:767.98px) {
  .more_btn a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    margin: auto;
    font-size: 1.4rem;
    font-weight: 700;
    background: #f3f3f3;
    border-radius: 5px;
  }
  .more_btn a.hover{
    opacity: 0.5;
  }
  .more_btn a:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border: 2px solid;
    border-color: #222 #222 transparent transparent;
    transform: rotate(45deg);
    margin: 0.2em 0 0 0.5em;
  }
}

/* ------------------------------------------------------------------
tbl_scroll
------------------------------------------------------------------ */
.js_scrollable{
  display: block;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
@media only screen and (max-width:767.98px) {
  .js_scrollable{
    width: 100%;
    overflow-x: scroll;
  }
}

/* ------------------------------------------------------------------
btm_about
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.btm_about{
    padding: 80px 0;
    border-top: 1px solid #ddd;
	}
	.btm_about_in{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1240px;
    margin: auto;
	}
  .btm_about .logo{
    display: flex;
    align-items: center;
  }
  .btm_about .logo .image{
    width: 180px;
  }
  .btm_about .logo p{
    margin: 0 0 0 40px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #777;
  }
  .btm_about .snsnav{
  }
  .btm_about .snsnav ul{
    display: flex;
  }
  .btm_about .snsnav li{
    margin: 0 20px 0 0;
  }
  .btm_about .snsnav li a{
    display: block;
    width: 50px;
    height: 50px;
  }
  .btm_about .about_sns li a:hover{
    opacity: 0.5;
  }
}
@media only screen and (max-width:767.98px) {
	.btm_about{
    padding: 40px 0;
    border-top: 1px solid #ddd;
	}
	.btm_about_in{
    width: 90%;
		margin: auto;
	}
  .btm_about .about_logo{
    margin: 0 0 30px;
  }
  .btm_about .logo{
    margin: 0 0 30px;
  }
  .btm_about .logo .image{
    width: 140px;
    margin: 0 auto 15px;
  }
  .btm_about .logo p{
    font-size: 1.2rem;
    font-weight: 700;
    color: #777;
    line-height: 1.6;
    text-align: center;
  }
  .btm_about .snsnav ul{
    display: flex;
    justify-content: center;
  }
  .btm_about .snsnav ul li{
    margin: 0 20px 0 0;
  }
  .btm_about .snsnav ul li a{
    display: block;
    width: 50px;
    height: 50px;
  }
}

/* ------------------------------------------------------------------
pagetop
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  div.pagetop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }
  div.pagetop.is_active{
    opacity: 1;
    visibility: visible;
  }
  div.pagetop a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 25px;
    background: rgba(0,0,0,0.8);
  }
  div.pagetop a:hover {
    opacity: 0.5;
  }
  div.pagetop img{
    vertical-align: middle;
  }
}
@media only screen and (max-width:767.98px) {
  div.pagetop {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }
  div.pagetop.is_active{
    opacity: 1;
    visibility: visible;
  }
  div.pagetop a {
    display: block;
    width: 32px;
    height: 32px;
    line-height: 28px;
    border-radius: 16px;
    text-align: center;
    background: rgba(0,0,0,0.8);
  }
  div.pagetop a.hover {
    opacity: 0.5;
  }
  div.pagetop img{
    width: 12px;
    height: auto;
    vertical-align: middle;
  }
}

/* ------------------------------------------------------------------
footer
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  footer{
    padding: 60px 0 40px;
    background: #f3f3f3;
  }
	footer .footer_in{
    width: 100%;
    max-width: 1240px;
    margin: auto;
	}
  footer .fnav_btn{
    display: none;
  }
	footer .fnav{
    line-height: 1.8;
    overflow: hidden;
	}
  footer .fnav .home{
    font-weight: 700;
    margin: 0 0 30px;
  }
  footer .fnav_in{
    display: flex;
    justify-content: space-between;
  }
  footer .subnav p{
    font-weight: 700;
    margin: 0 0 30px;
  }
  footer .subnav ul li{
    margin: 0 0 15px;
	}
  footer .subnav ul li a{
    position: relative;
    font-size: 1.6rem;
    padding: 0 0 0 1.2em;
  }
  footer .subnav ul li a:before{
    position: absolute;
    top: 0;
    left: 0;
    content: "-";
  }
  footer .subnav ul li.external a:after{
	  font-family: "Font Awesome 5 Free";
    font-size: 1.0rem;
	  font-weight: 900;
	  content: "\f35d";
    vertical-align: super;
    margin: 0 0 0 0.5em;
  }
  footer .catlist{
    width: 600px;
    margin: 0 80px 0 0;
  }
  footer .catlist ul{
    display: flex;
    flex-wrap: wrap;
  }
  footer .catlist ul li{
    width: 33.333333%;
  }
  footer .pagelist{
    flex: 1;
  }
  footer .pagelist ul{
    display: flex;
    flex-wrap: wrap;
  }
  footer .pagelist ul li{
    width: 50%;
  }
  footer a{
    display: block;
  }
  footer a:hover{
    opacity: 0.5;
  }
  footer address{
    font-size: 1.4rem;
    font-style: normal;
    text-align: right;
    padding: 10px 0 0;
  }
}
@media only screen and (max-width:767.98px) {
  footer{
    padding: 20px 0;
    background: #f3f3f3;
  }
	footer .footer_in{
		width: 90%;
		margin: auto;
	}
  footer .fnav_btn{
    border: 1px solid #ddd;
    background: #fff;
    padding: 15px 0;
    text-align: center;
    transition: all 0.3s ease;
  }
  footer .fnav_btn:after{
		display: inline-block;
    content: "\f0e8";
    font-family: "Font Awesome 5 Free";
		font-weight: 900;
		font-style: normal;
    margin: 0.3em 0 0 0.6em;
    transition: all 0.3s ease;
  }
  footer .fnav_btn.is_active{
    background: #222;
    color: #fff;
  }
	footer .fnav{
    display: none;
    margin: 20px 0 0;
    line-height: 1.6;
	}
  footer .fnav .home a{
    display: block;
    font-weight: 700;
  }
  footer .subnav{
    margin: 20px 0 0;
  }
  footer .subnav ul{
    margin: 0 0 0 20px;
  }
  footer .subnav p{
    font-weight: 700;
    margin: 0 0 10px;
  }
  footer .subnav a{
    display: block;
    position: relative;
    padding: 10px 0 10px 1.2em;
    border-bottom: 1px solid #ddd;
  }
  footer .subnav a:before{
    position: absolute;
    top: 0.65em;
    left: 0;
    content: "-";
  }
  footer .subnav ul li.external a:after{
	  font-family: "Font Awesome 5 Free";
    font-size: 1.0rem;
	  font-weight: 900;
	  content: "\f35d";
    vertical-align: super;
    margin: 0 0 0 0.5em;
  }
  footer address{
    padding: 20px 0 0;
    font-size: 1.0rem;
    font-style: normal;
    text-align: center;
  }
}

/* ------------------------------------------------------------------
404
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .image404{
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    max-width:100%;
    max-height:100%;
  }
}
@media only screen and (max-width:767.98px) {
  .image404{
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    max-width:100%;
    max-height:100%;
  }
}

/* ------------------------------------------------------------------
prev-next-page
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .prev-next-page {
    position: relative;
		letter-spacing: -.4em;
    text-align: center;
  }
  .prev-next-page a.back{
    display: inline-block;
    letter-spacing: normal;
    font-size: 1.8rem;
    padding: 20px 80px;
    background: #222;
    color: #fff;
  }
  .prev-next-page a.next{
    position: absolute;
    top: 0;
    right: 20px;
    display: inline-block;
    letter-spacing: normal;
    font-size: 1.8rem;
    color: #222;
    padding: 20px 80px;
  }
  .prev-next-page a.next:after{
    position: absolute;
    top: 50%;
    right: 0%;
    content: "";
    width: 36px;
    height: 36px;
    transition: all 0.3s ease;
    border-bottom: 6px solid #222;
    border-left: 6px solid #222;
    -webkit-transform: translate(0%, -50%) rotate(225deg);
    transform: translate(0%, -50%) rotate(225deg);
  }
  .prev-next-page a.prev{
    position: absolute;
    top: 0;
    left: 20px;
    display: inline-block;
    letter-spacing: normal;
    font-size: 1.8rem;
    color: #222;
    padding: 20px 80px;
  }
  .prev-next-page a.prev:after{
    position: absolute;
    top: 50%;
    left: 0%;
    content: "";
    width: 36px;
    height: 36px;
    transition: all 0.3s ease;
    border-bottom: 6px solid #222;
    border-left: 6px solid #222;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
  }
  .prev-next-page a.back:hover,
  .prev-next-page a.next:hover,
  .prev-next-page a.prev:hover{
    opacity: 0.75;
  }
}
@media only screen and (max-width:767.98px) {
  .prev-next-page {
    position: relative;
    text-align: center;
    letter-spacing: -.4em;
  }
  .prev-next-page a{
    display: inline-block;
    letter-spacing: normal;
    font-size: 1.4rem;
  }
  .prev-next-page a.back{
    width: 40%;
    display: inline-block;
    letter-spacing: normal;
    padding: 15px 0px;
    background: #222;
    color: #fff;
  }
  .prev-next-page a.next{
    position: relative;
    width: 30%;
    padding-right: 25px;
    font-size: 1.2rem;
    color: #222;
    text-align: right;
  }
  .prev-next-page a.next:after{
    position: absolute;
    top: 50%;
    right: 0%;
    content: "";
    width: 32px;
    height: 32px;
    transition: all 0.3s ease;
    border-bottom: 6px solid #222;
    border-left: 6px solid #222;
    -webkit-transform: translate(0%, -50%) rotate(225deg);
    transform: translate(0%, -50%) rotate(225deg);
  }
  .prev-next-page a.prev{
    position: relative;
    width: 30%;
    padding-left: 25px;
    font-size: 1.2rem;
    color: #222;
    text-align: left;
  }
  .prev-next-page a.prev:after{
    position: absolute;
    top: 50%;
    left: 0%;
    content: "";
    width: 32px;
    height: 32px;
    transition: all 0.3s ease;
    border-bottom: 6px solid #222;
    border-left: 6px solid #222;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
  }
  .prev-next-page a.back.hover,
  .prev-next-page a.next.hover,
  .prev-next-page a.prev.hover{
    opacity: 0.75;
  }
}

/* ------------------------------------------------------------------
pagenavi
------------------------------------------------------------------ */
@media only screen and (min-width:889px) {
  .wp-pagenavi {
    display: flex;
    justify-content: center;
  }
  .wp-pagenavi a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 5px;
    width: 50px;
    height: 50px;
    background: #fff;
    color: #222;
    border: 1px solid #222;
  }
  .wp-pagenavi a.page:hover {
    background: #222;
    color: #fff;
  }
  .wp-pagenavi span.current {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 5px;
    width: 50px;
    height: 50px;
    color: #fff;
    background: #222;
    border: 1px solid #222;
  }
  .wp-pagenavi span.pages,
  .wp-pagenavi span.extend,
  .wp-pagenavi .first,
  .wp-pagenavi .last{
    display: none;
  }
  .wp-pagenavi a.previouspostslink,
  .wp-pagenavi a.nextpostslink{
    border: none;
  }
  .wp-pagenavi a.previouspostslink:before,
  .wp-pagenavi a.nextpostslink:before{
    content: "";
    width: 20px;
    height: 20px;
    transition: all 0.3s ease;
    border-bottom: 2px solid #222;
    border-left: 2px solid #222;
  }
  .wp-pagenavi a.previouspostslink:before{
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .wp-pagenavi a.nextpostslink:before{
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
  }
  .wp-pagenavi a.previouspostslink:hover:before,
  .wp-pagenavi a.nextpostslink:hover:before{
    border-color: #777;
  }
}
@media print,screen and (max-width:888px) {
  .wp-pagenavi {
    display: flex;
    justify-content: center;
  }
  .wp-pagenavi a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 5px;
    width: 44px;
    height: 44px;
    background: #fff;
    color: #222;
    border: 1px solid #222;
  }
  .wp-pagenavi a.page:hover {
    background: #222;
    color: #fff;
  }
  .wp-pagenavi span.current {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 5px;
    width: 44px;
    height: 44px;
    color: #fff;
    background: #222;
    border: 1px solid #222;
  }
  .wp-pagenavi span.pages,
  .wp-pagenavi span.extend,
  .wp-pagenavi .first,
  .wp-pagenavi .last{
    display: none;
  }
  .wp-pagenavi a.previouspostslink,
  .wp-pagenavi a.nextpostslink{
    border: none;
  }
  .wp-pagenavi a.previouspostslink:before,
  .wp-pagenavi a.nextpostslink:before{
    content: "";
    width: 20px;
    height: 20px;
    transition: all 0.3s ease;
    border-bottom: 2px solid #222;
    border-left: 2px solid #222;
  }
  .wp-pagenavi a.previouspostslink:before{
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .wp-pagenavi a.nextpostslink:before{
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
  }
  .wp-pagenavi a.previouspostslink:hover:before,
  .wp-pagenavi a.nextpostslink:hover:before{
    border-color: #777;
  }
}

/* ------------------------------------------------------------------
separator
------------------------------------------------------------------ */
.separator{
  position: relative;
  width: 100%;
  height: 1px;
  background: #ddd;
}
.separator:before{
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 40px;
  height: 3px;
  background: #222;
}

/* ------------------------------------------------------------------
snsnav
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .snsnav ul{
    display: flex;
  }
  .snsnav li{
    margin: 0 10px 0 0;
  }
  .snsnav li:last-child{
    margin: 0;
  }
  .snsnav a{
    display: block;
    width: 32px;
    height: 32px;
    text-indent: -12958em;
    background-size: 100% auto;
    background-position: 50% 50%;
    background-repeat: no-repeat;
  }
  .snsnav a:hover{
    opacity: 0.5;
  }
}
@media only screen and (max-width:767.98px) {
  .snsnav ul{
    display: flex;
  }
  .snsnav li{
    margin: 0 15px 0 0;
  }
  .snsnav li:last-child{
    margin: 0;
  }
  .snsnav a{
    display: block;
    width: 44px;
    height: 44px;
    text-indent: -12958em;
    background-size: 100% auto;
    background-position: 50% 50%;
    background-repeat: no-repeat;
  }
  .snsnav a.hover{
    opacity: 0.5;
  }
}

.snsnav .twitter a{
  background-image: url("../images/common/sns_x.png");
}
.snsnav .facebook a{
  background-image: url("../images/common/sns_facebook.png");
}
.snsnav .instagram a{
  background-image: url("../images/common/sns_instagram.png");
}
.snsnav .line a{
  background-image: url("../images/common/sns_line.png");
}

/* ------------------------------------------------------------------
secondary
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.secondary .item{
    padding: 40px 0 60px;
	}
	.secondary .item h3{
    display: flex;
		font-size: 2.0rem;
    line-height: 1.4;
		margin: 0 0 30px;
	}
  .secondary .item .morelink{
    margin: -4px 0 0 auto;
  }
  .secondary .item .morelink a{
    font-size: 1.4rem;
    padding: 0 0 3px;
    border-bottom: 2px solid #222;
  }
  .secondary .item .morelink a:hover{
    opacity: 0.5;
  }
	.secondary .wp-tag-cloud li a{
		display: block;
    font-size: 1.6rem;
		line-height: 1.8;
		color: #0066c0;
		white-space: nowrap;
	}
	.sideentry li{
		margin: 0 0 30px;
	}
	.sideentry li:last-of-type{
		margin: 0;
	}
	.sideentry a{
		position: relative;
		display: flex;
	}
	.sideentry a:hover{
    opacity: 0.5;
	}
	.sideentry .rank{
		position: absolute;
		top: 0;
		left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
		width: 30px;
		height: 30px;
		font-size: 1.6rem;
		color: #fff;
		background: #222;
	}
	.sideentry .pic{
		width: 88px;
		height: 88px;
    background-image: url("../images/common/noimg.png");
		background-position: 50% 50%;
		background-repeat: no-repeat;
		background-size: cover;
    margin: 0 15px 0 0;
	}
  .sideentry .txt{
    flex: 1;
    display: flex;
    flex-direction: column;
		line-height: 1.6;
	}
  .sideentry .cat{
    font-size: 1.4rem;
    color: #777;
  }
  .sideentry .ttl{
    font-size: 1.4rem;
  }
	.sideentry.ranking li:first-of-type a{
    display: block;
  }
	.sideentry.ranking li:first-of-type .rank{
		width: 40px;
		height: 40px;
		font-size: 1.8rem;
	}
	.sideentry.ranking li:first-of-type .pic{
		width: 100%;
		height: 0;
		padding: 56% 0 0;
    margin: 0;
	}
	.sideentry.ranking li:first-of-type .txt{
		margin: 10px 0 0;
	}
  .sidebnr{
    position: sticky;
    top: 40px;
  }
}
@media only screen and (max-width:767.98px) {
	.secondary .item{
    padding: 30px 0 60px;
	}
	.secondary .item h3{
    display: flex;
		font-size: 1.8rem;
    line-height: 1.4;
		margin: 0 0 30px;
	}
  .secondary .item .morelink{
    margin: -4px 0 0 auto;
  }
  .secondary .item .morelink a{
    font-size: 1.4rem;
    padding: 0 0 3px;
    border-bottom: 2px solid #222;
  }
  .secondary .item .morelink a.hover{
    opacity: 0.5;
  }
	.secondary .wp-tag-cloud li a{
		display: block;
    font-size: 1.5rem;
		line-height: 1.8;
		color: #0066c0;
		white-space: nowrap;
	}
	.sideentry li{
		margin: 0 0 30px;
	}
	.sideentry li:last-of-type{
		margin: 0;
	}
	.sideentry a{
		position: relative;
		display: flex;
	}
	.sideentry a.hover{
    opacity: 0.5;
	}
	.sideentry .rank{
		position: absolute;
		top: 0;
		left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
		width: 30px;
		height: 30px;
		font-size: 1.6rem;
		color: #fff;
		background: #222;
	}
	.sideentry .pic{
		width: 88px;
		height: 88px;
    background-image: url("../images/common/noimg.png");
		background-position: 50% 50%;
		background-repeat: no-repeat;
		background-size: cover;
    margin: 0 15px 0 0;
	}
  .sideentry .txt{
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
		line-height: 1.6;
	}
	.sideentry p{
    font-size: 3.6vw;
		line-height: 1.6;
  }
	.sideentry .cat{
    font-size: 3.0vw;
    color: #777;
    margin: 0 0 5px;
  }
	.sideentry .ttl{
    font-weight: 700;
  }
	.sideentry.ranking li:first-of-type a{
    display: block;
  }
	.sideentry.ranking li:first-of-type .rank{
		width: 40px;
		height: 40px;
		font-size: 1.8rem;
	}
	.sideentry.ranking li:first-of-type .pic{
		width: 100%;
		height: 0;
		padding: 56% 0 0;
    margin: 0;
	}
	.sideentry.ranking li:first-of-type .txt{
		margin: 10px 0 0;
	}
  .sidebnr{
    text-align: center;
  }
}

/* ------------------------------------------------------------------
entrylist
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .entrylist{
    display: flex;
    flex-wrap: wrap;
  }
  .entrylist li{
    width: 32%;
    margin: 0 2% 40px 0;
  }
  .entrylist li a{
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
  }
  .entrylist li:nth-of-type(3n){
    margin: 0 0 40px;
  }
  .entrylist .image{
    overflow: hidden;
    margin: 0 0 15px
  }
  .entrylist .image span{
    display: block;
    height: 0;
    padding: 66% 0 0;
    background-image: url("../images/common/noimg.png");
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all 0.3s ease;
  }
  .entrylist a:hover .image span{
    transform: scale(1.05);
  }
  .entrylist .new{
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 20px;
    background: #222;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
  }
  .entrylist .cat{
    font-size: 1.4rem;
    color: #777;
    margin: 0 0 10px;
  }
  .entrylist .ttl{
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8;
  }
  .entrylist .ttl a:hover{
    opacity: 0.5;
  }
  .entrylist .taglist{
    margin: auto 0 0;
    padding: 10px 0 0;
  }
  .entrylist .taglist span{
    font-size: 1.4rem;
  }
}
@media only screen and (max-width:767.98px) {
  .entrylist{
    display: flex;
    flex-direction: column;
  }
  .entrylist li{
    margin: 0 0 20px;
  }
  .entrylist li:last-child{
    margin: 0;
  }
  .entrylist li a{
    display: flex;
    position: relative;
  }
  .entrylist .image{
    width: 35vw;
    overflow: hidden;
    margin: 0 3vw 0 0;
  }
  .entrylist .image span{
    display: block;
    height: 0;
    padding: 80% 0 0;
    background-image: url("../images/common/noimg.png");
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all 0.3s ease;
  }
  .entrylist a:hover .image span{
    transform: scale(1.05);
  }
  .entrylist .txt{
    flex: 1;
  }
  .entrylist .new{
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 18px;
    background: #222;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
  }
  .entrylist .cat{
    font-size: 3.0vw;
    color: #777;
    margin: 0 0 5px;
  }
  .entrylist .ttl{
    font-size: 3.6vw;
    font-weight: 700;
    line-height: 1.6;
  }
  .entrylist .ttl a.hover{
    opacity: 0.5;
  }
  .entrylist .taglist{
    margin: auto 0 0;
    padding: 5px 0 0;
  }
  .entrylist .taglist span{
    font-size: 2.4vw;
  }
}

/* ------------------------------------------------------------------
entrylist_vertical
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .entrylist_vertical{
    display: flex;
    flex-direction: column;
  }
  .entrylist_vertical li{
    margin: 0 0 40px;
  }
  .entrylist_vertical li:last-child{
    margin: 0;
  }
  .entrylist_vertical li a{
    display: flex;
    align-items: center;
    position: relative;
  }
  .entrylist_vertical .image{
    width: 240px;
    overflow: hidden;
    margin: 0 30px 0 0;
  }
  .entrylist_vertical .image span{
    display: block;
    height: 0;
    padding: 60% 0 0;
    background-image: url("../images/common/noimg.png");
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all 0.3s ease;
  }
  .entrylist_vertical a:hover .image span{
    transform: scale(1.05);
  }
  .entrylist_vertical .txt{
    flex: 1;
  }
  .entrylist_vertical .new{
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 18px;
    background: #222;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
  }
  .entrylist_vertical .cat{
    font-size: 1.4rem;
    color: #777;
    margin: 0 0 8px;
  }
  .entrylist_vertical .ttl{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.6;
  }
  .entrylist_vertical .ttl a.hover{
    opacity: 0.5;
  }
  .entrylist_vertical .taglist{
    margin: 5px 0 0;
  }
  .entrylist_vertical .taglist span{
    font-size: 1.4rem;
  }
}
@media only screen and (max-width:767.98px) {
  .entrylist_vertical{
    display: flex;
    flex-direction: column;
  }
  .entrylist_vertical li{
    margin: 0 0 20px;
  }
  .entrylist_vertical li:last-child{
    margin: 0;
  }
  .entrylist_vertical li a{
    display: flex;
    position: relative;
  }
  .entrylist_vertical .image{
    width: 35vw;
    overflow: hidden;
    margin: 0 3vw 0 0;
  }
  .entrylist_vertical .image span{
    display: block;
    height: 0;
    padding: 80% 0 0;
    background-image: url("../images/common/noimg.png");
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all 0.3s ease;
  }
  .entrylist_vertical a:hover .image span{
    transform: scale(1.05);
  }
  .entrylist_vertical .txt{
    flex: 1;
  }
  .entrylist_vertical .new{
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 18px;
    background: #222;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
  }
  .entrylist_vertical .cat{
    font-size: 3.0vw;
    color: #777;
    margin: 0 0 5px;
  }
  .entrylist_vertical .ttl{
    font-size: 3.6vw;
    font-weight: 700;
    line-height: 1.6;
  }
  .entrylist_vertical .ttl a.hover{
    opacity: 0.5;
  }
  .entrylist_vertical .taglist{
    margin: auto 0 0;
    padding: 5px 0 0;
  }
  .entrylist_vertical .taglist span{
    font-size: 2.4vw;
  }
}

/* ------------------------------------------------------------------
taglist
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .taglist,
  .wp-tag-cloud{
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -10px;
  }
  .taglist span,
  .wp-tag-cloud li{
    margin: 0 10px 0 0;
  }
  .taglist span:last-child,
  .wp-tag-cloud li:last-child{
    margin: 0;
  }
  .taglist span,
  .wp-tag-cloud a{
		display: block;
    font-size: 1.4rem;
		line-height: 1.8;
		color: #999;
		white-space: nowrap;
    padding: 3px 0;
	}
  .taglist span:before,
  .wp-tag-cloud a:before{
    content: "#";
  }
  .wp-tag-cloud a:hover{
    opacity: 0.5;
  }
}
@media only screen and (max-width:767.98px) {
  .taglist,
  .wp-tag-cloud{
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -5px;
  }
  .taglist span,
  .wp-tag-cloud li{
    margin: 0 10px 0 0;
  }
  .taglist span:last-child,
  .wp-tag-cloud li:last-child{
    margin: 0 0 0;
  }
  .taglist span,
  .wp-tag-cloud a{
		display: block;
    font-size: 1.2rem;
		line-height: 1.8;
		color: #999;
		white-space: nowrap;
    padding: 2px 8px;
	}
  .taglist span:before,
  .wp-tag-cloud a:before{
    content: "#";
  }
  .taglist a.hover,
  .wp-tag-cloud a.hover{
    opacity: 0.5;
  }
}

/* ------------------------------------------------------------------
autherbox
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .autherbox{
    border: 1px solid #ddd;
    padding: 40px;
    box-sizing: border-box;
    margin: 100px 0 0;
  }
  .autherbox .prof_wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .autherbox .profile{
    display: flex;
    align-items: center;
  }
  .autherbox .pic{
    width: 120px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 30px 0 0;
    border: 1px solid #ddd;
  }
  .autherbox .sub{
    font-size: 1.4rem;
    color: #777;
    margin: 0 0 10px;
  }
  .autherbox .name{
    font-size: 2.4rem;
    font-weight: 700;
  }
  .autherbox .link{
    margin: 25px 0 0;
  }
  .autherbox .link a{
    display: inline-block;
    border-bottom: 4px solid #222;
    padding: 0 0 8px;
    font-size: 1.6rem;
    font-weight: 700;
  }
  .autherbox .sns ul{
    display: flex;
  }
  .autherbox .sns li{
    margin: 0 20px 0 0;
  }
  .autherbox .sns li:last-child{
    margin: 0;
  }
  .autherbox .sns i{
    font-size: 3.0rem;
  }
  .autherbox .message{
    font-size: 1.6rem;
    line-height: 1.8;
    color: #777;
    margin: 40px 0 0;
  }
  .autherbox a:hover{
    opacity: 0.5;
  }
}
@media only screen and (max-width:767.98px) {
  .autherbox{
    border: 1px solid #ddd;
    padding: 20px;
    box-sizing: border-box;
    margin: 60px 0 0;
  }
  .autherbox .prof_wrap{
    margin: 0 0 20px;
  }
  .autherbox .pic{
    width: 80px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 20px;
    border: 1px solid #ddd;
  }
  .autherbox .txt{
    text-align: center;
    margin: 0 0 20px;
  }
  .autherbox .sub{
    font-size: 1.0rem;
    line-height: 1.4;
    color: #777;
    margin: 0 0 10px;
  }
  .autherbox .name{
    font-size: 2.0rem;
    font-weight: 700;
  }
  .autherbox .link{
    margin: 20px 0 0;
  }
  .autherbox .link a{
    display: inline-block;
    border-bottom: 4px solid #222;
    padding: 0 0 5px;
  }
  .autherbox .sns ul{
    display: flex;
    justify-content: center;
    margin: 0 0 20px;
  }
  .autherbox .sns li{
    margin: 0 20px 0 0;
  }
  .autherbox .sns li:last-child{
    margin: 0;
  }
  .autherbox .sns i{
    font-size: 3.0rem;
  }
  .autherbox .message{
    font-size: 1.2rem;
    line-height: 1.8;
    color: #777;
    margin: 30px 0 0;
  }
  .autherbox a.hover{
    opacity: 0.5;
  }
}

/* ------------------------------------------------------------------
btm_share
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.btm_share{
    padding: 60px 0;
	}
  .btm_share ul{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .btm_share li{
    margin: 0 30px 0 0;
  }
  .btm_share li a{
    width: 50px;
    height: 50px;
  }
}
@media only screen and (max-width:767.98px) {
	.btm_share{
    padding: 40px 0;
	}
  .btm_share ul{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .btm_share li{
    margin: 0 20px 0 0;
  }
  .btm_share li a{
    width: 50px;
    height: 50px;
  }
}

/* ------------------------------------------------------------------
btm_related
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.btm_related{
    padding: 60px 0;
	}
  .btm_related li{
    margin: 0 0 80px;
  }
  .btm_related li:last-child{
    margin: 0;
  }
  .btm_related .ttl{
    font-size: 2.4rem;
    line-height: 1.6;
    margin: 0 0 40px;
  }
  .btm_related .related_wrap{
    display: flex;
    margin: 0 0 40px;
  }
  .btm_related .image{
    width: 30%;
    margin: 0 40px 0 0;
  }
  .btm_related .image span{
    display: block;
    height: 0;
    padding: 66% 0 0;
    background-image: url("../images/common/noimg.png");
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all 0.3s ease;
  }
  .btm_related .lead{
    flex: 1;
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
@media only screen and (max-width:767.98px) {
	.btm_related{
    padding: 40px 0;
	}
  .btm_related li{
    margin: 0 0 40px;
  }
  .btm_related li:last-child{
    margin: 0;
  }
  .btm_related .ttl{
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 0 0 20px;
  }
  .btm_related .related_wrap{
    display: flex;
    margin: 0 0 20px;
  }
  .btm_related .image{
    width: 30%;
    margin: 0 20px 0 0;
  }
  .btm_related .image span{
    display: block;
    height: 0;
    padding: 66% 0 0;
    background-image: url("../images/common/noimg.png");
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all 0.3s ease;
  }
  .btm_related .lead{
    font-size: 1.2rem;
    flex: 1;
    line-height: 1.8;
  }
}

/* ------------------------------------------------------------------
btm_links
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.btm_links{
    padding: 60px 0;
	}
  .btm_links ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 30px;
  }
  .btm_links li{
    margin: 0 10px 10px 0;
    white-space: nowrap;
  }
  .btm_links li:last-child{
    margin: 0 0 10px;
  }
  .btm_links li a{
		display: block;
    font-size: 1.4rem;
		line-height: 1.8;
		white-space: nowrap;
    border: 1px solid #ddd;
    padding: 5px 15px;
    border-radius: 5px;
    box-shadow: 2px 2px 0px 0px rgba(0,0,0,0.1);
	}
  .btm_links li a:before{
    content: "#";
  }
  .btm_links li a:hover{
    background: #f3f3f3;
  }
  .btm_links .link{
    text-align: center;
  }
  .btm_links .link a{
    display: inline-block;
    font-weight: 700;
    border-bottom: 4px solid #222;
    padding: 0 0 7px;
  }
  .btm_links .link a:hover{
    opacity: 0.5;
  }
}
@media only screen and (max-width:767.98px) {
	.btm_links{
    padding: 40px 0;
	}
  .btm_links ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 20px;
  }
  .btm_links li{
    margin: 0 10px 10px 0;
    white-space: nowrap;
  }
  .btm_links li:last-child{
    margin: 0 0 10px;
  }
  .btm_links li a{
		display: block;
    font-size: 1.2rem;
		line-height: 1.8;
		white-space: nowrap;
    border: 1px solid #ddd;
    padding: 5px 10px;
    border-radius: 5px;
    box-shadow: 2px 2px 0px 0px rgba(0,0,0,0.1);
	}
  .btm_links li a:before{
    content: "#";
  }
  .btm_links li a:hover{
    background: #f3f3f3;
  }
  .btm_links .link{
    text-align: center;
  }
  .btm_links .link a{
    display: inline-block;
    border-bottom: 4px solid #222;
    padding: 0 0 7px;
  }
  .btm_links .link a.hover{
    opacity: 0.5;
  }
}

/* ------------------------------------------------------------------
btm_recommended
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.btm_recommended{
    padding: 60px 0 0;
	}
}
@media only screen and (max-width:767.98px) {
  .btm_recommended{
    padding: 30px 0 0;
	}
}

/* ------------------------------------------------------------------
noentry
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .noentry {
    text-align: center;
    background: #fff;
    padding: 80px 40px;
		border: 1px solid #ddd;
    border-radius: 10px;
  }
  .noentry p{
    line-height: 1.8;
  }
  .noentry .btn{
    text-align: center;
    margin: 20px 0 0;
  }
  .noentry .btn a{
    display: inline-block;
    padding: 20px 80px;
    background: #222;
    color: #fff;
  }
  .noentry .btn a:hover{
    opacity: 0.5;
  }
}
@media only screen and (max-width:767.98px) {
  .noentry {
    text-align: center;
    background: #fff;
    padding: 40px 20px;
		border: 1px solid #ddd;
    border-radius: 10px;
  }
  .noentry p{
    line-height: 1.6;
  }
  .noentry .btn{
    text-align: center;
    margin: 20px 0 0;
  }
  .noentry .btn a{
    display: block;
    padding: 20px 0;
    background: #222;
    color: #fff;
  }
  .noentry .btn a.hover{
    opacity: 0.5;
  }
}

/* ------------------------------------------------------------------
entry
------------------------------------------------------------------ */
.entry_icontxt {
  line-height: 1.8;
}
.entry_icontxt::before {
  margin-top: 0.4em;
}
@media print,screen and (min-width:768px) {
  .entry {
  }
  .entry *:last-child{
    margin-bottom: 0;
  }
  .entry a{
		color: #0066c0;
    text-decoration: underline;
	}
  .entry a:hover{
    text-decoration: none;
  }
  .entry .more_btn a{
    color: #222;
    text-decoration: none;
  }
  .entry .separator{
    margin: 0 0 80px;
  }
  .entry_txt{
    margin: 0 0 80px;
  }
  .entry_txt.waku{
    margin: 0 0 80px;
    padding: 30px;
    border: 1px solid #ddd;
    border-radius: 5px;
  }
  .entry_icontxt {
    display: flex;
    padding: 1rem;
    border-radius: 5px;
    margin-bottom: 30px;
  }
  .entry_icontxt::before {
    content: '';
    min-width: 1.2em;
    max-width: 1.2em;
    height: 1.2em;
    display: block;
    margin-right: 0.8em;
  }
  .entry_icontxt.icon-circle::before {
    background: url(../images/common/icon_circle.svg) no-repeat center/contain;
  }
  .entry_icontxt.icon-batsu::before {
    background: url(../images/common/icon_batsu.svg) no-repeat center/contain;
  }
  .entry_icontxt.icon-info::before {
    background: url(../images/common/icon_info.svg) no-repeat center/contain;
  }
  .entry_icontxt.icon-ex::before {
    background: url(../images/common/icon_notification.svg) no-repeat center/contain;
  }
  .entry_icontxt.icon-att::before {
    background: url(../images/common/icon_attention.png) no-repeat center/contain;
  }
  .entry_image{
    margin: 0 auto 80px;
  }
  .entry_image.w100{
    width: 100%;
  }
  .entry_image.w80{
    width: 80%;
  }
  .entry_image.w60{
    width: 60%;
  }
  .entry_image.w40{
    width: 40%;
  }
  .entry_image .caption{
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 10px 0 0;
  }
  .entry_video{
    margin: 0 auto 80px;
  }
  .entry_video.w100{
    width: 100%;
  }
  .entry_video.w80{
    width: 80%;
  }
  .entry_video.w60{
    width: 60%;
  }
  .entry_video.w40{
    width: 40%;
  }
  .entry_video .video{
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  .entry_video .video iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }
  .entry_video .caption{
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 10px 0 0;
  }
	.entry_links{
    display: flex;
    flex-direction: column;
		padding: 40px;
		background: #f9f9f9;
    margin: 60px 0 80px;
		border-radius: 5px;
	}
	.entry_links p.sub{
		position: relative;
    width: 100%;
    font-size: 2.0rem;
    font-weight: 700;
		text-align: center;
    line-height: 1.6;
	}
  .entry_links.index p.sub{
    cursor: pointer;
  }
	.entry_links p.sub:before{
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
  	-webkit-transform: translate(-50%, -50%);
  	transform: translate(-50%, -50%);
		width: 100%;
		height: 1px;
		background: #ddd;
		z-index: 1;
	}
	.entry_links p.sub .line{
		position: relative;
		display: inline-block;
		background: #f9f9f9;
		padding: 0 40px;
		z-index: 2;
	}
  .entry_links p.sub .display{
    font-weight: 400;
    color: #0066c0;
    margin: 0 0 0 10px;
  }
  .entry_links ul{
    line-height: 1.8;
    margin: 20px 0 0;
  }
  .entry_links.index ul{
    display: none;
  }
  .entry_links ul li{
    list-style: disc;
		margin: 0 0 8px 1.5em;
  }
	.entry_links ul li:last-of-type{
		margin: 0 0 0 1.5em;
	}
  .entry_links ul li i{
    margin: 0 0 0 1em;
    font-size: 1.4rem;
  }
  .entry_links ul li.medium{
    margin-left: 3em;
  }
  .entry_links ul li.sub{
    margin-left: 4.5em;
  }
  .entry_imgtxt{
    display: flex;
    margin: 0 0 80px;
  }
  .entry_imgtxt.tr .image{
    order: 1;
    margin: 0 40px 0 0;
  }
  .entry_imgtxt .txt{
    order: 2;
    flex: 1;
  }
  .entry_imgtxt.tl .image{
    order: 2;
    margin: 0 0 0 40px;
  }
  .entry_imgtxt .txt{
    order: 1;
    flex: 1;
  }
  .entry_imgtxt .image.w30{
    width: 30%;
  }
  .entry_imgtxt .image.w40{
    width: 40%;
  }
  .entry_imgtxt .image.w50{
    width: 50%;
  }
  .entry_imgtxt .image.w60{
    width: 60%;
  }
  .entry_datalist{
    margin: 0 0 80px;
  }
  .entry_datalist h4{
    font-size: 1.8rem;
    line-height: 1.6;
    margin: 0 0 15px;
  }
  .entry_datalist dl{
    display: table;
    width: 100%;
    border: 1px solid #ddd;
    border-bottom: none;
    border-collapse: collapse;
    font-size: 1.6rem;
		line-height: 1.6;
    margin: 0;
  }
  .entry_datalist dl:last-of-type{
		border: 1px solid #ddd;
	}
  .entry_datalist dl dt{
    display: table-cell;
		width: 25%;
    padding: 15px;
    border: 1px solid #ddd;
    border-bottom: none;
    background: #f3f3f3;
    font-weight: 700;
  }
  .entry_datalist dl dd{
    display: table-cell;
    padding: 15px;
    border: 1px solid #ddd;
    border-bottom: none;
  }
  .entry_table{
    margin: 0 0 80px;
  }
  .entry_table h4{
    font-size: 1.8rem;
    line-height: 1.6;
    margin: 0 0 15px;
  }
  .entry_table table{
    width: 100%;
    border: 1px solid #ddd;
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .entry_table table th{
    padding: 15px;
    border: 1px solid #ddd;
    border-collapse: collapse;
    background: #f3f3f3;
  }
  .entry_table table td{
    padding: 15px;
    border: 1px solid #ddd;
    border-collapse: collapse;
  }
	.entry_map{
    margin: 0 0 80px;
	}
	.entry_map .map{
		position: relative;
		height: 500px;
	}
	.entry_map .map iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
	}
	.entry_map .txt{
		margin: 10px 0 0;
	}
  .entry_btns{
    margin: 0 0 80px;
  }
  .entry_btns .btns{
    margin: 0 0 40px;
  }
  .entry_btns .btns:last-child{
    margin: 0;
  }
  .entry_btns .btns p{
    text-align: center;
    margin: 0 0 20px;
  }
  .entry_btns .btn{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .entry_btns .btn a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 70px;
    padding: 0 80px;
    font-weight: 700;
    color: #222;
    text-decoration: none;
    background: #f3f3f3;
    border-radius: 5px;
    margin: 0 20px 0 0;
  }
  .entry_btns .btn a.white{
    color: #fff;
  }
  .entry_btns .btn a:last-child{
    margin: 0;
  }
  .entry_btns .btn a:hover{
    opacity: 0.5;
  }
  .entry_btns .btn a:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border: 2px solid;
    border-color: #222 #222 transparent transparent;
    transform: rotate(45deg);
    margin: 0.1em 0 0 0.5em;
  }
  .entry_btns .btn a.white:after{
    border-color: #fff #fff transparent transparent;
  }
  .entry_btns .btn a.w100{
    flex: none;
    width: 100%;
    margin: 0 0 20px;
  }
  .entry_btns .btn a.rounded{
    border-radius: 50px;
  }
	.entry_talk{
    margin: 0 0 80px;
	}
	.entry_talk dl{
    display: flex;
		margin: 0 0 40px;
	}
	.entry_talk dl:last-child{
		margin: 0;
	}
	.entry_talk dl dt{
		width: 90px;
    height: 90px;
		border-radius: 50%;
		overflow: hidden;
    margin: 0 40px 0 0;
	}
	.entry_talk dl.talk_r dt{
    order: 2;
    margin: 0 0 0 40px;
	}
	.entry_talk dl dd{
    flex: 1;
		position: relative;
		border: 1px solid #ddd;
		border-radius: 10px;
		padding: 20px;
		box-sizing: border-box;
	}
	.entry_talk dl.talk_r dd{
    order: 1;
	}
  .entry_talk dl.talk_l dd .bubble {
    position: absolute;
    top: 28px;
    left: -28px;
  }
  .entry_talk dl.talk_l dd .bubble .frame{
    position: absolute;
    top: 0;
    left: 0;
    border: 12px solid transparent;
    border-right: 16px solid #ddd;
    z-index: 1;
  }
  .entry_talk dl.talk_l dd .bubble .bg{
    position: absolute;
    top: 0;
    left: 2px;
    border: 12px solid transparent;
    border-right: 16px solid #FFF;
    z-index: 2;
  }
  .entry_talk dl.talk_r dd .bubble {
    position: absolute;
    top: 28px;
    right: -28px;
  }
  .entry_talk dl.talk_r dd .bubble .frame{
    position: absolute;
    top: 0;
    right: 0;
    border: 12px solid transparent;
    border-left: 16px solid #ddd;
    z-index: 1;
  }
  .entry_talk dl.talk_r dd .bubble .bg{
    position: absolute;
    top: 0;
    right: 2px;
    border: 12px solid transparent;
    border-left: 16px solid #FFF;
    z-index: 2;
  }
  .entry_related{
    margin: 0 0 80px;
  }
  .entry_related a{
    display: flex;
    color: #222;
    text-decoration: none;
    margin: 0 0 40px;
  }
  .entry_related a:last-child{
    margin: 0;
  }
  .entry_related a:hover{
    background: #f3f3f3;
  }
  .entry_related .image.w30{
    width: 30%;
  }
  .entry_related .image.w40{
    width: 40%;
  }
  .entry_related .image.w50{
    width: 50%;
  }
  .entry_related .image.w60{
    width: 60%;
  }
  .entry_related .txt{
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0 0 0 30px;
  }
  .entry_related .txt h3{
    font-size: 1.8rem;
    line-height: 1.6;
    margin: 0 0 20px;
  }
  .entry_related .txt p{
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .entry_related .btn{
    display: flex;
    align-items: center;
    padding: 15px 30px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #222;
    background: #f3f3f3;
    border-radius: 5px;
    margin: 20px 0 0 0;
  }
  .entry_related .btn.white{
    color: #fff;
  }
  .entry_related .btn span:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border: 2px solid;
    border-color: #222 #222 transparent transparent;
    transform: rotate(45deg);
    margin: 0.1em 0 0 0.5em;
  }
  .entry_related .btn.white span:after{
    border-color: #fff #fff transparent transparent;
  }
	.ayr{
    display: flex;
	}
	.ayr_area{
    margin-top:20px;
		display: flex;
	}
	.ayr_area a.amazon{
	  color: #fff;
	  border: 2px solid #fe9400;
	  font-weight: bold;
	  background: #fe9400;
	  font-size: 18px;
    margin: 0 10px;
    padding: 10px 20px;
	}
	.ayr_area a.amazon:hover{
	  background: #fff;
	  border: 2px solid #fe9400;
		color:#fe9400;
	}
	.ayr_area a.yahoo{
	  color: #fff;
	  border: 2px solid #ff0033;
	  font-weight: bold;
	  background: #ff0033;
	  font-size: 18px;
    margin: 0 10px;
    padding: 10px 20px;
	}
	.ayr_area a.yahoo:hover{
	  background: #fff;
	  border: 2px solid #ff0033;
		color:#ff0033;
	}
	.ayr_area a.rakuten{
	  color: #fff;
	  border: 2px solid #bf0000;
	  font-weight: bold;
	  background: #bf0000;
	  font-size: 18px;
    margin: 0 10px;
    padding: 10px 20px;
	}
	.ayr_area a.rakuten:hover{
	  background: #fff;
	  border: 2px solid #bf0000;
		color:#bf0000;
	}
	.entry_image_row {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 80px;
  }
	.entry_image_row.col2 .left {
    width: 48.5%;
  }
	.entry_image_row.col2 .right {
    width: 48.5%;
  }
	.entry_image_row.col3 .left {
    width: 31%;
  }
	.entry_image_row.col3 .center {
    width: 31%;
  }
	.entry_image_row.col3 .right {
    width: 31%;
  }
	.entry_image_row.col3-7 .left {
    width: 31%;
  }
	.entry_image_row.col3-7 .right {
    width: 65%;
  }
	.entry_image_row.col7-3 .left {
    width: 65%;
  }
	.entry_image_row.col7-3 .right {
    width: 32%;
  }
	.entry_image_row.col2-5-2 .left {
    width: 23%;
  }
	.entry_image_row.col2-5-2 .center {
    width: 48%;
  }
	.entry_image_row.col2-5-2 .right {
    width: 23%;
  }
	.entry_image_row .caption {
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 10px 0 0;
  }
	.entry_kijilink{
		margin: 0 0 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border: solid 3px #e5e5e5;
    padding: 30px;
	}
	.entry_kijilink .c-img{
		width: 30%;
	}
	.entry_kijilink .c-content{
		width: 65%;
	}
	.entry_kijilink .recommend_head {
	    font-weight: bold;
	    font-size: 16px;
			line-height: 25px;
	}
	.entry_kijilink .c-linkbtn {
	    margin-top: 30px;
	}
	.entry_kijilink .c-linkbtn a {
	    margin: 0;
	    width: auto;
	    display: inline-block;
	    padding: 10px 30px;
	    color: #006699;
	    font-size: 14px;
	    border: 2px solid #006699;
	    font-weight: bold;
	    background: #fff;
			text-decoration: none;
		  border-radius: 5px;
	}
	.entry_kijilink .c-linkbtn a:hover{
	    color: #fff;
	    background: #006699;
	}
}
@media only screen and (max-width:767.98px) {
  .entry {
  }
  .entry *:last-child{
    margin-bottom: 0;
  }
  .entry a{
		color: #0066c0;
    text-decoration: underline;
	}
  .entry a.hover{
    text-decoration: none;
  }
  .entry .more_btn a{
    color: #222;
    text-decoration: none;
  }
  .entry .separator{
    margin: 0 0 40px;
  }
  .entry_txt{
    margin: 0 0 40px;
  }
  .entry_txt.waku{
    margin: 0 0 40px;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
  }
  .entry_icontxt {
    display: flex;
    padding: 1rem;
    border-radius: 5px;
    margin-bottom: 20px;
  }
  .entry_icontxt::before {
    content: '';
    min-width: 1.2em;
    max-width: 1.2em;
    height: 1.2em;
    display: block;
    margin-right: 0.8em;
  }
  .entry_icontxt.icon-circle::before {
    background: url(../images/common/icon_circle.svg) no-repeat center/contain;
  }
  .entry_icontxt.icon-batsu::before {
    background: url(../images/common/icon_batsu.svg) no-repeat center/contain;
  }
  .entry_icontxt.icon-info::before {
    background: url(../images/common/icon_info.svg) no-repeat center/contain;
  }
  .entry_icontxt.icon-ex::before {
    background: url(../images/common/icon_notification.svg) no-repeat center/contain;
  }
  .entry_icontxt.icon-att::before {
    background: url(../images/common/icon_attention.png) no-repeat center/contain;
  }
  .entry_image{
    margin: 0 auto 40px;
  }
  .entry_image .image.w100{
    width: 100%;
  }
  .entry_image .image.w80{
    width: 80%;
  }
  .entry_image .image.w60{
    width: 60%;
  }
  .entry_image .image.w40{
    width: 40%;
  }
  .entry_image .caption{
    font-size: 1.0rem;
    line-height: 1.8;
    margin: 10px 0 0;
		overflow-wrap: break-word;
  }
  .entry_video{
    margin: 0 auto 40px;
  }
  .entry_video.w100{
    width: 100%;
  }
  .entry_video.w80{
    width: 80%;
  }
  .entry_video.w60{
    width: 60%;
  }
  .entry_video.w40{
    width: 40%;
  }
  .entry_video .video{
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  .entry_video .video iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }
  .entry_video .caption{
    font-size: 1.0rem;
    line-height: 1.8;
    margin: 10px 0 0;
  }
	.entry_links{
    display: flex;
    flex-direction: column;
		padding: 20px;
		background: #f9f9f9;
    margin: 40px 0 40px;
		border-radius: 5px;
	}
	.entry_links p.sub{
		position: relative;
    width: 100%;
    font-size: 1.6rem;
    font-weight: 700;
		text-align: center;
    line-height: 1.6;
	}
	.entry_links p.sub:before{
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
  	-webkit-transform: translate(-50%, -50%);
  	transform: translate(-50%, -50%);
		width: 100%;
		height: 1px;
		background: #ddd;
		z-index: 1;
	}
	.entry_links p.sub .line{
		position: relative;
		display: inline-block;
		background: #f9f9f9;
		padding: 0 20px;
		z-index: 2;
	}
  .entry_links p.sub .display{
    font-weight: 400;
    color: #0066c0;
    margin: 0 0 0 10px;
  }
  .entry_links ul{
		margin: 15px 0 0;
    line-height: 1.8;
  }
  .entry_links.index ul{
    display: none;
  }
  .entry_links ul li{
    list-style: disc;
    margin: 0 0 6px 1.5em;
  }
	.entry_links ul li:last-of-type{
		margin: 0 0 0 1.5em;
	}
  .entry_links ul li i{
    margin: 0 0 0 1em;
    font-size: 1.2rem;
  }
  .entry_links ul li.medium{
    margin-left: 3em;
  }
  .entry_links ul li.sub{
    margin-left: 4.5em;
  }
  .entry_imgtxt{
    margin: 0 0 40px;
  }
  .entry_imgtxt .image{
    margin: 0 0 10px;
    text-align: center;
  }
  .entry_datalist{
    margin: 0 0 40px;
  }
  .entry_datalist h4{
    font-size: 1.4rem;
    line-height: 1.6;
    margin: 0 0 10px;
  }
  .entry_datalist dl{
    display: table;
    width: 100%;
    border: 1px solid #ddd;
    border-bottom: none;
    border-collapse: collapse;
    font-size: 1.2rem;
		line-height: 1.6;
    margin: 0;
  }
  .entry_datalist dl:last-of-type{
		border: 1px solid #ddd;
	}
  .entry_datalist dl dt{
    padding: 10px;
    borde-bottomr: 1px solid #ddd;
    background: #f9f9f9;
  }
  .entry_datalist dl dd{
    padding: 10px;
  }
  .entry_table{
    margin: 0 0 40px;
  }
  .entry_table h4{
    font-size: 1.4rem;
    line-height: 1.6;
    margin: 0 0 10px;
  }
  .entry_table table{
    border: 1px solid #ddd;
    font-size: 1.2rem;
    line-height: 1.6;
  }
  .entry_table table th{
    padding: 10px;
    border: 1px solid #ddd;
    border-collapse: collapse;
    background: #f9f9f9;
    white-space: nowrap;
  }
  .entry_table table td{
    padding: 10px;
    border: 1px solid #ddd;
    border-collapse: collapse;
  }
	.entry_map{
    margin: 0 0 40px;
	}
	.entry_map .map{
		position: relative;
		height: 400px;
	}
	.entry_map .map iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
	}
	.entry_map .txt{
		margin: 10px 0 0;
	}
  .entry_btns{
    margin: 0 0 40px;
  }
  .entry_btns .btns{
    margin: 0 0 40px;
  }
  .entry_btns .btns:last-child{
    margin: 0;
  }
  .entry_btns .btns p{
    text-align: center;
    margin: 0 0 20px;
  }
  .entry_btns .btn{
    display: flex;
    flex-direction: column;
  }
  .entry_btns .btn a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    padding: 0 15px;
    font-weight: 700;
    line-height: 1.4;
    color: #222;
    text-decoration: none;
    background: #f3f3f3;
    border-radius: 5px;
    margin: 0 0 10px;
  }
  .entry_btns .btn a.white{
    color: #fff;
  }
  .entry_btns .btn a:last-child{
    margin: 0;
  }
  .entry_btns .btn a.hover{
    opacity: 0.5;
  }
  .entry_btns .btn a:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border: 2px solid;
    border-color: #222 #222 transparent transparent;
    transform: rotate(45deg);
    margin: 0.1em 0 0 0.5em;
  }
  .entry_btns .btn a.white:after{
    border-color: #fff #fff transparent transparent;
  }
  .entry_btns .btn a.w100{
    flex: none;
    width: 100%;
    margin: 0 0 10px;
  }
  .entry_btns .btn a.rounded{
    border-radius: 50px;
  }
	.entry_talk{
    margin: 0 0 40px;
	}
	.entry_talk dl{
    display: flex;
		margin: 0 0 20px;
	}
	.entry_talk dl:last-child{
		margin: 0;
	}
	.entry_talk dl dt{
		width: 50px;
    height: 50px;
		border-radius: 50%;
		overflow: hidden;
    margin: 0 20px 0 0;
	}
	.entry_talk dl.talk_r dt{
    order: 2;
    margin: 0 0 0 20px;
	}
	.entry_talk dl dd{
    flex: 1;
		position: relative;
		width: calc(100% - 70px);
		border: 1px solid #ddd;
		border-radius: 10px;
		padding: 10px;
		box-sizing: border-box;
	}
	.entry_talk dl.talk_r dd{
    order: 1;
	}
  .entry_talk dl.talk_l dd .bubble {
    position: absolute;
    top: 15px;
    left: -22px;
  }
  .entry_talk dl.talk_l dd .bubble .frame{
    position: absolute;
    top: 0;
    left: 0;
    border: 8px solid transparent;
    border-right: 12px solid #ddd;
    z-index: 1;
  }
  .entry_talk dl.talk_l dd .bubble .bg{
    position: absolute;
    top: 0;
    left: 2px;
    border: 8px solid transparent;
    border-right: 12px solid #FFF;
    z-index: 2;
  }
  .entry_talk dl.talk_r dd .bubble {
    position: absolute;
    top: 15px;
    right: -22px;
  }
  .entry_talk dl.talk_r dd .bubble .frame{
    position: absolute;
    top: 0;
    right: 0;
    border: 8px solid transparent;
    border-left: 12px solid #ddd;
    z-index: 1;
  }
  .entry_talk dl.talk_r dd .bubble .bg{
    position: absolute;
    top: 0;
    right: 2px;
    border: 8px solid transparent;
    border-left: 12px solid #FFF;
    z-index: 2;
  }
  .entry_related{
    margin: 0 0 40px;
  }
  .entry_related a{
    display: block;
    color: #222;
    text-decoration: none;
    border: 1px solid #ddd;
    margin: 0 0 20px;
  }
  .entry_related a:last-child{
    margin: 0;
  }
  .entry_related a:hover{
    background: #f3f3f3;
  }
  .entry_related img{
    width: 100%;
    height: auto;
  }
  .entry_related .txt{
    padding: 20px;
  }
  .entry_related .txt h3{
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 0 0 10px;
  }
  .entry_related .txt p{
    font-size: 1.2rem;
    line-height: 1.6;
  }
  .entry_related .btn{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 30px;
    font-size: 1.4rem;
    font-weight: 700;
    color: #222;
    background: #f3f3f3;
    border-radius: 5px;
    margin: 15px 0 0 0;
  }
  .entry_related .btn.white{
    color: #fff;
  }
  .entry_related .btn span:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border: 2px solid;
    border-color: #222 #222 transparent transparent;
    transform: rotate(45deg);
    margin: 0.1em 0 0 0.5em;
  }
  .entry_related .btn.white span:after{
    border-color: #fff #fff transparent transparent;
  }
	.ayr{
	}
	.ayr_area{
    margin-top:20px;
	}
	.ayr_area a.amazon{
	  color: #fff;
	  border: 2px solid #fe9400;
	  font-weight: bold;
	  background: #fe9400;
	  font-size: 18px;
    margin: 0 10px 10px;
    padding: 10px 20px;
    text-align: center;
	}
	.ayr_area a.amazon:hover{
	  background: #fff;
	  border: 2px solid #fe9400;
		color:#fe9400;
	}
	.ayr_area a.yahoo{
	  color: #fff;
	  border: 2px solid #ff0033;
	  font-weight: bold;
	  background: #ff0033;
	  font-size: 18px;
    margin: 0 10px 10px;
    padding: 10px 20px;
    text-align: center;
	}
	.ayr_area a.yahoo:hover{
	  background: #fff;
	  border: 2px solid #ff0033;
		color:#ff0033;
	}
	.ayr_area a.rakuten{
	  color: #fff;
	  border: 2px solid #bf0000;
	  font-weight: bold;
	  background: #bf0000;
	  font-size: 18px;
    margin: 0 10px 10px;
    padding: 10px 20px;
    text-align: center;
	}
	.ayr_area a.rakuten:hover{
	  background: #fff;
	  border: 2px solid #bf0000;
		color:#bf0000;
	}

	.entry_image_row {
    margin: 0 auto 40px;
  }
	.entry_image_row .left {
    margin-top: 40px;
  }
	.entry_image_row .center {
    margin-top: 40px;
  }
	.entry_image_row .right {
    margin-top: 40px;
  }
	.entry_image_row .caption {
    font-size: 1.0rem;
    line-height: 1.8;
    margin: 10px 0 0;
    overflow-wrap: break-word;
  }
	.entry_kijilink{
		margin: 0 0 80px;
    border: solid 3px #e5e5e5;
		display: block;
    padding: 25px;
	}
	.entry_kijilink .c-img{
		width: 100%;
	}
	.entry_kijilink .c-content{
		width: 100%;
    margin-top: 20px;
	}
	.entry_kijilink .recommend_head {
	    font-weight: bold;
	    font-size: 16px;
			line-height:25px;
	}
	.entry_kijilink .c-linkbtn {
		width: 90%;
    margin: 25px auto 0;
    text-align: center;
	}
	.entry_kijilink .c-linkbtn a {
	    margin: 0;
	    width: 100%;
			padding: 15px;
	    color: #006699;
	    font-size: 13px;
	    border: 2px solid #006699;
	    font-weight: bold;
	    background: #fff;
			text-decoration: none;
		  border-radius: 5px;
	    display: block;
	}

}

/* ------------------------------------------------------------------
txtstyle
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .txtstyle *:last-child{
    margin-bottom: 0;
  }
  .txtstyle h1,
  .txtstyle h2,
  .txtstyle h3,
  .txtstyle h4{
    line-height: 1.6;
    margin: 0 0 5px;
  }
  .txtstyle h1 {
    font-size: 2.8rem;
  }
  .txtstyle h2 {
    font-size: 2.4rem;
  }
  .txtstyle h3 {
    font-size: 2.0rem;
  }
  .txtstyle h4 {
    font-size: 1.8rem;
  }
  .txtstyle p{
    line-height: 1.8;
    margin: 0 0 30px;
  }
  .txtstyle ul{
    list-style: disc;
    padding: 0 0 0 1.5em;
    line-height: 1.8;
    margin: 0 0 30px;
  }
  .txtstyle ol{
    list-style: decimal;
    padding: 0 0 0 1.5em;
    line-height: 1.8;
    margin: 0 0 30px;
  }
  .txtstyle dl{
    line-height: 1.8;
    margin: 0 0 30px;
  }
  .txtstyle dl:last-child{
    margin: 0;
  }
  .txtstyle dt{
    margin: 0 0 3px;
  }
  .txtstyle dt .en{
    font-size: 2.0rem;
    margin: 0 0.2em 0 0;
  }
  .txtstyle dd{
    padding: 0 0 0 1.2em;
  }
}
@media only screen and (max-width:767.98px) {
  .txtstyle *:last-child{
    margin-bottom: 0;
  }
  .txtstyle h1,
  .txtstyle h2,
  .txtstyle h3,
  .txtstyle h4{
    line-height: 1.6;
    margin: 0 0 5px;
  }
  .txtstyle h1 {
    font-size: 1.8rem;
  }
  .txtstyle h2 {
    font-size: 1.6rem;
  }
  .txtstyle h3 {
    font-size: 1.4rem;
  }
  .txtstyle h4 {
    font-size: 1.4rem;
  }
  .txtstyle p{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .txtstyle ul{
    list-style: disc;
    padding: 0 0 0 1.5em;
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .txtstyle ol{
    list-style: decimal;
    padding: 0 0 0 1.5em;
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .txtstyle dl{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .entry_txt dl:last-child{
    margin: 0;
  }
  .txtstyle dt{
    margin: 0 0 2px;
  }
  .txtstyle dt .en{
    font-size: 1.6rem;
    margin: 0 0.2em 0 0;
  }
  .txtstyle dd{
    padding: 0 0 0 1.2em;
  }
}

/* ------------------------------------------------------------------
modal
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .modal_search_bg{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
  }
  .modal_search{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
  }
  .modal_search_inner{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
  }
  .modal_search_content{
    position: relative;
    background: rgba(255,255,255,0.25);
    padding: 10px;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    z-index: 10;
  }
  .modal_search_content .close{
    position: absolute;
    top: -75px;
    right: 0;
  }
  .modal_search_content .close a{
    display: block;
    position: relative;
    width: 44px;
    height: 44px;
  }
  .modal_search_content .close span{
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
  }
  .modal_search_content .close span:first-child{
    border-top: solid 1px #fff;
    width: 30px;
    height: 0;
    margin-left: -15px;
    -webkit-transform: skewY(45deg);
    transform: skewY(45deg);
  }
  .modal_search_content .close span:last-child{
    width: 0;
    height: 30px;
    margin-top: -15px;
    border-right: solid 1px #fff;
    -webkit-transform: skewX(-45deg);
    transform: skewX(-45deg);
  }
  .modal_search_content form{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .modal_search_content form input{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
  }
  .modal_search_content form .modal_search_input{
    border: solid 1px #d9d9d9;
    border-right: none;
    width: calc(100% - 50px);
    height: 50px;
    padding: 10px 20px;
    font-size: 1.6rem;
    background: #fff;
    box-sizing: border-box;
  }
  .modal_search_content form .modal_search_btn{
    border: none;
    overflow: hidden;
    width: 50px;
    height: 50px;
    background: #222 url(../images/common/icon_search.svg) no-repeat 50% 50%;
    background-size: 17px auto;
    text-indent: -9999px;
  }
}
@media only screen and (max-width:767.98px) {
  .modal_search_bg{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
  }
  .modal_search{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
  }
  .modal_search_inner{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
  }
  .modal_search_content{
    position: relative;
    background: rgba(255,255,255,0.25);
    padding: 10px;
    width: 90%;
    max-width: 720px;
    margin: 0 auto;
    z-index: 10;
  }
  .modal_search_content .close{
    position: absolute;
    top: -75px;
    right: 0;
  }
  .modal_search_content .close a{
    display: block;
    position: relative;
    width: 44px;
    height: 44px;
  }
  .modal_search_content .close span{
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
  }
  .modal_search_content .close span:first-child{
    border-top: solid 1px #fff;
    width: 30px;
    height: 0;
    margin-left: -15px;
    -webkit-transform: skewY(45deg);
    transform: skewY(45deg);
  }
  .modal_search_content .close span:last-child{
    width: 0;
    height: 30px;
    margin-top: -15px;
    border-right: solid 1px #fff;
    -webkit-transform: skewX(-45deg);
    transform: skewX(-45deg);
  }
  .modal_search_content form{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .modal_search_content form input{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
  }
  .modal_search_content form .modal_search_input{
    border: solid 1px #d9d9d9;
    border-right: none;
    width: calc(100% - 50px);
    height: 50px;
    padding: 10px 20px;
    font-size: 1.6rem;
    background: #fff;
    box-sizing: border-box;
  }
  .modal_search_content form .modal_search_btn{
    border: none;
    overflow: hidden;
    width: 50px;
    height: 50px;
    background: #222 url(../images/common/icon_search.svg) no-repeat 50% 50%;
    background-size: 17px auto;
    text-indent: -9999px;
  }
}

/* ------------------------------------------------------------------
color
------------------------------------------------------------------ */
.carousel .top.is_active>a{
  color: #222;
  border-bottom-color: #222;
}

.in_lower.business>a:hover,
.in_lower.business.is_active>a,
.in_lower.business.is_hover>a,
.carousel .business.is_active>a,
.in_lower.business .toplink a{
  color: #5f77d0;
  border-bottom-color: #5f77d0;
}
.in_lower.business .toplink a:after{
  border-color: #5f77d0 #5f77d0 transparent transparent;
}
.entrylist .cat.business,
.sideentry .cat.business,
.entrylist_vertical .cat.business,
.kv_single .cat.business,
.kv_category .cat.business{
  color: #5f77d0;
}
.mv_item .cat.business{
  background-color: #a5cd44;
}


.in_lower.digital>a:hover,
.in_lower.digital.is_active>a,
.in_lower.digital.is_hover>a,
.carousel .digital.is_active>a,
.in_lower.digital .toplink a{
  color: #40afe6;
  border-bottom-color: #40afe6;
}
.in_lower.digital .toplink a:after{
  border-color: #40afe6 #40afe6 transparent transparent;
}
.entrylist .cat.digital,
.sideentry .cat.digital,
.entrylist_vertical .cat.digital,
.kv_single .cat.digital,
.kv_category .cat.digital{
  color: #40afe6;
}
.mv_item .cat.digital{
  background-color: #40afe6;
}


.in_lower.money>a:hover,
.in_lower.money.is_active>a,
.in_lower.money.is_hover>a,
.carousel .money.is_active>a,
.in_lower.money .toplink a{
  color: #bbb301;
  border-bottom-color: #bbb301;
}
.in_lower.money .toplink a:after{
  border-color: #bbb301 #bbb301 transparent transparent;
}
.entrylist .cat.money,
.sideentry .cat.money,
.entrylist_vertical .cat.money,
.kv_single .cat.money,
.kv_category .cat.money{
  color: #bbb301;
}
.mv_item .cat.money{
  background-color: #bbb301;
}

.in_lower.love>a:hover,
.in_lower.love.is_active>a,
.in_lower.love.is_hover>a,
.carousel .love.is_active>a,
.in_lower.love .toplink a{
  color: #ec6b6b;
  border-bottom-color: #ec6b6b;
}
.in_lower.love .toplink a:after{
  border-color: #ec6b6b #ec6b6b transparent transparent;
}
.entrylist .cat.love,
.sideentry .cat.love,
.entrylist_vertical .cat.love,
.kv_single .cat.love,
.kv_category .cat.love{
  color: #ec6b6b;
}
.mv_item .cat.love{
  background-color: #ec6b6b;
}


.in_lower.travel>a:hover,
.in_lower.travel.is_active>a,
.in_lower.travel.is_hover>a,
.carousel .travel.is_active>a,
.in_lower.travel .toplink a{
  color: #47af47;
  border-bottom-color: #47af47;
}
.in_lower.travel .toplink a:after{
  border-color: #47af47 #47af47 transparent transparent;
}
.entrylist .cat.travel,
.sideentry .cat.travel,
.entrylist_vertical .cat.travel,
.kv_single .cat.travel,
.kv_category .cat.travel{
  color: #47af47;
}
.mv_item .cat.travel{
  background-color: #47af47;
}


.in_lower.gourmet>a:hover,
.in_lower.gourmet.is_active>a,
.in_lower.gourmet.is_hover>a,
.carousel .gourmet.is_active>a,
.in_lower.gourmet .toplink a{
  color: #ddac00;
  border-bottom-color: #ddac00;
}
.in_lower.gourmet .toplink a:after{
  border-color: #ddac00 #ddac00 transparent transparent;
}
.entrylist .cat.gourmet,
.sideentry .cat.gourmet,
.entrylist_vertical .cat.gourmet,
.kv_single .cat.gourmet,
.kv_category .cat.gourmet{
  color: #ddac00;
}
.mv_item .cat.gourmet{
  background-color: #ddac00;
}


.in_lower.sportsleisure>a:hover,
.in_lower.sportsleisure.is_active>a,
.in_lower.sportsleisure.is_hover>a,
.carousel .sportsleisure.is_active>a,
.in_lower.sportsleisure .toplink a{
  color: #2cb3c0;
  border-bottom-color: #2cb3c0;
}
.in_lower.sportsleisure .toplink a:after{
  border-color: #2cb3c0 #2cb3c0 transparent transparent;
}
.entrylist .cat.sportsleisure,
.sideentry .cat.sportsleisure,
.entrylist_vertical .cat.sportsleisure,
.kv_single .cat.sportsleisure,
.kv_category .cat.sportsleisure{
  color: #2cb3c0;
}
.mv_item .cat.sportsleisure{
  background-color: #2cb3c0;
}


.in_lower.entertainment>a:hover,
.in_lower.entertainment.is_active>a,
.in_lower.entertainment.is_hover>a,
.carousel .entertainment.is_active>a,
.in_lower.entertainment .toplink a{
  color: #db6f48;
  border-bottom-color: #db6f48;
}
.in_lower.entertainment .toplink a:after{
  border-color: #db6f48 #db6f48 transparent transparent;
}
.entrylist .cat.entertainment,
.sideentry .cat.entertainment,
.entrylist_vertical .cat.entertainment,
.kv_single .cat.entertainment,
.kv_category .cat.entertainment{
  color: #db6f48;
}
.mv_item .cat.entertainment{
  background-color: #db6f48;
}


.in_lower.healthcare>a:hover,
.in_lower.healthcare.is_active>a,
.in_lower.healthcare.is_hover>a,
.carousel .healthcare.is_active>a,
.in_lower.healthcare .toplink a{
  color: #2cc09b;
  border-bottom-color: #2cc09b;
}
.in_lower.healthcare .toplink a:after{
  border-color: #2cc09b #2cc09b transparent transparent;
}
.entrylist .cat.healthcare,
.sideentry .cat.healthcare,
.entrylist_vertical .cat.healthcare,
.kv_single .cat.healthcare,
.kv_category .cat.healthcare{
  color: #2cc09b;
}
.mv_item .cat.healthcare{
  background-color: #2cc09b;
}


.in_lower.beauty>a:hover,
.in_lower.beauty.is_active>a,
.in_lower.beauty.is_hover>a,
.carousel .beauty.is_active>a,
.in_lower.beauty .toplink a{
  color: #d85ea0;
  border-bottom-color: #d85ea0;
}
.in_lower.beauty .toplink a:after{
  border-color: #d85ea0 #d85ea0 transparent transparent;
}
.entrylist .cat.beauty,
.sideentry .cat.beauty,
.entrylist_vertical .cat.beauty,
.kv_single .cat.beauty,
.kv_category .cat.beauty{
  color: #d85ea0;
}
.mv_item .cat.beauty{
  background-color: #d85ea0;
}


.in_lower.living>a:hover,
.in_lower.living.is_active>a,
.in_lower.living.is_hover>a,
.carousel .living.is_active>a,
.in_lower.living .toplink a{
  color: #8db41e;
  border-bottom-color: #8db41e;
}
.in_lower.living .toplink a:after{
  border-color: #8db41e #8db41e transparent transparent;
}
.entrylist .cat.living,
.sideentry .cat.living,
.entrylist_vertical .cat.living,
.kv_single .cat.living,
.kv_category .cat.living{
  color: #8db41e;
}
.mv_item .cat.living{
  background-color: #8db41e;
}


.in_lower.fashion>a:hover,
.in_lower.fashion.is_active>a,
.in_lower.fashion.is_hover>a,
.carousel .fashion.is_active>a,
.in_lower.fashion .toplink a{
  color: #c174dd;
  border-bottom-color: #c174dd;
}
.in_lower.fashion .toplink a:after{
  border-color: #c174dd #c174dd transparent transparent;
}
.entrylist .cat.fashion,
.sideentry .cat.fashion,
.entrylist_vertical .cat.fashion,
.kv_single .cat.fashion,
.kv_category .cat.fashion{
  color: #c174dd;
}
.mv_item .cat.fashion{
  background-color: #c174dd;
}
/* 追記20210422 */
@media only screen and (max-width:767.98px) {
  .entry_image_row .slick-prev,
  .entry_image_row .slick-next {
    position: absolute;
    display: block;
    width: 15px;
    height: 15px;
    border-left: 2px solid #000;
    border-top: 2px solid #000;
    z-index: 40;
    top:50%;
    margin-top: -10px !important;
  }
  .entry_image_row .slick-prev {
    transform: rotate(-45deg);
    left: 0;
  }
  .entry_image_row .slick-next {
    transform: rotate(135deg);
    right: 0;
  }
  .entry_image_row.col3 *,
  .entry_image_row.col2-5-2 *{
    margin-top: 0;
  }
}
.steps {
  position: relative;
}

@media screen and (min-width:768px) {
  .steps {
    margin-bottom: 80px;
  }
}
@media screen and (max-width:767px) {
  .steps {
    margin-bottom: 40px;
  }
}
.step {
  position: relative;
  padding-left: 20px;
  padding-bottom: 30px;
}
.step:not(:last-of-type):before {
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  bottom: -10px;
  left: 4px;
  width: 1px;
  background: #dedede;
}
.step__circle {
  position: absolute;
  width: 9px;
  height: 9px;
  background: #fff;
  border-radius: 50%;
  border: #dedede solid 1px;
  left: 0;
  top: 3px;
}
.step__subtitle {

  text-transform: uppercase;
  color: #a0a0a0;
}
@media screen and (min-width:768px) {
  .step__subtitle {
    font-size: 1.4rem;
  }
}
@media screen and (max-width:767px) {
  .step__subtitle {
    font-size: 1.3rem;
  }
}
.step__title {

  margin-top: 1.5rem;
  font-weight: bold;
  line-height: normal;
}
@media screen and (min-width:768px) {
  .step__title {
    font-size: 1.6rem;
  }
}
@media screen and (max-width:767px) {
  .step__title {
    font-size: 1.4rem;
  }
}
.step__text {
  font-size: 1.6rem;
  margin-top: 15px;
  line-height: 1.8;
}
@media screen and (min-width:768px) {
  .step__text {
    font-size: 1.6rem;
  }
}
@media screen and (max-width:767px) {
  .step__text {
    font-size: 1.4rem;
  }
}

@media screen and (min-width:768px) {
  .accordion__list {
    margin-bottom: 80px;
  }
}
@media screen and (max-width:767px) {
  .accordion__list {
    margin-bottom: 40px;
  }
}
.accordion__item {
  border-color: #000;
  border-width: 1px;
  border-style: solid;
}
.accordion__item + .accordion__item {
  margin-top: 2rem;
}

.accordion__title {
  background: #000;
  color: #fff;

  font-weight: bold;
  cursor: pointer;
  position: relative;
}
@media screen and (min-width:768px) {
  .accordion__title {
    padding: 2rem 3rem;
  }
}
@media screen and (max-width:767px) {
  .accordion__title {
    padding: 1.5rem 1.5rem;
  }
}
.accordion__title:before,
.accordion__title:after {
  content: "";
  display: block;
  background: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (min-width:768px) {
  .accordion__title:before {
    width: 25px;
    height: 2px;
    right: 20px;
  }
}
@media screen and (max-width:767px) {
  .accordion__title:before {
    width: 16px;
    height: 2px;
    right: 10px;
  }
}
.accordion__title:after {
  transition: all 0.1s;
}
@media screen and (min-width:768px) {
  .accordion__title:after {
    height: 25px;
    width: 2px;
    right: 31px;
  }
}
@media screen and (max-width:767px) {
  .accordion__title:after {
    height: 16px;
    width: 2px;
    right: 17px;
  }
}
.accordion__item.open .accordion__title:after {
  opacity: 0;
  transform: rotate(90deg);
}
.accordion__text {
  max-height: 0;
  overflow: hidden;
  transition: all 1s ease-out;
}
.accordion__item.open .accordion__text{
  max-height: 5000px;
  transition: all 1.6s ease-in;
}
.accordion__text__inner {
  line-height: 1.8;
}
@media screen and (min-width:768px) {
  .accordion__text__inner {
    padding: 3rem;
  }
}
@media screen and (max-width:767px) {
  .accordion__text__inner {
    padding: 1.5rem 1.5rem;
  }
}
@media screen and (min-width:768px) {
//	.adarea{
//    display: flex;
//    justify-content: space-between;
//    width: 80%;
//    margin: 0 auto;
//	}
}
