@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

@media screen and (min-width: 1024px){
	.pc{display:block;}
	.sp{display:none;}
}

@media screen and (max-width: 1023px){
	.pc{display:none;}
	.sp{display:block;}
}






:root {
	--radius: 16px;
	--padding: 16px;
	--width: 960px;
	--maxwidth: 1366px;
	--color: #1b1b1b;
	--bgcolor:#fdfbf5;
	--sky: #abd9ea;
	--green: #9cbf3a;
	--green2: #5f7915;
	--green3: #e8f6c2;
	--gold: #b68613;
	--gold2: #f0dfa3;
	--gold3: #fbf5e0;
	--pink: #e3538a;
	--braun:#4f4733;
	--yellow:#fbf2de;
}


body{
	font-family: "Zen Kaku Gothic New", serif;
	font-weight: 500 !important;
	font-style: normal;
	font-size: clamp(14px, 2.5vw, 18px);
	font-feature-settings: "palt" 1;
	overflow-x:hidden;
	background:var(--bgcolor);
	color:var(--color);
}

@media screen and (max-width: 1023px) {
    body:where(.mblt-header-mobile-buttons, .mblt-header-and-footer-mobile-buttons) {
        margin-top: 80px;
    }
}

#search-menu-open{
	display:none !important;
}

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


p{
	margin:1em 0;
}

.big{
	font-size:120%;
	font-weight:700;
}
.btn_fade{
	transition:0.2s;
}

.btn_fade:hover{
	opacity:0.5;
}


img.responsive{
	width:100%;
}

img.radius{
	border-radius:10px;
}

.text_center{
	text-align:center;
}


.att{
	font-size:12px;
}

.pink{
	color:var(--pink);
}


.e_font{
	font-family: "futura-pt", sans-serif;
	font-weight: 600;
	font-style: normal;
}

.border{
	border:solid 1px var(--gold2);
}



/*--------------------
 * table
 * ------------------*/
table,
table th,
table td,
table tr:nth-of-type(2n+1),
table:not(.has-border-color) :where(th, td){
	border:none;
	background:none;
	padding:0;
}
table {
	border-collapse: separate;
}

/*-----------------------------
 * btn_p
 * ---------------------------*/

.btn_p{
}


@media screen and (max-width: 1023px){

	
}



/*-----------------------------
 * btn_s
 * ---------------------------*/
.btn_s a{
	display:flex;
	justify-content: space-between;
	align-items: center;
	width:100%;
	border:var(--gold) 1px solid;
	border-radius:10px;
	background:#fff;
	padding:0.5em 1em;
	text-decoration:none;
	color:var(--color);
	transition:0.2s;
}

.btn_s a strong,
.btn_s a i{
	color:var(--gold);
	transition:0.2s;
}

.btn_s a:hover{
	background:var(--gold);
	color:#fff;
}

.btn_s a:hover strong,
.btn_s a:hover i{
	color:#fff;
}




/*-----------------------------
 * btn_ss
 * ---------------------------*/
.btn_ss a{
	background:#fff;
	border-radius:30px;
	border:var(--gold) solid 2px;
	padding:5px 20px;
	text-decoration:none;
	color:var(--gold);
	transition:0.2s;
	font-size:16px;
}
.btn_ss a:hover{
	background:var(--gold);
	color:#fff;
}




/*--------------------
 * btn_l
 * --------------------*/

.btn_l{
	width:360px;
	margin:0 auto;
	margin-top:20px;
	transition:0.2s;
	padding-bottom:5px;
}
.btn_l a{
	display:block;
	text-align:center;
	background:var(--gold);
	color:#fff;
	border:var(--gold) 2px;
	font-size:30px;
	border-radius:40px;
	text-decoration:none;
	padding:10px 0;
	box-shadow:0px 5px 0px #7f5c08;
	transition:0.2s;
}


.btn_l a i{
	color:#d3af59;
	font-size:24px;
	padding-left:10px;
	transition:0.2s;
}

.btn_l:hover a{
	background:#e1b039;
}

.btn_l:hover a i{
	color:#fff;
}

.btn_l:active {
	margin-top:25px;
	padding-bottom:0px;
}

.btn_l:active  a{
	box-shadow:0px 0px 0px #7f5c08;
}



@media all and (max-width: 767px) {
	.btn_l{
		width:100%;
	}
}

/*---------------------
 * h
 * -------------------*/
h2.section_h2{
	background:none;
	font-size:16px;
	text-align:center;
	margin-bottom:20px;
	padding:0;
}

h2.section_h2 span{
	font-size:50px;
	color:var(--gold);
	line-height:1.5em;
}
h3.section_h3{
	background:none;
	border:none;
	border-bottom:var(--color) solid 3px;
}


/*---------------------
 * flex_box
 * -------------------*/
.flex_box{
	display:flex;
	flex-direction: row;
}





/*---------------------
 * grid_box
 * -------------------*/
.grid_box{
	display:grid;
	gap:20px;
}

.grid_box.grid_2{
	grid-template-columns:1fr 1fr;
}
.grid_box.grid_3{
	grid-template-columns:1fr 1fr 1fr;
}

.grid_box.grid_4{
	grid-template-columns:1fr 1fr 1fr 1fr;
}

.grid_box.grid_gap{
	grid-column-gap:20px;
}



@media all and (max-width: 1023px) {

	.grid_box.grid_4{
		grid-template-columns:1fr 1fr;
	}
}



@media all and (max-width: 767px) {
	.grid_box.grid_2{
		grid-template-columns:1fr;
	}
}



/*---------------------
 * thum_box
 * --------------------*/
.thum_box {
	padding:1em 0;
}
.thum_box ul,
.thum_box ul li{
	margin:0;
	padding:0;
	list-style:none;
}

.thum_box ul{
	
}




/*------------------------
 * padding_box 
 * ----------------------*/

.padding_box{
	padding:30px;
}



@media all and (max-width: 767px) {
	
	.padding_box{
		padding:20px;
	}

}


/*------------------------
 * border_box 
 * ----------------------*/

.border_box {
	border:var(--color) solid 1px;
}
.border_green{
	border:var(--green2) solid 1px;
}
.border_blue{
	border:var(--blue2) solid 1px;
}

.border_gold{
	border:var(--gold) solid 1px;
}

/*-------------------
 * radius_box
 * ------------------*/
.radius_box{
	border-radius:var(--radius);
}



@media all and (max-width: 767px) {
	
	.radius_box{
		border-radius:10px;
	}
}




/*---------------------
 * white_box
 * -------------------*/
.white_box{
	background:#fff;
}


/*---------------------
 * yellow_box
 * ----------------------*/

.yellow_box{
	background:var(--yellow);
}

.yellow_box h2{
	text-align:center;
	color:var(--gold);
	font-size:30px;
	line-height:1.2em;
	margin-bottom:1em;
	background:none;
	padding:0;
}

@media all and (max-width: 767px) {
	.yellow_box h2{
		font-size:24px;
	}
	
	.yellow_box h2 img{
		zoom:0.8;
	}
}




/*----------------------
 * shohin_box
 * -------------------*/
.shohin_box{
	background:#fff;
	padding:20px;
}

.shohin_box p{
	margin:0;
}


.shohin_box p.item_title{
	font-size:80%;
}

.shohin_box p.item_price{
	display:flex;
	justify-content: space-between;
	align-items: baseline;
	color:var(--pink);
	font-size:20px;
}



/*------------------------
 * contact_box
 * ----------------------*/

.contact_box{
	padding:20px;
	text-align:center;
}

.contact_box h2{
	display:inline;
	background:var(--pink);
	text-align:center;
	color:#fff;
	font-size:14px;
	padding:4px 30px;
	border-radius:40px;
}
.contact_box p{
	margin:0;
}
.contact_box .tel a{
	display:block;
	font-size:clamp(50px, 2vw, 56px);
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: normal;
	color:var(--pink);
	text-decoration:none;
	line-height:1em;
}


.contact_box {
	border:var(--pink) solid 2px;
	background:#fff;
}

.contact_box .grid_box{
	grid-template-columns:1fr 0.8fr;
}

.contact_box .grid_box .img img{
	object-fit: cover;
}



@media all and (max-width: 767px) {
	.contact_box .grid_box{
		grid-template-columns: 1fr;
	}
	
	.contact_box .grid_box .box{
		width:100%;
	}
}


/*-----------------------
 * header
 * -----------------------*/
#header-container{
	background:var(--bgcolor);
	box-shadow:none;
}
#header-container #header-container-in{
	display:block;
}

#header-container #header-container-in #header{
	/*display: flex;
    justify-content: space-between;
    align-items: center;*/
	
	max-width:1200px;
	width:100%;
	margin:0 auto;
	height:140px;
}

#header-container #header-container-in #header #header-in{
	padding:0;
	margin:0;
	float:left;
	display: flex;
	flex-direction: row;  
    justify-content: flex-start;
    align-items: center;
	height:140px;
}

#header-container #header-container-in .contact_box{
	float:right;
	height:140px;
	margin:0;
	padding:0;
	display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
	background:none;
	border:none;
}
@media all and (max-width: 849px) {
	#header-container #header-container-in #header #header-in{
		flex-direction:column;
    	justify-content: end;
		align-items: flex-start;
	}
	

	#header-container #header-container-in .contact_box{
		padding-right:1em;
	}
	#header-container #header-container-in #header #header-in .header_text{
		padding-left:1em;
	}
}

@media all and (max-width: 767px) {
	#header-container{
		display:none;
	}
}
/*---------------------------
 * nav
 * ------------------------*/
.hlt-tm-right .navi-in {
	background:var(--gold2);
}
.hlt-tm-right .navi-in > ul{
	justify-content: center;
	display:flex;
	max-width:1200px;
	width:100%;
	margin:0 auto;
}

.navi-in > ul li{
	width:auto;
	flex: 1;
}

.navi-in > ul .caption-wrap{
	margin:10px 0;
	border-right:#cfbb73 solid 1px;
	font-weight:bold;
}

.navi-in > ul li:last-child .caption-wrap{
	border:none;
}

.navi-in a:hover{
	background:#cfbb73;
}

.navi-menu-content{
	left:auto;
	right:0;
	-webkit-transform: translateX(105%);
    transform: translateX(105%);
}


#navi {
	position: relative;
	transition: all 0.3s;
}

#navi.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
}

#navi.fixed ul li:first-child .item-label{
	display:none;
}

#navi.fixed ul li:first-child .caption-wrap{
	background:url("/wp-content/uploads/logo.png") center no-repeat;
	background-size: contain;
}



/*------------------
 * .mobile-header-menu-buttons
 * ----------------------*/
.mobile-header-menu-buttons{
	box-shadow:none;
	background:var(--bgcolor);
	height:80px;
	flex-direction: row-reverse;
}

.mobile-menu-buttons .navi-menu-button{
	min-width:90px;
}

.logo-menu-button{
	flex-grow:0;
	padding-left:20px;
	justify-content: left !important;
	width:100% !important;
}
.mobile-menu-buttons .menu-button:last-child{
	display:none;
}
.mobile-menu-buttons #navi-menu-open{
	background:var(--gold);
	color:#fff;
	display:block;
	height:50px;
	width:70px;
	border-radius:4px;
	margin-right:20px;
}
.mobile-menu-buttons .menu-icon{
	font-size:23px;
}


.menu-close-button{
	background:var(--gold);
	color:#fff;
	width:70px;
	height:50px;
	border-radius:4px;
	position:absolute;
	top:10px;
	right:10px;
}

.menu-content .menu-drawer{
	padding:100px 0 0 0;
}

.menu-drawer a{
	padding:20px;
	border-bottom:#ccc solid 1px;
}






/*---------------------
 * wrap
 * ------------------*/

.wrap{
	width:100%;
}


/*------------------
 * section_box
 * -------------------*/
.section_box{
	margin:0;
	margin-bottom:90px;
}


@media screen and (max-width: 767px) {
	.section_box{
		margin-bottom:40px;
	}
}

/*---------------------
 * container
 * ------------------*/

#container #content{
	margin:0 auto;;
	max-width:1200px;
	width:100%;
	padding:0 10px;
	padding-bottom:150px;
}

#container #content-in{
	padding:0;
	width:100%;
	background:none;
	flex-direction: row-reverse;
}

#container #content-in #main{
	padding:0;
	margin:0;
	border:none;
	width:calc(100% - 320px - 40px);
	padding:0;
	background:none;
	
	margin-top:20px;
}
@media screen and (max-width: 1255px) {
    #container #content-in #main {
        margin: 20px 0 0 0 !important;
		min-width:100%;
    }
}

@media screen and (max-width: 1023px) {
	#container #content-in #main {
		padding:0 30px;
	}
}

@media screen and (max-width: 767px) {
	#container #content{
		padding:0;
		padding-bottom:150px;
	}
	
	#container #content-in #main{
		padding:4%;
	}
}
	


/*-----------------------------
 * .sidebar
 * -----------------------------*/
.sidebar{
	width:320px;
	padding:0;
	background:none;
	margin-top:20px;
}


.sidebar .contact_box {
	font-size:16px;
	border:none;
}
.sidebar .contact_box .tel a {
	font-size:40px;
}

.sidebar h2.section_h2{
	background:none;
	color:var(--gold);
	font-size:24px;
	border-bottom:var(--gold) dotted 2px;
	padding:0;
	margin:0;
	text-align:left;
}

@media screen and (max-width: 1255px) {
    .sidebar {
        margin: 20px 0 0 0 !important;
    }
}

@media screen and (max-width: 767px) {
	h2.section_h2 span{
		font-size:34px;
	}
}



/*-----------------------------
 * anchor
 * ---------------------------*/

a.anchor{
    display: block;
    padding-top: 400px;
    margin-top: -400px;
	z-index:-1000;
	position:relative;
}




/*------------------------
 * main_visual
 * ----------------------*/
#main_visual{
	/*max-width:1200px;*/
	width:100%;
	margin:40px auto;
	padding:0 10px;
}

#main_visual img{
	/*border-radius:20px;*/
}

@media screen and (max-width: 767px) {
	#main_visual{
		padding:0;
	}
	
	
	#main_visual img{
		border-radius:0;
	}
}





  @import url("https://fonts.googleapis.com/css2?family=Spartan:wght@400;700&display=swap");
  :root {
    --color-base: #f8f8f8;
    --color-gray: #ddd;
    --color-theme: #f5695f;
    --color-theme-darken: #f12617;
  }

  #swiper ul,
  #swiper ol {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  

  #swiper .l-inner {
    position: relative;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10rem;
  }

  #swiper .l-section {
    border-top: 1px solid #eee;
  }
  #swiper .l-section .l-inner {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  [class*=swiper]:focus {
    outline: none;
  }

  #swiper .slide-media,
  #swiper .thumb-media {
    position: relative;
    overflow: hidden;
  }
  #swiper .slide-media img,
  #swiper .thumb-media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
	  margin-top:16px;
  }


  #swiper .swiper-button-prev, #swiper .swiper-button-next {
    display: grid;
    place-content: center;
    width: 6.4rem;
    height: 6.4rem;
    cursor: pointer;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  #swiper .swiper-button-prev::before, #swiper .swiper-button-next::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    border-radius: 50%;
  }
  #swiper .swiper-button-prev::after, #swiper .swiper-button-next::after {
    width: 1.2rem;
    height: 1.2rem;
    content: "";
    border: solid var(--color-gray);
    border-width: 3px 3px 0 0;
  }
  #swiper .swiper-button-prev::after {
    margin-left: 0.4rem;
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
  }
  #swiper .swiper-button-next::after {
    margin-right: 0.4rem;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #swiper .swiper-button-disabled {
    pointer-events: none;
    opacity: 0;
  }

  .card03 {
    overflow: hidden;
  }
  .card03 .swiper {
    overflow: visible;
  }
  .card03 .swiper-button-prev, .card03 .swiper-button-next {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .card03 .swiper-button-prev::before, .card03 .swiper-button-next::before {
    background-color: rgba(0, 0, 0, 0.3);
  }
  .card03 .swiper-button-prev::after, .card03 .swiper-button-next::after {
    border-color: #fff;
  }
  .card03 .swiper-button-prev {
    right: calc(100% - 1.6rem);
  }
  .card03 .swiper-button-next {
    left: calc(100% - 1.6rem);
  }
  .card03 .slide {
    overflow: hidden;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    border-radius: 4px;
  }
  .card03 .slide-media {
    /*padding-top: 62.5%;*/
	  padding-top: 50%;
  }
  .card03 .slide-media img {
    height: calc(100% + 16px);
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
  }
  .card03 .slide-content {
    padding: 3.2rem;
  }
  .card03 .slide-date {
    font-size: 1.2rem;
    line-height: 1;
    display: block;
    color: var(--color-theme);
  }
  .card03 .slide-title {
    line-height: 1.6;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    height: 3.2em;
    margin-top: 1.6rem;
  }
  .card03 .swiper-slide:not(.swiper-slide-visible) .slide {
    pointer-events: none;
    opacity: 0.3;
  }



  @media only screen and (max-width: 1024px) {
    
    #swiper .l-inner {
      /*padding: 0 4rem;*/
		padding:0;
    }
    .pc {
      display: none !important;
    }
    .card03 .swiper {
      /*padding: 0 3.2rem;*/
		padding:0;
    }
    .card03 .swiper-button-prev {
      right: calc(100% - 5.2rem);
    }
    .card03 .swiper-button-next {
      left: calc(100% - 5.2rem);
    }
	  #swiper .swiper-button-prev, #swiper .swiper-button-next,
	  #swiper .swiper-button-prev::before, #swiper .swiper-button-next::before{
		  display:none;
	  }
  }

  @media only screen and (max-width: 599px) {
    
    #swiper .pc-tab {
      display: none !important;
    }
  }

  @media only screen and (min-width: 1025px) {
    #swiper .tab-sp {
      display: none !important;
    }
    #swiper .swiper-button-prev::before, .swiper-button-next::before {
      -webkit-transition: var(--transition);
      transition: var(--transition);
    }
    #swiper .swiper-button-prev:hover::before, .swiper-button-next:hover::before {
      -webkit-transform: scale(1.2);
              transform: scale(1.2);
    }
    .card03 .slide img {
      -webkit-transition: var(--transition);
      transition: var(--transition);
    }
	  .card03 .slide:hover {
		  opacity:0.5;
	  }
	
  }

  @media only screen and (min-width: 600px) {
    .sp {
      display: none !important;
    }
  }



/*----------------------
 * middle_container
 * ------------------*/

.middle_container{
	max-width:var(--maxwidth);
	width:100%;
	margin:0 auto;
	padding:0;
}



@media all and (max-width: 1023px) {
	.middle_container{
		margin:4em auto;
		padding:0 5%;
	}
}





/*----------------------
 * short_container
 * ------------------*/

.short_container{
	max-width:var(--width);
	width:100%;
	margin:8em auto;
	padding:0 2em;
}

@media all and (max-width: 1023px) {
	.short_container{
		margin:4em auto;
		padding:0 5%;
	}
}




/*----------------------
 * wide_container
 * -----------------------*/

.wide_container{
	width:100%;
	margin:8em auto;
}


@media all and (max-width: 1023px) {
	.wide_container{
		margin:4em auto;
	}
}





/*--------------------
 * index_concept
 * -------------------*/



#index_concept h2{
	background:url("/images/index_concept.jpg") top right no-repeat;
	background-size:contain;
	font-size:40px;
	padding:80px 1em;
	line-height:1em;
}


@media all and (max-width: 767px) {
	#index_concept h2{
		background:url("/images/index_concept_sp.jpg") center bottom no-repeat;
		background-size:contain;
		text-align: center;
		padding:0 0 150px 0;
		font-size:30px;
	}
}

/*---------------------
 * kaitori_kyoka
 * ---------------------*/

#kaitori_kyoka{
	background:url("/images/box_corner.jpg") center 0 no-repeat var(--gold3);
	margin:40px 0;
}

#kaitori_kyoka h2{
	text-align:center;	
	display:flex;
	justify-content: center;
	align-items: center;
	margin-bottom:40px;
}

#kaitori_kyoka h2 span{
	background:#fff;
	border:#7c600c solid 3px;
	padding:2px 80px;
	font-size:24px;
}

#kaitori_kyoka h2 img:last-child{
	transform: scale(-1, 1);
}


#kaitori_kyoka .text_p{
	text-shadow:
    1px 1px 0 var(--gold3),
    -1px 1px 0 var(--gold3),
    -1px -2px 0 var(--gold3),
    1px -1px 0 var(--gold3);
}


@media all and (max-width: 767px) {
	#kaitori_kyoka h2 span{
		width:100%;
		padding-left:0;
		padding-right:0;
	}
}


/*--------------------
 * example
 * ------------------*/

#example h2{
	text-align:center;
	position:relative;
	font-size:40px;
	color:var(--gold);
	padding:20px 0;
	line-height:1em;
	margin-bottom:1em;
}

#example h2 span{
	position:absolute;
	z-index:-1;
}

#example h2 span:first-child{
	bottom:0;
	left:0;
}

#example h2 span:nth-child(2){
	top:0;
	right:0;
}

#example .last {
	display:grid;
	grid-template-columns: 1fr 0.8fr;
	align-items: center;
	margin-top:20px;
}
#example .last p{
	margin:0;
}
#example .last .text{
	font-size:clamp(20px, 2.3vw, 23px);
	font-weight:bold;
}
#example .last .img{
	padding-right:20px;
}



@media all and (max-width: 767px) {
	#example h2{
		font-size:30px;
	}
	
	#example h2 span img{
		zoom:0.8;
	}
	
	#example .grid_box.grid_3{
		grid-template-columns: 1fr 1fr;
	}
	
	#example .last{
		grid-template-columns: 1fr;
	}
	#example .last .text{
		margin-bottom:1em;
	}
}

/*---------------------------
 * minimenu_list
 * ------------------------*/

.minimenu_list a{
	display:block;
	overflow: hidden;
	text-align:center;
	position:relative;
	text-decoration:none;
	transition:0.2s;
	aspect-ratio:16 / 9;
}

.minimenu_list a:hover{
	opacity:0.5;
}

.minimenu_list a img{
	object-fit:cover;
	width:100%;
	height:auto;
	display: block;
	aspect-ratio:16 / 9;
}


.minimenu_list .box a span{
	margin:0;
	display:block;
	border-radius:30px;
	background:#fff;
	width:calc(100% - 20px);
	position:absolute;
	bottom:10px;
	left:10px;
	color:var(--gold);
	border:var(--gold) solid 2px;
	padding:5px;
	font-size:16px;
}


/*------------------------
 * kaitori_list
 * --------------------*/


.kaitori_list a{
	aspect-ratio:auto;
	transition:0.2s;
}
.kaitori_list a img{
	height:160px;
}

.kaitori_list.square {
	text-align:center;
}

.kaitori_list.square img{
	aspect-ratio:1 / 1;
	width: 100%;
    height: auto;
    object-fit: cover;
}


/*---------------------------
 * minimenu_list
 * ------------------------*/




/*--------------------------
 * hikaku
 * ------------------------*/
.hikaku .box{
	margin-top:1em;
}

.hikaku .box .img{
	margin:0;
	padding-right:20px;
}

.hikaku .box .item_title{
	font-size:80%;
}
.hikaku .box table {
	color:var(--green2);
}


.hikaku .box table th,
.hikaku .box table td{
	padding:10px;
	background:#fff;
}

.hikaku .box table thead th{
	background:var(--green3);
	border-radius:10px 10px 0 0;
	font-size:20px;
}

.hikaku .box table tbody th{
	/*width:200px;*/
}


.hikaku .box table tbody th img{
	padding:10px 30px;
}

.hikaku .box table tbody th,
.hikaku .box table tbody td{
	border-left:var(--green3) solid 1px;
	border-bottom:var(--green3) solid 1px;
}

.hikaku .box table tbody td{
	border-right:var(--green3) solid 1px;
	text-align:right;
	font-weight:bold;
}


.hikaku .box table tbody tr:last-child th{
	border-radius:0 0 0 10px;
}


.hikaku .box table tbody tr:last-child td{
	border-radius:0 0 10px 0;
}



@media all and (max-width: 767px) {
	.hikaku{
		flex-flow: column;
	}
	
	.hikaku .box{
		width:100%;
	}
	
	.hikaku .box .img{
		padding:0;
	}
	
	.hikaku .box table tbody th img{
		padding:10px;
	}
	
	.hikaku .box table tbody th{
		width:50%;
	}
	
	.hikaku .box table tbody td{
		font-size:18px;
	}
}





/*-------------------
 * point
 * -------------------*/
#point{
	background:#fff;
}
#point .header_box{
	background:url("/images/point_img.jpg") top center no-repeat;
	background-size:cover;
	border-radius:var(--radius) var(--radius) 0 0;
}

#point .text_box{
	width:50%;
	padding-top:200px;
	margin-bottom:30px;
}

#point .header_box .text{
	text-shadow:
		#fff 2px 0px 2px, #fff -2px 0px 2px,
		#fff 0px -2px 2px, #fff -2px 0px 2px,
		#fff 2px 2px 2px, #fff -2px 2px 2px,
		#fff 2px -2px 2px, #fff -2px -2px 2px,
		#fff 1px 2px 2px, #fff -1px 2px 2px,
		#fff 1px -2px 2px, #fff -1px -2px 2px,
		#fff 2px 1px 2px, #fff -2px 1px 2px,
		#fff 2px -1px 2px, #fff -2px -1px 2px,
		#fff 1px 1px 2px, #fff -1px 1px 2px,
		#fff 1px -1px 2px, #fff -1px -1px 2px;
}

#point .minimenu_list{
	margin-bottom:80px;
}

#point .point_box{
	margin:20px 0;
	display:flex;
}


#point .point_box .box{
	width:50%;
}


#point .point_box .box.img{
	padding-left:20px;
}

#point .point_box .box.text{
	font-size:16px;
}
#point .point_box h3 {
	border:none;
	padding:0;
	margin:0;
	font-size: 1.17em;
}
#point .point_box h3 span{
	background:var(--gold);
	color:#fff;
	padding:5px 30px;
	margin-left:-30px;
	line-height:2em;
}

#point .point_box h3 span.e_font em{
	font-style:normal;
	font-size:150%;
	padding-top:10px;
}

#point .point_box h3 span.e_font{
	padding-top:10px;
}



@media all and (max-width: 767px) {
	#point .header_box{
		background-size: contain;
        background-position: center 5em;
	}
	
	#point .text_box{
		width:100%;
	}
	
	#point .point_box{
		flex-flow: column;
	}
	
	#point .point_box .box{
		width:100%;
	}
	#point .point_box h3 {
		font-size:18px;
	}
	#point .point_box h3 span{
		margin-left: -20px;
		padding-left:20px;
		padding-right:20px;
	}
	
	#point .point_box .box.img{
		padding:0;
	}
}


/*--------------------
 * faq
 * -------------------*/
#faq .btn_s span{
	display:block;
	height:0;
	overflow: hidden;
}
#faq.index .accordion .inner:nth-child(n+6) {
	display:none;
}
 

/* accordion
-----------------------------------*/

.accordion {
  width: 100%;
}

/* inputのチェックボックスを非表示 */
.accordion-hidden {
  display: none;
}

/* 見出しボタン部分 */
.accordion-open {
  display: block;
  padding: var(--padding);
  /*background: #62c9c7;*/
  cursor: pointer;
  margin: 5px 0;
  position: relative;
}


.accordion-open::after{
	content: '▼';
	position: absolute;
	top: 0%;
	right: 0.5em;
}

/* アイコンのー */
.accordion-open::after {
  /*transform: translateY(-50%) rotate(90deg);*/
  transition: .5s;
}

/* アコーディオンが開いたらーに */
.accordion-hidden:checked+.accordion-open:after {
  /*transform: translateY(-50%) rotate(0);*/
	transform:rotate(180deg); 
}

/* アコーディオン中身部分 */
.accordion-inner {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  transition: 0.5s;
  /* 表示速度の設定 */
  cursor: pointer;
}

/* チェックボックスにチェックが入ったら中身部分を表示する */
.accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
  padding: 10px;
}
/* ↑ここまで共通 */


/* Q&A追加 */
.accordion_qa .Q,
.accordion_qa .A {
  position: relative;
}



.accordion_qa .Q::before,
.accordion_qa .A::before {
  font-size: 1.5em;
  display: block;
  position: absolute;
  top: -.6em;
  left: -1.3em;
}


.accordion_qa .accordion-open {
	padding: 0;
	margin:0;
	padding-right:20px;
}

.accordion_qa .accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
	border-top:var(--gold) dotted 1px;
  padding: 20px;
}
/* Q&A追加ここまで */




.accordion_qa .Q::before, .accordion_qa .A::before{
	font-size: 1em;
	top: 0;
}
.accordion_qa .inner{
	border:var(--gold) solid 1px;
	background: #fff;
	border-radius: 10px;
	margin-bottom: 20px;
	transition: 0.2s;
	padding: 10px 20px;
}

.accordion_qa .inner:last-child{
	margin: 0;
}

.accordion_qa .inner:hover{
	background: var(--yellow);
}



/*----------------------
 * footer
 * ---------------------*/
#footer{
	background:var(--braun);
	color:#fff;
	padding:60px 0;
}

#footer .footer_menu{
	max-width:1200px;
	width:100%;
	margin:0 auto;
	padding:0 10px;
	display:grid;	
	/*grid-template-columns:1fr 1fr 0.5fr 0.5fr;*/
	grid-template-columns:1fr 0.5fr 0.5fr 0.5fr;
	grid-column-gap:20px;
}


#footer .footer_menu h2{
	font-size:20px;
}
#footer .footer_menu ul{
	display:grid;	
	grid-template-columns:1fr 1fr;
	margin:0;
	padding:0;
	margin-bottom:40px;
}

#footer .footer_menu ul li{
	margin:0;
	padding:0;
	list-style:none;
}

#footer .footer_menu ul li a{
	display:block;
	text-decoration:none;
	color:#fff;
	font-size:14px;
	padding:5px 0;
}


#footer .footer_menu .box:nth-child(2) ul,
#footer .footer_menu .box:nth-child(3) ul,
#footer .footer_menu .box:nth-child(4) ul{
	grid-template-columns:1fr;
}


.footer-bottom{
	margin:0;
}



@media all and (max-width: 767px) {
	#footer .footer_menu{
		grid-template-columns: 1fr;
	}
	#footer .footer_menu .box:nth-child(2) ul,
	#footer .footer_menu .box:nth-child(3) ul,
	#footer .footer_menu .box:nth-child(4) ul{
		grid-template-columns: 1fr 1fr;	
	}
}




/*----------------------
 * fixedBanner
 * ----------------------*/
#fixedBanner{
	position: fixed;
	bottom: 30px;
	right: 0;
	background: var(--pink);
	color:#fff;
	text-align: center;
	padding: 20px;
	transition: transform 0.3s;
	z-index: 3;
	
	width:320px;
	border-radius:var(--radius) 0 0 var(--radius);
}

#fixedBanner.stop {
	position: absolute;
	bottom: auto;
}


#fixedBanner h2{
	font-size:16px;
	border-bottom:#fff dotted 2px;
	padding-bottom:5px;
}

#fixedBanner .tel a{
	font-family: "futura-pt", sans-serif;
    font-weight: 700;
    font-style: normal;
	display:block;
	text-decoration:none;
	color:#fff;
	font-size:40px;
	line-height:1em;
}
#fixedBanner p{
	margin:0;
}



@media all and (max-width: 767px) {
	#fixedBanner{
		width:200px;
	}
	
	#fixedBanner .tel a{
		font-size:24px;
	}
	#fixedBanner .btn_ss a{
		font-size:12px;
	}
}

/*---------------------------
 * 固定ページ
 * --------------------------*/
.breadcrumb{ display: none; }


h1.entry-title{
	font-size:50px;
	color:var(--gold);
	padding:0;
	margin-bottom:1em;
}


@media all and (max-width: 767px) {
	
	h1.entry-title{
		font-size:34px;
	}
}




/*---------------------------
 * 投稿ページ
 * --------------------------*/

#archive-title .fa-folder-open{
	display:none;
}


/*------------------
 * contact form
 * --------------------*/

form input[type=submit]{
	background: var(--gold);
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    border: none;
    border-radius: 999999px;
    max-width: 340px;
    margin: 0 auto;
    text-align: center;
    display: block;
	transition:0.2s;
}
form input[type=submit]:hover{
	background:#e1b039;
}
	