@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;
	-webkit-text-size-adjust: 100%;
}

html {
  line-height: 1;
  font-size: 62.5%
}

ol,
ul {
  list-style: none
}

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

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

blockquote,
q {
  quotes: none
}

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

fieldset,
img {
  border: 0
}

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

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

*,
:after,
:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

body {
  color: #3a3a3a;
  background: #f9f8f6;
  font-size: 1.5rem;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 400
}

a:active,
a:link,
a:visited {
  color: #333;
  word-wrap: break-word;
  text-decoration: none;
  outline: 0
}

a:hover {
  color: #4d4948;
  text-decoration: none;
  transition: .2s linear
}

a img {
  border: none;
  -webkit-transition: .2s linear;
  transition: .2s linear
}

a:hover img {
  opacity: .7
}

input[type=search] {
  -webkit-appearance: none;
  outline: 0
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  display: none
}

.clearfix::after {
  content: "";
  display: block;
  clear: both
}

.clear {
  clear: both;
  font: 0/0 sans-serif
}

em {
  color: #f08
}

.b {
  font-weight: 700 !important
}

.c {
  text-align: center !important;
  margin: 0 auto !important
}

.txtr {
  text-align: right !important;
  display: block !important
}

.txtl {
  text-align: left !important
}

.normal {
  font-weight: 400 !important
}

.mb05 {
  margin-bottom: .5rem !important
}

.mb1 {
  margin-bottom: 1rem !important
}

.mb2 {
  margin-bottom: 2rem !important
}

.mb3 {
  margin-bottom: 3rem !important
}

.mb4 {
  margin-bottom: 4rem !important
}

.mb5 {
  margin-bottom: 5rem !important
}

.mb6 {
  margin-bottom: 6rem !important
}

.mb10 {
  margin-bottom: 10rem !important
}

.mt1 {
  margin-top: 1rem !important
}

.mt2 {
  margin-top: 2rem !important
}

.mt3 {
  margin-top: 3rem !important
}

.mt4 {
  margin-top: 4rem !important
}

.mt5 {
  margin-top: 5rem !important
}

.mt6 {
  margin-top: 6rem !important
}

.mt10 {
  margin-top: 10rem !important
}

.pt1 {
  padding-top: 1rem !important
}

.pt2 {
  padding-top: 2rem !important
}

.pt3 {
  padding-top: 3rem !important
}

.pt4 {
  padding-top: 4rem !important
}

.pt5 {
  padding-top: 5rem !important
}

.pt6 {
  padding-top: 6rem !important
}

.pt10 {
  padding-top: 10rem !important
}

.ml1 {
  margin-left: 1rem !important
}

.ml2 {
  margin-left: 2rem !important
}

.ml3 {
  margin-left: 3rem !important
}

.pad_A1 {
  padding: 1rem !important
}

.pad_A2 {
  padding: 2rem !important
}

.disc {
  padding-left: 1.7rem;
  text-indent: -.1rem;
  line-height: 1.7
}

.disc li {
  margin-bottom: 1rem;
  list-style-type: disc !important
}

.decimal ol {
  padding-left: 1em
}

.decimal ol li {
  list-style-type: decimal !important;
  margin-left: 1em;
  text-indent: -.1em
}

hr {
  border-width: 1px 0 0 0;
  border-style: solid;
  border-color: #c9caca;
  height: 1px
}

hr.linebk {
  border-width: 1px 0 0 0;
  border-style: solid;
  border-color: #000;
  height: 1px
}

.justify {
  padding-top: .2em;
  line-height: 1.4em;
  text-align: justify;
  text-justify: inter-ideograph
}
.f_gothic1 {
font-family: 'Noto Sans JP', sans-serif;
font-weight: 100;
}
.f_gothic4 {
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
}

.f_gothic {
  font-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif
}

.f_mincho {
  font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif
}

.overflow {
  overflow: hidden
}

.overflow::after {
  content: "";
  display: block;
  clear: both
}

.fc_red {
  color: red !important
}

.fc_orange {
  color: #e88020 !important
}

.fc_cc {
  color: #4d4948 !important
}

.fc_cc2 {
  color: #f9f8f6 !important
}

.fc_cc3 {
  color: #ffdddf !important
}

.bg_cc {
  background: #f9f8f6 !important
}

.bg_cc2 {
  background: #e3e3e3 !important
}

.bg_cc3 {
  background: #d4cebf !important
}

.bg_cc4 {
  background: #4d4948 !important
}

.bg_wh {
  background: #fff !important
}

.bg_bk {
  background: #000 !important
}

.lspac {
  letter-spacing: -.04em
}

hr {
  border: 0;
  height: 1px;
  background: #ccc;
  margin: 4rem 0
}

.frame_p {
  box-shadow: 0 2px 6px #999
}

.radius2 {
  border-radius: 2rem
}

.radius2_img img {
  border-radius: 2rem
}

a.anchor {
  display: block;
  padding-top: 10rem;
  margin-top: -10rem
}


  .i_arrow01 {
    position: relative;
    padding: 5px 0 0 15px;
  }

  .i_arrow01::before {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border: solid 6px transparent;
    border-left: solid 8px #4d4948;
    top: 50%;
    left: 0;
    margin-top: -5px;
  }

  .i_arrow02 {
    position: relative;
    padding: 5px 0 0 20px;
  }

  .i_arrow02::before {
    position: absolute;
    content: '';
    width: 16px;
    height: 16px;
    background: #4d4948;
    top: 50%;
    left: 0;
    margin-top: -7px;
  }

  .i_arrow02::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 6px #fff;
    top: 50%;
    left: 6px;
    margin-top: -3px;
  }

  .i_arrow03 {
    position: relative;
    padding: 3px 0 0 20px;
  }

  .i_arrow03::before {
    position: absolute;
    content: '';
    width: 6px;
    height: 6px;
    background-color: #4d4948;
    top: 50%;
    left: 0;
    margin-top: -2px;
  }

  .i_arrow03::after {
    position: absolute;
    content: '';
    border: solid 7px transparent;
    border-left: solid 7px #4d4948;
    top: 50%;
    left: 5px;
    margin-top: -6px;
  }

  .i_arrow04 {
    position: relative;
    padding: 2px 0 0 15px;
  }

  .i_arrow04::before {
    position: absolute;
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 2px #4d4948;
    border-right: solid 2px #4d4948;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    left: 0;
    margin-top: -3px;
  }

  .i_arrow05 {
    position: relative;
    padding: 5px 0 0 25px;
  }

  .i_arrow05::before {
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    background: #4d4948;
    border-radius: 50%;
    top: 50%;
    left: 0;
    margin-top: -7px;
  }

  .i_arrow05::after {
    position: absolute;
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    left: 5px;
    margin-top: -1px;
  }


 .wp_nextpost {
	margin: 5rem 0;
	padding: 5rem 0;
	width: 100%;
  display: flex;    flex-wrap: wrap;    justify-content: space-between;
	border-top: 1px #4d4948 dotted;
}
.next_post {
	width: 45%;
	text-align: right;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	padding-right: 1rem;
}
.previous_post {
	width: 45%;
	text-align: left;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	padding-left: 1rem;
}


  /* page-top */
#pagetop {
  position: fixed;
	bottom: 40px;
	right: 15px;
	display: block;
	background-color: rgba(208, 212, 217, 0.5);
	color: #fff;
	text-decoration: none;
	font-weight: bold;
 	font-size: 10px;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 22px;
	border-radius: 50%;
	padding-top: 25px;
}
#pagetop::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-left: 2px solid #4d4948;
  border-top: 2px solid #4d4948;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -25%) rotate(45deg);
}
#pagetop:hover { opacity: 0.7; }

@media screen and (max-width:1150px) {
  #pagetop {
   bottom: 5rem;
	 right: 1rem;
  }
}

.breadcrumb {
    display: flex;
    gap: 0 22px;
    list-style: none;
    padding: 3rem;
    font-size: .9em;
}

.breadcrumb li {
    display: flex;
    align-items: center;
}

.breadcrumb li:first-child::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 4px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 20C20 20.5523 19.5523 21 19 21H5C4.44772 21 4 20.5523 4 20V11L1 11L11.3273 1.6115C11.7087 1.26475 12.2913 1.26475 12.6727 1.6115L23 11L20 11V20ZM11 13V19H13V13H11Z' fill='%23333333'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    content: '';
}

.breadcrumb li:not(:last-child)::after {
    display: inline-block;
    transform: rotate(45deg);
    width: .3em;
    height: .3em;
    margin-left: 10px;
    border-top: 1px solid #333333;
    border-right: 1px solid #333333;
    content: '';
}

.breadcrumb a {
    color: #333333;
    text-decoration: none;
}

@media screen and (max-width:1150px) {
  .breadcrumb {
    display: none !important
  }
}


main {
  position: relative
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border-radius: 10px
}

.transform {
  transform: translateY(30px);
  transition: 1s ease;
  opacity: 0
}

.transform02 {
  transform: translateY(70px);
  transition: 2.2s ease;
  opacity: 0;
}

.transform_r {
  transform: translateX(300px);
  transition: 1s ease;
  opacity: 0
}

.transform_r02 {
  transform: translateX(150px);
  transition: 1s ease;
  opacity: 0
}

.transform_l {
  transform: translateX(-300px);
  transition: 1s ease;
  opacity: 0
}

.transform_l02 {
  transform: translateX(-150px);
  transition: 1s ease;
  opacity: 0
}

.transform_f {
  transform: translateY(0);
  transition: 2s ease;
  opacity: 0
}


.transform.fade_on,
.transform02.fade_on {
  transform: translateY(0);
  opacity: 1
}

.transform_r.fade_on,
.transform_r02.fade_on {
  transform: translateX(0);
  opacity: 1
}

.transform_l.fade_on,
.transform_l02.fade_on {
  transform: translateX(0);
  opacity: 1
}

.transform_f.fade_on {
  transform: translateX(0);
  opacity: 1
}

.delay {
  -webkit-transition-delay: .1s;
  transition-delay: .1s
}

.delay02 {
  -webkit-transition-delay: .2s;
  transition-delay: .2s
}

.delay03 {
  -webkit-transition-delay: .4s;
  transition-delay: .4s
}

.delay04 {
  -webkit-transition-delay: .6s;
  transition-delay: .6s
}

.delay05 {
  -webkit-transition-delay: .8s;
  transition-delay: .8s
}

.delay06 {
  -webkit-transition-delay: 1s;
  transition-delay: 1s
}

.delay07 {
  -webkit-transition-delay: 1.3s;
  transition-delay: 1.3s
}

.delay08 {
  -webkit-transition-delay: 2.5s;
  transition-delay: 2.5s
}

.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n+1),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7n+1) {
  color: red
}

.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7) {
  color: #00f
}

.flatpickr-calendar .numInput {
  user-select: none
}






/* Swiper
---------------------------------------------*/
.sw_gallery {
  --gallery-item-w: 400px;
    --gallery-item-h: 300px;
    background: #4d4948;
    overflow: hidden;
    width: 100%;
    padding: 80px 0;
}

.sw_gallery .swiper {
  overflow: visible;
}

.sw_gallery .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}

.sw_gallery .swiper-slide {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.sw_gallery .slide {
  flex-shrink: 0;
    width: var(--gallery-item-w);
    height: var(--gallery-item-h);
    overflow: hidden;
    border-radius: 15px;
}

@media only screen and (max-width: 640px) {
  .sw_gallery {
  --gallery-item-w: 400px;
    --gallery-item-h: 300px;
    background: #4d4948;
    overflow: hidden;
    width: 100%;
    padding: 20px 0;
}
  .sw_gallery .slide {
    --gallery-item-w: 300px;
    --gallery-item-h: 200px;
  }
}

@media only screen and (min-width: 1025px) {
  .sw_gallery .slide {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }

  .sw_gallery .slide img {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }

}

.sw_gallery .slide-media {
  flex-shrink: 0;
    width: var(--gallery-item-w);
    height: var(--gallery-item-h);
    overflow: hidden;
    border-radius: 15px;

}

.sw_gallery .slide-media img {
  height: calc(100% + 16px);
  -webkit-transform: translateY(-16px);
  transform: translateY(-16px);
}

