@charset "UTF-8";
@font-face {
    font-family: 'Zen Old Mincho';
    src: url('../fonts/ZenOldMincho-Regular.woff2') format('woff2'),
        url('../fonts/ZenOldMincho-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Zen Old Mincho';
    src: url('../fonts/ZenOldMincho-SemiBold.woff2') format('woff2'),
        url('../fonts/ZenOldMincho-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Zen Old Mincho';
    src: url('../fonts/ZenOldMincho-Bold.woff2') format('woff2'),
        url('../fonts/ZenOldMincho-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/*---------------------------------
root
-----------------------------------*/ :root {
  font-size: 100%;
  --color-base: #dee7e9;
  --color-main: #80adb5;
  --color-gray: #808080;
  --color-link: #2d6b78;
  --color-sublink: #80adb5;
  --color-hover: #adcad0;
}
/*---------------------------------
html,body
-----------------------------------*/
html, body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: #111111;
  font-size: 14px;
}

.font-size-12 {
  font-size: 12px !important;
  display: inline !important;
}

.font-size-14 {
  font-size: 14px !important;
  display: inline !important;
}

.font-size-16 {
  font-size: 16px !important;
  display: inline !important;
}

.font-size-18 {
  font-size: 18px !important;
  display: inline !important;
}

@media (max-width: 767px) {
  .font-size-12,
  .font-size-14,
  .font-size-16 {
    font-size: 10px !important;
    display: inline !important;
  }
}

body {
  position: relative;
}
.pc-none {
  display: none;
}
.sp-none {
  display: block;
}
.tab-none{
  display: block;
}
.wrapper {
  width: 100%;
  overflow: hidden;
}
a {
  text-decoration: none;
}
a.underline:hover {
  text-decoration: underline;
}
img {
  max-width: 100%;
}
ul {
  padding-left: 0
}
li {
  list-style: none;
}
a[href^="tel:"] {
  pointer-events: none;
}
.row {
  padding: 0px;
  margin: 0px;
}
.row > * {
  padding: 0px;
  margin: 0px;
}

@media (max-width: 1199px) {
  .tablet-none{
      display: none;
  }
}

@media (max-width: 1199px) {
  .pc-none {
    display: block;
  }
  .sp-none {
    display: none;
  }
  .no-cursor {
    text-decoration: none !important;
    pointer-events: none !important;
    color: #111111 !important;
  }
  .no-cursor a {
    text-decoration: none !important;
    pointer-events: none !important;
    color: #111111 !important;
  }
  .no-cursor a[href^="tel:"] {
    text-decoration: none !important;
    pointer-events: none !important;
    color: #111111 !important;
  }
}
@media (max-width: 767px) {
  .pc-none {
    display: block;
  }
  .sp-none {
    display: none;
  }
  a[href^="tel:"] {
    pointer-events: all;
  }
}
/*---------------------------------
global
-----------------------------------*/
.g-w1200 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
section + section {
  margin-top: 100px;
}
.section-title h2 {
  font-size: 2.6rem;
  font-weight: bold;
  padding-bottom: 16px;
}
/*---------------------------------
フォント
-----------------------------------*/
.font-zen-mincho {
  font-family: 'Zen Old Mincho', serif;
  font-smooth: always;
}
/*---------------------------------
共通
-----------------------------------*/
.title-label {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  margin-bottom: 40px !important;
  font-size: 24px;
  font-weight: bold;
}
.color-white {
  color: #ffffff;
}
.title-label.center {
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
}
.title-label.main {
  font-size: 32px;
}
.title-label::before {
  content: "";
  display: block;
  background-image: url("../img/icon-symbol.svg");
  background-repeat: no-repeat;
  background-size: cover;
  height: 30px;
  width: 30px;
  margin-right: 10px;
}
.title-label.color-white::before {
  background-image: url("../img/icon-symbol-white.svg");
}
/*
  .home a {
	color: #000;
  }
*/
.icon-license {
  position: absolute;
  top: 0;
  left: 0;
}
a.target-blank {
  display: inline-block;
}
a.target-blank::after {}
.post-title {
  font-size: 18px;
}
/*アイコン親*/
.head-icon {
  position: relative;
  padding-left: 26px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 3px 10px;
}
/*アイコン*/
.head-icon::before {
  content: "";
  position: absolute;
  width: 14px;
  height: 19px;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-size: 14px 19px;
  background-repeat: no-repeat;
  background-image: url("../img/icon-article-black.svg");
}
.head-icon.color-white::before {
  background-image: url("../img/icon-article-white.svg");
}
.head-icon.attachment::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 18px;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-size: 18px 20px;
  background-repeat: no-repeat;
  background-image: url("../img/icon-attachment-black.svg");
}
.head-icon.attachment.color-white::before {
  background-image: url("../img/icon-attachment-white.svg");
}
.corporate-link {
  display: inline-block;
  position: relative;
  padding-right: 20px;
  color: var(--color-link) !important;
  font-weight: bold;
}
.corporate-link::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-size: 14px 14px;
  background-repeat: no-repeat;
  background-image: url("../img/icon-blank-link-blue.svg");
}

@media (max-width: 767px) {
  .head-icon {
    padding-left: 26px;
  }
  .title-label.main {
    font-size: 16px;
    margin-bottom: 20px !important;
  }
  .title-label {
    font-size: 16px;
    margin-bottom: 20px !important;
  }
  .title-label::before {
    height: 14px;
    width: 14px;
  }
  .post-title {
    font-size: 14px;
  }
  .corporate-link {
    padding-right: 18px;
  }
  .corporate-link::after {
    width: 12px;
    height: 12px;
    background-size: 12px 12px;
  }
}
/*---------------------------------
ナビゲーション
-----------------------------------*/
.navbar {
  width: 100%;
  padding: 0px;
  position: relative;
  background-color: #fff;
}
.navbar-brand {
  font-size: 30px;
  font-weight: bold;
}
.navbar.fixed {
  position: fixed;
  top: 0;
  z-index: 20;
}
.navbar-nav {
  margin-bottom: 0;
  font-size: 16px;
  font-weight: bold;
}
.nav-item {
  margin-right: 20px;
}
.nav-item:last-of-type {
  margin-right: 0;
}

.header-nav li:last-child{
    padding-left: 20px;
    border-left:1px solid #000000;
}

a.btn-sns-link-header{
    display: inline-block;
    padding: 0px 20px 0px 0px;
    position: relative;
    font-size: 12px;
    text-align: center;
}

a.btn-sns-link-header::after{
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background-size: 14px 14px;
    background-repeat: no-repeat;
    background-image: url("../img/icon-blank-link-black.svg");
}

.sp-nav-list {
  display: none;
}

@media (max-width: 1279.98px) {
  .sp-nav-btn {
    position: fixed;
    width: 26px;
    height: 23px;
    border-radius: 5px;
    z-index: 100;
    top: 31px;
    right: 3.33333%;
    transition: all .4s;
  }
  .sp-nav-btn.absolute {
    position: absolute;
    display: none;
  }
  .navbar.fixed .sp-nav-btn.absolute {
    display: block !important;
  }
  .sp-nav-btn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0px;
    height: 1px;
    background: #000000;
    width: 100%;
  }
  .sp-nav-btn span:nth-of-type(1) {
    top: 0px;
  }
  .sp-nav-btn span:nth-of-type(2) {
    top: 8px;
  }
  .sp-nav-btn span:nth-of-type(3) {
    top: 16px;
  }
  .sp-nav-btn.active {
    position: fixed;
    height: 21px;
  }
  .sp-nav-btn.active span:nth-of-type(1) {
    top: 3px;
    transform: translateY(6px) rotate(-45deg);
  }
  .sp-nav-btn.active span:nth-of-type(2) {
    opacity: 0;
  }
  .sp-nav-btn.active span:nth-of-type(3) {
    top: 16px;
    transform: translateY(-6px) rotate(45deg);
  }
  .sp-nav-btn:hover {
    cursor: pointer;
  }
  .sp-nav {
    position: fixed;
    top: 0px;
    right: -100vw;
    height: 100vh;
    width: 100%;
    padding: 70px 46px 90px;
    box-sizing: border-box;
    background: #ffffff;
    z-index: 9980;
    transition: all .6s;
    text-align: left;
    opacity: 0;
    overflow: auto;
    z-index: 30;
  }
  .sp-nav.active {
    right: -25vw;
    transition: all .6s;
    opacity: 1;
  }
  .sp-nav.active .sp-nav-list{
      display: block;
  }
  .sp-nav-list ul li {
    font-size: 14px;
    font-weight: 700;
    padding-bottom: 40px;
  }
  .sp-nav-list ul li:last-child {
    padding-bottom: 0px;
  }
  .sp-nav-list ul li a {
    color: #000000;
  }
  .filter {
    display: none;
    position: fixed;
    height: 100vh;
    width: 100vw;
    left: 0px;
    top: 0px;
    background: #000000;
    opacity: 0.45;
    z-index: 20;
  }
  .filter.active {
    display: block;
  }
  .header-nav li:last-child{
      padding-left: 0px;
      margin-left: 0px;
      border-left: none;
  }
  .sp-nav-list li:last-child{
      max-width: 210px;
      padding-top: 40px;
      margin-top: 40px; 
      border-left: none;
      border-top: 1px solid #000000;
  }   
    
}
@media (max-width: 767px) {
  .sp-nav-btn {
    right: 5%;
    top: 21px;
    height: 18px;
  }
}

@media (max-width: 1279.98px) {
  .header-wrap .sp-none-sub,
  .navbar-expand-1280 .sp-none {
    display: none !important;
  }
  .header-wrap .pc-none-sub,
  .navbar-expand-1280 .pc-none,
  header .pc-none {
    display: block !important;
  }
}


@media (min-width: 1280px) {
.header-wrap .sp-none-sub,
.navbar-expand-1280 .sp-none {
  display: block !important;
}
.header-wrap .pc-none-sub,
.navbar-expand-1280 .pc-none,
header .pc-none {
  display: none !important;
}

/* Bootstrapのnavbar展開指定 */
  .navbar-expand-1280 {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-1280 .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-1280 .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-1280 .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-1280 .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-1280 .navbar-toggler {
    display: none;
  }
}

/*---------------------------------
main
-----------------------------------*/
/******
 * スライダー
*******/
.mv-slick .slick-slide {
  width: 246px;
}
.mv-slick .slider-img {
  height: 176px;
  width: 100%;
  object-fit: cover;
}
.bx-wrapper {
  margin-bottom: 0px;
}
.mv-bxslider .bx-slide {
  width: 100%;
  max-width: 246px;
}
.mv-bxslider .slider-img {
  height: 176px;
  width: 100%;
  object-fit: cover;
}
.bx-wrapper {
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
  background: none !important;
}
.mv-slick .slick-arrow {
  z-index: 1;
}
.mv-slick .prev-arrow {
  position: absolute;
  width: 60px;
  height: auto;
  top: 50%;
  transform: translateY(-50%);
  left: calc(52vw - 395px);
  cursor: pointer;
}
.mv-slick .next-arrow {
  position: absolute;
  width: 60px;
  top: 50%;
  transform: translateY(-50%);
  right: calc(52vw - 395px);
  cursor: pointer;
}
.recommend-slick .slick-slide {
  width: 546px;
  transition: all .5s;
}
.recommend-slick-nav .slick-slide {}
.recommend-slick .slick-list.draggable {
  width: 100%;
  margin: 0 auto;
}
.recommend-slick .slider-img {
  height: 364px;
  width: 100%;
  object-fit: cover;
}
.recommend-slick .slick-arrow {
  z-index: 1;
}
.recommend-slick .prev-arrow {
  position: absolute;
  width: 60px;
  top: 50%;
  transform: translateY(-50%);
  left: calc(50% - 355px);
  cursor: pointer;
}
.recommend-slick .next-arrow {
  position: absolute;
  width: 60px;
  top: 50%;
  transform: translateY(-50%);
  right: calc(50% - 355px);
  cursor: pointer;
}
.slick-dots {
  bottom: -50px;
}
.slick-dotted.slick-slider {
  margin-bottom: 0px;
}
.slick-dots li button:before {
  width: 15px;
  height: 15px;
  content: url("../../asset/img/dots_passive.svg");
  opacity: 1;
}
.slick-dots li.slick-active button:before {
  width: 15px;
  height: 15px;
  content: url("../../asset/img/dots_active.svg");
  opacity: 1;
}
@media (max-width: 1199px) {
  .recommend-slick .prev-arrow {
    left: 1%;
  }
  .recommend-slick .next-arrow {
    right: 1%;
  }
}
@media (max-width: 767px) {
  .mv-slick .slick-slide {
    width: 186px;
  }
  .mv-bxslider .bx-slide {
    width: 100%;
    max-width: 186px;
  }
  .mv-bxslider .slider-img {
    height: 124px;
  }
  .slick-arrow.prev-arrow {
    left: 3%;
    width: 30px;
  }
  .slick-arrow.next-arrow {
    right: 3%;
    width: 30px;
  }
  .slick-dots li button:before {
    width: 8px;
    height: 8px;
  }
  .slick-dots li.slick-active button:before {
    width: 8px;
    height: 8px;
  }
}
/******
   * メインビジュアル
  *******/
.main-visual-layouts {
  position: relative;
}
.main-visual-layouts::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -2px;
  height: 270px;
  width: 100%;
  background-image: linear-gradient(0deg, rgba(255, 255, 255, 1) 60%, rgba(255, 255, 255, 0) 100%);
}
.main-visual-body {
  position: relative;
  height: 100vh;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
}
.main-visual-img {
  position: relative;
  width: 100%;
  max-width: 400px;
  height: auto;
  margin: 0 auto;
}
.main-visual-img h1 {
  margin-bottom: 0px;
}
.official-mark {
  position: absolute;
  width: 50px;
  top: 0;
  left: 0;
  background-image: url('../img/officialmark.svg');
  background-size: 50px;
  background-repeat: no-repeat;
}
.official-mark:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 140%;
}
/*
カルーセル
*/
.image-carousel {}
.post-carousel {
  margin-bottom: 60px;
}
.post-carousel-download {
  position: absolute;
  right: 15px;
  bottom: 15px;
  height: 35px;
  width: 35px;
}
.post-carousel-download:hover {
  cursor: pointer;
}
.post-carousel-item {}
.post-carousel-image {
  position: relative;
  margin-bottom: 10px;
}
.post-carousel-download {
  position: absolute;
  right: 15px;
  bottom: 15px;
  height: 35px;
  width: 35px;
}
.post-carousel-download:hover {
  cursor: pointer;
}
.tags {
  display: flex;
  justify-content: start;
  align-items: center;
  margin-bottom: 12px;
}
.term-list {
  font-size: 10px;
  overflow: hidden;
  display: block;
  margin: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px 4px;
}
.term-list li {}
.term-list li a {
  display: inline-block;
  color: var(--color-main);
  background-color: #ffffff;
  border: solid 1px var(--color-main);
  border-radius: 20px;
  padding: 4px 12px;
  transition: all 0.3s ease;
}
.term-list li a:hover {
  background-color: var(--color-hover);
  color: #ffffff;
  transition: all 0.3s ease;
}
.term-list.color-white li a {
  display: inline-block;
  color: var(--color-main);
  background-color: #ffffff;
  border: solid 1px var(--color-main);
  border-radius: 20px;
  padding: 2px 8px;
}
.term-list.color-white li a:hover {
  background-color: var(--color-hover);
  color: #ffffff;
}
.image-tag-icon {
  width: 16px;
}
.post-tag-icon {
  width: 16px;
}
.main-visual-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  z-index: -1;
}
.main-visual-bg * {
  height: 100%;
}
.main-visual-bg img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
@media (max-width: 1199px) {
  .official-mark {
    width: 40px;
    background-size: 40px;
  }
}
@media (max-width: 767px) {
  .main-visual-layouts::before {
    height: 200px;
    background-image: linear-gradient(0deg, rgba(255, 255, 255, 1) 60%, rgba(255, 255, 255, 0) 100%);
  }
  .post-carousel {
    margin-bottom: 20px;
  }
  .post-carousel-item {
    margin: 0px;
  }
  .main-visual-body {
    margin-bottom: 0px;
    height: 100vh;
  }
  @supports (-webkit-touch-callout: none) {
    .main-visual-body {
      height: 100vh;
      height: -webkit-fill-available;
    }
  }
  .term-list {
    gap: 5px 4px;
  }
  .main-visual-img {
    max-width: 220px;
  }
  .mv-slick .slider-img {
    height: 35vw;
  }
  .official-mark {
    width: 30px;
    background-size: 30px;
  }
  .term-list li a {}
}
/******
   * コンテンツ まだ見ぬオススメの地
  *******/
#top-recommend {
  position: relative;
  background-color: #000000;
  padding: 2vw 0px 0px;
}

.wave{
    width: 100%;
    position: relative;
    z-index: -9999;
}

.wave img{
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.wave.mt-black{
    margin-top: 3vw;
}

.wave.mb-black{
    margin-bottom: 3vw;
}

.wave.mb-base{
    margin-bottom: 6vw;
}

.wave.mb-sub{
    margin-bottom: 3vw;
}

.wave.mb-footer{
}


/*#top-recommend::before {
  content: "";
  display: block;
  background-image: url("../img/wave-top-black-index.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  height: 100px;
  width: 100%;
  top: -98px;
  z-index: -10;
}
#top-recommend::after {
  content: "";
  display: block;
  background-image: url("../img/wave-bottom-black-index.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  height: 100px;
  width: 100%;
  bottom: -98px;
  z-index: -10;
}
*/
.recommend-post article {
  margin: 0 25px;
}
.recommend-image {
  position: relative;
  margin-bottom: 16px;
}
.recommend-download {
  position: absolute;
  right: 15px;
  bottom: 15px;
  height: 35px;
  width: 35px;
}
.recommend-download:hover {
  cursor: pointer;
}
.reccomend-date {
  margin-bottom: 8px;
}
.reccomend-title {
  font-size: 12px;
}
.reccomend-title a {
  color: #ffffff;
  display: inline;
}
.reccomend-tag li {
  display: inline-block;
}
.reccomend-tag a {
  color: var(--color-gray);
}
.recommend-post.recommend-slick.slick-initialized.slick-slider {
  margin-bottom: 0px;
}
.recommend-nav {
  width: 150px;
  margin: 0 12px;
}
.recommend-nav:hover {
  cursor: pointer;
}
.recommend-slick-nav.slick-initialized.slick-slider {
  width: 870px;
  max-width: 100%;
  margin: 0 auto;
  bottom: -60px
}
.recommend-nav.slick-slide img {
  filter: brightness(45%);
}
.recommend-nav.slick-center img {
  filter: brightness(100%);
}
/******
   * コンテンツ まだ見ぬ新着の地
  *******/
#top-newarrivals {
  margin: 50px 0;
}
.newarrivals-box {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  position: relative;
  padding: 0;
}
.newarrivals-download {
  position: absolute;
  right: 15px;
  bottom: 15px;
  height: 35px;
  width: 35px;
}
.newarrivals-download:hover {
  cursor: pointer;
}
.newarrivals-text {
  padding-left: 40px;
}
.newarrivals-data {
  font-size: 14px;
  margin-bottom: 20px;
}
.newarrivals-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
}
.newarrivals-image {
  position: relative;
}
.newarrivals-description {
  font-size: 16px;
  margin-bottom: 30px;
}
.newarrivals-tags {
  font-size: 14px;
}
.newarrivals-tags li {
  display: inline-block;
  margin-right: 15px;
}
.newarrivals-tags a {
  color: var(--color-gray);
}
.newarrivals-more {
  margin: 60px 0 40px;
  text-align: center;
}
.newarrivals-more a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  width: 400px;
  margin: 0 auto;
  border: 1px solid #000;
  font-size: 20px;
  color: #000000;
}
.newarrivals-list-wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 50px 0px;
  margin-bottom: 76px;
}
.newarrivals-list {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .recommend-post article {
    margin: 0 10px;
  }
  .reccomend-title {
    font-size: 12px;
  }
  .recommend-slick .prev-arrow {
    left: 1%;
    top: 36%;
  }
  .recommend-slick .next-arrow {
    right: 1%;
    top: 36%;
  }
  .newarrivals-list-wrap {
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    -o-flex-direction: row;
    flex-direction: row;
    gap: 30px 20px;
    margin-bottom: 60px;
  }
  .newarrivals-list {
    width: calc(50% - 20px * 1 / 2);
  }
  .newarrivals-image {
    margin-bottom: 10px;
  }
  .newarrivals-data {
    font-size: 12px;
    margin-bottom: 8px;
  }
  .newarrivals-title {
    font-size: 14px;
    margin-bottom: 8px;
  }
  .newarrivals-text {
    padding-left: 0px;
  }
  .newarrivals-description {
    margin-bottom: 8px;
    font-size: 14px;
  }
  .recommend-slick .slick-slide {
    width: 75vw;
  }
  .recommend-slick .slider-img {
    height: 50vw;
  }
  #top-recommend::before {
    height: 50px;
    top: -48px;
  }
  #top-recommend::after {
    height: 50px;
    bottom: -48px;
  }
  .recommend-post.recommend-slick.slick-initialized.slick-slider {
    margin-bottom: 0px;
  }
  .recommend-slick-nav {
    display: none;
  }
}
/******
   * キーワードで検索
  *******/
.keyword-wrap {
  position: relative;
  z-index: 0;
}
.search-input {
  position: relative;
}
button.search-btn {
  background: none;
  border: none;
  padding: 0px;
  z-index: 10;
  width: 20px;
}
button.search-btn img {
  display: block;
  width: 20px;
  height: 20px;
}
#top-keyword-search {
  background-color: var(--color-base);
  padding: 40px 0 46px;
  margin: 50px 0 0;
}
.keyword-search-radio {
  display: flex;
  margin-left: 2rem;
}
.keyword-search-window label {
  width: 100%;
}
.keyword-search-window input.search-input {
  font-size: 16px;
  border-radius: 2rem !important;
  padding: .6rem 1rem;
  color: #808080;
}
.search-input-wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  width: 160px;    
  height: 28px;
}
.keyword-search-button {
  margin-top: 30px;
  text-align: center;
}
.keyword-search-button button {
  background-color: #ffffff;
  border: 1px solid #000000;
  border-radius: 0;
  height: 55px;
  width: 100%;
  max-width: 250px;
  color: #000000;
  font-size: 20px;
}
/******
   * タグで検索
  *******/
.search-copy {
  font-size: 18px;
  font-weight: bold;
}
.form-check {
  min-height: inherit;
  margin-bottom: 0px;
  padding-left: 18px;
}
.form-check:hover {
  cursor: pointer;
}
.tag-search-radio {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  gap: 0px 40px;
}
@media (max-width: 767px) {
  .tag-search-radio {
    display: block;
  }
  .tag-search-radio .form-check {
    margin-bottom: 1rem;
  }

}


.tag-search-select {
  margin-top: 30px;
}
.tag-search-select input[type=checkbox] {
  display: none;
  /* チェックボックスを非表示にする */
}
.tag-search-select input[type=checkbox]:checked + label {
  background-color: var(--color-main);
  border-color: var(--color-main);
  color: #ffffff;
}
.tag-search-nest-layouts {
  background: #fff;
  padding: 1.25rem;
  margin-top: 1rem;
  border-radius: 20px;
}
div.serach-tags-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
div.serach-tags-list a.btn-more-tags {
  display: flex;
  align-items: center;
  color: var(--color-gray);
  margin-left: .4rem;
  margin-bottom: 1rem;
}
.btn-more-tags-add {
  display: inline-block;
  color: var(--color-gray);
  font-size: 1rem;
  margin-left: .4rem;
  margin-top: 1rem;
}
.btn-more-tags-add:hover {
  text-decoration: underline;
}
div.serach-tags-list a.btn-more-tags:after {
  content: "もっとタグを見る";
}
div.serach-tags-list a.btn-more-tags.on:after {
  content: "タグを隠す";
}
.btn-tag {
  --bs-btn-border-radius: 20px;
  border: solid 1px var(--color-main);
  transition: all 0.3s ease;
  margin-right: 5px;
  margin-bottom: 1rem;
  --bs-btn-color: var(--color-main);
  --bs-btn-bg: #ffffff;
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: var(--color-hover);
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: var(--color-hover);
}
div.serach-tags-list a.btn-more-tags:hover {
  text-decoration: underline;
}
.tag-search-select label.tag-selcter {
  display: inline-block;
  margin: 5px 4px;
  font-size: 14px;
  text-align: center;
  padding: 4px 12px;
  cursor: pointer;
  color: var(--color-main);
  background-color: #ffffff;
  border: 1px solid var(--color-main);
  border-radius: 15px;
  transition: all 0.3s ease;
}
.tag-search-select label.tag-selcter:hover {
  background-color: var(--color-hover);
  color: #ffffff;
  transition: all 0.3s ease;
}
.tag-search-button {
  margin-top: 30px;
  text-align: center;
}
.btn-search-submit {
  display: inline-block;
  width: 100%;
  max-width: 200px;
  font-size: 1rem;
  font-weight: bold;
  padding: .4rem 1rem;
  color: #000000;
  border: 1px solid #000000;
  background: #ffffff;
}
@media (max-width: 767px) {
  .tag-search-select label.tag-selcter {
    color: var(--color-main);
    background-color: #ffffff;
    transition: unset;
  }
  .tag-search-select label.tag-selcter:hover {
    color: var(--color-main);
    background-color: #ffffff;
    transition: unset;
  }
}
/*radioボタン*/
input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type="radio"] {
  position: relative;
  width: 18px;
  height: 18px;
  border: 1px solid var(--color-main);
  border-radius: 50%;
  vertical-align: -2px;
}
input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--color-main);
  content: '';
}
.form-check-input:checked {
  background-color: #ffffff;
  border-color: var(--color-main);
}
/******
   * コンテンツ 著作権
  *******/
#copyright-box {
  margin: 80px 0;
}
.copyright-box-title h2 {
  display: inline-block;
  margin-bottom: 40px !important;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.65;
}
.copyright-box-text {
  font-size: 18px;
  line-height: 1.65;
}
.copyright-image {
  width: 100%;
  max-width: 320px;
}
.copyright-image img {
  width: 100%;
  height: auto;
}
.copyright-box-text p {
  padding-bottom: 12px;
}
.copyright-box-text a {
  display: inline-block;
  color: var(--color-link);
  margin: 0px 5px;
  font-weight: bold;
}
/*.copyright-box-text a::after{
      content: "";
      display: block;
      width: 18px;
      height: 18px;
      position: absolute;
      right: 0px;
      top: 50%;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      background-size: 18px 18px;
      background-repeat: no-repeat;
      background-image: url(../img/icon-blank-link.svg);
  }*/
@media (max-width: 1199px) {
  .copyright-box-text p {
    padding-right: 70px;
  }
}
@media (max-width: 767px) {
  #copyright-box {
    margin: 40px auto;
  }
  #copyright-box .row {
    -webkit-flex-direction: column-reverse;
    -moz-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    -o-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .tag-search-radio {
    gap: 0px 16px;
  }
  .copyright-box-title h2 {
    font-size: 16px;
    margin-bottom: 26px !important;
  }
  .copyright-box-text {
    font-size: 14px;
    margin-bottom: 36px;
  }
  .copyright-box-text p {
    padding-right: 0px;
  }
  .copyright-image {
    width: 100%;
    max-width: 190px;
    margin-bottom: 20px;
  }
  .tag-search-select {
    margin-top: 20px;
  }
  .keyword-wrap {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
  }
  .search-title {
    width: 100%;
  }
  .search-input {
    width: 100%;
  }
  .search-copy {
    font-size: 14px;
  }
  .copyright-box-text a {
    padding-right: 22px;
  }
  .copyright-box-text a::after {
    width: 16px;
    height: 16px;
    background-size: 16px 16px;
  }
}
/*---------------------------------
category
-----------------------------------*/
.category .article-list {
  margin: 100px auto;
}
.category .article-list-title {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 60px;
}
.category .article-list-wrap {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.category .article-list-wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 30px;
}
.category .article-list-col {
  width: 33.33333%;
  height: auto;
}
.category .article-list-col-title {
  margin-bottom: 16px;
}
.category .article-list-col-img {
  width: 100%;
}
.category .modal-img {
  width: 100%;
  margin-bottom: 20px;
}
.category .article-list-col-img img {
  width: 100%;
  height: auto;
}
.category .article-tags {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  gap: 10px 10px;
}
/*---------------------------------
検索フォーム
-----------------------------------*/
/* 共通 */
/* キーワードで検索*/
.searchform-container {
  display: flex;
  align-items: center;
}
.searchform-window input[type="search"] {
  border: 1px solid #ccc;
  border-radius: 20px;
  padding: 5px 40px 5px 5px;
}
.form-check-input[type=radio]:hover {
  cursor: pointer;
}
.form-check-label span {
  display: inline-block;
  padding-top: 2px;
}
.form-check-label span:hover {
  cursor: pointer;
}
/* タグで検索 */
.row-height {
  display: flex;
  flex-wrap: wrap;
}
/* サブページ
====================================================*/
/*---------------------------------
共通
-----------------------------------*/
.archive h1, h2, h3, p, ul {
  margin: 0px;
  padding: 0px;
}
.single h1, h2, h3, p, ul {
  margin: 0px;
  padding: 0px;
}
.width-base {
  width: 100%;
  max-width: 1100px;
}
.width-sub {
  width: 100%;
  max-width: 900px;
}
.width-full {
  width: calc(100% - 120px);
}
.width-tag {
  width: 94%;
  background-color: var(--color-base);
  padding: 40px 0 46px;
  margin: 36px 0 0;
  border-radius: 10px;
}



.title-main {
  padding-left: 42px;
  position: relative;
  z-index: 10;
}



.title-main.connection {
  margin-bottom: 42px;
}
.title-main.icon-none {
  margin-bottom: 46px;
  padding-left: 0px;
}
.title-main.icon-none::before {
  display: none;
}
.title-main h1 {
  font-size: 30px;
  font-weight: bold;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-align-items: center;
  align-items: center;
  gap: 10px 4px;
  line-height: 1.65;
  margin-bottom: 0px;	
}
.title-main h1 a {
  font-weight: normal;
}
.title-main.title-annotation{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  gap: 0px 18px;
  -ms-align-items: center;
  align-items: center;
}
.title-main.title-annotation span{
  font-size:  14px; 
}
.single-post .title-main h1 {
  font-size: 18px;
}
.single-post .title-main h1 a {
  font-weight: normal;
}
.title-main h2 {
  font-size: 24px;
  font-weight: bold;
}
.title-main::before {
  content: "";
  display: block;
  width: 30px;
  height: 26px;
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-size: 30px 26px;
  background-repeat: no-repeat;
  background-image: url("../img/icon-symbol.svg");
}


.footer-ulalaka .title-main {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  display: inline-flex;
  border: solid 1px #000;
}
.footer-ulalaka .title-main::before {
  padding: 0;
  left: auto;
}


.ulalaka-photo-copy {
  background-image: url("../img/suisai.png");
  background-repeat: no-repeat;
  background-size: auto 80%;
  padding-top: 4rem;
}

.ulalaka-dochuki-copy {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ulalaka-dochuki-copy img {
  width: 50%;
  max-width: 400px;
}
.ulalaka-dochuki-copy h3,
.ulalaka-photo-copy h3 {
  font-size: 24px;
  margin-bottom: 2rem;
  text-align: left;
}
.ulalaka-dochuki-copy p,
.ulalaka-photo-copy p {
  font-size: 18px;
  text-align: left;
}
.ulalaka-dochuki-copy,
.ulalaka-photo-copy {
  padding-bottom: 4rem;
}
.ulalaka-dochuki-footer {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding: 140px 0;
}
.ulalaka-dochuki-footer-under-text {
  font-size: 14px !important;
  text-align: right;
  margin-top: 2rem;
  font-size: 0.75rem !important;
}
.ulalaka-dochuki-footer:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 88px;
  /* 画像の元サイズが例えば 横300px / 縦88px なら */
  width: 258px; /* ← 明示的に幅を指定 */
  background-image: url("../img/cloud_a.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.ulalaka-dochuki-footer:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  height: 144px;
  width: 324px;
  background-image: url("../img/cloud_b.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.ulalaka-dochuki-footer-text {
  font-size: 18px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}
.ulalaka-dochuki-footer-text:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;                     /* 上から50%の位置に配置 */
  transform: translateY(-50%);  /* 自身の高さの半分だけ上に戻して中央揃え */
  left: -40px;
  height: 291px;
  width: 232px;
  background-image: url("../img/samurai_b.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 900px) {
  .ulalaka-dochuki-footer-text:before {
    display: none;
  }
}
@media (max-width: 767px) {
  .ulalaka-dochuki-copy,
  .ulalaka-photo-copy {
    background-size: auto 70%;
    padding-top: 1.5rem;
  }
  .ulalaka-dochuki-copy div {
    display: inline-block;
    width: auto;
  }
  .ulalaka-dochuki-copy {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    text-align: center;
  }
  .ulalaka-dochuki-copy h3,
  .ulalaka-photo-copy h3 {
    font-size: 16px;
  }
  .ulalaka-dochuki-copy p,
  .ulalaka-photo-copy p {
    font-size: 14px;
  }
  .ulalaka-dochuki-footer {
    padding: 70px 0;
  }
  .ulalaka-dochuki-footer:before {
    width: 140px;
  }
  .ulalaka-dochuki-footer:after {
    width: 140px;
    bottom: initial;
  }
  .ulalaka-dochuki-copy img {
    width: 80%;
    margin-bottom: 3rem;
    margin-top: 2rem;    
  }
  .ulalaka-dochuki-footer-under-text {
    text-align: left;
  }
}


/*.wave-bg.base.ulalaka-archive {
  margin-bottom: 160px;
}

@media (max-width: 767px) {
  .wave-bg.base.ulalaka-archive {
    margin-bottom: 80px;
  }
}*/

.title-main.title-attachment {}
.title-main.title-attachment h1 a {
  font-size: 14px;
  color: var(--color-main);
  background-color: #ffffff;
  border: solid 1px var(--color-main);
  border-radius: 20px;
  padding: 4px 16px;
  transition: all 0.3s ease;
}
.title-main.title-attachment h1 a:hover {
  transition: all 0.3s ease;
  background-color: var(--color-hover);
  color: #ffffff;
}
.title-main.title-attachment h1 strong {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  gap: 0px 8px;
  font-size: 16px;
}
.title-main.title-attachment h1 span {
  font-size: 14px;
}
.title-main.title-attachment {
  margin-bottom: 16px;
}
.title-date {
  margin-top: 86px;
  text-align: center;
}
.btn-border {
  border: none !important;
  text-align: center;
}
.btn-border a {
  display: inline-block;
  width: 100%;
  max-width: 300px;
  font-size: 20px;
  font-weight: bold;
  padding: 12px 40px;
  color: #000000;
  border: 1px solid #000000;
}
.btn-border button {
  display: inline-block;
  width: 100%;
  max-width: 300px;
  font-size: 20px;
  font-weight: bold;
  padding: 12px 40px;
  color: #000000;
  border: 1px solid #000000;
  background: #ffffff;
}
.contact-btn button {
  position: relative;
  padding: 12px 40px 12px 66px;
  border-radius: 0px;
}
.contact-btn button::after {
  content: "";
  display: block;
  width: 26px;
  height: 21px;
  position: absolute;
  left: calc(50% - 46px);
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-size: 26px 21px;
  background-repeat: no-repeat;
  background-image: url("../img/icon-contact.svg");
}
.contact-btn .btn:hover {
  background: #ffffff;
  border-color: #000000;
}
.btn-img-dl {
  text-align: center;
  width: 100%;
  max-width: 300px;
  margin-bottom: 80px;
}
.btn-img-dl.modal-dl-btn {
  margin: 0 auto 20px;
}
.btn-img-dl.modal-dl-btn a {
  display: inline-block;
  margin-top: 30px;
}
.btn-img-dl a {
  width: 100%;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  padding: 12px 0px;
  border: 1px solid #000000;
  color: #000000;
}
.btn-img-dl a:hover {
  background: #ffffff;
}
.btn-img-dl a span {
  display: inline-block;
  position: relative;
  padding-left: 40px;
}
.btn-img-dl a span::before {
  content: "";
  position: absolute;
  width: 31px;
  height: 22px;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-size: 31px 22px;
  background-repeat: no-repeat;
  background-image: url("../img/icon-img-dl.svg");
}
@media (max-width: 1199px) {
  .width-base {
    max-width: 90%;
  }
  .width-sub {
    width: 90%;
  }
  .title-date {
    margin-top: 43px;
    padding-right: 4%;
  }
}
@media (max-width: 767px) {
  .width-full {
    width: 90%;
  }
  .title-main {
    padding-left: 24px;
  }
  .title-main h1 {
    font-size: 16px;
  }
  .title-main.title-attachment h1 a {
    font-size: 14px;
  }
  .title-main.title-attachment h1 strong {
    font-size: 14px;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .title-main.title-annotation{
    gap: 0px 14px;
  }	
  .title-main.title-annotation span{
    font-size: 10px; 
  }
  .title-main h2 {
    font-size: 16px;
  }
  .title-main::before {
    width: 14px;
    height: 12px;
    background-size: 14px 12px;
  }
  .title-main.title-attachment h1 a {
    transition: unset;
  }
  .title-main.title-attachment h1 a:hover {
    transition: unset;
    background-color: var(--color-main);
    color: #ffffff;
  }
  .title-main.title-attachment h1 span {
    font-size: 14px;
  }
  .title-main.connection {
    margin-bottom: 20px;
  }
  .btn-border a {
    max-width: 275px;
    font-size: 16px;
  }
  .btn-border button {
    max-width: 275px;
    font-size: 16px;
  }
  .btn-img-dl {
    max-width: 275px;
    margin-bottom: 40px;
  }
  .btn-border a {
    font-size: 16px;
    padding: 12px 20px;
  }
  .btn-img-dl a {
    font-size: 16px;
    padding: 12px 20px;
  }
  .btn-border button {
    font-size: 16px;
    padding: 12px 20px;
  }
  .contact-btn button {
    position: relative;
    padding: 12px 40px 12px 62px;
  }
  .contact-btn button::after {
    width: 22px;
    height: 18px;
    left: calc(50% - 42px);
    background-size: 22px 18px;
  }
  .width-tag {
    padding: 20px 0 26px;
  }
}
/*---------------------------------
header
-----------------------------------*/
header.shift {
  padding-top: 105px;
}
.header-wrap {
  width: 100%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
  font-size: 16px;
  padding: 26px 40px;
  background: #ffffff;
}
.header-wrap.sub {
  position: fixed;
  left: 0px;
  top: 0px;
  z-index: 20;
  border-bottom: 1px solid var(--color-gray);
}
.navbar .header-wrap {}
.navbar.fixed .header-wrap {
  border-bottom: 1px solid var(--color-gray);
}
.header-nav {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  gap: 0px 20px;
  font-size: 14px;
}
.header-nav li {

}
.header-logo a {
  display: inline-block;
  width: 100px;
  height: auto;
}
.header-logo a img {
  width: 100%;
  height: auto;
}
.header-wrap a {
  color: #000000;
}
.header-wrap a:hover {
  text-decoration: none;
}
@media(max-width:767px) {
  header.shift {
    padding-top: 57px;
  }
  .header-logo a {
    width: 100px;
  }
  .header-wrap {
    padding: 16px 5%;
  }
}
/*---------------------------------
各ページ共通
-----------------------------------*/
.archive h2 {
  margin-bottom: 0px;
}
.wave-bg {
  position: relative;
  padding: 90px 0 160px;
  margin-bottom: 50px;
  background: var(--color-base);
  z-index: 0;
}
.wave-bg svg {
  width: 100%;
  height: 160px;
  position: absolute;
  left: 0;
  fill: #ffffff;
}
.wave-bg.base {
  padding: 6vw 0 0vw;
  margin-bottom: 0px;
  background: var(--color-base);
  z-index: 0;
}
/*.wave-bg.base::before {
  content: "";
  display: block;
  background-image: url("../img/wave-page.svg");
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 110px;
  position: absolute;
  left: 0;
  bottom: -108px;
  fill: #ffffff;
}*/
.attachment-bg {
  padding: 6vw 0px 3vw;
  background: #000000;
  position: relative;
}
/*.attachment-bg::before {
  content: "";
  display: block;
  background-image: url("../img/wave-bottom-black.svg");
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 260px;
  position: absolute;
  left: 0;
  bottom: -258px;
}*/
.main-wrap {
  margin-bottom: 90px;
  padding-top: 80px;
}
.main-wrap .pagination {
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
}
.connection {
  margin: 120px auto 90px;
}
@media(max-width: 767px) {
  .main-wrap {
    margin-bottom: 46px;
    padding-top: 56px;
  }
  .wave-bg {
    padding: 40px 0px 70px;
    margin-bottom: 20px;
  }
  .wave-bg svg {
    height: 60px;
  }
  /*.wave-bg.base {
    padding: 40px 0 0px;
    margin-bottom: 90px;
  }*/
  .wave-bg.base::before {
    height: 60px;
    bottom: -58px;
  }
  /*.attachment-bg {
    padding: 40px 0px 0px;
    margin-bottom: 70px;
  }*/
  .attachment-bg::before {
    height: 60px;
    bottom: -58px;
  }
  .connection {
    margin: 60px auto 40px;
  }
}
/*---------------------------------
記事一覧ページ
-----------------------------------*/
.article-archive {
  width: calc(100% - 120px);
}
.article-list {
  margin-bottom: 72px;
}
.article-list a {
  text-decoration: none;
  color: #000000;
  display: inline-block;
}
.article-list .row {
  gap: 38px 26px;
  margin: 0px;
  margin-bottom: 90px;
}
.article-archive .article-list .row {
  gap: 38px 26px;
}
.article-list .col-4 {
  width: calc(33.33333% - 26px * 3 / 4);
  padding: 0px;
}
.article-archive .col-4 {
  width: calc(33.33333% - 26px * 3 / 4);
}
.article-item-img {
  margin-bottom: 16px;
  position: relative;
}
.article-item-img a:first-child {
  width: 100%;
  height: 100%;
}
.article-item-img a:first-child img {
  width: 100%;
  height: auto;
}
.article-item-time {
  font-size: 14px;
  margin-bottom: 10px;
}
.article-item-title {
  font-size: 12px;
}
.recommend-image .slider-img, .modal-main-image img, .article-item-img.attachment a:first-child img, .article-item-img a:first-child img, .mv-bxslider .slider-img {
  background: #fff;
  transition: 0.3s;
}
.recommend-image .slider-img:hover, .modal-main-image img:hover, .article-item-img.attachment a:first-child img:hover, .article-item-img a:first-child img:hover, .mv-bxslider .slider-img:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
.list-terms {
  font-size: 10px;
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 12px;
  gap: 6px 4px;
}
.list-terms.attachment {
  margin-bottom: 0px;
}
.single .title-box .list-terms {
  font-size: 18px;
}
.list-terms a {
  color: var(--color-main);
  background-color: #ffffff;
  border: solid 1px var(--color-main);
  border-radius: 20px;
  padding: 2px 6px;
  transition: all 0.3s ease;
}
.title-main .list-terms.attachment a {
  line-height: 1;
  padding: 10px 24px;
  border-radius: 30px;
}
.list-terms.attachment a {
  color: var(--color-main);
  background-color: #ffffff;
  border: solid 1px var(--color-main);
  border-radius: 20px;
  padding: 4px 16px;
}
.list-terms a:hover {
  background-color: var(--color-hover);
  color: #ffffff;
  transition: all 0.3s ease;
}
.modal-body .list-terms a {
  color: var(--color-main);
  font-size: 14px;
  padding: 4px 16px;
}
.modal-body .list-terms a:hover {
  background-color: var(--color-hover);
  color: #ffffff;
}
.modal-body .post-title {
  margin-left: 20px;
  font-size: 16px;
}
.row.row-single {
  margin-bottom: 140px;
}
@media (max-width: 767px) {
  .article-archive {
    width: calc(90%);
  }
  .article-item-title {
    font-size: 12px;
  }
  .article-item-time {
    font-size: 12px;
  }
  .article-list {
    margin-bottom: 36px;
  }
  .article-list .row {
    gap: 35px 25px;
    margin: 0px;
    margin-bottom: 40px;
  }
  .article-list .col-4 {
    width: calc(50% - 25px * 1 / 2);
    padding: 0px;
  }
  .article-item-img {
    margin-bottom: 10px;
  }
  .single .title-box .list-terms {
    font-size: 14px;
  }
  .single-post .title-main h1 {
    font-size: 14px;
  }
  .title-main .list-terms.attachment a {
    padding: 8px 10px;
  }
  .row.row-single {
    margin-bottom: 90px;
  }
  .list-terms.attachment a {
    padding: 2px 6px;
  }
  .list-terms a {
    transition: unset;
  }
  .list-terms a:hover {
    background-color: var(--color-main);
    color: #ffffff;
    transition: unset;
  }
}
/*---------------------------------
画像一覧ページ
-----------------------------------*/
.attachment-archive {
  width: calc(100% - 120px);
}
.grid {
  padding: 0px;
  margin: 0px;
}
/* グリッド内の各要素の基本的なスタイル */
.grid-item {
  width: 23% !important;
  margin-bottom: 2.66666% !important;
}
/* 画像を横幅に合わせる */
.grid-item img {
  width: 100%;
  height: auto;
}
/* グリッド内の列の幅を指定する要素のスタイル */
.grid-sizer {
  width: 23%;
}
/* 要素間の余白を指定する要素のスタイル */
.gutter-sizer {
  width: 2.66666%;
}
@media (max-width: 767px) {
  .attachment-archive {
    width: 90%;
  }
  .grid-item {
    width: 48% !important;
    margin-bottom: 4% !important;
  }
  /* グリッド内の列の幅を指定する要素のスタイル */
  .grid-sizer {
    width: 48%;
  }
  /* 要素間の余白を指定する要素のスタイル */
  .gutter-sizer {
    width: 4%;
  }
}
/*---------------------------------
記事ページ
-----------------------------------*/
.return {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 90px;
}
.single .article ul {
  padding-left: 0px;
}
.single .article p {
  margin-bottom: 0px;
}
.article {
  margin: 100px auto;
}
.single .article-fv {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 90px;
}
.single .article-fv .date {
  margin-bottom: 20px;
}
.single .article-row {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.single .article-row + .article-row {
  margin-top: 80px;
}
.article-row-title h2 {
  font-size: 28px;
  margin-bottom: 40px;
  font-weight: bold;
}
.article-row-text {
  display: inline-block;
  font-size: 18px;
  margin-bottom: 40px;
}
.article-row-text p {
  margin-bottom: 0px;
}
.article-overview {
  padding: 40px 50px;
  margin-bottom: 80px;
  border: 2px solid var(--color-main);
}
.article-overview ul {
  margin: 0px;
  padding: 0px;
}
.article-overview ul li {
  font-size: 18px;
  line-height: 1.8;
}
.article-overview-title {
  margin-bottom: 40px;
}
.share-box {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: 40px 0px;
  margin-top: 60px;
  margin-bottom: 90px;
  width: 100%;
  height: auto;
}
.share-box-title h3 {
  font-size: 20px;
  font-weight: bold;
}
.share-box-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  gap: 0 30px;
}
.share-box-list img {
  width: 40px;
  height: auto;
}
@media (max-width: 767px) {
  .title-date {
    margin-bottom: 12px;
    font-size: 12px;
  }
  .title-main.icon-none {
    margin-top: 16px;
    margin-bottom: 24px;
  }
  .article-row-title h2 {
    font-size: 16px;
    margin-bottom: 24px;
    font-weight: bold;
  }
  .article-row-text {
    font-size: 14px;
  }
  .single .article-row {
    max-width: 90%;
  }
  .single .article-row + .article-row {
    margin-top: 40px;
  }
  .share-box {
    max-width: 90%;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    gap: 20px 0px;
    margin-top: 50px;
    margin-bottom: 100px;
  }
  .share-box-title h3 {
    font-size: 16px;
  }
  .share-box-list img {
    width: 35px;
  }
}
/*---------------------------------
写真ページ
-----------------------------------*/
.img-title {
  margin-bottom: 16px;
}
.single .img-wrap {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 90px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
.single .img {
  margin: 100px auto;
}
.single .img-main {
  width: 60%;
}
.single .img-file {
  width: 100%;
}
.single .img-file img {
  width: 100%;
  height: auto;
}
.single .img-sub {
  width: 35%;
}
.single .img-dl-btn {
  margin-bottom: 30px;
}
.single .img-tags ul {
  padding-left: 0px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  gap: 10px;
}
.single .img-dl-btn a {
  display: inline-block;
  padding: 10px 20px;
  border: 1px solid #ccc;
  border-radius: 6px;
  text-decoration: none;
}
.attachment-main {
  width: 100%;
  max-width: 800px;
  height: auto;
  text-align: center;
}
.attachment-main img {
  width: 100%;
  height: auto;
}
.attachment-file {
  margin-bottom: 22px;
  position: relative;
}
.attachment-agreement {
  text-align: center;
  margin-bottom: 40px;
}
.attachment-agreement.modal-agreement {
  margin-bottom: 0px;
}
.modal-body .attachment-agreement.modal-agreement {
  color: #ffffff;
}
.agreement-jp {
  font-size: 18px;
  margin-bottom: 10px;
}
.agreement-jp a {
  display: inline-block;
  position: relative;
  color: var(--color-link);
  padding-right: 24px;
  margin: 0px 5px;
  font-weight: bold;
}
.agreement-jp a:hover{
	text-decoration: underline;
}
.agreement-jp a::after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-size: 18px 18px;
  background-repeat: no-repeat;
  background-image: url("../img/icon-blank-link-blue.svg");
}
.modal-body .agreement-jp a::after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-size: 18px 18px;
  background-repeat: no-repeat;
  background-image: url("../img/icon-blank-link-subblue.svg");
}
.agreement-en {
  font-size: 18px;
  color: var(--color-gray);
  font-style: italic;
}
.modal-body .agreement-en {
  color: #ffffff;
}
@media (max-width: 767px) {
  .attachment-main {
    max-width: 90%;
  }
  .attachment-file {
    margin-bottom: 24px;
  }
  .attachment-agreement {
    margin-bottom: 20px;
  }
  .agreement-jp {
    font-size: 16px;
  }
  .agreement-en {
    font-size: 16px;
  }
  .agreement-jp a {
    font-size: 16px;
    padding-right: 24px;
  }
  .agreement-jp a::after {
    width: 16px;
    height: 16px;
    background-size: 16px 16px;
  }
}
/*---------------------------------
検索結果ページ
-----------------------------------*/
form#searchform {
  width: 192px;
  border: 1px solid var(--color-gray);
  border-radius: 30px;
  overflow: auto;
  padding: 0px 16px;    
}
.search-input .form-control {
  border: none;
  padding: 0px;
  font-size: 12px;
  border-radius: 0px;
  margin-right: 6px;
  width: 134px;
}
.search-input .form-control::placeholder {
  color: var(--color-gray);
}
.search-title-word h2 {
  display: inline-block;
  margin-top: 26px;
  font-size: 24px;
  font-weight: bold;
}
.article-list p {
  font-size: 30px;
}
.img-list p {
  font-size: 18px;
}
.search-tag-list {
  margin-top: 30px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 15px 15px;
  position: relative;
  z-index: 10px;
}
.search-tag-list a {
  display: inline-block;
  padding: 6px 18px;
  font-size: 18px;
  font-weight: bold;
  color: #ffffff;
  background: var(--color-main);
  border-radius: 20px;
}
@media (max-width: 767px) {
  .search-title-word h2 {
    margin-top: 10px;
    font-size: 16px;
  }
  .article-list p {
    font-size: 16px;
  }
  .search-tag-list a {
    font-size: 14px;
  }
}
/*---------------------------------
agreement
-----------------------------------*/
.agreement {
  font-size: 16px;
  margin-bottom: 220px;
}
.agreement-row + .agreement-row {
  margin-top: 54px;
}
.agreement-title h2 {
  display: block;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 22px;
}
.agreement-list + .agreement-list {
  margin-top: 40px;
}
.agreement-list h2 {
  display: block;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 16px;
}
.agreement-list span {
  display: block;
  margin-bottom: 20px;
  font-size: 18px;
}
.agreement-list ul + span {
  margin-top: 20px;
}
.agreement-list {
  font-size: 18px;
  word-break: break-all;
}
.agreement-list.en {
  color: var(--color-gray);
  font-style: italic;
  word-break: break-word !important;
  text-align: left !important;
}
.agreement-list ul.dots {
  padding-left: 20px;
}
.agreement-list ul.dots li {
  position: relative;
}
.agreement-list ul.dots li::after {
  position: absolute;
  left: -20px;
  top: 0px;
  content: "・ ";
}
.agreement-list ul.dots ul.inner_dots {
  padding-left: 1.5em; /* インデント幅（お好みで 20px 等に調整可能） */
  list-style: none;     /* ブラウザデフォルトのポッチを消去 */
}

/* inner_dots 配下の li にも親と同じ擬似要素スタイルを適用 */
.agreement-list ul.dots ul.inner_dots li {
  position: relative;
}

.agreement-list ul.dots ul.inner_dots li::after {
  position: absolute;
  left: -20px;
  top: 0px;
  content: "・ ";
}
.agreement-list ul.dots li:last-child {
  padding-bottom: 0px;
}
.agreement-list ol {
  padding-left: 16px;
  margin-bottom: 0px;
}
.agreement-list ol li {
  padding-bottom: 20px;
}
.agreement-list ol li:last-child {
  padding-bottom: 0px;
}
.agreement-list ol.no li {
  list-style-type: decimal;
}
ol.no li + ol.brackets {
  margin-top: -12px;
}
ol.brackets + li {
  padding-top: 20px;
}
.agreement-list ol.brackets {
  padding-left: 20px;
}
.agreement-list ol.brackets li {
  padding-bottom: 6px;
  list-style-type: none;
  counter-increment: cnt;
  position: relative;
}
.agreement-list ol.brackets li:last-child {
  padding-bottom: 0px;
}
.agreement-list ol.brackets li::after {
  position: absolute;
  left: -20px;
  top: 0px;
  content: counter(cnt) ") ";
}
.agreement-table {
  margin-top: 20px;
  margin-bottom: 30px;
}
.agreement-table table {
  width: 100%;
  border-left: 1px solid var(--color-gray);
  border-bottom: 1px solid var(--color-gray);
}
.agreement-table table tr {
  border-top: 1px solid var(--color-gray);
}
.agreement-table thead {
  background: var(--color-base);
  font-weight: bold;
}
.agreement-table th, td {
  padding: 16px 12px;
  border-right: 1px solid var(--color-gray);
}
.agreement-time {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  gap: 0px 16px;
  -webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  -ms-justify-content: flex-end;
  -o-justify-content: flex-end;
  justify-content: flex-end;
  margin-top: 50px;
}
@media (max-width: 767px) {
  .agreement {
    margin-bottom: 0px;
  }
  .agreement-list h2 {
    font-size: 14px;
    margin-bottom: 8px;
  }
  .agreement-list {
    font-size: 14px;
  }
  .agreement-list span {
    margin-bottom: 10px;
    font-size: 14px;
  }
  .agreement-list ul + span {
    margin-top: 10px;
  }
}
/*---------------------------------
about
-----------------------------------*/
.about {
  margin-bottom: 220px;
}
.about li {}
.about li:last-child {}
.about-overview {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
  margin-bottom: 60px;
}
.about-overview-img {
  width: 35%;
  height: auto;
}
.about-overview-img img {
  width: 100%;
  height: auto;
}
.about-overview-text {
  width: 62%;
  font-size: 20px;
  font-weight: bold;
}
.about-overview-text p + p {
  padding-top: 40px;
}
.about-en-text {
  margin-bottom: 120px;
}
.about-en-text {
  font-size: 18px;
  color: var(--color-gray);
  font-style: italic;
  word-break: break-word !important;
  text-align: left !important;
}
.about-en-text p + p {
  padding-top: 40px;
}
.about-concept {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
  margin-bottom: 100px;
}
.about-concept-text {
  width: 62%;
  font-size: 20px;
}
.about-concept-title h2 {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 40px;
}
.about-concept-detail {
  font-size: 18px;
}
.about-concept-detail ul {
  margin-bottom: 30px;
}
.about-concept-img {
  width: 35%;
  height: auto;
}
.about-overview-img img {
  width: 100%;
  height: auto;
}
.about-note-title h2 {
  font-size: 18px;
  display: inline-block;
  margin-bottom: 10px;
}
.about-note {}
.about-note-detail {
  font-size: 18px;
}
.about-note-detail a {
  color: var(--color-link);
  text-decoration: none;
  font-weight: bold;
}
.about-note-detail a.target-blank {
  display: inline-block;
  position: relative;
  color: var(--color-link);
  padding-right: 24px;
  margin: 0px 5px;
}
.about-note-detail a.target-blank::after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-size: 18px 18px;
  background-repeat: no-repeat;
  background-image: url("../img/icon-blank-link-blue.svg");
}
@media (max-width: 767px) {
  .about {
    margin-bottom: 0px;
  }
  .about-overview {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    margin-bottom: 40px;
  }
  .about-overview-img {
    width: 70%;
    margin-bottom: 36px;
  }
  .about-overview-text {
    width: 100%;
    font-size: 16px;
  }
  .about-overview-text p + p {
    padding-top: 30px;
  }
  .about-en-text {
    font-size: 14px;
    margin-bottom: 60px;
  }
  .about-en-text p + p {
    padding-top: 30px;
  }
  .about-note {
    margin-bottom:
  }
  .about-concept {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    margin-bottom: 70px;
  }
  .about-concept-text {
    width: 100%;
  }
  .about-concept-img {
    width: 70%;
  }
  .about-concept-title h2 {
    font-size: 16px;
    margin-bottom: 30px
  }
  .about-concept-detail {
    font-size: 14px;
    margin-bottom: 30px;
  }
  .about-note-title h2 {
    font-size: 16px;
  }
  .about-note-detail {
    font-size: 14px;
  }
  .about-note-detail a.target-blank {
    padding-right: 22px;
  }
  .about-note-detail a.target-blank::after {
    width: 16px;
    height: 16px;
    background-size: 16px 16px;
  }
}
/*---------------------------------
pagenation
-----------------------------------*/
.main-wrap .pagination {
  -ms-align-items: center;
  align-items: center;
}
.main-wrap .pagination a {
  font-size: 20px;
  font-weight: bold;
  color: var(--color-gray);
}
.main-wrap ul.pagination li {
  display: inline-block;
  margin: 0px 15px;
}
.page-link {
  border: none;
  padding: 0px;
  color: var(--color-gray);
}
.page-numbers.current {
  font-size: 20px;
  font-weight: bold;
  color: var(--color-main);
  text-decoration: underline;
}
a.prev.page-numbers, a.next.page-numbers {
  display: inline-block;
  width: 41px;
}
a.prev.page-numbers img {
  width: 100%;
  height: auto;
}
a.next.page-numbers img {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .main-wrap ul.pagination li {
    margin: 0px 10px;
  }
  a.prev.page-numbers, a.next.page-numbers {
    width: 26px;
  }
  .main-wrap .pagination a {
    font-size: 16px;
  }
  .page-numbers.current {
    font-size: 16px;
  }
}
/*---------------------------------
footer
-----------------------------------*/
.footer-box {
  position: relative;
}

.footer-bg {
  background: var(--color-base);
  padding-bottom: 30px;
  position: relative;
  border-bottom: 16px solid #000;
}
/*.footer-bg::before {
  content: "";
  display: block;
  background-image: url("../img/wave-footer.svg");
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100px;
  position: absolute;
  left: 0;
  top: -98px;
  fill: #ffffff;
}
*/
.footer-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.footer-logo-symbol {
  width: 100%;
  max-width: 250px;
  height: auto;
}
.footer-logo-symbol img {
  width: 100%;
  height: auto;
  image-rendering: auto;
}
.footer-logo {
  width: 142px;
  height: auto;
  margin-bottom: 16px;
}
.footer-logo img {
  width: 100%;
  height: auto;
  image-rendering: auto;
}
.footer-text {
  margin-left: 2rem;
  display: inline-block;
}
.footer-text-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 12px;
}
.footer-text-overview {
  font-size: 16px;
}
.footer-text-overview a {
  color: #000000;
}
.copyright {
  font-size: 16px;
  color: var(--color-gray);
  text-align: right;
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer-links ul {
  display: flex;
}
.footer-links ul li:first-child {
  margin-right: .8rem;
}
.footer-links ul li:not(:first-child) {
  margin-right: .8rem;
  padding-left: .8rem;
  border-left: 1px solid var(--color-gray);
}
.footer-links ul li a{
  display: inline-block;
  position: relative;
  color: var(--color-link) !important;
  font-size: 14px;
  font-weight: bold;
}
.footer-links ul li a[target="_blank"] {
  padding-right: 20px;
}
.footer-links ul li a:hover{
	text-decoration: underline;
}

.footer-links ul li a[target="_blank"]::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-size: 14px 14px;
  background-repeat: no-repeat;
  background-image: url("../img/icon-blank-link-blue.svg");
}

@media (max-width: 1199px) {
  .footer-text {
    margin-left: 0px;
  }
}
@media (max-width: 767px) {
  .footer-bg {
    padding-top: 20px;
    padding-bottom: 30px;
  }
  .footer-bg::before {
    height: 50px;
    top: -48px;
  }
  .footer-logo {
    width: 100px;
  }
  .footer-text {
    display: block;
  }
  .footer-text-title {
    font-size: 16px;
    margin-bottom: 6px;
  }
  .footer-text-overview {
    font-size: 14px;
  }
  .copyright {
    text-align: left;
    margin-top: 30px;
    display: block;
  }
  .footer-links {
    margin-bottom: 1rem;
  }
  .copyright small {
    margin-top: 1rem;
  }
  /*
  .footer-links ul {
    display: block;
  }
  .footer-links ul li {
    margin-right: 0rem;
    padding-left: 0rem;
    border: none !important;
  }
  */
}
/*---------------------------------
404
-----------------------------------*/
.notfound p {
  font-size: 18px;
}
.notfound span a {
  display: inline-block;
  color: var(--color-link);
  margin-top: 20px;
  font-size: 18px
}
@media (max-width: 767px) {
  .notfound p {
    font-size: 14px;
  }
  .notfound span a {
    font-size: 14px;
  }
}
/*---------------------------------
モーダル
-----------------------------------*/
/*contact*/
.modal-contact {
  width: 900px;
  max-width: 96% !important;
  font-size: 18px;
}
.modal-contact-form {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: 40px 0px;
}
.modal-contact .modal-content {
  background: none;
  border: none;
}
.modal-contact .modal-body {
  padding: 60px 50px;
  background: #ffffff;
}
.modal-contact-title h2 {
  display: inline-block;
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 46px;
}
.modal-contact-row {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
}
.modal-contact-row .required {
  display: inline-block;
  padding: 3px 6px;
  font-size: 14px;
  font-weight: bold;
  color: #ffffff;
  background: #e41c24;
  border-radius: 4px;
}
.modal-contact .modal-footer {
  display: none;
}
.contact-row-title {
  width: 25%;
}
.contact-row-data {
  width: 75%;
}
.contact-privacy {
  text-align: center;
}
.contact-privacy a {
  display: inline-block;
  position: relative;
  color: var(--color-link);
  padding-right: 24px;
  margin: 0px 5px;
}
.contact-privacy a::after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-size: 18px 18px;
  background-repeat: no-repeat;
  background-image: url("../img/icon-blank-link-blue.svg");
}
/*image*/
.modal-body {
  padding: 10px;
}
.modal-img {
  width: 100%;
  position: relative;
}
.modal-img img {
  width: 100%;
  height: auto;
}
.modal-img.main {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 90px;
  position: relative;
}
.modal-body p a {
  color: var(--color-sublink);
  font-weight: bold;
}
.modal-contact .modal-body p a {
  color: var(--color-link);
  font-weight: bold;
}
.modal-contact .modal-header .btn-close:before {
  color: #ffffff;
}
.modal-body img {
  width: 100%;
  height: auto;
}
.modal-dialog.image-modal-daialog {
  width: 1004px;
  max-width: 96%;
}
.modal-tag ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  gap: 0px 10px;
  margin-bottom: 0px;
  padding-left: 0px;
  padding-right: 20px;
}
.modal-tag-list {
  display: none;
}
.modal-tag {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  gap: 0px 10px;
}
.modal-btn {
  padding: 0px;
  border-radius: 0px;
  background: none;
  color: auto;
  z-index: 0;
  position: absolute;
  right: 15px;
  bottom: 15px;
  cursor: pointer;
}
.modal-btn {
  width: 35px;
  height: auto;
}
.modal-btn img {
  width: 100%;
  height: auto;
}
.modal-content .justify-content-end {
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start !important;
  -moz-justify-content: flex-start !important;
  -ms-justify-content: flex-start !important;
  -o-justify-content: flex-start !important;
  justify-content: flex-start !important;
  gap: 8px;
  margin-left: 20px;
  margin-bottom: 10px;
}
.modal-dialog {
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
}
.me-2 {
  margin-right: 0 !important;
}
.modal {
  height: 100vh;
}
.img-modal {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.modal-dialog.image-modal-daialog.alert-daialog {
  width: 600px;
  max-width: 98%;
  margin: 0 auto;
}
.modal-dialog.image-modal-daialog.start-modal {
  width: 800px;
  max-width: 98%;
  margin: 0 auto;
}
.modal-dialog.image-modal-daialog.start-modal .modal-body {
  background: transparent;
  padding: 0;
}
.start-modal-image {
  object-fit: none;
}
.modal-dialog.image-modal-daialog.alert-daialog .modal-body {
  padding: 4rem 3rem !important;
  text-align: center;
}
.modal-dialog.image-modal-daialog.alert-daialog .modal-body h3 {
  font-size: 1.6rem;
  margin-bottom: 3rem;
}
.modal-attachment-title {
  margin-bottom: 26px;
}
.modal-dialog.image-modal-daialog {}
.modal-header .modal-title {
  display: none;
}
.image-modal-daialog .modal-header, .modal-contact .modal-header {
  padding: 0;
  padding-bottom: .5rem;
  border-bottom: none;
}
.image-modal-daialog .modal-content {
  background: transparent;
  border: none;
}
.image-modal-daialog .modal-body {
  background: #000;
  padding: 2px;
}
.image-modal-daialog .modal-footer {
  display: none;
}
.first-view-image {
  max-width: 530px !important;
}
.modal-contact.first-view-image .modal-body {
  padding: 0;
  padding: 2.5rem 0;
  margin-bottom: 50px;
}
.modal-btn-wrap {
  display: flex;
  justify-content: center;
}

/*
a.btn-sns-link{
    display: inline-block;
    padding: 10px 48px 10px 54px;
    border: solid 1px #000000;
    position: relative;
    font-size: 14px;
    text-align: center;
}

a.btn-sns-link::before{
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background-size: 30px 30px;
    background-repeat: no-repeat;
    background-image: url("../img/icon-instagram-link.svg");
}

a.btn-sns-link::after{
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background-size: 14px 14px;
    background-repeat: no-repeat;
    background-image: url("../img/icon-blank-link-black.svg");
}



.modal-btn-wrap .btn-sns-link {
  font-size: 16px;
  color: #000;
  padding: 0.9375rem 0;
  max-width: 230px;
  width: 100%;
}
.modal-btn-wrap .btn-sns-link::before {
  left: 0.9375rem;
  outline: solid 1px #000;
  margin-right: 0.9375rem;
}
.modal-btn-wrap .btn-sns-link::after {
  right: 30px;
  outline: solid 1px #000;
}

*/
a.btn-sns-link {
    display: flex;
    padding: 0.9375rem;
    border: solid 1px #000000;
    font-size: 0.875rem;
    text-align: center;
    justify-content: center;
    align-items: center;
    color: #000;
}
a.btn-sns-link img {
    width: 30px;
    height: 30px;
    display: inline-block;
    margin-right: 0.9375rem;
}
a.btn-sns-link i {
    display: inline-block;
    margin-left: .4rem;
}
a.btn-sns-link:hover {

}
.modal-contact.first-view-image .modal-body .modal-wrap,
.modal-contact.first-view-image .modal-body .modal-wrap-text {
  max-width: 90%;
  margin: 0 auto;
}
.modal-contact.first-view-image .modal-body .modal-wrap-text h3 {
    font-size: 2.2rem;
    margin-bottom: 1.4rem;
}
.modal-contact.first-view-image .modal-body .modal-wrap-text p {
    font-size: .9rem;
    margin-bottom: 0rem;
}
@media(max-width: 767px) {
.modal-contact.first-view-image .modal-body .modal-wrap,
.modal-contact.first-view-image .modal-body .modal-wrap-text {
  max-width: 100%;
}
.modal-contact.first-view-image .modal-body .modal-wrap-text h3 {
    font-size: 1.6rem;
}
.modal-contact.first-view-image .modal-body .modal-wrap-text p {
    font-size: .8rem;
}


}

.closeed {
  display: flex;
  justify-content: center;
  font-size: .9rem;
  margin-top: 1.4rem;
}
.closeed a {
  color: gray;
  cursor: pointer;
}
.closeed a:hover {
  color: gray;
  text-decoration: underline;
}
.modal-images {
  max-width: 80%;
  width: 503px;
  display: block;
  margin: 2rem auto;
  filter: initial;
}
img.modal-images {
  filter: initial !important;

}




.modal-wrap-text p,
.modal-wrap-text h3 {
  text-align: center;
  margin-bottom: 1rem;
}
.modal-wrap-text h3 {
  margin-bottom: 2rem;
}
.modal-wrap img {
  filter: drop-shadow(2.5px 2.5px 5px #ccc);
}
.modal-contact.first-view-image .modal-body .btn-border {
  padding-top: 2rem;
}


.modal-header .btn-close {
  background: none;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1 !important;
}
.modal-header .btn-close:before {
  content: "\f00d";
  color: #fff;
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 1.25rem;
}
.btn-download {
  background-color: #ffffff;
  border: 1px solid #000000;
  border-radius: 0;
  width: 100%;
  margin-top: 10px;
  color: #000;
  font-size: 1rem;
  font-weight: bold;
}
.btn-download:hover {
  border: 1px solid #000000;
}
.modal-main-image {
  text-align: center;
  position: relative;
}
.modal-size-list {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 6px 0;
  text-align: center;
  background-color: rgba(0, 0, 0, .6);
  color: #fff;
}
.success + .modal-body {
  background: #ffffff !important;
  padding: 20px !important;
}
.success + .modal-body h3 {
  margin-bottom: 1rem !important;
}
.contact-thankyou {
  max-width: 300px;
  width: 100%;
  display: block;
  margin-bottom: 2rem;
  margin: 0 auto 3rem;
}
@media (max-width: 767px) {
  .modal-img.main {
    max-width: 90%;
    margin-bottom: 40px;
  }
  .modal-body {
    margin-bottom: 100px;
  }
  .modal-btn {
    right: 10px;
    bottom: 10px;
  }
  .modal-btn {
    width: 20px;
    height: auto;
  }
  .contact-row-title {
    width: 100%;
  }
  .contact-row-data {
    width: 100%;
  }
  .modal-body .post-title {
    font-size: 14px;
    margin-left: 10px;
  }
  .modal-body .list-terms a {
    font-size: 14px;
    padding: 4px 16px;
  }
  .modal-contact {
    font-size: 14px;
    max-width: 96% !important;
    margin: 30px auto;
  }
  .modal-contact .modal-body {
    padding: 20px 16px 40px;
    margin-bottom: 50px;
  }
  .modal-contact.first-view-image .modal-body .modal-wrap-text {
   max-width: 90%;
  }
.modal-wrap-text p,
.modal-wrap-text h3 {
  margin-bottom: .5rem;
}
.modal-wrap-text h3 {
  font-size: 1.25rem;
  margin-bottom: 1rem;
}
  .modal-contact-title h2 {
    font-size: 16px;
    margin-bottom: 30px;
  }
  .modal-contact-form {
    gap: 30px 0px;
  }
  .modal-contact-row {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    gap: 10px 0px;
  }
  .contact-privacy a.target-blank {
    padding-right: 22px;
  }
  .contact-privacy a.target-blank::after {
    width: 16px;
    height: 16px;
    background-size: 16px 16px;
  }
  .modal-contact-row .required {
    font-size: 12px;
  }
  .modal-content .justify-content-end {
    margin-left: 10px;
  }
  .modal-attachment-title {
    margin-bottom: 42px;
  }
  .success + .modal-body h3 {
    font-size: 20px !important;
  }
  .modal-body .attachment-agreement.modal-agreement {
    padding: 0px 10px;
  }
}
/*---------------------------------
page_prefectures
-----------------------------------*/
.prefectures {
  padding-bottom: 80px;
  border-bottom: 1px solid #ccc;
}
.prefectures .row {
  gap: 0px 50px;
}
.prefectures .row .col-md-6 {
  width: calc(50% - 50px * 1 / 2);
}
.prefectures-list {
  margin-bottom: 45px;
}
.prefectures-list:last-child {
  margin-bottom: 0px;
}
ul.prefectures-btn {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 60px;
}
ul.prefectures-btn li {
  width: calc(12.5% - 16px * 7 / 8);
  height: 42px;
  border: 1px solid #000000;
  position: relative;
}
ul.prefectures-btn li:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-size: 10px 6px;
  width: 10px;
  height: 6px;
  background-image: url("../../asset/img/prefectures-btn.png");
  right: 10px;
}
ul.prefectures-btn li:last-child {
  padding-right: 16px;
}
.prefectures-btn a {
  display: inline-block;
  width: 100%;
  height: 100%;
  color: #000000;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 42px;
}
.prefectures h2 {
  font-size: 24px;
  font-weight: bold;
  border-bottom: 1px solid #000000;
  padding-bottom: 14px;
  margin-bottom: 14px;
}
.prefectures h3 {
  font-size: 14px;
  margin-bottom: 4px;
  line-height: 1.65;
}
.prefectures a.target-blank {
  display: inline-block;
  position: relative;
  color: var(--color-link);
  padding-right: 24px;
  font-size: 14px;
  font-weight: bold;
}
.prefectures a.target-blank::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-size: 14px 14px;
  background-repeat: no-repeat;
  background-image: url(../img/icon-blank-link-blue.svg);
}
.prefectures-list li {
  margin-bottom: 16px;
}
.prefectures-list li:last-child {
  margin-bottom: 0px;
}
@media (max-width: 1199px) {
  ul.prefectures-btn li {
    width: calc(25% - 16px * 3 / 4);
  }
  ul.prefectures-btn li:last-child {
    padding-right: 0px;
  }
}
@media (max-width: 767px) {
  .prefectures {
    padding-bottom: 60px;
  }
  .prefectures h2 {
    font-size: 20px;
    padding-bottom: 14px;
    margin-bottom: 14px;
  }
  .prefectures .row .col-md-6 {
    width: 100%;
  }
  .prefectures .row .col-md-6 + .col-md-6 {
    margin-top: 45px;
  }
  ul.prefectures-btn li {
    width: calc(50% - 16px * 1 / 2);
  }
}
/*---------------------------------
TOP戻るボタン
-----------------------------------*/
.return-top-btn {
  display: none;
  position: fixed;
  width: 60px;
  height: 60px;
  right: 25px;
  bottom: 25px;
  cursor: pointer;
  z-index: 20;
}
.return-top-btn.absolute {
  position: absolute !important;
  right: 25px;
  top: -170px;
}
.return-top-btn img {
  opacity: 1;
  transition: all 0.3s ease;
}
.return-top-btn img:hover {
  opacity: 0.5;
  transition: all 0.3s ease;
}
.return-top-btn-sp {
  display: none;
}
@media (max-width: 767px) {
  .return-top-btn {
    width: 40px;
    height: 40px;
    right: 20px;
    bottom: 20px;
  }
  .return-top-btn.absolute {
    position: absolute;
    right: 20px;
    top: -90px;
  }
  .return-top-btn img:hover {
    opacity: 1;
  }
  .return-top-btn-pc {
    display: none;
  }
  .return-top-btn-sp {
    display: block;
  }
}