@charset "UTF-8";
/*------------------------------------------
* reset
------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/*------------------------------------------
* globalSetting
------------------------------------------*/
html {
  -webkit-text-size-adjust: none;
  font-size: 62.5%;
}

body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  line-height: 1.8;
  color: #323232;
  letter-spacing: 0.08em;
  font-size: 1.6em;
  -webkit-font-feature-settings: "palt";
  font-variant-ligatures: no-common-ligatures;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media only screen and (max-width: 991px) {
  body {
    font-size: 1.3em;
  }
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

a {
  color: #323232;
  text-decoration: none;
  transition: all .5s ease;
}

th {
  vertical-align: top;
}

* {
  box-sizing: border-box;
}

/*------------------------------------------
* layout
------------------------------------------*/
.l-flex-wrap {
  display: flex;
  flex-wrap: wrap;
}

.l-flex {
  display: flex;
}

@media only screen and (max-width: 991px) {
  .l-flex {
    display: block;
  }
}

.l-inline-flex-wrap {
  display: inline-flex;
  flex-wrap: wrap;
  width: 100%;
}

.l-header .l-flex {
  align-items: center;
  justify-content: space-between;
  padding-left: 30px;
  border-bottom: 1px solid #e4e9ef;
}

@media only screen and (max-width: 991px) {
  .l-header .l-flex {
    padding-left: 15px;
  }
}

.l-top-section-1 {
  background: url(../../images/new/bg.png) no-repeat center top;
  background-size: cover;
  padding: 60px 0 80px;
  margin-bottom: 60px;
}

.l-top-section-1 .l-flex-wrap {
  margin-left: -60px;
}

@media only screen and (max-width: 1120px) {
  .l-top-section-1 .l-flex-wrap {
    margin-left: -30px;
  }
}

@media only screen and (max-width: 991px) {
  .l-top-section-1 .l-flex-wrap {
    margin-left: 0;
  }
}

.l-wrap {
  max-width: 1200px;
  width: 92%;
  margin: 0 auto;
  padding: 0 30px;
}

@media only screen and (max-width: 991px) {
  .l-wrap {
    width: 100%;
    padding: 0 15px;
  }
}

.top-section .l-wrap {
  max-width: 1100px;
  padding: 0;
}

@media only screen and (max-width: 991px) {
	.top-section .l-wrap {
		padding: 0 15px;
	}
}

.l-link {
  text-align: right;
  position: relative;
  margin-top: -20px;
}

@media only screen and (max-width: 991px) {
  .l-link {
    margin-top: 0;
  }
}

.l-link:before {
  content: '';
  width: 50%;
  height: 200px;
  position: absolute;
  right: 0;
  bottom: -50px;
  background: linear-gradient(90deg, #d2712c 0%, #ebce70 100%) no-repeat 50% 50% / 100% 100%;
}

.l-top-section-2 {
  padding: 80px 0 60px;
  background: url(../../images/new/bg.jpg) no-repeat center top;
  background-size: cover;
  background-position: center;
  margin-bottom: 100px;
}

.l-top-section-2 .l-link {
  margin-top: 0;
}

.l-top-section-2 .l-link:before {
  bottom: -60px;
}

.category .l-top-section-2 {
  background: none;
}

.l-footer {
  background: #222;
  padding: 80px 0 60px;
  font-size: 13px;
  position: relative;
}

@media only screen and (max-width: 991px) {
  .l-footer {
    padding: 20px 0 40px;
  }
}

.l-footer .l-wrap {
  max-width: 1100px;
  padding: 0;
}

@media only screen and (max-width: 991px) {
  .l-footer .l-wrap {
    width: 100%;
  }
}

.l-footer .item-l {
	padding: 0 30px 0 0;
}

@media only screen and (max-width: 991px) {
	.l-footer .item-l {
		padding: 0;
	}
}

.l-footer a {
  color: #fff;
}

.l-breadcrumb {
  padding: 30px 0;
  border-top: 1px solid #e4e9ef;
  margin: 68px 0 0;
}

@media only screen and (max-width: 991px) {
  .l-breadcrumb {
    padding: 20px 0;
    margin-top: 0;
  }
}

.l-contents {
  background: url(../../images/new/bg.png) no-repeat fixed rgba(255, 255, 255, 0.7);
  background-size: cover;
  margin: 15px 0 60px;
}
.l-contents .l-wrap{
    background:#fff;
}

.l-main {
  flex: 0 0 calc(100% - 320px);
  max-width: calc(100% - 320px);
  padding-right: 50px;
}

@media only screen and (max-width: 991px) {
  .l-main {
    max-width: 100%;
    padding-right: 0;
  }
}

.l-side {
  flex: 0 0 320px;
  max-width: 320px;
}

@media only screen and (max-width: 991px) {
  .l-side {
    max-width: 100%;
    margin-top: 40px;
  }
}

.post-meta .l-flex-wrap {
  justify-content: space-between;
}

.share-btns .l-flex-wrap {
  justify-content: center;
}

.related-posts .l-flex {
  margin-left: -30px;
}

@media only screen and (max-width: 1120px) {
  .related-posts .l-flex {
    margin-left: -15px;
  }
}

@media only screen and (max-width: 991px) {
  .related-posts .l-flex {
    margin-left: 0;
  }
}

/*------------------------------------------
* module
------------------------------------------*/
.alpha {
  zoom: 1;
  display: inline-block\9;
  /* ie8 */
}

.alpha:hover {
  opacity: .5;
  filter: alpha(opacity=70);
}

.en {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}

.grade {
  background: linear-gradient(90deg, #d4782f 0%, #e1a938 100%) no-repeat 50% 50% / 100% 100%;
}

.logo {
  max-width: 562px;
}

@media only screen and (max-width: 1120px) {
  .logo {
    padding: 15px 0;
  }
}

@media only screen and (max-width: 991px) {
  .logo {
    padding: 10px 0;
    width: 70%;
  }
}

.sub-nav {
  font-size: 13px;
  border: none !important;
}

@media only screen and (max-width: 1120px) {
  .sub-nav {
    display: none;
  }
}

#header_menu {
  display: flex;
  font-size:15px;
}

#header_menu li {
  margin-right: 25px;
}

#header_menu li:nth-child(1) a:before {
  width: 17px;
  height: 17px;
  background: url(../../images/new/icon_globe.png) no-repeat;
  background-size: 17px 17px;
  top: 3px;
}

#header_menu li:nth-child(2) a:before {
  width: 13px;
  height: 18px;
  background: url(../../images/new/icon_access.png) no-repeat;
  background-size: 13px 18px;
  top: 2px;
}

#header_menu li:nth-child(3) a {
  padding-left: 0;
}

#header_menu li a {
  display: block;
  position: relative;
  padding-left: 22px;
}

#header_menu li a:before {
  content: '';
  position: absolute;
  left: 0;
}

.h-search {
  margin-right: 25px;
  position: relative;
}

.h-search img {
  transform: scale(0.5);
}

.h-search .h-search-box {
  width: 360px;
  padding: 30px;
  background: #e4e9ef;
  position: absolute;
  right: 0;
  top: 40px;
  z-index: 555;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  display: none;
}

.h-search .h-search-box div {
  position: relative;
}

.h-search .h-search-box div input {
  background: #fff;
  border: none;
  padding: 10px;
  width: 100%;
  padding-right: 60px;
}

.h-search .h-search-box div button {
  position: absolute;
  right: 0;
  border: none;
  background: #696969;
  color: #fff;
  font-size: 15px;
  padding: 9px 20px;
  line-height: 1;
  cursor: pointer;
}

.contact-link {
  background: #696969;
  color: #fff;
  padding: 40px 45px;
}

.base {
  position: relative;
}

.gnav {
  position: relative;
  z-index: 100;
}

.gnav .nav-wrap {
  display: none;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
}

@media only screen and (max-width: 1120px) {
  .gnav .nav-wrap {
    display: block;
  }
}

.gnav .nav-wrap > .menu > li > a:hover {
  border-bottom: 2px solid #323232;
  position: relative;
  z-index: 10;
}

@media only screen and (max-width: 991px) {
  .gnav .nav-wrap > .menu > li > a:hover {
    border: none;
  }
}

.gnav .menu {
  display: flex;
  justify-content: center;
  padding: 20px 0 0;
  background: #fff;
}

@media only screen and (max-width: 1120px) {
  .gnav .menu {
    display: block;
  }
}

@media only screen and (max-width: 991px) {
  .gnav .menu {
    border-bottom: 1px solid #e4e9ef;
  }
}

.gnav .menu > li {
  padding: 0 30px 20px;
  min-width: 175px;
  position: relative;
}

@media only screen and (max-width: 991px) {
  .gnav .menu > li {
    padding: 0 15px 20px;
  }
}

.gnav .menu > li:before {
  content: '';
  width: 1px;
  height: 30px;
  background: #e4e9ef;
  transform: rotate(15deg);
  position: absolute;
  left: 0;
  top: 0;
}

@media only screen and (max-width: 1120px) {
  .gnav .menu > li:before {
    content: none;
  }
}

.gnav .menu > li:first-child:before {
  content: none;
}

.gnav .menu > li > a {
  font-weight: bold;
}

@media only screen and (max-width: 991px) {
  .gnav .menu > li > a {
    position: relative;
  }
  .gnav .menu > li:first-child > a::before,
  .gnav .menu > li:last-child > a::before {
    content: '';
    width: 14px;
    height: 1px;
    background: #222;
    position: absolute;
    right: 0;
    top: 6px;
  }
  .gnav .menu > li:first-child > a::after,
  .gnav .menu > li:last-child > a::after {
    content: '';
    width: 1px;
    height: 14px;
    background: #222;
    position: absolute;
    right: 7px;
    top: 0;
  }
}

.gnav .menu > li:first-child > a.close:before,
.gnav .menu > li:last-child > a.close:before {
  content: '';
  width: 14px;
  height: 1px;
  background: #222;
  position: absolute;
  right: 0;
  top: 6px;
}

.gnav .menu > li > a.close:after {
  content: none;
}

.gnav .menu > li a {
  padding-bottom: 10px;
}

@media only screen and (max-width: 991px) {
  .gnav .menu > li a {
    display: block;
  }
}

.gnav .menu .sub-menu {
  padding-top: 10px;
  background: #fff;
}

@media only screen and (max-width: 1120px) {
  .gnav .menu .sub-menu {
    display: none;
  }
}

@media only screen and (max-width: 991px) {
  .gnav .menu .sub-menu {
    padding-top: 0;
  }
}

.gnav .menu .sub-menu li {
  padding: 5px 0;
  text-align: left;
}

.gnav .menu .sub-menu li a {
  padding-bottom: 5px;
  font-size: 14px;
}

.gnav .menu .sub-menu li a:hover {
  border-bottom: 1px solid #222;
}

@media only screen and (max-width: 991px) {
  .gnav .menu .sub-menu li a {
    font-size: 13px;
  }
}

.gnav .menu .sub-menu .sub-menu {
  padding: 0 0 0 1em;
}

@media only screen and (max-width: 1120px) {
  .gnav .menu .sub-menu .sub-menu {
    display: block;
  }
}

.gnav .nav-wrap + .menu {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
}

@media only screen and (max-width: 1120px) {
  .gnav .nav-wrap + .menu {
    display: none;
  }
}

.gnav .nav-wrap + .menu .sub-menu {
  display: none;
}

.gnav .nav-wrap + .menu .sub-menu a:hover {
  border-bottom: none;
}

.slick-slide img {
  width: 100%;
}

.l-slider {
  margin-top: 68px;
  max-width: 1500px;
    margin: 0 auto;
}

@media only screen and (max-width: 1120px) {
  .l-slider {
    margin-top: 0;
  }
}

@media only screen and (max-width: 991px) {
  .l-slider {
    position: relative;
  }
  .l-slider:after {
    content: 'SCROLL';
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 12px;
    position: absolute;
    left: 50%;
    bottom: 15px;
    transform: translateX(-50%);
  }
}

.l-slider .grade {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../../images/new/grade-orange.jpg) no-repeat center;
  background-size: cover;
  opacity: .10;
  mix-blend-mode: hard-light;
}

.scroll {
  position: absolute;
  right: 0;
  bottom: 120px;
  transform: rotate(90deg);
  font-size: 12px;
}

@media only screen and (max-width: 991px) {
  .scroll {
    display: none;
  }
}

.scroll .base {
  padding-right: 80px;
}

.scroll .base:before {
  content: '';
  width: 60px;
  height: 1px;
  background: #323232;
  position: absolute;
  right: 0;
  top: 50%;
}

.scroll .base:after {
  content: '';
  width: 6px;
  height: 6px;
  background: #323232;
  border-radius: 3px;
  position: absolute;
  right: -3px;
  top: 50%;
  margin-top: -2px;
}

.slick-dots {
  width: auto !important;
  bottom: 44px !important;
  right: 150px;
  z-index: 10;
}

@media only screen and (max-width: 991px) {
  .slick-dots {
    bottom: 5px !important;
    right: 15px;
  }
}

.slick-dots li {
  width: 50px !important;
  height: 3px !important;
  background: #fff;
}

@media only screen and (max-width: 991px) {
  .slick-dots li {
    width: 20px !important;
    height: 2px !important;
  }
}

.slick-dots li button:before {
  content: none !important;
}

.slick-dots .slick-active {
  background: #323232 !important;
}

.main-logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: scale(0.5) translate(-100%, -100%);
}

@media only screen and (max-width: 991px) {
  .main-logo {
    width: 66%;
  }
}

.scroll-mark {
  width: 30px;
  height: 30px;
  border: 1px solid #323232;
  border-radius: 15px;
  margin: 30px auto;
  position: relative;
}

.scroll-mark:before {
  content: '';
  width: 1px;
  height: 100px;
  background: #323232;
  position: absolute;
  left: 50%;
  top: -85px;
}

@media only screen and (max-width: 991px) {
  .scroll-mark:before {
    height: 60px;
    top: -45px;
  }
}

.scroll-mark:after {
  content: '';
  width: 6px;
  height: 6px;
  background: #323232;
  border-radius: 5px;
  position: absolute;
  left: 50%;
  bottom: 12px;
  margin-left: -3px;
}

.top-section .section-title {
  text-align: center;
  font-size: 40px;
  margin-bottom: 60px;
  letter-spacing: .2em;
  line-height: 1;
}

@media only screen and (max-width: 991px) {
  .top-section .section-title {
    font-size: 30px;
  }
}

.top-section .section-title span {
  font-size: 15px;
  color: #656565;
}

@media only screen and (max-width: 991px) {
  .top-section .section-title span {
    font-size: 14px;
  }
}

.card {
  flex: 0 0 33.3%;
  max-width: 33.3%;
  padding-left: 60px;
  margin-bottom: 60px;
  position: relative;
  z-index: 10;
}

@media only screen and (max-width: 1120px) {
  .card {
    padding-left: 30px;
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 991px) {
  .card {
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 0;
  }
}

.card a:hover .thumbnail img {
  transform: scale(1.1);
}

.card .thumbnail {
  max-height: 238px;
  overflow: hidden;
}

@media only screen and (max-width: 991px) {
  .card .thumbnail {
    max-height: 300px;
  }
}

.card .thumbnail img {
  transition: all .3s ease;
}

@media only screen and (max-width: 991px) {
  .card .thumbnail img {
    width: 100%;
  }
}

.card .card-inner {
  padding: 30px;
  background: #fff;
}

@media only screen and (max-width: 1120px) {
  .card .card-inner {
    padding: 15px;
  }
}

.card .meta {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}

.card .meta li {
  line-height: 1;
}

.card .meta .grade {
  color: #fff;
  font-size: 12px;
  padding: 0 10px;
  display: flex;
  height: 100%;
  align-items: center;
}

.card .meta time {
  font-size: 30px;
  font-weight: bold;
}

@media only screen and (max-width: 991px) {
  .card .meta time {
    font-size: 22px;
  }
}

.card .meta time .small {
  font-size: 16px;
}

.card .title {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.4;
}

.drop-sd {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.link {
  font-size: 13px;
  font-weight: 800;
  padding-right: 30px;
  position: relative;
}

.link:after {
  content: '';
  width: 13px;
  height: 13px;
  background: url(../../images/new/icon_aquare.png) no-repeat;
  background-size: 13px 13px;
  position: absolute;
  right: 0;
  top: 2px;
}

@media only screen and (max-width: 991px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}

@media only screen and (max-width: 991px) {
  .sp {
    display: block;
  }
}

.box {
  background: #fff;
  max-width: 1000px;
  margin: 0 auto 50px;
  padding: 20px 50px 50px;
  position: relative;
  z-index: 10;
}

@media only screen and (max-width: 991px) {
  .box {
    padding: 15px;
  }
}

.box a {
  display: block;
  padding: 30px;
  border-bottom: 1px solid #e4e9ef;
  font-size: 14px;
  padding: 15px 0;
}

.box .en.grade {
  font-size: 12px;
  color: #fff;
  padding: 5px 10px;
}

@media only screen and (max-width: 991px) {
  .box .en.grade {
    display: inline-block;
    margin-bottom: 10px;
  }
}

.box .en {
  font-size: 13px;
  padding: 0 20px;
}

.item-l {
  flex: 0 0 calc(100% - 190px);
}

.item-l .menu > li {
  display: grid;
  grid-template-columns: 230px auto;
  margin-bottom: 23px;
}

@media only screen and (max-width: 991px) {
  .item-l .menu > li {
    display: block;
    margin-bottom: 0;
  }
}

.item-l .menu > li > a {
  font-weight: bold;
  flex: 0 0 25%;
}

@media only screen and (max-width: 991px) {
  .item-l .menu > li > a {
    display: block;
    padding: 10px 15px;
    position: relative;
  }
  .item-l .menu > li > a:before {
    content: '';
    width: 14px;
    height: 1px;
    background: #fff;
    position: absolute;
    right: 15px;
    top: 50%;
  }
  .item-l .menu > li > a:after {
    content: '';
    width: 1px;
    height: 14px;
    background: #fff;
    position: absolute;
    right: 22px;
    top: 15px;
  }
}

.item-l .menu > li > a.close:before {
  content: '';
  width: 14px;
  height: 1px;
  background: #fff;
  position: absolute;
  right: 15px;
  top: 50%;
}

.item-l .menu > li > a.close:after {
  content: none;
}

.item-l .menu > li .sub-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 0;
  position: relative;
}

@media only screen and (max-width: 991px) {
  .item-l .menu > li .sub-menu {
    display: none;
  }
}

.item-l .menu > li .sub-menu:before {
  content: '';
  width: 90px;
  height: 1px;
  background: #515151;
  position: absolute;
  left: -100px;
  top: 11px;
}

@media only screen and (max-width: 991px) {
  .item-l .menu > li .sub-menu:before {
    content: none;
  }
}

.item-l .menu > li .sub-menu li {
  padding: 0 15px;
  position: relative;
}

@media only screen and (max-width: 991px) {
  .item-l .menu > li .sub-menu li {
    padding: 0;
    border-top: 1px solid #2a2a2a;
  }
  .item-l .menu > li .sub-menu li:first-child {
    border: none;
  }
}

.item-l .menu > li .sub-menu li:before {
  content: '';
  width: 1px;
  height: 14px;
  background: #515151;
  position: absolute;
  right: 0;
  top: 3px;
  transform: rotate(15deg);
}

@media only screen and (max-width: 991px) {
  .item-l .menu > li .sub-menu li:before {
    content: none;
  }
}

.item-l .menu > li .sub-menu li:last-child:before {
  content: none;
}

.item-l .menu > li .sub-menu a {
  opacity: .6;
}

@media only screen and (max-width: 991px) {
  .item-l .menu > li .sub-menu a {
    display: block;
    padding: 10px 15px;
    background: #0c0c0c;
  }
}

.item-l .menu > li .sub-menu a:hover {
  opacity: 1;
}

.item-r {
  flex: 0 0 190px;
}

@media only screen and (max-width: 991px) {
  .item-r {
    margin-top: 30px;
  }
}

.item-r a {
  display: block;
  text-align: center;
  margin-bottom: 20px;
}

@media only screen and (max-width: 991px) {
  .item-r a {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
}

.btn span {
  position: relative;
}

.btn-1 {
  background: #fff;
  padding: 20px;
  position: relative;
}

.btn-1:before {
  content: '';
  width: 0;
  height: 100%;
  background: #323232;
  position: absolute;
  left: 0;
  top: 0;
  transition: all .3s;
}

.btn-1:hover:before {
  width: 100%;
}

.btn-1:hover span {
  color: #fff;
}

.btn-1 span {
  color: #222;
}

.btn-2 {
  background: #323232;
  font-weight: bold;
  padding: 20px;
  margin-bottom: 40px;
  position: relative;
}

.btn-2:before {
  content: '';
  width: 0;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  transition: all .3s;
}

.btn-2:hover:before {
  width: 100%;
}

.btn-2:hover span {
  color: #222;
}

.btn-2 span {
  color: #fff;
}

.copy {
  color: #a6a6a6;
  font-size: 11px;
  text-align: right;
  margin-top: 30px;
  padding-right: 5%;
}

.to-top {
  position: absolute;
  right: 0;
  bottom: 160px;
  transform: rotate(90deg);
  font-size: 12px;
}

@media only screen and (max-width: 991px) {
  .to-top {
    right: -55px;
  }
}

.to-top .base {
  padding-left: 80px;
}

.to-top .base:before {
  content: '';
  width: 60px;
  height: 1px;
  background: #fff;
  position: absolute;
  left: 0;
  top: 50%;
}

.to-top .base:after {
  content: '';
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 3px;
  position: absolute;
  left: -3px;
  top: 50%;
  margin-top: -2px;
}

.f-logo.sp {
  text-align: center;
  transform: scale(0.5);
}

#bread_crumb li {
  position: relative;
  display: inline-block;
  padding: 0 0 0 30px;
  font-size: 12px;
}

@media only screen and (max-width: 991px) {
  #bread_crumb li {
    padding: 0 0 0 15px;
  }
}

#bread_crumb li:first-child {
  padding-left: 0;
}

#bread_crumb li a {
  font-size: 12px;
  color: #666;
}

#bread_crumb .post-categories li {
  padding: 0 0 0 30px;
}

@media only screen and (max-width: 991px) {
  #bread_crumb .post-categories li {
    padding: 0 0 0 15px;
  }
}

#bread_crumb .post-categories li:before {
  content: '\f054';
  font-family: FontAwesome;
  font-size: 10px;
  color: #666;
  position: absolute;
  left: 7px;
  top: 6px;
}

@media only screen and (max-width: 991px) {
  #bread_crumb .post-categories li:before {
    left: 2px;
    top: 3px;
  }
}

#bread_crumb li:before {
  content: '\f054';
  font-family: FontAwesome;
  font-size: 10px;
  color: #666;
  position: absolute;
  left: 7px;
  top: 1px;
}

#bread_crumb li:first-child:before {
  content: none;
}

@media only screen and (max-width: 991px) {
  #bread_crumb li:before {
    left: 2px;
  }
}

.post-header .post-meta {
  padding: 0 0 10px 25px;
  position: relative;
}

.post-header .post-meta:before {
  content: '';
  width: 5px;
  height: 100%;
  background: linear-gradient(0deg, #d4782f 0%, #e1a938 100%) no-repeat 50% 50%/100% 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.post-header .post-meta time {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4;
}

@media only screen and (max-width: 991px) {
  .post-header .post-meta time {
    font-size: 22px;
  }
}

.post-header .post-meta time .small {
  font-size: 16px;
}

.post-header .post-meta p {
  font-size: 11px;
  color: #666;
}

.post-header .post-meta p time {
  font-size: 11px;
  font-weight: normal;
}

@media only screen and (max-width: 991px) {
  .post-header .post-meta p time {
    font-size: 11px;
  }
}

.post-header .grade {
  color: #fff;
  font-size: 12px;
  padding: 0 10px;
  display: flex;
  align-items: center;
}

.post-title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
  margin: 1em 0;
}

@media only screen and (max-width: 1120px) {
  .post-title {
    font-size: 20px;
  }
}

@media only screen and (max-width: 991px) {
  .post-title {
    font-size: 18px;
  }
}

.post-content-wrap {
  padding: 10px 0 40px;
  font-size: 15px;
}

@media only screen and (max-width: 991px) {
  .post-content-wrap {
    font-size: 13px;
  }
}

.post-content-wrap .thumbnail {
  max-width: 320px;
  margin: 0 0 40px 40px;
  float: right;
}

@media only screen and (max-width: 991px) {
  .post-content-wrap .thumbnail {
    max-width: 100%;
    margin: 0 0 20px;
    float: none;
  }
}

.post-content-wrap p {
  margin-bottom: 1.5em;
}

.post-content-wrap strong {
  font-weight: bold;
}

.post-content-wrap a {
  color: #3c91dd;
  text-decoration: underline;
  word-break: break-all;
}

.post-content-wrap a:hover {
  text-decoration: none;
}

.post-content-wrap .table-wrap {
  overflow-x: scroll;
}

.post-content-wrap table {
  margin: 2.5em 0;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  width: 100%;
}

/*@media only screen and (max-width: 991px) {
  .post-content-wrap table {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
}*/

.post-content-wrap table tr th {
  border-bottom: 1px solid #222;
  border-right: 1px solid #e4e9ef;
  font-weight: bold;
  text-align: center;
}

.post-content-wrap table tr th:last-child {
  border-right: none;
}

.post-content-wrap table tr td {
  border-bottom: 1px solid #e4e9ef;
  border-right: 1px solid #e4e9ef;
}

.post-content-wrap table tr td:last-child {
  border-right: none;
}

.post-content-wrap table tr:last-child td {
  border-bottom: none;
}

.post-content-wrap table tr th, .post-content-wrap table tr td {
  padding: 12px 10px;
}

.post-content-wrap .color-def {
  color: #222;
  text-decoration: none;
}

.post-content-wrap .color-def:hover {
  text-decoration: underline;
}

.post-content{
    border-bottom: 1px solid #e4e9ef;
}

.post-content .color-def {
  color: #222;
  text-decoration: none;
}

.post-content .color-def:hover {
  text-decoration: underline;
}

.post-content p {
  margin-bottom: 1.5em;
}

.post-content strong {
  font-weight: bold;
}

.post-content a {
  color: #3c91dd;
  text-decoration: underline;
}

.post-content a:hover {
  text-decoration: none;
}

@media only screen and (max-width: 991px) {
.post-content .table-wrap {
  overflow-x: scroll;
}
}

.post-content table {
  margin: 2.5em 0;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  width: 100%;
}

@media only screen and (max-width: 991px) {
  .post-content table {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    float: none;
  }
}

@media only screen and (max-width: 991px) {
}

.post-content table tr th {
  border-bottom: 1px solid #222;
  border-right: 1px solid #e4e9ef;
  font-weight: bold;
  text-align: center;
}

.post-content table tr th:last-child {
  border-right: none;
}

.post-content table tr td {
  border-bottom: 1px solid #e4e9ef;
  border-right: 1px solid #e4e9ef;
}

.post-content table tr td:last-child {
  border-right: none;
}

/*.post-content table tr:last-child td {
  border-bottom: none;
}*/

.post-content table tr th, .post-content table tr td {
  padding: 12px 10px;
}

.post-content h2, .post-content h3, .post-content h4 {
  font-weight: bold;
  margin: 2.5em 0 1em;
}

.post-content h2 {
  font-size: 22px;
  border-bottom: 1px solid #222;
  padding-bottom: 10px;
}

@media only screen and (max-width: 991px) {
  .post-content h2 {
    font-size: 18px;
  }
}

.post-content h3 {
  font-size: 20px;
}

@media only screen and (max-width: 991px) {
  .post-content h3 {
    font-size: 16px;
  }
}

.post-content h4 {
  font-size: 18px;
}

@media only screen and (max-width: 991px) {
  .post-content h4 {
    font-size: 15px;
  }
}

.post-content ul, .post-content ol {
  margin: 2.5em 0;
}

.post-content ul li, .post-content ol li {
  padding-left: 18px;
  position: relative;
  margin: 5px 0;
}

.post-content ul li ul, .post-content ul li ol, .post-content ol li ul, .post-content ol li ol {
  margin-top: 0;
}

.post-content ul li:before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: #d27887;
  position: absolute;
  left: 0;
  top: 11px;
}

.post-content ol li {
  padding-left: 20px;
}

.post-content ol li:nth-child(1):before {
  content: "1";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(2):before {
  content: "2";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(3):before {
  content: "3";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(4):before {
  content: "4";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(5):before {
  content: "5";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(6):before {
  content: "6";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(7):before {
  content: "7";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(8):before {
  content: "8";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(9):before {
  content: "9";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(10):before {
  content: "10";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(11):before {
  content: "11";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(12):before {
  content: "12";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(13):before {
  content: "13";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(14):before {
  content: "14";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content ol li:nth-child(15):before {
  content: "15";
  color: #d27887;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content dl {
  margin: 2.5em 0;
}

.post-content dl dt {
  display: inline-block;
  background: #e8ecef;
  font-weight: bold;
  padding: 12px 20px;
  margin-bottom: 15px;
}

.post-content .yellow-line {
  border-bottom: 2px solid #eee57b;
  padding-bottom: 5px;
}

.post-content .pink-line {
  border-bottom: 2px solid #eccacf;
  padding-bottom: 5px;
}

.post-content .blue-line {
  border-bottom: 2px solid #c4d6e5;
  padding-bottom: 5px;
}

.post-content .green-line {
  border-bottom: 2px solid #b6e2df;
  padding-bottom: 5px;
}

.post-content a.grade {
  display: block;
  text-align: center;
  max-width: 340px;
  margin: 40px auto;
  padding: 15px;
  text-decoration: none;
  color: #222;
}

.post-content a.grade:after {
  content: '';
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 10px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.post-content a.grade:hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
  background: linear-gradient(-90deg, #E8B7BF 0%, #93BEE3 100%) no-repeat 50% 50%/100% 100%;
}

.post-content a.grade .btn-inner:before, .post-content a.grade .btn-inner:after {
  background: #222;
}

.post-content .btn-2 {
  display: block;
  text-align: center;
  max-width: 340px;
  margin: 40px auto;
  padding: 15px;
  text-decoration: none;
  background: #3d3f40;
}

.post-content .btn-2:after {
  content: '';
  width: 20px;
  height: 20px;
  background: #1f2021;
  border-radius: 10px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.post-content .btn-2 .btn-inner:before, .post-content .btn-2 .btn-inner:after {
  background: #fff;
}

.post-content .btn-inner {
  font-weight: bold;
  display: block;
  position: relative;
}

.post-content .btn-inner:before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 3px;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

.post-content .btn-inner:after {
  content: '';
  width: 30px;
  height: 1px;
  position: absolute;
  right: 15px;
  top: 50%;
  z-index: 10;
}

.post-content blockquote {
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  padding: 2.5em 5em 1em;
  position: relative;
  margin: 3em 0;
}

@media only screen and (max-width: 991px) {
  .post-content blockquote {
    padding-left: 1em;
    padding-right: 1em;
  }
}

.post-content blockquote:before {
  content: url(../../images/new/mark_bq_1.png);
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  transform: scale(0.5) translate(-50%, -100%);
}

.post-content blockquote:after {
  content: url(../../images/new/mark_bq_2.png);
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: scale(0.5) translate(50%, 100%);
}

.post-content .att-box {
  margin: 3.5em 0;
}

.post-content .att-box .title {
  font-weight: bold;
  margin-bottom: 5px;
}

.post-content .att-box-1 {
  border: 2px solid #e4e9ef;
  border-left: none;
  padding: 1.5em 2.5em 0;
  position: relative;
}

@media only screen and (max-width: 991px) {
  .post-content .att-box-1 {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
}

.post-content .att-box-1:before {
  content: '';
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #E8B7BF 0%, #93BEE3 100%) no-repeat 50% 50%/100% 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content .att-box-2 {
  background: #e4e9ef;
  padding: 1.5em 2.5em .1em;
}

@media only screen and (max-width: 991px) {
  .post-content .att-box-2 {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
}

.post-content .att-box-3 {
  border: 2px solid #e4bac1;
  padding: 3.5em 2.5em 0;
  position: relative;
}

@media only screen and (max-width: 991px) {
  .post-content .att-box-3 {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
}

.post-content .att-box-3 .title {
  background: #e4bac1;
  color: #fff;
  padding: 6px 20px;
  position: absolute;
  left: 0;
  top: 0;
}

.post-content .share-btns ul li:before {
  content: none;
}

.event-box {
  border: 1px solid #222;
  background: #fff;
  padding: 20px 40px;
  margin-top: 40px;
}

@media only screen and (max-width: 1120px) {
  .event-box {
    padding: 20px;
  }
}

@media only screen and (max-width: 991px) {
  .event-box {
    padding: 15px;
  }
}

.event-box .title {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px solid #222;
  padding-bottom: 5px;
  margin-bottom: 10px;
}

@media only screen and (max-width: 991px) {
  .event-box .title {
    font-size: 15px;
  }
}

.event-box dl {
  display: flex;
  flex-wrap: wrap;
  padding: 5px 15px 0;
  font-size: 15px;
  overflow: hidden;
}

@media only screen and (max-width: 991px) {
  .event-box dl {
    font-size: 14px;
    padding: 5px 0 0;
  }
}

.event-box dl dt {
  font-weight: bold;
  flex: 0 0 3em;
}

.event-box dl dd {
  flex: 0 0 calc(100% - 3em);
}

.share-btns {
  border-bottom: 1px solid #e4e9ef;
  padding-bottom: 30px;
  margin: 40px 0;
}

.share-btns li {
  padding: 0 20px;
}

.share-btns li i {
  font-size: 30px;
}

.fb a {
  color: #3664a2;
}

.tw a {
  color: #1da1f2;
}

.feed a {
  color: #11b241;
}

.tags ul li {
  margin-bottom: 10px;
}

.tags ul li a {
  border: 1px solid #222;
  padding: 6px 15px;
  background: #fff;
}

.related-posts {
  padding-top: 40px;
}

@media only screen and (max-width: 991px) {
  .related-posts {
    padding-top: 30px;
  }
}

.related-posts > .title {
  text-align: center;
  font-size: 30px;
  margin-bottom: 60px;
  letter-spacing: .2em;
  line-height: 1;
}

@media only screen and (max-width: 991px) {
  .related-posts > .title {
    font-size: 24px;
    margin-bottom: 40px;
  }
}

.related-posts > .title span {
  font-size: 15px;
  color: #656565;
}

@media only screen and (max-width: 991px) {
  .related-posts > .title span {
    font-size: 14px;
  }
}

.related-posts .related-post-wrap {
  padding-left: 30px;
    width:200px;
}

@media only screen and (max-width: 1120px) {
  .related-posts .related-post-wrap {
    padding-left: 15px;
  }
}

@media only screen and (max-width: 991px) {
  .related-posts .related-post-wrap {
    width: 100%;
    padding-left: 0;
    margin-bottom: 20px;
  }
}

.related-posts .related-post-wrap .thumbnail-wrap {
  overflow: hidden;
  max-height: 180px;
}

.related-posts .related-post-wrap .title {
  font-size: 14px;
  font-weight: bold;
  padding-top: 30px;
}

@media only screen and (max-width: 991px) {
  .related-posts .related-post-wrap .title {
    padding-top: 15px;
  }
}

.related-posts .related-post-wrap .title a:hover {
  text-decoration: underline;
}

.related-posts .l-flex{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media only screen and (max-width: 991px) {
    .related-posts .l-flex{
        grid-template-columns: 1fr 1fr;
        gap: 15px;
    }
}

.sns-area {
  margin: 80px 0;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  padding: 40px 80px;
}

@media only screen and (max-width: 1120px) {
  .sns-area {
    margin: 60px 0;
    padding: 40px;
  }
}

@media only screen and (max-width: 991px) {
  .sns-area {
    margin: 40px 0;
    padding: 20px 30px;
  }
}

.sns-area .title {
  text-align: center;
  font-size: 30px;
  margin-bottom: 20px;
  letter-spacing: .2em;
  line-height: 1;
}

@media only screen and (max-width: 991px) {
  .sns-area .title {
    font-size: 26px;
  }
}

.sns-area p {
  text-align: center;
  font-size: 15px;
  color: #656565;
  margin-bottom: 30px;
}

@media only screen and (max-width: 991px) {
  .sns-area p {
    font-size: 14px;
  }
}

.sns-area .sns {
  justify-content: center;
  padding: 0 10px;
}

.sns-area .sns li {
  padding: 0 10px;
}

@media only screen and (max-width: 991px) {
  .sns-area .sns li {
    flex: 0 0 33.3%;
  }
}

.sns-area .sns li a {
  padding: 10px 60px;
  font-size: 24px;
}

.sns-area .sns .fb a {
  border: 1px solid #3664a2;
}

.sns-area .sns .fb a:hover {
  background: #3664a2;
  color: #fff;
}

.sns-area .sns .tw a {
  border: 1px solid #1da1f2;
}

.sns-area .sns .tw a:hover {
  background: #1da1f2;
  color: #fff;
}

.sns-area .sns .feed a {
  border: 1px solid #11b241;
}

.sns-area .sns .feed a:hover {
  background: #11b241;
  color: #fff;
}

.side-title {
  text-align: center;
  font-size: 22px;
  line-height: 1.4;
  margin-bottom: 40px;
  padding-bottom: 20px;
  position: relative;
}

.side-title:after {
  content: '';
  width: 30px;
  height: 2px;
  background: linear-gradient(90deg, #E8B7BF 0%, #93BEE3 100%) no-repeat 50% 50%/100% 100%;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

.side-title span {
  font-size: 13px;
}

.post-list {
  margin-bottom: 30px;
}

.post-list li {
  padding: 15px 0;
  border-bottom: 1px solid #e4e9ef;
}

.post-list li:first-child {
  border-top: 1px solid #e4e9ef;
}

.post-list li .thumbnail {
  flex: 0 0 80px;
  max-width: 80px;
}

.post-list li .text {
  flex: 0 0 calc(100% - 80px);
  max-width: calc(100% - 80px);
  padding-left: 15px;
}

.post-list li .text .l-flex-wrap {
  justify-content: space-between;
}

.post-list li .text .en {
  font-size: 12px;
  color: #6e6e6e;
}

.post-list li .text .post-cat {
  font-size: 11px;
  padding-bottom: 5px;
}

.post-list li .text .post-cat .en {
  color: #fff;
  padding: 3px 10px;
}

.post-list li .text p {
  font-size: 13px;
}

.post-list li a:hover p {
  text-decoration: underline;
}

ol.post-list li a {
  position: relative;
}

ol.post-list li a:before {
  width: 22px;
  height: 22px;
  border-radius: 11px;
  background: #505050;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 10px;
  color: #fff;
  line-height: 22px;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-30%, -30%);
}

ol.post-list li:nth-child(1) a:before {
  content: "1";
}

ol.post-list li:nth-child(2) a:before {
  content: "2";
}

ol.post-list li:nth-child(3) a:before {
  content: "3";
}

.view-btn {
  border: 1px solid #222;
  font-size: 11px;
  display: block;
  width: 150px;
  margin: 0 auto 60px;
  padding: 12px;
  text-align: center;
  position: relative;
}

.view-btn:before {
  content: '';
  width: 0;
  height: 100%;
  background: #222;
  position: absolute;
  left: 0;
  top: 0;
  transition: all .3s;
}

.view-btn:hover:before {
  width: 100%;
}

.view-btn:hover span {
  position: relative;
  color: #fff;
}

.l-side .sns-area {
  padding-left: 0;
  padding-right: 0;
}

.l-side .sns-area .sns li {
  padding: 0 20px;
}

.l-side .sns-area .sns li a {
  padding: 0;
  border: none;
}

.l-side .sns-area .sns .fb a:hover {
  color: #3664a2;
  background: none;
}

.l-side .sns-area .sns .tw a:hover {
  color: #1da1f2;
  background: none;
}

.l-side .sns-area .sns .feed a:hover {
  color: #11b241;
  background: none;
}

.page_navi {
  margin: 3em 0 5em;
}

.page_navi ul.page-numbers {
  display: flex;
  margin-left: -10px;
}

.page_navi ul.page-numbers li {
  padding-left: 10px;
}

.page_navi ul.page-numbers li span,
.page_navi ul.page-numbers li a {
  display: block;
  background: #e4e9ef;
  padding: 10px 18px;
}

@media only screen and (max-width: 991px) {
  .page_navi ul.page-numbers li span,
  .page_navi ul.page-numbers li a {
    padding: 6px 12px;
  }
}

.page_navi ul.page-numbers li .current,
.page_navi ul.page-numbers li a:hover {
  background: #222;
  color: #fff;
}

.page_navi ul.page-numbers li .dots {
  background: none;
  padding-left: 5px;
  padding-right: 5px;
}

form input[type="text"],
form input[type="email"],
form input[type="tel"],
form textarea {
  width: 100%;
  border: 1px solid #aaa;
  padding: 10px;
  font-size: 14px;
}

form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="tel"]:focus,
form textarea:focus {
  border: 1px solid #222;
  outline: 0;
}

form input[type="submit"] {
  background: #323232;
  font-weight: bold;
  padding: 20px;
  min-width: 220px;
  color: #fff;
  font-size: 16px;
  display: block;
  margin: 0 auto 40px;
  cursor: pointer;
  border: 1px solid #222;
  transition: all .3s;
}

form input[type="submit"]:hover {
  background: #fff;
  color: #222;
}

.hidden-checkbox {
  display: none;
}

@media only screen and (max-width: 1119px) {
  .menu-btn {
    background: #222;
    position: absolute;
    right: 0;
  }
  .menu-btn .base {
    height: 100%;
  }
  .menu-icon {
    cursor: pointer;
    display: block;
    height: 21px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 22px;
    z-index: 9999;
  }
  .menu-icon::before {
    box-shadow: #fff 0 9px 0;
    height: 2px;
    transform-origin: left top;
    width: 21px;
  }
  .menu-icon::after {
    bottom: 0;
    height: 2px;
    transform-origin: left bottom;
    width: 21px;
  }
  .menu-icon::before,
  .menu-icon::after {
    background: #fff;
    display: block;
    content: '';
    position: absolute;
    transition: box-shadow 0.3s linear, transform 0.3s;
  }
  .gnav {
    width: 100%;
    display: none;
  }
  .hidden-checkbox:checked ~ .menu-icon::before {
    background: #fff;
    box-shadow: transparent 0 0 0;
    transform: rotate(45deg) translate3d(2px, 0px, 0);
  }
  .hidden-checkbox:checked ~ .menu-icon::after {
    background: #fff;
    transform: rotate(-45deg) translate3d(3px, -1px, 0);
  }
}

/*251007追加*/
div#ez-toc-container ul li{
    padding-left: 20px;
}
.alignright{
    float: right;
    margin-left: 20px;
}
.alignleft{
    float: left;
    margin-right: 20px;
}
.post-wrap .thumbnail {
  max-width: 200px;
  margin: 0 0 40px 40px;
  float: right;
}

@media only screen and (max-width: 991px) {
  .post-wrap .thumbnail {
    max-width: 100%;
    margin: 0 0 20px;
    float: none;
  }
}
  .post-wrap article{
     margin: 40px 0; 
    }
    
.read-more{
    text-align:right;
}    
.taxonomy-list li{
    position:relative;
    padding-left: 20px;
}
.taxonomy-list li::before{
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 10px;
    height: 1px;
    background:#ccc;
}
.pagenavi{
    border-top: 1px solid #e4e9ef;
    border-bottom: 1px solid #e4e9ef;
    padding: 20px 0;
}
.pagenavi ul{
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.pagenavi ul li a{
    color: #3c91dd;
    text-decoration: underline;
}
.fa-chevron-circle-right:before {
    color: #ffd700;
}
/*251226追加*/
.slick-slide {
  aspect-ratio: 16 / 9;
}

.slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .slick-slide {
    aspect-ratio: 3 / 4; /* 縦長 */
  }
}