@charset "UTF-8";
/* Scss Document */
/* Scss Document */
/*color*/
/*ベース文字色*/
/*背景色*/
/*アクセント色*/
/*線*/
/*線*/
/*線*/
/*線*/
/*線*/
/*font*/
/*layout*/
/*======================= sp header
=========================*/
@media screen and (min-width: 1025px) { #header:not(.scrolled) { background: rgba(0, 0, 0, 0.75); } }
@media screen and (max-width: 1024px) { #header:not(.active) #gnav h1 { background: rgba(0, 0, 0, 0.75); height: auto; padding-top: 0px; }
  #header:not(.active) #gnav h1 a { width: 100%; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; padding-top: 5px; padding-bottom: 5px; } }

/*======================= search_set
=========================*/
.search_set { display: none; }

/*======================= main_visual
=========================*/
#main_visual { height: 0; }

/*======================= breadcrumb
=========================*/
@media screen and (min-width: 769px) { #breadcrumb { margin-top: 95px; } }

/*======================= wrapper
=========================*/
#cms_contents .wrapper { max-width: 1040px; }

/*======================= lead
=========================*/
#lead + .cont { margin-top: 100px; }
@media screen and (max-width: 768px) { #lead + .cont { margin-top: 50px; } }

/*======================= ニュース
=========================*/
#news_list article { position: relative; border-bottom: 1px solid #e6e6e6; }
@media screen and (min-width: 769px) { #news_list article { padding-top: 50px; } }
@media screen and (max-width: 768px) { #news_list article { padding-top: 30px; } }
@media screen and (max-width: 500px) { #news_list article { padding-top: 20px; } }
#news_list article > a { display: block; }
@media screen and (min-width: 769px) { #news_list article > a { padding-right: 40px; } }
@media screen and (max-width: 768px) { #news_list article > a { padding-right: 40px; } }
@media screen and (max-width: 500px) { #news_list article > a { padding-right: 0; } }
#news_list article section { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: center; }
@media screen and (max-width: 500px) { #news_list article section { flex-direction: column; align-items: flex-start; } }
#news_list article section .date { color: #bebebe; text-align: center; letter-spacing: 2px; }
@media screen and (min-width: 501px) { #news_list article section .date { flex-basis: 150px; max-width: 150px; } }
#news_list article section .date span { display: block; line-height: 1.2; }
@media screen and (max-width: 500px) { #news_list article section .date span { display: inline-block; }
  #news_list article section .date span.yy:after { content: '.'; display: inline-block; } }
#news_list article section .date span.yy, #news_list article section .date span.day { font-size: 12px; }
#news_list article section .date span.mm-dd { font-size: 20px; }
@media screen and (min-width: 501px) { #news_list article section .text { flex-basis: calc(100% - 150px); max-width: calc(100% - 150px); } }
@media screen and (max-width: 500px) { #news_list article section .text { width: 100%; } }
#news_list article section .text h4 { font-size: 18px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-bottom: 10px; }
#news_list article .category { margin-top: 20px; font-size: 0; text-align: right; }
#news_list article .category li { font-size: 16px; display: inline-block; border: 1px solid #eeeeee; border-bottom: 0; margin-right: 10px; }
#news_list article .category li a { color: #766d5e; display: block; transition: all 0.5s; padding-left: 10px; padding-right: 10px; }
#news_list article .category li a:hover { background-color: #000; color: #FFF; }
#news_list article:before { content: ''; display: block; width: 0; height: 0; border-style: solid; border-width: 20px 0 0 20px; border-color: transparent transparent transparent #dedede; position: absolute; left: 0; bottom: 0; }

/* ========================================
	Main Slider
======================================== */
#main_slider .slider_container { position: relative; padding-left: 50px; padding-right: 50px; }
#main_slider .arrows { position: absolute; top: 50%; left: 0; width: 100%; }
#main_slider .arrows .slick-prev, #main_slider .arrows .slick-next { width: 40px; height: 70px; z-index: 2; }
#main_slider .arrows .slick-prev::before, #main_slider .arrows .slick-next::before { display: none; }
#main_slider .arrows .slick-prev { left: 0px; }
#main_slider .arrows .slick-next { right: 0px; }
#main_slider .slider .slick-slide { margin-right: 15px; margin-left: 15px; z-index: 0; }
#main_slider .slider .slick-slide a { display: block; }
@media screen and (min-width: 769px) { #main_slider .slider .slick-slide a { position: relative; z-index: 0; } }
#main_slider .slider .slick-slide a figure { position: relative; z-index: 0; overflow: hidden; }
@media screen and (max-width: 768px) { #main_slider .slider .slick-slide a figure { margin-bottom: 20px; } }
#main_slider .slider .slick-slide a figure:before { content: ''; display: block; padding-top: 75%; }
#main_slider .slider .slick-slide a figure img { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; font-family: 'object-fit: cover;object-position: center center;'; }
#main_slider .slider .slick-slide a .text { position: absolute; z-index: 2; bottom: 0; right: 0; background-color: rgba(255, 255, 255, 0.9); padding: 10px 40px; text-align: left; width: 450px; height: 140px; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-direction: column; }
@media screen and (max-width: 768px) { #main_slider .slider .slick-slide a .text { position: relative; width: 100%; padding-top: 0; height: auto; } }
#main_slider .slider .slick-slide a .text h4 { font-size: 18px; }
#main_slider .slider .slick-slide a .text .date { color: #bebebe; letter-spacing: 2px; }
#main_slider .slider .slick-slide a .text .date span { line-height: 1.2; }
#main_slider .slider .slick-slide a .text .date span.yy, #main_slider .slider .slick-slide a .text .date span.day { font-size: 12px; }
#main_slider .slider .slick-slide a .text .date span.mm-dd { font-size: 20px; }
#main_slider .slider .slick-slide a .text .category { font-size: 0; }
#main_slider .slider .slick-slide a .text .category li { font-size: 16px; display: inline-block; margin-right: 10px; color: #766d5e; }
@media screen and (max-width: 500px) { #main_slider .slider .slick-slide a .text { width: 100%; height: 28vw; padding: 10px 10px; }
  #main_slider .slider .slick-slide a .text h4 { font-size: 4vw; line-height: 1.2; }
  #main_slider .slider .slick-slide a .text .date span.yy, #main_slider .slider .slick-slide a .text .date span.day { font-size: 2.5vw; }
  #main_slider .slider .slick-slide a .text .date span.mm-dd { font-size: 3vw; }
  #main_slider .slider .slick-slide a .text .category li { font-size: 2.5vw; } }

/*======================= ブログ
=========================*/
#blog_list .wrapper { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; }
@media screen and (min-width: 769px) { #blog_list article { flex-basis: calc(33.333333% - 20px); max-width: calc(33.333333% - 20px); margin-left: 30px; margin-top: 50px; }
  #blog_list article:nth-child(3n+1) { margin-left: 0; }
  #blog_list article:nth-child(-n+3) { margin-top: 0; } }
@media screen and (max-width: 768px) and (min-width: 501px) { #blog_list article { flex-basis: calc(50% - 10px); max-width: calc(50% - 10px); margin-left: 20px; margin-top: 30px; }
  #blog_list article:nth-child(2n+1) { margin-left: 0; }
  #blog_list article:nth-child(-n+2) { margin-top: 0; } }
@media screen and (max-width: 500px) { #blog_list article { flex-basis: 100%; max-width: 100%; margin-top: 30px; }
  #blog_list article:first-child { margin-top: 0; } }
#blog_list article > a { display: block; }
#blog_list article figure { position: relative; overflow: hidden; margin-bottom: 20px; }
#blog_list article figure:before { content: ''; display: block; padding-top: 75%; }
#blog_list article figure img { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; font-family: 'object-fit: cover;object-position: center center;'; }
#blog_list article section { padding-left: 10px; padding-right: 10px; }
#blog_list article section .date { color: #bebebe; letter-spacing: 2px; }
#blog_list article section .date span { line-height: 1.2; }
#blog_list article section .date span.yy, #blog_list article section .date span.day { font-size: 12px; }
#blog_list article section .date span.mm-dd { font-size: 20px; }
#blog_list article section .text h4 { font-size: 18px; margin-bottom: 10px; }
#blog_list article .category { padding-left: 10px; padding-right: 10px; margin-top: 20px; font-size: 0; text-align: right; }
#blog_list article .category li { font-size: 16px; display: inline-block; margin-right: 10px; }
#blog_list article .category li a { color: #766d5e; }
#blog_list article .category li a:hover { text-decoration: underline; }

/*======================= 記事（共通）
=========================*/
#entry header { margin-bottom: 20px; }
#entry header .date { color: #bebebe; letter-spacing: 2px; }
#entry header .date span { line-height: 1.2; }
#entry header .date span.yy, #entry header .date span.day { font-size: 12px; }
#entry header .date span.mm-dd { font-size: 20px; }
#entry header h2 { font-size: 30px; line-height: 1.4; margin-top: 10px; margin-bottom: 10px; }
@media screen and (max-width: 768px) { #entry header h2 { font-size: 20px; } }
#entry header .category { font-size: 0; }
#entry header .category li { font-size: 16px; display: inline-block; margin-right: 10px; }
#entry header .category li a { color: #766d5e; }
#entry header .category li a:hover { text-decoration: underline; }
#entry .large_cont figure { text-align: center; }
#entry .large_cont .text { padding: 30px 10px 0; }
@media screen and (max-width: 768px) { #entry .large_cont .text { padding: 20px 10px 0; } }
#entry .large_cont .text p { margin-top: 2em; }
#entry .large_cont .text p:first-of-type { margin-top: 0; }
@media screen and (min-width: 769px) { #entry .cont_lr > .image { flex-basis: 47.5%; max-width: 47.5%; flex-shrink: 0; }
  #entry .cont_lr > .text { flex-basis: 52.5%; max-width: 52.5%; flex-shrink: 0; }
  #entry .cont_lr.img_r .text { padding-right: 5%; }
  #entry .cont_lr.img_l .text { padding-left: 5%; } }

/*======================= ページャー
=========================*/
#pager { width: 100%; font-size: 0; text-align: center; }
@media screen and (min-width: 769px) { #pager { margin-top: 100px; } }
#pager li { display: inline-block; vertical-align: top; font-size: 18px; min-width: 36px; height: 36px; color: #000; }
@media screen and (max-width: 768px) { #pager li { margin: 0 4px; font-size: 14px; min-width: 26px; height: 26px; } }
#pager li a { color: #000; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; align-content: center; }
#pager li a img { vertical-align: middle; display: block; transition: all 0.5s; }
#pager li a:hover { background-color: #eeeeee; }
#pager li.current a { background-color: #000; color: #FFF; }
#pager li.current a:hover { background-color: #000; }
#pager li.prev { margin-right: 10px; }
#pager li.prev a:hover { background-color: transparent; }
#pager li.prev a:hover img { transform: translateX(-10px); }
#pager li.next { margin-left: 10px; }
#pager li.next a:hover { background-color: transparent; }
#pager li.next a:hover img { transform: translateX(10px); }
#pager.entry li { font-size: 14px; }
#pager.entry li.prev { margin-right: 40px; }
#pager.entry li.prev img { margin-right: 10px; }
#pager.entry li.next { margin-left: 40px; }
#pager.entry li.next img { margin-left: 10px; }
#pager.entry li.list a:hover { background-color: transparent; }
#pager a { display: block; }

/*======================= リスト
=========================*/
#lists { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
@media screen and (max-width: 1024px) { #lists { flex-direction: column; } }
#lists > div { text-align: center; }
@media screen and (min-width: 1025px) { #lists > div { border: 1px solid #bebebe; flex-basis: 50%; max-width: 50%; padding: 30px 30px 60px; position: relative; } }
#lists > div .button_more { width: 30px; height: 30px; border: 1px solid #bebebe; margin-left: auto; margin-right: auto; margin-top: 20px; cursor: pointer; position: relative; box-sizing: border-box; }
@media screen and (min-width: 1025px) { #lists > div .button_more { position: absolute; bottom: 0; left: 0; right: 0; margin-left: auto; margin-right: auto; border-bottom: none; } }
#lists > div .button_more:before, #lists > div .button_more:after { position: absolute; content: ''; display: block; width: 20px; height: 1px; background-color: #766d5e; top: 50%; left: 50%; margin-left: -10px; }
#lists > div .button_more:after { transform: rotate(90deg); transition: all 0.5s; }
#lists > div .button_more.active:after { opacity: 0; transform: rotate(0deg); }
#lists > div .hide { display: none; }
@media screen and (min-width: 1025px) { #lists .archive { border-right: 0; } }
#lists .archive ul { font-size: 0; }
#lists .archive ul li { font-size: 16px; display: inline-block; }
#lists .archive ul li:after { content: '/'; display: inline-block; margin-left: 0.5em; margin-right: 0.5em; }
#lists .archive ul li a:hover { text-decoration: underline; text-decoration-color: #766d5e; }
@media screen and (max-width: 1024px) { #lists .category { margin-top: 50px; } }
@media screen and (min-width: 769px) { #lists .category ul.hide { margin-top: 30px; } }
@media screen and (max-width: 768px) { #lists .category ul.hide { margin-top: 20px; } }
#lists .category ul li { border: 1px solid #595656; float: left; }
@media screen and (min-width: 769px) { #lists .category ul li { width: calc(33.333333% - 20px); margin-left: 30px; margin-top: 30px; }
  #lists .category ul li:nth-child(3n+1) { margin-left: 0; clear: both; }
  #lists .category ul li:nth-child(-n+3) { margin-top: 0; } }
@media screen and (max-width: 768px) { #lists .category ul li { width: calc(50% - 10px); margin-left: 20px; margin-top: 20px; }
  #lists .category ul li:nth-child(2n+1) { margin-left: 0; clear: both; }
  #lists .category ul li:nth-child(-n+2) { margin-top: 0; } }
#lists .category ul li a { display: block; transition: all 0.5s; }
#lists .category ul li a:hover { background-color: #000; color: #FFF; }

/*# sourceMappingURL=cms.css.map */
