@charset "UTF-8";
/* CSS Document */
/* ▼　共通設定　▼ */
* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box; }

body {
  font-size: 20px;
  font-weight: 400;
  font-family: 'Shippori Mincho', serif;
  color: #2E2B27;
  line-height: 1.7;
  margin: 0;
  padding: 0; }

img {
  border: none; }

a img {
  border-style: none; }

a {
  outline: 0;
  color: #2E2B27;
  text-decoration: none; }

a:hover {
  opacity: 0.7; }

a img, :link img, :visited img {
  border: none; }

/* delate dot boader of link for New Mozilla \*/
a {
  overflow: hidden; }

a[href^="tel:"] { cursor: default; }

a[href^="tel:"]:hover { opacity: 1.0; }

img, fieldset, abbr, acronym {
  border: 0; }

img {
  /*vertical-align:bottom;*/ }

hr {
	border: 0;
    border-top: 1px solid #AAAAAA;
    margin: 1.5em 0; }
hr.hr_half{
	width: 11em;}

dd {
	margin: 0;}

/* float clear */
.clearfix:after {
  content: ".";
  /* 新しい要素を作る */
  display: block;
  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden; }

.clearfix {
  min-height: 1px; }

* html .clearfix {
  height: 1px;
  /*\*/
     /*/
height: auto;
overflow: hidden;
/**/ }

.clear {
  clear: both; }

ul {
    list-style-type:none;
    margin-block-start: 0em;
    margin-block-end: 0em;
    padding-inline-start: 0px; }

li {
  list-style-type: none; }

#wrapper {
  margin: 0 auto;
  padding: 0; }

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
    font-size: 1em;
    font-weight: 400;}
  
p {
  margin:0;}

/*iframe*/
.iframe_wrap{
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	overflow: hidden;}
iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;}
/*情報ウィンドウ(吹き出し)を消す*/
.iframe_wrap iframe {
	position: absolute;
	top: -150px;
	left: 0;
	width: 100%;
	height: calc(100% + 150px + 150px);
	pointer-events: none;}

.post, .page{
	margin:0;}
/* ▲　共通設定　▲ */
/* ▼　ヘッダ　▼ */
#site_header {
  position: fixed;
  top: 0;
  width: 100%;
  /*height: 80px;*/
  padding-top: 0.5em;
  /*background: #fff;*/
  background: rgba(255, 255, 255, .9);
  z-index: 10; }

#site_title {
  max-width: 180px;
  z-index: 100; }

#btn_contact{
	z-index: 100; }
/* ▽▽ハンバーガーメニュー▽▽ */
#nav_slide {
  /* チェックボックスを隠す */
  display: none; }
.nav_slide_btn {
	width: 4em;
	height: 3.6em;
	cursor: pointer;
	display: block;
	z-index: 100;
	-webkit-transition: all 1s;
	transition: all 1s; }
.nav_slide_btn .lne_humberger{
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	height: 2px;
	width: 3.5em;
  	background-color: #953C34;}
.nav_slide_btn .lne_humberger:nth-of-type(1) {
	top:0px; }
.nav_slide_btn .lne_humberger:nth-of-type(2) {
    top:0.5em;}

.nav_slide_btn .txt_menu,
.nav_slide_btn .txt_close{
	position: absolute;
    top: calc(1.4em - 2px);
    font-size: 1.1em;}
.nav_slide_btn .txt_menu{
	display: block;}
.nav_slide_btn .txt_close{
	display: none;}

#nav_slide_cnt {
  width: 0%;
  height: 100%;
  padding: 5em 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 90;
  position: fixed;
  right: 0;
  /*右からスライド*/
  top: 0;
  background-color: #fff;
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s; }

/* ▽▽開閉時のアニメーション▽▽ */
#nav_slide:checked ~ .nav_slide_btn .ico-menu {
  display: none; }
#nav_slide:checked ~ .nav_slide_btn .ico-close {
  display: inline; }
#nav_slide:checked ~ .nav_slide_btn .lne_humberger:nth-of-type(1) {
    transform: translateY(0.25em) rotate(-20deg);
    transform-origin: 50% 50%;}
#nav_slide:checked ~ .nav_slide_btn .lne_humberger:nth-of-type(2) {
    transform: translateY(-0.25em) rotate(20deg);
    transform-origin: 50% 50%;}
#nav_slide:checked ~ .nav_slide_btn .txt_menu{
	display: none;}
#nav_slide:checked ~ .nav_slide_btn .txt_close{
	display: block;}

#nav_slide:checked ~ #nav_slide_cnt {
  width: 100%;
  opacity: 1; }

/*#nav_slide_cnt li{
	border-bottom: 1px solid #C1C2CC;}*/

#nav_slide_cnt li a {
  display: block;
  margin: 0;
  padding: 1.5em 1.5em 1em 0;
  line-height: 1.2;
  position: relative;
  border-bottom: 1px solid #EBEBEB;
  /*color: #146CFF;*/ }
#nav_slide_cnt li.submenu a {
  padding-left: 1.5em;
  font-size:0.8em;}
#nav_slide_cnt li.submenu a::before{
  content: '・';}
#nav_slide_cnt li .icon-instagram{
  font-size: 1.5em;
  vertical-align: text-top;
  padding-right: 0.2em;}
/* ▽▽展開時スクロール停止▽▽ */
.scroll_off {
	overflow:hidden;
}

/*ポップアップオーバーレイ*/
#nav_slide_cnt .lnk_btn {
    border-radius: 0;
    display: block;}
  
.blk_popup{
	margin-top:1.5em;
	/*padding: 2em 0;*/
	background-image: linear-gradient( #953C34, #953C34 );
	background-size: 0 100%;
	background-position: left bottom 2px;
	background-repeat: no-repeat;
	transition: all .3s;}
.blk_popup:hover{
	 background-size: 100% 100%;
	 border: 0;}

.blk_popup .nav_popup_open{
	display: block;
    width: 100%;
    padding: 2em 0;}

.blk_popup:hover .nav_popup_open.txt_red{
	color: #fff;}

#nav_popup {
	display: none;}
.nav_popup_open {
	cursor: pointer;}
.nav_popup_open.lnk_btn::after{
	content: none;}
.nav_popup_open .btn_inner{
    display: inline-block;
    width: 90%;
    max-width: 900px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);}
.nav_popup_overlay {
	display: none;}
#nav_popup:checked ~ .nav_popup_overlay {
	display: block;
	z-index: 200;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;}
.nav_popup_window {
	width: 92%;
	padding: 20px;
	height: 75vh;
	padding-bottom: 2.5em;
	background-color: #ffffff;
	position: absolute;
	top: 5em;
	left: 50%;
	transform: translateX(-50%);}
.nav_popup_window .ovflw_hddn{
	height:100%}
.nav_popup_window .area_lnk{
	height: calc(100% - 9em);
    	overflow-y: scroll;}

.nav_popup_window .lnk_btn.lnk_window::after {
	bottom: 1.75em;}
	
.nav_popup_window .lnk_btn.lnk_window .area_type{
	max-width: 13em;}
.nav_popup_close {
	width: 6em;
	height: 6em;
	cursor: pointer;
	display: block;
	z-index: 100;
	background:#fff;
	cursor: pointer;
	position: absolute;
	top: -1em;
	right: -1em;}
.nav_popup_close .lne_popup{
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	height: 2px;
	width: 3.5em;
  	background-color: #953C34;}
.nav_popup_close .lne_popup:nth-of-type(1) {
	top:1.5em;
	transform: translateY(0.25em) rotate(-20deg);
	transform-origin: 50% 50%; }
.nav_popup_close .lne_popup:nth-of-type(2) {
	top:2em;
	transform: translateY(-0.25em) rotate(20deg);
	transform-origin: 50% 50%;}

.nav_popup_close .txt_close{
	position: absolute;
	bottom: 0.5em;
	font-size: 1.1em;}

/* ▲　ヘッダ　▲ */
/* ▼　メイン　▼ */
/*home*/
main {
  margin-top: 120px;
  padding-bottom: 40px; }

section {
  /*display: none;
  transform : translate(0, 100px);*/
  opacity: 0;
  visibility: hidden;
  transition: all 2s; }

section.active {
  /*display: block;
  transform : translate(0, 0);*/
  opacity: 1;
  visibility: visible; }

/*ページタイトル*/
#sec_ttl .page_caption{
	position: relative;}
#sec_ttl .page_caption::after{
	content: '';
	display: inline-block;
	width: 100%;
	height: 1em;
	border-top: 1px solid #953C34;
	position: absolute;
	transform: translateY(85%);}
#sec_ttl .page_caption .txt_red{
	padding-right: 0.75em;}

#sec_ttl .lnk_circle{
	position: absolute;
	top:50%;
	right:0;
	transform: translateY(-50%) rotate(90deg);}
	
/*共通：画像2枚大小*/
.area_pairimg li:first-of-type{
	width: 60%;
}
.area_pairimg li:last-of-type{
	width: 35%;
}
/**ブログ**/
#sec_post{
	margin-top: 2em;}
#sec_post .entry-header{}
#sec_post .entry-content{}
#sec_post .entry-group{}
#sec_post .entry-date{}
#sec_posts{
	margin-top: 2em;}
#sec_posts .blk_posts{
	border-bottom: 1px solid #E6E6E6;
    padding: 1.5em 0em;
}

#sec_posts .blk_posts p{
	margin-bottom: 0;
}
/*#sec_posts .blk_posts .hvr_uline_show a:hover{
	color: #2E2B27;
}
#sec_posts .blk_posts .hvr_uline_show a::after{
	height: 1px;
}*/
.nav-links{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	padding-top: 2em;
}
.nav-links .page-numbers{
	display: inline-block;
	font-size: 1.5em;
	text-decoration: underline;}
.nav-links .page-numbers:hover{
	text-decoration: none;}
.nav-links .current,
.nav-links .dots{
	text-decoration: none;}
.nav-links .prev,
.nav-links .next{
	font-size: 1em;}
.nav-links .prev .lnk_btn{
	transform: rotate(180deg);}
	
.nav-previous .lnk_btn,
.nav-next .lnk_btn{
	vertical-align: bottom;}
	
.nav-previous .lnk_btn{
	transform: rotate(180deg);}

/*.nav-links a:hover .icon-arrow_s::after{
	transform-origin: left top;
	transform: scale(1, 1); 
}*/

/* ▲　メイン　▲ */
/* ▼　フッター　▼ */
.logo_footer{
	max-width: 180px;}
#nav_footer .submenu{
	display:none;}
#pagetop {
    position: fixed;
    bottom: 1em;
    left: 2%;
    text-align: center;
    z-index: 5;
    font-size: 1.5em;
}
#pagetop .lnk_btn{
	transform: rotate(270deg);}
#footer_lnk{
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 5;
    line-height: 1;}
#footer_lnk .lnk_btn{
	border-radius: 0;}
#footer_lnk.hide {
    opacity: 0;
    visibility: hidden;
}
/* ▲　フッター　▲ */
/* ▼　コピーライト　▼ */
/* ▲　コピーライト　▲ */
/* ▼　レスポンシブ　▼ */
/*===============================================
●smart.css  画面の横幅が768pxから
===============================================*/
@media screen and (max-width: 768px) {
  .pconly {
    display: block; }
  .sponly {
    display: none !important; }
}
/*===============================================
●smart.css  画面の横幅が767pxまで
===============================================*/
@media screen and (max-width: 767px) {
  .pconly {
    display: none !important; }

  .sponly {
    display: block; }
  #sec_posts .blk_posts p{
	display: block; }
}
/*===============================================
●smart.css  画面の横幅が480pxまで
===============================================*/
@media screen and (max-width: 480px) {
  body{
	  font-size: 14px; }
	#site_title{
		width: 120px; }
}
